Midiendo la lluvia con Home Assistant
Post para seguir completando nuestro sistema domótico, o puede ser interesante si pretendéis montar una estación meteorológica… Hoy toca un pluviómetro, al final del documento sabremos medir el volumen de lluvia y poder visualizarlo en Home Assistant, o realizar alguna automatización…
En mi caso particular debo confesaros que empecé con un dispositivo impreso con piezas de una impresora 3D pero no resultaba 100% fiable… era algo casero, así que la mejor opción comercial que encontré, porque a veces los dispositivos de los fabricantes son más fiables… adquirí en AliExpress una pieza de repuesto para una estación meteorológica que sirve seguro, por 17,34€ no se pierde más el tiempo 😉
Ahora, necesitaremos una placa de estas maravillosas con un microcontrolador, un ESP32 o un ESP8266 nos pueden valer por igual, en la que instalaremos el firmware de ESPHome y con unas pocas líneas de código lo tendremos. Prometo un día hacer un post de cómo instalar ESPHome en un dispositivo de estos, pero vaya, muy por encima, tendremos ESPHome instalado en nuestro Home Assistant, conectaremos la placa por USB al Home Assistant y podremos crear ya nuestro nuevo dispositivo.
Tras añadir el dispositivo y configurarlo, con el siguiente código nos valdría, conectamos el medidor de lluvia, un cable a GND y el otro a cualquier GPIO de nuestra placa. Indicamos la unidad de medida, el intervalo de actualización y el multiplicador de cada ‘palada’ que haga balancear al medidor, el volumen que contiene en mm:
sensor: - platform: pulse_counter pin: number: GPIO12 inverted: True mode: INPUT_PULLUP unit_of_measurement: 'mm' name: 'esp32-portero-precipitacion-lluvia' update_interval: 1s filters: - multiply: 0.367
Grabamos y se lo instalamos a la placa,
Y ya podremos añadir una tarjeta con la entidad que nos habrá creado! Con esto ya podremos ir visualizando y midiendo la cantidad de lluvia.
Si queremos además, conocer lo que llueve por hora, por día, por semana, por mes, o anualmente para luego visualizarlo más elegantemente, deberemos añadir los siguientes integraciones en el fichero de configuración de Home Assistant, serán ‘utility meters’, les indicamos su nombre y su ciclo de reseteo:
... utility_meter: precipitacion_lluvia_horario: name: "Precipitacion Lluvia - Horario" source: sensor.esp32_portero_precipitacion_lluvia cycle: hourly precipitacion_lluvia_diario: name: "Precipitacion Lluvia - Diario" source: sensor.esp32_portero_precipitacion_lluvia cycle: daily precipitacion_lluvia_mensual: name: "Precipitacion Lluvia - Mensual" source: sensor.esp32_portero_precipitacion_lluvia cycle: monthly precipitacion_lluvia_anual: name: "Precipitacion Lluvia - Anual" source: sensor.esp32_portero_precipitacion_lluvia cycle: yearly ...
Ahora ya podremos hacer una tarjeta para ver lo que llovió las últimas 24 horas:
type: custom:apexcharts-card header: show: true title: Lluvia - Últimas 24h show_states: true series: - entity: sensor.precipitacion_lluvia_horario name: Milímetros cúbicos type: area opacity: 0.7 color: blue group_by: duration: 15m func: avg graph_span: 24h update_interval: 5min
Ejemplo de lluvia el último mes:
type: custom:apexcharts-card header: show: true title: Lluvia - Último mes show_states: false series: - entity: sensor.precipitacion_lluvia_diario name: Milímetros cúbicos type: column opacity: 0.7 color: blue group_by: duration: 1d func: max graph_span: 30d update_interval: 5min
O mismamente el último año:
type: custom:apexcharts-card header: show: true title: Lluvia - Último año show_states: false series: - entity: sensor.precipitacion_lluvia_mensual name: Milímetros cúbicos type: column opacity: 0.7 color: blue group_by: duration: 30d func: max graph_span: 365d update_interval: 5min
Si os fijáis uso unas tarjetas llamadas ‘ApexCharts‘ para dibujar gráficas es de las mejores ya que puedes mezclar métricas, visualizaciones, unidades…
Espero que os haya resultado interesante el post! y como siempre, agradeceros que mováis este tipo de contenido en las redes sociales!