En ocasiones, nos puede interesar de saber las veces que se activa un determinado sensor, las veces que se enciende una luz, cuantas veces a la semana ha limpiado nuestro robot de limpieza. Por todo eso nos interesará de tener un contador que nos lo diga.
También en muchas ocasiones queremos saber por ejemplo cuanto tiempo está funcionando la calefacción, cuantas horas está encendida una luz, cuantas horas lleva limpiando el robot con el mismo cepillo, etc… para todo esto nos interesará de tener un contador.
Estos códigos que dejo a continuación yo los tengo en mi archivo sensors.yaml. En caso de no tener un archivo dedicado a los sensores, los tienes que poner a configuration.yaml
Código para el contador.
#### ENCENDIDAS BAÑO PEQUEÑO ####
- platform: history_stats
name: Baño pequeño hoy
entity_id: switch.sonoff_1000b4892e
state: 'on'
type: count
start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
- platform: history_stats
name: Baño pequeño esta semana
entity_id: switch.sonoff_1000b4892e
state: 'on'
type: count
start: '{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}'
end: '{{ now() }}'
- platform: history_stats
name: Baño pequeño este mes
entity_id: switch.sonoff_1000b4892e
state: 'on'
type: count
end: '{{ now().replace(hour=0, minute=0, second=0) }}'
duration:
days: 30
A nuestro panel de lovelace por ejemplo los podemos mostrar con una tarjeta de entidades.
Código para el cronómetro.
#### TIEMPO FUNCIONAMIENTO LAVAPLATOS
- platform: history_stats
name: Lavaplatos hoy
entity_id: input_select.lavaplatos_status
state: 'Lavando'
type: time
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
- platform: history_stats
name: Lavaplatos ayer
entity_id: input_select.lavaplatos_status
state: 'Lavando'
type: time
end: '{{ now().replace(hour=0, minute=0, second=0) }}'
duration:
hours: 24
- platform: history_stats
name: Lavaplatos esta semana
entity_id: input_select.lavaplatos_status
state: 'Lavando'
type: time
start: '{{ as_timestamp( now().replace(hour=0, minute=0, second=0) ) - now().weekday() * 86400 }}'
end: '{{ now() }}'
- platform: history_stats
name: Lavaplatos este mes
entity_id: input_select.lavaplatos_status
state: 'Lavando'
type: time
end: '{{ now().replace(hour=0, minute=0, second=0) }}'
duration:
days: 30
- platform: history_stats
name: Lavaplatos todo los tiempos
entity_id: input_select.lavaplatos_status
state: 'Lavando'
type: time
start: '{{ 0 }}'
end: '{{ now() }}'
Igual que con el contador, se puede mostrar a nuetro lovelace con una tarjeta de entidades.
Después de guardar los cambios no te olvides de reinciar tu Home Assistant