Eiiii! en este post muestro los componentes y los pasos necesarios para poder monitorizar los consumos de un deposito de Gasoil, para luego configurarnos una vista en Grafana, así como integrarlo correctamente en nuestro HomeAssistant, y configurarnos nuestros avisos.
Los pasos que incluyo en esta entrada son directos, y sin entrar en detalle en el uso o configuración de ESPHome, mas adelante iré colgando los usos que le podemos dar…
Los componentes necesarios para realizar esto son 2 cosucas 🙂
1X WeMos D1 Mini Pro V3.0 (ESP8266) – También valen otros modelos pero este en cuestión de precio, calidad y consumos (sobre todo si estamos trabajando con Lorawan), para mi es el mejor.

1X Módulo ultrasónico JSN SR04T – Importante aquí adquirir el que viene sellado, el que viene descubierto durara…. nada.., y mas cuando trabajamos con líquidos.


**Cableado final

Primeros pasos:
Aquí lo primero antes de hacer nada, es tener instalado el ESPHome dentro de HomeAssist, para flashear el ESP8266 con el código y configuración del sensor que vamos a acoplar.
- Nos instalamos la integración ESPHome en el HomeAssitant, una vez instalada la arrancamos.

2. Agregamos un nuevo dispositivo.

Le damos un nombre

Seleccionamos nuestro dispositivo, en nuestro caso un ESP8266 (Wemos D1 mini PRO)


Al final de la configuración se nos genera una clave única y especifica para ese dispositivo, que principalmente nos permitirá no solo su gestión, sino la carga de las configuraciones via OTA.

3. Código a configurar (Plantilla YAML)
esphome:
name: DEPOSITO
friendly_name: DEPOSITO
esp8266:
board: d1_mini_pro
logger:
api:
encryption:
key: "0QRwPw16JDCbeBqQOUNXje79FHNmxZbMa24j7hsEHWk="
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
sensor:
# Señal Wifi.
- platform: wifi_signal
name: deposito_gasoil_wifi
update_interval: 10s
unit_of_measurement: '%'
filters:
- lambda: |-
if (x <= -100) {
return 0;
} else {
if (x >= -50) {
return 100;
} else {
return 2 * (x + 100);
}
}
# Configuración modulo ultrasonido, IMPORTANTE AQUI seleccionar correctamente el PIN # que emite la onda, así como el PIN que recoge la señal de ECO.
# IMPORTANTE en mi caso el tanque tiene una altura de unos 2,5mt, en el código incluyo un timeout de 4m, sino no recogía correctamente los datos.
- platform: ultrasonic
trigger_pin: D1
echo_pin: D2
id: measured_distance
accuracy_decimals: 4
update_interval: 1000ms
pulse_time: 10us
timeout: 4.0m
filters:
- quantile:
window_size: 10
send_every: 10
send_first_at: 10
quantile: .9
# Calculo de las dimensiones del deposito
# L X A X H y calculamos su valor en m³
# Calculamos el volumen inicial en mi caso (0.910 m³), y el volumen total del tanque (1.250 m³), para calcular el volumen inicial en mi caso, tengo un medidor analógico que me da los valores.
# Calcular el gasoil quemado :)
# burned oil volume = (measured_volume) - (max_volume - initial_volume)
- platform: template
id: burned_diesel
name: "Burned diesel"
device_class: oil
state_class: "total_increasing"
accuracy_decimals: 3
lambda: return id(measured_distance).state * 1.25 * 0.69 - (1.250-0.910);
unit_of_measurement: 'm³'
update_interval: 10s
- platform: template
id: remaining_diesel
name: "Remaining diesel"
accuracy_decimals: 1
lambda: return 1250.0 - (id(measured_distance).state * 1.25 * 0.69) * 1000;
unit_of_measurement: 'L'
update_interval: 10s
4. En nuestra primera configuración del dispositivo, yo en mi caso HomeAssist esta en una VM, y no dispongo de USBs para cargar a traves del Hypervisor, o del VirtualHere configurado.
Por tanto lo que hare sera lo siguiente:
*Seleccionamos la opción «Manual Download»

Seleccionamos «Modern format»

Esto nos empezara a compilar la aplicación y luego nos permitirá descargarla.

Para cargar el .bin lo hare directamente con
https://github.com/esphome/esphome-flasher/releases/download/1.4.0/ESPHome-Flasher-1.4.0-Windows-x64.exe
Donde habiendo ya enchufado nuestra esp8266, seleccionamos el puerto COM que nos habra dado, seleccionamos nuestro .bin, y luego pulsaremos en la opcion ESPfalsh.

Cuando ya este todo echo… podremos ver a través del Log, que esta recogiendo datos tal que así.

Hola, estoy haciendo algo parecido pero me ha entrado la duda de si este sensor funciona correctamente en un tanque metálico. En uno de plástico me funciona bien pero en el metálico no.
Si, no te va a dar ningún problema, este tipo de sensor lo tengo en tanques metálicos en su mayoría, y para obtener las mediciones no vas a tener ningún problema.