Sensores del mes

Sensores del mes en Home Assistant

Sensores del mes no es nada más y nada menos que 4 nuevos sensores que crearé a mi Home Assistant. En nuestro Home Assistant, cuantos más tengamos, más información tendremos. También lógicamente, más opciones de hacer automatizaciones gracias a todos estos sensores.

Hoy cómo he dicho crearé 4 nuevos sensores. Uno me va a dar el día de la semana en el que estoy. El otro, el día del mes en número. El tercero el mes actual. Y el cuarto, cuántos días tiene el mes actual para saber qué día es fin de mes.

Todos tienes que crearlo dentro de tu archivo habitual de sensores en Home Assistant. Si todavía no tienes tu archivo, lo puede crear copiando la siguiente línea en tu archivo configuration.yaml y después creando el archivo sensor.yaml en la misma carpeta que tienes el archivo configuration.yaml.

sensor: !include sensors.yaml

Ahora sí, voy a por los sensores del artículo de hoy.

Sensor del día de la semana

platform: template
sensors:
  diadelasemana:
    friendly_name: "Día de la Semana"
    icon_template: mdi:calendar
    value_template: >
      {{ ['Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo'][now().weekday()] }}

Sensor del día del mes

platform: template
sensors:
  diadelmes:
    friendly_name: "Día del mes"
    icon_template: mdi:calendar-today
    value_template: "{{ ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31' ][ now().day-1] }}"

Sensor del mes

platform: template
sensors:
  mes:
    friendly_name: "Mes"
    icon_template: mdi:calendar-month
    value_template: "{{ ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'][now().month-1] }}"

Sensor de último día del mes

platform: template
sensors:
  ultimo_dia_del_mes:
    friendly_name: "Último día del mes"
    value_template: >-
      {{ 
      31 if now().month in (1,3,5,7,8,10,12) else 
        30 if now().month in (4,6,9,11) else 
          29 if now().month == 2 and now().year % 4 == 0 else 28
      }}

Ahora si no tiene que un sensor que te diga el consumo mensual de electricidad, lo puedes crear en el archivo utility_meters.yaml . Si no lo tienes lo puedes crear. Recuerda copiar la siguiente línea en tu configuration.yaml

utility_meter: !include utility_meters.yaml

Código a copiar en tu archivo utility_meters.yaml

energy_home_monthly:
  source: sensor.general_casa_energy
  cycle: monthly

La automatización

Ahora ya lo tienes todo para crear la automatización. Aquí te dejo la mía por si la quieres copiar. Recuerda cambiar el nombre de los sensores, por el nombre de los tuyos.

- id: '1633255664265'
  alias: Energía consumo final de mes
  description: ''
  trigger:
  - platform: time
    at: '23:59'
  condition:
  - condition: template
    value_template: '{{ now().day == states("sensor.ultimo_dia_del_mes") }}'
  action:
  - service: notify.telegram
    data:
      message: Tu consumo mensual ha sido de {{states('sensor.energy_home_monthly')}}
        kWh, con un coste de {{states('sensor.energy_home_monthly_cost') | round(2)
        }}€.
  mode: single

Ya finalmente, esta es la plantilla para que se active siempre el día antes del día 1 de cada mes.

'{{ (now().date() + timedelta(days=2)).day == 7}}'

Sígueme a Youtube

Sígueme en Youtube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio