Como medir consumo da caixa d'água com Home Assistant

Boa tarde.

Se alguém puder me ajudar, eu agradeço.
Eu coloquei o ESP8266 + sensor ultrassónico na caixa d’água e estava funcionando perfeitamente.
2 dias atrás ele começou a variar muito as medições que está fazendo.
Alguém já teve uma experiência parecida ?

Veja o gráfico abaixo que desde o sábado dia 18/09 as variações estão bem maiores do que o normal.

substitutions:
 device_name: caixadagua
 device_description: Nivel da Caixa D'Água
 friendly_name: Caixa D'Água

esphome:
  name: caixadagua
  comment: ESP8266 e sensor ultrassonico para medir o nivel da caixa dagua
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "ssid"
  password: "senha_wifi"
  ap: #since we listed an SSID above, this AP mode will only enable if no WiFi connection could be made
    ssid: "Caixadagua Hotspot"
password: "XXXXXXXXXXXXXXXX"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "XXXXXXXXXXXXXXXXXXXXXXXXX"

web_server:
  port: 80

# Sync time with Home Assistant
time:
  - platform: homeassistant
    id: homeassistant_time

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "Caixa D'Agua IP"
    ssid:
      name: "Caixa D'Agua SSID"

mqtt:
  broker: 192.168.1.117
  username: "usuariomqtt"
  password: "senhausuariomqtt"
  discovery: true
  discovery_retain: true

  on_message:
    - topic: mailbox_notifier/ota_mode
      payload: 'ON'
      then:
        - logger.log: 'OTA Mode ON - Deep sleep DISABLED'
    - topic: mailbox_notifier/ota_mode
      payload: 'OFF'
      then:
        - logger.log: 'OTA Mode OFF - Deep sleep DISABLED'

sensor:
  # Uptime sensor
  - platform: uptime
    name: "Uptime"
  # WiFi Signal sensor
  - platform: wifi_signal
    name: "WIFI Signal"
    update_interval: 5s
#Tanksensor
  - platform: ultrasonic
    trigger_pin: D1
    echo_pin: D2
    update_interval: 5s
    name: "Caixa D'Agua (L)"
    unit_of_measurement: "L"
    accuracy_decimals: 0
    filters:
      - lambda: return ((((x*100)-11.2)-(58-11.2))/(58-11.2))*-1400;
      - filter_out: nan

  - platform: ultrasonic
    trigger_pin: D1
    echo_pin: D2
    update_interval: 5s
    name: "Caixa D'Agua (%)"
    unit_of_measurement: "%"
    accuracy_decimals: 0
    filters:
      - lambda: return ((((x*100)-11.2)-(58-11.2))/(58-11.2))*-100;
      - filter_out: nan  

  - platform: ultrasonic
    trigger_pin: D1
    echo_pin: D2
    update_interval: 5s
    name: "Distancia da Agua"
    unit_of_measurement: "cm"
    accuracy_decimals: 2
    filters:
      - lambda: return (x*100);
      - filter_out: nan

Lovelace:
obs: A entrada de água é medida por outro sensor (hidrometro de pulso)

Qual modelo do ultrassônico vc ta usando?

Estou usando o HC-SR04

https://esphome.io/components/sensor/ultrasonic.html

Pessoal indica um que é resistente a água. Esse ai oxida com o tempo, de repente seja isso que está ocasionando o problema…

Falam que esse aqui que é o bom:

1 curtida

Obrigado @Leo .

Vou trocar e ver se resolve.
Vou deixar esse para tentar fazer um sensor de “estacionamento” para saber se o carro está em casa.

Valeu!

1 curtida

Eu uso um duplo a prova dagua e esta ocorrendo a mesma coisa…depois de uma semana instalado e funcionando perfeitamente, começou a oscilar drasticamente. No meu caso, desconfio que possa ter alguma relacao por eu estar utilizando 3v ao invés de 5v ( por conta do pino echo). Vou tentar usar 5v no sensor e um level shift converter no pino de retorno.

Se usar ESPHome, a configuração do sensor com o código abaixo pode filtrar os valores mais extremos e diminuir a variação, mas mesmo assim não impede pequenas variações.

  update_interval: 0.5s
  filters:
    - median:
      window_size: 20
      send_every: 20
      send_first_at: 20

tive uma experiência com esse sensor e durou pouco mais de um mês, começou a ter umas leituras bem estranhas mesmo. depois que instalei o a prova dágua não tive mais problemas.

1 curtida

qual versão você usou? Aqui na 2.4.1 dá erro na hora de compilar, já na 2.4.2 pra frente, todas compilam, nas não acontece nada, exatamente igual o exemplo que você deu

Boa tarde Luciano, quando eu fiz há 2 anos atrás passei por esse mesmo problema e só funcionou com a versão 2.4.1.

Essas formulas de % e Litros são pra caixa de que tamanho? Não consegui entender como você fez esses cálculos. Meus neurônios não conseguiram se localizar aí… rs…

São para duas caixas de 1000 litros porém tentei medir quanto realmente cabia nelas da forma que estão instaladas aqui em casa (Deixei esvaziar quase completamente e comecei a encher para descobrir esse volume. Após completa verifiquei o “real” disponível.) e deu aproximadamente 700 litros em cada uma. Por isso usei 1400 na formula de volume em litros.

11.2cm é a distancia da água para o sensor quando a caixa está completa e 58cm é a distancia da água para o sensor quando está “praticamente” vazia.

Bom dia gente, tudo bem? Não estou conseguindo fazer a leitura dos valores desse sensor ( Jsn-sr04t/aj-sr04m ), estou utilizando um Nodemcu V3 e copiei o código do amigo @Henry.Phy na cara dura hehe… Mas as minhas leituras no log ficam todas como timeout:

Vi que uma galera aumentou o pulse de 10us para 40us, mas não sei fazer isso e se iria funcionar já que não consegui nenhuma leitura até agora, então não parece ser isso…

Se alguém tiver alguma dica, agradeço.

Abs,

Verifica a ligação dos pinos se estão corretas.

Além do pulse vc pode alterar o timeout, tenta colocar uns 8 metros.

Parabéns pela iniciativa.

Leo, bom dia!

Você chegou a usar esse sensor impermeavel que indicou?
Estou pensando em cmprar um semelhate para dar incio ao meu projeto

Noite man, não consegui com o ESPHome, testei de tudo mas o sensor só dava timeout, resolvi com TASMOTA. Obrigado pela ajuda…Abs

Não, meio que larguei de mão essa automação…rsrsrsrs

1 curtida

como puedo yo usar tu código para un deposito cilíndrico de altura 122cm y radio 60cm. Gracias

Minha caixa fica completamente externa, sem nenhum tippo de cobertura ou proteção do tempo. Por este motivo optei por usar este tipo de sensor.

Ele me dá a informação necessária, até prq eu não tenho poblemas de falta de água na minha região.

A unica diferença é que acrecentei um sensor para me falar se a entrada de água (boia) está ou não acionada.