Skip to content

Contar el tiempo en Home Assistant

Hoy vamos a ver una segunda forma de contar el tiempo en nuestro Home Assistant. Recordemos que en el primer capítulo lo hicimos con un input_boolean.

Lo primero que tendremos que hacer es crear un imput_select que será el que utilizaremos para saber cuanto tiempo pasa en un determinado estado. En mi caso, lo creo con dos estados Parado y Funcionando.

Índice de contenido

    Las automatizaciones de Contar el tiempo

    - id: '1626856817645'
      alias: Ventilador 2 on input select
      description: ''
      trigger:
      - platform: numeric_state
        entity_id: sensor.shellyswitch25_40f520003677_channel_2_power
        above: '20'
      condition: []
      action:
      - service: input_select.select_option
        target:
          entity_id: input_select.ventilador_2
        data:
          option: Funcionamiento
      mode: single
    - id: '1626856889645'
      alias: Ventilador 2 off input select
      description: ''
      trigger:
      - platform: numeric_state
        entity_id: sensor.shellyswitch25_40f520003677_channel_2_power
        below: '20'
      condition: []
      action:
      - service: input_select.select_option
        target:
          entity_id: input_select.ventilador_2
        data:
          option: Parado
      mode: single

    y una vez tenemos las automatizaciones creadas, vamos a crear los sensores…

    Los sensores

    - platform: history_stats
      name: Ventilador 2 hoy
      entity_id: input_select.ventilador_2
      state: "Funcionamiento"
      type: time
      start: "{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}"
      end: "{{ now() }}"
    
    - platform: template
      sensors:
        ventilador2_hoy_minutos:
          friendly_name: "Ventilador funcionamiento hoy"
          value_template: "{{ state_attr('sensor.ventilador_2_hoy', 'value') }}"
    
    - platform: history_stats
      name: Ventilador 2 esta semana
      entity_id: input_select.ventilador_2
      state: "Funcionamiento"
      type: time
      start: "{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}"
      end: "{{ now() }}"
    
    - platform: template
      sensors:
        ventilador2_semana_minutos:
          friendly_name: "Ventilador funcionamiento esta semana"
          value_template: "{{ state_attr('sensor.ventilador_2_esta_semana', 'value') }}"
    
    - platform: history_stats
      name: Ventilador 2 este mes
      entity_id: input_select.ventilador_2
      state: "Funcionamiento"
      type: time
      end: "{{ now().replace(hour=0, minute=0, second=0) }}"
      duration:
        days: 30
    
    - platform: template
      sensors:
        ventilador2_mes_minutos:
          friendly_name: "Ventilador funcionamiento este mes"
          value_template: "{{ state_attr('sensor.ventilador_2_este_mes', 'value') }}"
    
    

    Con esto ya tenemos todo para saber cuanto tiempo pasa nuestro dispositivo en un determinado estado.

    Sígueme a Youtube

    Sígueme en Youtube - Contar el tiempo
    Ajustes