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

Oi Fernando,

Fiz com TASMOTA. Segue abaixo a pinagem que usei:

Coloquei o amarelo do sensor no D6 e setei como counter1 (42).

1 curtida

No final da fórmula do cálculo vc coloca “round (2)”, onde o número 2 indica o número de casas decimais. Ex. value_template: ‘{{ float(value_json.consumo_agua) | round(2) }}’

2 curtidas

Show Marcio!!!

Resolvido!!!

Revivendo aqui , como você fez pra ter esses cálculos, sou meio novato no HA e gostaria de fazer isso em relação a dois sonoff basics que tenho ( 1 nos spots do teto e outro em uma cixa de som )

1 curtida

Alguém sabe como eu deixo registrado a ultima leitura do Utility Meter? Ex: no calculo diário de água quando dá meia noite do dia ele zera e recomeça a contagem do próximo dia. Queria pegar o ultimo status de 23:59 e deixar ele registrado para poder fazer comparação.

Basta vc pegar a entidade q controla o consumo diário, por exemplo (agua_gasta_dia) e colocar no código o atributo do dia anterior desta entidade, conforme mostro abaixo:

1 curtida

Pessoal, alguem consegue explicar como faço para ativar o modo OTA? utilizei o codigo para o utrasonico somente e ví que pelo codigo se ativa o OTA por mqtt. alguem poderia explicar como é feito?
O codigo funcionou muito bem, apenas gostaria de saber como faço para autalizar pelo wifi usando o ide, sem precisar conectar o computador no esp8266, caso precise.

Estou com a mesma dúvida, para atualizar o código via OTA. Por acaso descobriu como ativar?

1 curtida

Não descobri, ainda no aguardo se alguem no tópico puder explicar.

Cara resolvi utilizar o ESPHome com o esp8266, pra quem entende bem pouco de programação, é mais intuitivo, já que o código é todo escrito via yaml.
depois da primeira configuração caso vc precise editar algo pode acessar pela interface do Home Assistant e atualizar OTA.

1 curtida

Boa noite Henry, tudo certo?
Poderia fornecer o código para fazer a implementação no ESPHome?
Obrigado

1 curtida

viva também tinha interesse ver como fez a configuração.

1 curtida

Claro, segue abaixo o codigo que usei.

esphome:
  name: caixa
  platform: ESP8266
  board: nodemcuv2 # usei na verdade o nodemcu V3 LOLIN e funciona perfeitamente

# Habilita o logging
logger:

# Habilita a  API pra ser usada no Home Assistant
api:

ota:
  password: "suasenhaparaatualizarOTA"

wifi:
  ssid: "Seu_Wifi"
  password: "senha_do_seu_wifi"

  # se sua conexão wifi falhar ele irá criar um hotspot para conexão
  ap:
    ssid: "caixa_hotspot"
    password: "12345678"

captive_portal:

# habilita um switch para reiniciar o seu nodemcu
switch: 
  - platform: restart
    name: "caixa_dagua Restart"

# template para mostrar a informação de uptime em modo texto
text_sensor:
  - platform: template
    name: Caixa Uptime Leitor
    id: caixa_uptime_leitor
    icon: mdi:clock-start

sensor:

  # sensor de uptime para mostrar a quanto tempo o nodemcu está ligado. util pra saber se reiniciou por algum motivo
  - platform: uptime
    name: Caixa_sensor Uptime
    id: caixa_uptime_sensor
    update_interval: 60s
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: caixa_uptime_leitor
            state: !lambda |-
              int seconds = round(id(caixa_uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? String(days) + "d " : "") +
                (hours ? String(hours) + "h " : "") +
                (minutes ? String(minutes) + "m " : "") +
                (String(seconds) + "s")
              ).c_str();

  # Sensor para informar a força do wifi
  - platform: wifi_signal
    name: Caixa_sensor WiFi Signal
    update_interval: 60s

 # aqui criamos a formula para leitura da distância em porcentagem, diretamente no nodemcu
  - platform: ultrasonic
    trigger_pin: D5
    echo_pin: D6
    name: "caixa_dagua"
    filters:
    # Calculo em %
    # no meu caso 32 é a distancia do máximo da agua até o sensor, ou seja o espaço vazio entre o sensor e a agua
    # 65.7 é o valor de leitura quando a agua está no minimo. para descobrir deixei a caixa esvaziar e registrei a leitura crua do sensor quando a bomba liga

    - lambda: return ((((x*100)-32)-(65.7-32))/(65.7-32))*-100;
    - filter_out: nan # caso não haja leitura o valor de erro NAN é descartado
    unit_of_measurement: "%"
    
  # aqui o sensor faz a leitura crua ( distancia entre o sensor e a agua em centimetros)
  - platform: ultrasonic
    trigger_pin: D5
    echo_pin: D6
    name: "caixa_dagua_dist"
    filters:
    - lambda: return (x*100);
    - filter_out: nan
    unit_of_measurement: "cm"

só assim consegui uma leitura estavel, e ainda há a vantagem caso perca o wifi o nodemcu tentará reconectar, caso nao consiga reinicia o proprio nodemcu.

na pagina de entidades ficam listados os sensores criados:

image

criei cards no lovelace para acompanhar ambos os sensores que tenho, um para cisterna e outro para caixa dágua. abaixo deles tenho uma contagem de vezes que a caixa/cisterna foi reabastecida, pra que eu possa trocar os filtros.

image

ainda posso acompanhar o historico pelo grafana+influxdb

2 curtidas

Muito obrigado, vou explorar isto.

1 curtida

Ola Henry !Qual foi card lovelace utilizado para caixa dágua ?

1 curtida

@Pedro2 utilizei o Bar Card GitHub - custom-cards/bar-card: Customizable Animated Bar card for Home Assistant Lovelace

Obrigado,Vou pesquisar.

Henry consegui por tudo a funcionar, só não consegui colocar a parte de quantas vezes a caixa de água encheu, será que me pode dizer como fez?

Cumps

1 curtida

vc precisa criar o counter no configuration.yaml como em Counter - Home Assistant
depois disso crie uma automação para incrementar ou fazer o que vc deseja.

Olá!
Henry, como vc ligou o sensor no esp32?
Na verdade a dúvida, pra ser mais exato, é: vc utilizou os 3v do esp32 para alimentar o sensor ou utilizou 5v e um level-shift-converter para os sinais de trigger/echo?

Estou testando aqui usando os 3.3v e ligação direta dos pinos, mas estou recebendo muitos timeouts entre as leituras…e já tentei com pelo menos dois sensores diferentes.
Apesar da página do vendedor do sensor dizer que suporta de 3 a 5v, na placa do sensor em si diz apenas 5v…por isso acho que posso estar tendo esse problema de timeout aleatorio.

1 curtida