Si quieres obtener información del histórico de valores de tus entidades, te interesa esta lectura sobre conceptos básicos: estadísticas.
Estadísticas
Tal y como nos indica la documentación oficial, la integración de estadísticas observa el estado de un sensor proporcionado y nos facilita información estadística agregada (máximo, mínimo, media…). Como siempre, el uso que le des va a depender de tí, pero puedes utilizarla para cosas tan variadas como registrar la temperatura máxima en casa en verano, tu peso medio… o lo que tú quieras!
Sensores numéricos
Los sensores numéricos son aquellos que registran cifras (por ejemplo, un sensor de temperatura). Puedes consultar todas las opciones disponibles en la documentación oficial, pero por ejemplo puedes obtener datos como estos:
- Contar el número de lecturas del sensor.
- Obtener la fecha de la lectura más antigua (o reciente).
- Obtener el dato máximo o mínimo de la serie, o la fecha en la que se tomaron.
- Calcular datos como la diferencia máxima (valor máximo menos valor minimo), o la media de la serie.
- Otras funciones estadísticas como la suma de valores, la mediana, la varianza…
Para obtener esta información vamos a crear un sensor personalizado en nuestro fichero ‘sensors.yaml’. A continuación tienes un código de ejemplo, que tienes que adaptar a lo que buscas.
- Name. Indica el nombre que quieras para tu sensor.
- Entity_id. Indica la entidad del sensor de referencia, es decir, sobre el que se obtiene la información estadística (por ejemplo, un sensor de temperatura).
- State_characteristic. Elige el valor estadístico que quieres reflejar, entre los reflejados en la documentación (por ejemplo, valor máximo).
- Max_age. Indica el horizonte temporal que quieres tener en cuenta en el cálculo de la información (por ejemplo, últimas 24 horas).
- Sampling_size. De forma alternativa a ‘max_age’ puedes indicar el número de lecturas que quieres considerar, independientemente del periodo temporal. Si utilizas esta opción, ten en cuenta la frecuencia de lecturas de tu sensor (por ejemplo, un sensor que se actualiza 1 vez cada minuto proporciona 1.440 lecturas diarias).
- No olvides reiniciar Home Assistant después de crear tu nuevo sensor.
- platform: statistics
name: "Temperatura máxima"
entity_id: sensor.home_temperatura
state_characteristic: value_max
max_age:
hours: 24
sampling_size: 100
Sensores binarios
Al dominar otro de los conceptos básicos: estadísticas, también puedes sacar información de sensores binarios. Es decir, aquellos que sólo registran valores de tipo «on» u «off». Por ejemplo, si utilizas un sensor de puertas y ventanas en tu lavadora, puedes contar las veces que se han abierto o cerrado (y tenerlo como referencia de consumo).
Otro uso puede ser el control de los sensores que hayas activado en tu teléfono con la app de HA, como el número de veces que se ha conectado a tu coche. De nuevo, en la documentación oficial tienes las opciones disponibles, aunque la forma de crearlo es similar a la del apartado anterior.
- platform: statistics
name: "Android Auto"
entity_id: binary_sensor.pixel_6a_android_auto
state_characteristic: count_on
max_age:
days: 365
Histórico
Además de poder generar información agregada, también podemos jugar con el histórico de las entidades con la integración oficial «History Stats». A diferencia de la anterior, esta no te proporciona datos agregados (como la media), sino que te permite consultar cuánto tiempo ha estado una entidad en ciertos estados.
Esto puede resultar muy útil para conocer información como cuánto tiempo pasas en el trabajo o viendo la televisión, cuánto tiempo están las luces encendidas, etc.
Para ello lo único que tienes que hacer es crear un ayudante de tipo «Estadísticas históricas», seleccionando la entidad a monitorizar y los estados que quieres que tenga en cuenta en las estadísticas. Indica también si quieres que registre el tiempo en el que la entidad ha permanecido en dicho estado (tipo «Hora»), el porcentaje que representa en el total (tipo «Proporción») o el número de veces que ha tomado dicho estado (tipo «Cuenta»).
Por ejemplo, de esta forma puedo saber cuánto tiempo he pasado en casa (apoyándome en mi sensor de presencia total).

A continuación aparecerá una pantalla para que indiques qué periodo temporal quieres que tenga en cuenta (pudiendo ser estático o dinámico). Para ello debes concretar dos de los siguientes campos:
- Inicio. Refleja el momento en el que empiezan a tenerse en cuenta los valores para tus estadísticas.
- Fin. Refleja el momento en el que dejan de tenerse en cuenta los valores para tus estadísticas.
- Duración. Refleja el tiempo durante el que se registran estadísticas.
Por ejemplo, con la siguiente configuración siempre tendrá en cuenta las últimas 24 horas (no obstante, puedes encontrar más ejemplos en la documentación oficial).

Esto creará una entidad de tipo sensor, cuyo valor es el tiempo (en horas) durante el que la entidad ha tomado alguno de los valores seleccionados durante el periodo indicado.


