Consumo de Agua com medidor da IE tecnologia

Boa tarde!
Consegui configurar o sensor de vazão da IE tecnologia e comunicar via MQTT com o HA.
Porém o equioamento se comunica 3 vezes a cada cliclo, enviando 3 jsons com as informações de consumo. E os jason tem a mesma estrutura, então não estou conseguindo separar a informação de consumo instantaneo, que é o que eu quero.
os json são assim:

{
    "variable": "Q",
    "value": 12,
    "unit": "L/h"
}

{
    "variable": "L",
    "value": 15.11,
    "unit": "L"
}

{
    "variable": "P",
    "value": 450,
    "unit": "1"
}

Eu montei o sensor, porém ele sempre toma o conteudo da chave “value”, e eu quero somar apenas quando a “variable” for “Q”, e ignorar as demais…

Agradeço a ajuda!

Consegui resolver criando um script no sensor conforme abaixo:

sensor:
  - platform: mqtt
state_topic: 'tele/consumoagua/RESULT'
name: 'Consumo Agua'
unit_of_measurement: 'litros'
value_template: >-
  {% if value_json.variable == 'Q' %} 
  {{value_json.value}}
  {% else %}
  {{0}}
  {% endif %}
3 curtidas

Douglas … Boa tarde. Tudo bem com você ? Por aqui tudo muito bem. Comprei o medidor junto com o Higrômetro e ele deveria gerar 1 pulso a cada litro consumido. Estou tentando fazer ele enviar informações através do MQTT e receber essas informações no meu Home Assistant, porem como não sou um expert em programação goraria de saber como você configurou o mesmo (tanto o medidor quanto o HA). Agradeço antecipadamente por qualquer ajuda.

Minha configuration.yaml

mqtt:
sensor:
state_topic: ‘tele/consumoagua/RESULT’
name: ‘Consumo Agua’
unit_of_measurement: ‘litros’
value_template: >-
{% if value_json.variable == ‘Q’ %}
{{value_json.value}}
{% else %}
{{0}}
{% endif %}nsumo_agua }}’

utility_meter:
consumo_agua_dia:
source: sensor.consumo_agua
cycle: daily
consumo_agua_semana:
source: sensor.consumo_agua
cycle: weekly
consumo_agua_mes:
source: sensor.consumo_agua
cycle: monthly
consumo_agua_ano:
source: sensor.consumo_agua
cycle: yearly

Configuração do medidor IE Technologia:

ID 1
IP do Servidor 192.168.1.223
Usuário marcos
Senha •••••••••
Tópico publish tele/consumoagua/RESULT
Tópico subscriber
Caminho
Porta 1883
Intervalo de transmissão e atualização do consumo
30 segundos

Meu log do Home assitant fica assim:

2022-09-07 16:47:52: Client 1 disconnected due to malformed packet.
2022-09-07 16:48:22: New connection from 192.168.1.25:64786 on port 1883.
2022-09-07 16:48:22: New client connected from 192.168.1.25:64786 as 1 (p2, c1, k15, u’marcos’).
2022-09-07 16:48:22: Client 1 disconnected due to malformed packet.
2022-09-07 16:48:56: New connection from 192.168.1.25:65404 on port 1883.
2022-09-07 16:48:56: New client connected from 192.168.1.25:65404 as 1 (p2, c1, k15, u’marcos’).
2022-09-07 16:48:56: Client 1 disconnected due to malformed packet.
2022-09-07 16:49:12: New connection from 172.30.32.2:50488 on port 1883.
2022-09-07 16:49:12: Client closed its connection.
2022-09-07 16:49:24: New connection from 192.168.1.25:60345 on port 1883.
2022-09-07 16:49:24: New client connected from 192.168.1.25:60345 as 1 (p2, c1, k15, u’marcos’).

Obrigado Abraços Marcos Silva

Bom dia Marcos!
Esse medidor envia em torno de 300 a 500 pulsos por litro e não um só. Entao o erro deve começar aí. Porem, não consigo te ajudar pois já abandonei ele 2 semanas depois de ele
funcionar. Essa porcaria, com todo o respeito da palavra mas é uma porcaria, tem uma vazão mínima pra marcar muito baixa. Enquanto o sensor que fica no cano marca uma vazão de 1 à 30 litros/min, o medidor só começa a marcar acima de 3 ou 4 (não lembro o valor exato). Liguei pro suporte, e a resposta foi que se ficasse abaixo de X vazão (esses 3 ou 4) ele não marca. Então se voce tem ele numa entrada de caixa dagua, que no final, a boia está quase em cima, e vai fechando a entrada de agua, ele simplesmente não marca nada.
Joguei o medido fora, e acoplei o sensor dele num esp32 de 25 reais, e até hoje funciona e muito bem. Só perdi dinheiro com essa coisa aí…

Douglas. Obrigado pela pronta resposta. Na verdade eu comprei o aparelho com higrômetro e não com sensor de vazar porque eu sei desse problema com sensor de vazão. O hidrômetro tem um ima no ponteiro e cada vez que o ponteiro da uma volta completa, que equivale a 1 litro ele passa em frente ao sensor e gera um pulso, logo são realmente 1 pulso por litro e não como no sensor de vazão que são muitos pulsos por minuto porem só funciona bem, se você tiver uma vazão alta a constante, logo nao serve para medição de passagem de agua com precisão caso o consumo seja variável e baixo. Os hidrômetros são be confiáveis para isso até porque a concessionárias usam os mesmos. Você fez algum arquivo Json para processar os dados ? Obrigado mais uma vez . Abraços Marcos Silva

Douglas. Uma coisa que eu não entendi na sua resposta. Se você disse que o problema estava no sensor de vazão de água que quando passava pouca água ele não media (gerava pulsos), como é que você solucionou usando um ESP32 uma vez que você continuou a usar o mesmo sensor de vazão ?

Sim, ficou mal explicado. A solução da IE é feita de 2 partes. a primeira, o sensor que vai no cano. Esse envia pulsos acima de 1l/min. A que é uma porcaria é a outra parte, a parte eletrônica. Essa parte que eu troquei por um ESP. Aí liguei os fios do sensor que fica no cano diretamente no Esp.

Agora que vi esse post. só tinha visto o ultimo.
Entendi, Eu li higrometro e não entendi que era hidrometro.
Infelizmente eu nao consigo ver mais como eu informei dentro do meu equipamento pois ele está uma aterro. Mas note que voce tem uma mensagem no seu log dizendo que o seu pacote está com erro (malformed). Tem como ver no HA o que chega pelo MQTT, mas nao lembro como. ali voce vai ver que deve estar vindo o tópico escrito de maneira errada.

Achei o caminho aqui… vai em configuracoes, integracoes. Dai clica em “Configurar” no seu quadro de MQTT (Mosquito Broker) .
Ai digita uma # no campo "Evento para se inscrever"e clica em “comecar a ouvir”. Ai vao aparecer os seus eventos. quando o IE enviar alguma coisa, é ali que vai aparecer…

Douglas. Mais uma vez muito obrigado pela informação. Deve ter saído Higrômetro mesmo porque o corretor deve ter mudado … porem o Correto é Hidrômetro … esse mesmo que passe um fiozinho de água ele vai rodando e marcando logo a medição é precisa independente da quantidade de água que passe por minuto, o único problema é que ele somente manda um pulso depois de ter passado 1 litro pelo hidrômetro, que pode levar 10 segundos ou 1 dia inteiro, vai depender do teu consumo. Vou tentar descobrir o problema. Um forte Abraço Marcos Silva

Douglas, muito obrigado pela dica. O meu não está funcionando, mas vc já deu uma luz. Tb quero separar, mas eu tenho o sensor de temperatura com dois canais da IE Tecnologia.

  • platform: mqtt
    unique_id: “teste_ch1”
    name: “Temperatura teste 1”
    state_topic: “teste/teste/teste”
    unit_of_measurement: ‘°C’
    value_template: >-
    {% if value_json.variable == “Temperatura_CH1” %}
    {{ value_json.value }}
    {% else %}
    {{1}}
    {% endif %}
    qos: 1
    device_class: temperature

Apesar do log sair isso:

{
“variable”: “Temperatura_CH1”,
“value”: 22.62,
“unit”: “C”
}

Meu codigo não reconhece a “variable”.

Segue um exemplo que funciona pra mim:

  • object_id: medidor_piscina_potencia_a
    name: Potência Fase A do Medidor da Piscina
    unique_id: medidor_piscina_potencia_a
    state_topic: ‘home/meter’
    unit_of_measurement: ‘W’
    suggested_display_precision: 2
    state_class: measurement
    expire_after: 60
    value_template: >-
    {% if value_json.variable == ‘PA’ %}
    {{value_json.value}}
    {% endif %}