Ajuda com Grafana

grafana

(Angelo Brito) #1

Boas malta,

tive um pouco ausente nestes últimos tempos, no entanto não parei de integrar a minha casa com o homeassistant e que está cada vez melhor :smiley:

Após atingir a estabilidade das integrações é altura de passar para a monitorização dos consumos energéticos. Tenho BhPzem instalado e integrado com o HA

Sei que muita malta faz a monitorização através do InfluxDB e Grafana coisa que gostaria de fazer também, já estive a partir pedra, a procurar no fórum por tutoriais sofre gráficos em grafana e não consegui e não encontrei nada (Se existe erro meu na pesquisa)

gostaria de ter como gráficos o seguinte:

Dados instantâneos (isto já tenho, nao foi de todo dificil pois era so puxar os dados)
Dados diários de consumo, onde X seria o dia Y o consumo
Dados diários a pagar, onde X seria o dia Y o valor
Dados mensais de consumo, onde X seria o mês Y o consumo
Dados mensais a pagar, onde X seria o mês Y o valor

Podem dar-me uma ajuda a criar estes gráficos?

Obrigado


(Jorge Assunção) #2

Antes de ajudar a criar os gráficos o melhor será instalar o InfluxDB e o Grafana. Se usas Hassio são dois addons. Depois de isso instalado passamos à fase seguinte que é ligar o InfluxDB ao Grafana.


(Angelo Brito) #3

Olá Jorge,

Apesar de separados do HA (não os tenho como addons) já estou instalando e configurados, ou seja, já consigo ir buscar dados ao Influx via grafana, so nao consigo é fazer os gráficos como quero :frowning:


(Jorge Assunção) #4

Melhor ainda! O Grafana embora poderoso não consegue (pelo menos que eu saiba) efectuar cálculos complexos pois é apenas uma ferramenta de criação de gráficos e com algumas limitações.

Para os gráficos que queres sugiro instalares o excelente componente do @dgomes chamado Utility Meter, o qual efectua as contagens anuais, mensais, semanais e horárias de qualquer contador de utilidades (água, gás, electricidade, etc.). Depois de teres isso configurado e a funcionar, pegas nos valores e crias um sensor template que faca as contas do custo para cada item que queres. Finalmente, pegas nisso tudo e crias os gráficos no Grafana. Não há muito a mexer no Grafana e.se precisares de ajuda é só dizer.


(Rodolfo) #5

@zozito pesquisaste mal…


(Angelo Brito) #6

@j_assuncao

o utility meter também já está configurado tenho da seguinte forma:

#Contador Geral

  - platform: mqtt
    name: "Potência"
    state_topic: "geral/readings/status"
    value_template: "{{ value_json.potencia | round(0) }}"
    unit_of_measurement: "W"
    icon: mdi:power-plug
    force_update: true

  - platform: mqtt
    name: "Corrente"
    state_topic: "geral/readings/status"
    value_template: "{{ value_json.amperagem | round(2)}}"
    unit_of_measurement: "A"
    icon: mdi:power-socket-eu
    force_update: true

  - platform: mqtt
    name: "Voltagem"
    state_topic: "geral/readings/status"
    value_template: "{{ value_json.voltagem | round(1)}}"
    unit_of_measurement: "V"
    icon: mdi:flash
    force_update: true
  
  - platform: mqtt
    name: "Contador"
    state_topic: "geral/readings/status"
    value_template: "{{ value_json.contador | round(3)}}"
    unit_of_measurement: "ºkWh"
    icon: mdi:counter
    force_update: true

#Calculo Energia

  - platform: template
    sensors:
      custo_diario:
        friendly_name: 'Custo Diário'
        unit_of_measurement: '€'
        #icon: mdi:currency-eur
        value_template: '{{ ((states.sensor.energia_diario_simples.state | float * 0.1503)) | round(2) }}'

  - platform: template
    sensors:
      custo_mensal:
        friendly_name: 'Custo Mensal'
        unit_of_measurement: '€'
        #icon: mdi:currency-eur
        value_template: '{{ ((states.sensor.energia_mensal_simples.state | float * 0.1503)) | round(2) }}'
  
  - platform: template
    sensors:
      calc:
        value_template: '{{ ((states.sensor.custo_mensal.state | float + 0.2696)) | round(2)}}'

  - platform: template
    sensors:
      fatura:
        friendly_name: 'Fatura'
        unit_of_measurement: '€'
        value_template: '{{ ((states.sensor.calc.state | float  * 1.23)) | round(2)}}'

no entanto quando coloco por exemplo o Custo Mensal no grafana fica estranho:


@RodolfoVieira
Sim eu vi esse, mas como fala na instalação/configuração saltei, no entanto a integração iframe com o HA irá ser útil para mim


(Jorge Assunção) #7

Está ai muita coisa mal e basta ler o nome das etiquetas para perceber. Por exemplo o SELECT field(value) mean(), quer dizer que queres os dados MEDIOS (mean) da variável…

Outro erro é estares a fazer um gráfico diário e estás a usar os dados como eles são gravados temporalmente, tens de agrupar os valores por dia no campo group_by:

Anota%C3%A7%C3%A3o%202019-09-08%20111005