Nivel deposito Gasoil en Homeassistant

Hola muy buenas a todos, hoy quiero aportar mi pequeño granito de arena a este gran portal, que tanto me ha servido de ayuda e inspiración para mis proyectos de domótica en casa.

Bien les quiero mostrar como hacer un sensor para poder medir el nivel que queda en el deposito de gasoil y así tener una barra de estado en HomeAssistant y poder tener avisos por Telegram por ejemplo, cuando llegue a cierto nivel.

Decir que no es un sensor extremadamente exacto, ya que abría que perder mucho rato ajustando el sensor de ultrasonidos y tomando las medidas exactas de donde se coloca, y del depósito, pero para tener una idea de que nivel nos queda y tener avisos cuando está en un nivel bajo, por lo menos en mi caso cumple perfectamente su función. Bien al lio que me enrollo mucho. Necesitamos un Nodemcu esp8266 o similar, y un sensor de ultrasonidos HC-SR04 dejo un par de enlaces

Sensor HC SR04

Nodemcu

Vamos a utilizar esphome para flashear el Nodemcu si no tienes claro este tema consulta en la web hay tutoriales para hacerlo. Este es el código de los sensores esphome decir que yo he aprovechado el esp y le he metido también un sensor de temperatura y un pir de movimiento para abrir la luz del almacén, pero bueno si no queréis meter eso utilizáis solo la última parte del código el de ultrasonic .

binary_sensor:

  - platform: gpio

    pin: D5

    name: "Sensor Movimiento Almacén"

    device_class: motion

i2c:

  sda: D2

  scl: D1

sensor:

  - platform: bme280

    temperature:

      name: "Temperatura Almacén"

      oversampling: 16x

    pressure:

      name: "Presión Almacén"

    humidity:

      name: "Humedad Almacén"

    address: 0x76

    update_interval: 60s

  - platform: ultrasonic

    trigger_pin: D7

    echo_pin: D6

   update_interval: 86400s
   
name: "Nivel Gasoil"

“El update interval lo tengo en 86400s que seria el equivalente a un dia, los primeros días lo tenia cada 60s pero me di cuenta que de madrugada cuando las temperaturas bajan mucho, no se si es, que con el frio se crea algún tipo de atmosfera o que se yo (no soy químico), pero a esas horas de madrugada y asta que subía la temperatura casi a mediodía me daba señal de lleno el depósito. Así que como no es una cosa que necesite al momento lo dejo así, que me lo comprueba solo después de comer, eso ya cada uno puede hacer sus pruebas”

La conexión con el sensor nos tenemos que fijar en conectar el D7 en trigger y echo en el D6, el esp, lo alimento con un cargador típico de móvil, en el cual el cable lo he pelado, para poder sacar dos cables de alimentación uno para alimentar el esp y otro para alimentar el sensor SR04 ya que no se recomienda alimentar desde las salidas el esp. Hay que alimentarlo directo.

Mi deposito tiene varios tapones uno en una punta (es el que utilizan para llenar) y un par en el medio en horizontal, en uno de esos e echo un agujerito para sacar los cables del sensor y he pegado el señor con silicona caliente, sin tapar los sensores (obvio) adjunto un par de fotos.

Bien con todo montado si ya tenéis echa la integración de esphome en HA y este todo ok, ya os deberían de salir los sensores en ha

Ahora pasamos la parte para mostrar el nivel en HA, es un sensor de ultrasonidos que mide la distancia, así que el sensor os mostrara la distancia que tenéis del sensor hasta el gasoil a mayor distancia menos gasoil tenéis. Tenéis que medir la altura que tiene el depósito hasta donde tengas el sensor. El máximo seria deposito vacío y el mínimo lleno (yo le he restado 20 cm ya que nunca lo lleno al máximo)

Bien teniendo esas medidas os paso los códigos para HA. Utilizaremos una custom card para mostrar la barra:

https://github.com/custom-cards/bar-card

Y un platform sensor para convertir la distancia en centímetros a un % el cual debo todo el mérito a @Jose y @Mig77angel del grupo de Telegram que sería este:

- platform: template

  sensors:

    nivel_gasoil_porcentaje:

      value_template: "{{ ( 100 - ( ( (states('sensor.nivel_gasoil')|float) - 0.2 ) / ( 1.25 - 0.2 ) ) * 100 ) | int }}"

      unit_of_measurement: "%"

Y por ultimo la card de lovelace:

direction: right

entity: sensor.nivel_gasoil_porcentaje

max: 100

min: 0

ow_value: false

severity:

  - color: '#33FF35'

    value: 100

  - color: '#FFAE33'

    value: 50

  - color: '#F90C06'

    value: 0

title: Nivell Gasoil

type: 'custom:bar-card'


¡¡¡Y bueno con estoy doy por terminado el tuto espero que le sirvaa a alguien cualquier cosa nos vemos en telegram!!!

Deja una respuesta

Síguenos

Siguenos en facebook