Skip to content

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
Índice de contenido

    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
    Ajustes