Utilização do grafana com uma base de dados mysql

No seguimento deste post a ideia é ensinar-te como podes tirar proveito da base de dados sql para que uses o grafana e possas apresentar posteriomente esses gráficos no HA.

Primeiro tens que instalar o addon grafana.
Após o teres instalado vai te aparecer algo parecido conforme ves na imagem, tens que clicar onde diz create a data source.
image
Depois tens que fazer scroll e seleccionar a opção MYSQL

De seguida preenche todos os dados conforme ves abaixo TOMA NOTA AO QUE TE ESTÁ ESCRITO NO RETANGULO EM VERDE, podes alterar o nome… mas memoriza-o vais precisar dele mais a frente. O resto que está a vermelho preenche com os dados que puseste no mariadb, apenas não alteres o host


Após preencheres tudo faz scroll mais para baixo e clica em SAVE E TEST para ver se tudo esta ok


Ok voltas atrás e na janela principal vais criar um dashboard clica no + e em seguida em add query


Onde diz Query vais ter que seleccionar o nome que te disse lá em cima para memorizares e depois clicas no lápis.


Vai te aparecer isto que vez com a cruz em vermelho, apagas tudo e colocas o seguinte código que ves mais abaixo.

SELECT
  date AS "time",
  value
FROM energy_kwh
WHERE
  $__timeFilter(date)
ORDER BY date

Depois clicas nesses figuras que seleccionei a amarelo e colocas como ves na imagem.

De seguida clicas na disquete lá em cima e escolhes a opção last 30 days
image

Se tudo correr bem o teu gráfico aparecerá a verde como mostra a imagem abaixo:

Caso não te apareça nada quer dizer que ainda não tens nenhum valor registado na tua base de dados.

Alguma dúvida comenta.

3 Likes

@RodolfoVieira qual a vantagem face ao influxdb ? No meu caso uso o addon do Hassio

@HAfunatic Podes ver aqui , não existe grandes nem pequenas vantagens… o influxdb é uma base de dados temporal, caso queiras apenas guardar alguns valores usando o tutorial que mencionei acima, acabas por poupar a instalação de mais um addon que é o influxdb, e consegues ter uma base de dados muito leve com registos de anos.

Bom dia,

já por várias vezes que tento utilizar o grafana, seguindo vários tutoriais (incluindo aqui do forum), mas nunca funcionou.

O que me parece acontecer é que o HA não deverá estar bem configurado para utilizar o MySQL.

o recorder tenho configurado da seguinte forma

recorder:
  purge_keep_days: 365
  db_url: mysql://<user>:<password>@192.168.1.121/homeassistant?charset=utf8

em que o ip é onde tenho o MySQL instalado e ‘homeassistant’ é o nome da base de dados.

Em relação a histórico e logbook, tudo funciona. E o HA tem acesso ao MySQL porque até cria lá algumas tabelas.

Mas as únicas tabelas criadas são

  • events
  • recorder_runs
  • schema_changes
  • states

Seguindo este tutorial para ter um histórico de consumos, deveria fazer um select à tabela energy_kwh mas essa mesma tabela não existe na minha base de dados.

Estou a esquecer-me de alguma coisa?
Toda a ajuda é bem-vinda.

Obrigado

Sim, estás a esquecer-te de alguma coisa.

Como diz no post do @RodolfoVieira

A tabela energy_kwh não existe por defeito, é uma tabela criada manualmente. Até podes dar outro nome ou até nem ser com o intuito de consumo energético. Vê o tópico que o rodolfo se refere e vais perceber.

Obrigado.

Sim, já estive a ler tudo com melhor atenção e já percebi a utilização do script para criação das tabelas ou a utilização do InfluxDB.

Neste momento estou então a tentar configurar o influxdb com o grafana.

Cumps :wink:

2 Likes

Mais uma vez preciso da vossa ajuda/orientação no Grafana.
Segui outros tópicos aqui disponíveis e criei a base dados em Mariadb, confirmo no Heidisql que a base dados está a receber os respectivos dados. Para já estou apenas a usar para observar consumos.
Eu gostava que o gráfico no Grafana fosse actualizado à medida que novos dados aparecem na Mariadb, conforme imagem anexa, os dados aparecem na passagem de um dia para outro, não actualiza de tempo a tempo conforme os dados aparecem. Verifico que na Mariadb as tabelas são criadas por dia e não registo horário, será que existe alguma influência?
Certamente sou eu que não estou a configurar bem o Grafana. Desde já agradeço a vossa ajuda.

Não é exactamente uma configuração. O Grafana por pré-definição não actualizar os dados automaticamente, tens de ir ao canto superior direito (onde está o botão de refresh e que deveria ter sido uma dica para lá ires cuscar :wink:),clicar na seta para baixo e escolher o tempo de refresh.

image

NOTA: Não esquecer de gravar a alteração!

Obrigado @j_assuncao pela resposta, eu por acaso já tinha andado no cursor do campo superior direito, mas como nunca vi nenhuma actualização não liguei.
Entretanto fiz experiência com 10s, no mesmo gráfico e ele fica parado no dia 18/11 ás 00:00.
Qualquer gráfico que faça fica igual, por isso é que estava apontar para configuração.
Sinceramente não estou a entender o que se passará, pois na Mariadb está sempre actualizar com mundança de valores.

Se estás a usar o valor diário muito possivelmente o valor só vai actualizar uma vez por dia, daí não veres isso a actualizar. Se reparares só tens mudança de valores às 00h00…

@j_assuncao também tenho outra entidade com valor por hora e também não actualiza, fica também nas 00h00.
Aliás qualquer entidade fica sempre no mesmo.

Mais uma vez dá para ver pelo gráfico que a entidade apenas atualiza às 00h00…

@j_assuncao mais uma vez obrigado pela resposta.
Estou a usar o componente utility_meter na entidade de modo actualizar hora a hora e de facto na Mariadb vejo actualizar, então quer dizer que a Mariadb só envia os dados por dia para Grafana?
Não entendo como a base dados está a actualizar regularmente mas cada entidade no grafana só aparece para actualizar por dia.
Será que tenho mudar de base dados, passar para Influxdb?

Estás a baralhar diversos conceitos. Este tópico é para uma coisa especifica (valores diários de consumo), sendo esses valores diários só actualizam uma vez ao dia.

O componente utility_meter vai somando o valor e faz reset ao fim do dia mas de certeza absoluta que está a gravar os valores para a DB por defeito do HA (não dizes qual estás a usar) e o que tens feito é para veres o valor de uma outra entidade (a que está no tutorial e que deverá ser MariaDB).

Pelo que percebi, o tutorial é mesmo para saber o valor diário do consumo e não para saber em tempo real qual o consumo.

Se queres ter gráficos das entidades do HA tens de usar o Influx. Convém também passares a utilizar o MariaDB como DB por defeito do HA. Além disso não esquecer que o recorder: deve estar devidamente configurado porque o volume de dados a gravar é muito grande.

Mais uma vez obrigado @j_assuncao.
A base dados que estou a utilizar é a MariaDB e o recorder está configurado para já com as entidades que pretendo inicialmente controlar, e confirmo que que o componente utility_meter está a gravar os valores na MariaDB. Por exemplo no HeidiSQL quando vou verificar a base dados se faço refresh vejo os valores a ser actualizados, foi isto que me levou a pensar que o Grafana iria actualizar.
Qual qual é vantagem de ter as duas bases de dados MariaDB e Influx?

Se os dados aparecem no MySQL têm de aparecer no Grafana. Mostra capturas de ecrã dom os dados no MySQL e no Grafana.


Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade