Valores no Lovelace e no InfluxDb

Pus um contador de água… Ele me dá um pulso (fechar de contacto seco lido por um ESP/Tasmota) à cada 10 litros de água. No configuration.yaml eu tenho:

    name: "Water"
    state_topic: "tele/water/SENSOR"
    unit_of_measurement: 'L'
    value_template: "{{ value_json.COUNTER.C1 | multiply(10) }}"

No InfluxDb o valor aparece multiplicado por 10. No lovelace, aparece o valor absoluto, ou seja, sem multiplicar por 10.

Onde estou a errar?

Obrigado!

@j_assuncao, vi num outro fórum que já passaste por algo parecido… Tens alguma luz que me possa dar?

Não me lembro de nada assim parecido que se tenha passado…

Mostra por favor a configuração que.usas para mostrar o valor no Grafana, o código do cartão Lovelace que mostra esse valor no HA e o estado do sensor mas entidades do HA para tentar perceber o que se passa.

@j_assuncao, aqui vai…

No configuration.yaml eu tenho:

recorder:
  purge_keep_days: 3

influxdb:
  host: 127.0.0.1
  port: 8086
  database: homeassistant
  username: homeassistant
  password: VerySecret
  max_retries: 3
  default_measurement: state

sensor:
  - platform: mqtt
    name: "Water"
    state_topic: "tele/water/SENSOR"
    unit_of_measurement: 'L'
    value_template: "{{ value_json.COUNTER.C1 | multiply(10) }}"

No HA tenho definido no Lovelace:

type: entities
entities:
  - entity: sensor.tasmota_counter_c1
    name: Litros gastos
title: Água Quente

No tasmota tenho:
bug-2

Estou a utilizar o tcpdump para colher as mensagens de MQTT. Isto que se segue é a mensagem enviada pelo Tasmota ao HA:

Este é o gráfico dos dados tal como vejo no InfluxDb:

O gráfico do Influx mostra corretamente os dados… Se vires o que o Tasmota vai enviar, verás que a contagem está em 36, logo, 360.

Agora, no Lovelace o que aparece é isto:

Screenshot from 2021-12-12 10-12-05

Está difícil de entender…

Algo aqui me está a escapar ou está por aí algo baralhado…

  1. Crias um sensor que tem o nome sensor.water cujo resultado é multiplicado por 10

  2. No Grafana chamas o sensor.water que dá o resultado esperado

  3. E depois no Lovelace chamas uma entidade diferente?? De onde vem esse sensor.tasmota_counter_c1? Esse é um sensor completamente diferente daquele que estás a ver no Grafana, e daí quase certamente vem a diferença!

Pelo nome do sensor que estás a usar no Lovelace, esse parece-me ser o sensor que tem a leitura dos impulsos provenientes do Tasmota e como tal não está multiplicado por 10. Corrige-me se estiver errado:

  • sensor.water - valor do consumo em litros, usado no Grafana (360 litros)
  • sensor.tasmota_counter_c1 - numero de impulsos contados no Tasmota, é a fonte do sensor.water e usado no Lovelace (36 impulsos)

Se estás a chamar dois sensores diferentes (e com unidades também diferentes) é natural que tenhas valores diferentes no Grafana e no Lovelace. Mas não excluo a hipótese de algo estar aqui a falhar no meu raciocínio…

P.S.: Sugiro utilizares no Lovelace o seguinte:

type: entities
entities:
  - entity: sensor.tasmota_counter_c1
    name: Impulsos
  - entity: sensor.water
    name: Litros gastos
title: Água Quente

Perfeito Jorge! Era mesmo isto… Um deslize que toma-nos um “tempão” por não prestar atenção no que estamos a fazer.

Obrigado!

1 Curtiu

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


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