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.

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
(Visited 1.498 times, 1 visits today)
Ads Blocker Image Powered by Code Help Pro

¡Hemos detectado un bloqueador de anuncios!

Parece que estás utilizando un bloqueador de anuncios. Nunca vamos a cobrar para ofrecer el contenido, pero sí dependemos de la publicidad para financiar y mantener activo este sitio web. Si disfrutas del contenido que ofrecemos, por favor, añade tecnoyfoto.com a la lista blanca de tu bloqueador de anuncios para seguir accediendo a nuestro contenido.

¡Gracias por tu apoyo!