MariaDB SQL - Gravar informações em Banco de Dados!

maria

Neste tutorial venho compartilhar como configurar o banco de dados MariaDB no seu HA.

Essa integração salva dados constantemente. Se você usar a configuração padrão, os dados serão salvos na mídia em que o Home Assistant está instalado.

Home Assistant usa SQLAlchemy, que é um Object Relational Mapper (ORM). Isso significa que você pode usar qualquer back-end SQL para o gravador que seja compatível com SQLAlchemy, como MySQL , MariaDB , PostgreSQL ou MS SQL Server .

Tudo isso está na documentação do recorder. Mas você pode visualizar mais informações também no endereço a seguir: SQL - Home Assistant

Documento oficial do HA sobre MariaDB:
https://github.com/home-assistant/addons/blob/master/mariadb/README.md

Para quem utiliza o Supervisor basta adicionar o Add-On!

Em Add-ons, vá em Loja de Add-ons.

Ache o add-on do MariaDB.

Clique em Instalar.

Com ele instalado vá até as Configurações do MariaDB.

Configure o Add-on do servidor MariaDB, pode ser ajustado conforme sua preferência.
Abaixo um exemplo como você pode configurar o seu complemento.

databases:
  - homeassistant
logins:
  - username: douglas
    password: senhasecreta
rights:
  - username: douglas
    database: homeassistant

Após isso, basta clicar em SAVE e Iniciar o Add-On.

Após o Add-on instalado e configurado, é necessário configurar seu Home Assistant para começar a salvar as informações no banco de dados que acabou de ser criado.

Dentro do arquivo configuration.yaml coloque a seguinte linha:

recorder:
  db_url: mysql://douglas:senhaSecreta@192.168.0.200/homeassistant?charset=utf8mb4
  purge_keep_days: 3 #aqui é opcional, define a frequência (em dias) a tarefa de limpeza é executada.

Resumindo:

31b2b13719529e152aa0ecce13a4351b2fd9f26c

Dica:

Caso não funcione, tente configurar desta maneira (troque o IP por core-mariadb):

recorder:
  db_url: mysql://douglas:senhaSecreta@core-mariadb/homeassistant?charset=utf8mb4
  purge_keep_days: 3 #aqui é opcional, define a frequência (em dias) a tarefa de limpeza é executada.

Na comunidade há alguns relatos de pessoas que só funcionaram dessa forma. Se no log aparecer algum erro, tente pesquisar pelo erro, normalmente tem alguém que já postou o mesmo problema e pode encontrar a solução.

Após configurar o HA, você deve reiniciar. Após reiniciar você pode verificar o log, caso tenha ocorrido algum erro, irá aparecer neste log.

Se funcionar, o arquivo home-assistant_v2.db (que antes salvava o histórico) vai parar de ser alimentado, você também pode acessar e verificar o tamanho do arquivo e quando foi a última modificação.

Opcional:

Além disso você pode criar um sensor (sensor:) para obter a informação do tamanho da sua base de dados (MariaDB) e acompanhar conforme vai aumentando cada vez que você vai executando ações em seu HA.

Sensor

- platform: sql
  db_url: mysql://douglas:senhaSecreta@192.168.0.200/homeassistant?charset=utf8mb4
  queries:
    - name: MariaDB Database size
      query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1048576, 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
      column: 'value'
      unit_of_measurement: MB

Basicamente é isso. Sem muito segredo. Se você usa o Home Assistant sem o Supervisor a instalação basicamente é através do comando pip install mariadb.

Vídeo:

14 curtidas

Obrigado, configurei o meu usando seu tutorial!! Parabéns!

Segui o tutorial aqui e funcionou perfeitamente. tks

Bom dia, ótimo tutorial.

Estou com uma ideia de realizar algo assim porém com um trigger vinculando a localização para calcular o tempo de trajeto trabalho -> casa e casa -> trabalho.
Seriam alguns triggers:
Saindo de Casa (Dia + Horário Atual) -> Até o Trabalho (Dia + Horário Atual)
Saindo do trabalho (Dia + Horário Atual) -> Até Casa (Dia + Horário Atual)

Sabe se é possível?

Acabei de instalar, funcionando bem na versão 106.2 :slight_smile:

Meu da Erro!

Provavelmente você configurou algo incorretamente.

Na mensagem mostra que você colocou 1core-mariadb

1 curtida

Muito bom, @douglas!

Deu certo aqui também!!

Abraços,
José Henrique.

2 curtidas

Consegui ! Obrigado, @douglas!

1 curtida

Fala @douglas, tranquilo? Como está a vida na casa nova? Qual seria principal vantagem de migrar o banco de dados padrão para o MariaDB?

Abraços

2 curtidas

Muito bom dia a todos!

Perdoe-me a ignorância, mas o HA cria automaticamente as tabelas após configurado?

Cria, através do recorder

Essa integração salva dados constantemente. Se você usar a configuração padrão, os dados serão salvos na mídia em que o Home Assistant está instalado.

Home Assistant usa SQLAlchemy, que é um Object Relational Mapper (ORM). Isso significa que você pode usar qualquer back-end SQL para o gravador que seja compatível com SQLAlchemy, como MySQL , MariaDB , PostgreSQL ou MS SQL Server .

Tudo isso está na documentação do recorder. Mas você pode visualizar mais informações também no endereço a seguir: SQL - Home Assistant

Tutorial atualizado!

2 curtidas

Boa tarde!
Ótimo tutorial, funcionou aqui! (eu acho, rsrs)
Como tenho a certeza que esta gravando os dados no MariaDB?

só uma dúvida, posso excluir a data base antiga?
a minha tem quase 1,8GB (deve ser o motivo de demorar tanto a inicialização do HA em máquina virtual)

database

Obrigado pelo Tutorial.
Fiz aqui, usando um raspberry pi 4 com SSD,
Acha q era bem rápido, mas agora as páginas do lovelace carregam instantaneamente.

2 curtidas

Boa tarde pessoal!

Alguém se deparou com o problema de queda de energia no server local do Hassio e quando a energia volta o Maria-DB parou de historiar as variáveis?

Aqui tem acontecido isso, daí só funciona se eu reinstalar o Maria-DB e acabo perdendo todo histórico.

Alguém teria uma solução para ajudar? grato.

O meu só funcionou colocando: core-mariadb

Desculpe a ignorância mas porque iria utilizar MariaDB para salvar meu banco de dados se eu possuo backup via google drive automático?

Diferem!
Banco de dados é para guardar as informações obtidas pelos sensores e etc…
‘Backup’ via Google drive automático é para salvar de modo grosso falando o seu home assistant para futuras recuperações caso algo errado venha acontecer ou para uma nova instalação sem a necessidade de ter que refazer tudo…

Acredito que tentei explicar rsrsrs

1 curtida

Perfeitamente, agora vejo sentido em utilizar este servico, obrigado. Vou seguir com o tutorial.

1 curtida