Você vai precisar de:
1 sensor ultrassônico: https://s.click.aliexpress.com/e/_9zcQf0 3
1 nodemcu: https://s.click.aliexpress.com/e/_A4vTUQ 1
Código Esphome
# SENSOR NIVEL DE AGUA INICIO #
sensor:
- platform: ultrasonic
echo_pin: D1
trigger_pin: D2
name: "Sensor de água (Porcentagem)"
accuracy_decimals: 0
unit_of_measurement: "%"
update_interval: 2s
filters:
- lambda: return ((((x*100)-20)-(123-20))/(123-20))*-100;
- filter_out: nan
- platform: ultrasonic
echo_pin: D1
trigger_pin: D2
name: "Sensor de água (Volume)"
accuracy_decimals: 0
unit_of_measurement: "L"
update_interval: 2s
filters:
- lambda: return ((((x*100)-20)-(123-20))/(123-20))*-1000;
- filter_out: nan
# SENSOR NIVEL DE AGUA FIM #
Lembre-se de ligar os pinos GND e 5v da placa do sensor ultrassônico nos pinos GND e VU do Nodemcu.
Como calcular as medidas da caixa
Cálculo para porcentagem (%)
return ((((x100)-NA)-(NB-NA))/(NB-NA))-100
NB = Distância do sensor até o nível baixo de água
NA = Distância do sensor até o nível alto de água
Cálculo para volume (L)
return ((((x100)-NA)-(NB-NA))/(NB-NA))-CM
NB = Distância do sensor até o nível baixo de água
NA = Distância do sensor até o nível alto de água
CM = Capacidade máxima da caixa (Ex: 1000L)
Basta substituir no código ESPHome os valores da sua caixa
Card
Para o card utilizei o Mini Graph Card que pode ser instalado via HACS ou pelo repositório: GitHub – kalkih/mini-graph-card: Minimalistic graph card for Home Assistant Lovelace UI
Código do card
type: custom:bar-card
entities:
- entity: sensor.sensor_de_agua_volume
direction: up
height: 240px
severity:
- color: Red
from: 0
to: 250
target: 500
min: '0'
max: '1000'
positions:
icon: 'off'
name: 'off'
minmax: 'off'
value: outside
indicator: 'off'
name: Volume de água
positions:
indicator: inside
name: 'off'
severity:
- {}
Instalando o sensor na caixa
O processo de instalação é bem simples. Faça dois furos no diâmetro dos sensores na tampa da caixa de forma que fique bem justo e vedado. Eu utilizei silicone para ajudar na fixação.