La Recorder o grabadora, es la responsable de almacenar los detalles en una base de datos, que luego son manejados por la history
integración.
La recorder, guarda datos constantemente. Si usa la configuración predeterminada, los datos se guardarán en el medio en el que esté instalado Home Assistant. En el caso de Raspberry Pi con una tarjeta SD, podría afectar el tiempo de reacción de su sistema y la expectativa de vida del medio de almacenamiento (la tarjeta SD). Por lo tanto, se recomienda establecer el commit_interval en un valor más alto, por ejemplo, 30 s, limitar la cantidad de datos almacenados (por ejemplo, excluyendo dispositivos) o almacenar los datos en otro lugar (por ejemplo, otro sistema).
Home Assistant usa SQLAlchemy , que es un Object Relational Mapper (ORM). Esto significa que puede usar cualquier backend SQL para la Recorder que sea compatible con SQLAlchemy, como MySQL , MariaDB , PostgreSQL o MS SQL Server .
El motor de base de datos predeterminado es SQLite, que no requiere ninguna configuración. La base de datos se almacena en el directorio de configuración de Home Assistant (‘/ config /’) y se llama home-assistant_v2.db
.
Para cambiar los valores predeterminados para la recorder
integración en su instalación, agregue lo siguiente a su configuration.yaml
archivo:
# Example configuration.yaml entry
recorder:
VARIABLES DE CONFIGURACIÓN RECORDER
mapa del registrador REQUERIDO
Habilita la integración de la grabadora. Solo permitido una vez.cadena
db_url ( opcional) La URL que apunta a su base de datos.
db_max_retries entero ( opcional , predeterminado: 10 )
La cantidad máxima de veces que la grabadora vuelve a intentar conectarse a la base de datos.
db_retry_wait entero ( opcional , predeterminado: 3 )
El tiempo en segundos que la grabadora duerme cuando intenta conectarse a la base de datos.
auto_purge boolean ( opcional , predeterminado: verdadero )
Purgue automáticamente la base de datos todas las noches a las 04:12 hora local. La depuración evita que la base de datos crezca indefinidamente, lo que ocupa espacio en el disco y puede ralentizar Home Assistant. Si lo deshabilita auto_purge
, se recomienda que cree una automatización para llamar recorder.purge
periódicamente.
purge_keep_days integer ( opcional , predeterminado: 10 )
Especifique el número de días del historial que se mantendrán en la base de datos del registrador después de una purga.
commit_interval entero ( opcional , predeterminado: 1 )
Con qué frecuencia (en segundos) los eventos y los cambios de estado se confirman en la base de datos. El valor predeterminado 1
permite que los eventos se confirmen casi de inmediato sin destruir el disco cuando ocurre una tormenta de eventos. Aumentar esto reducirá la E / S del disco y puede prolongar la vida útil del disco (tarjeta SD) con la compensación de que el libro de registro y el historial se retrasarán. Si se establece en 0
(cero), las confirmaciones se realizan lo antes posible después de que se procesa un evento.
excluir mapa ( opcional)
Configure qué integraciones deben excluirse de las grabaciones. ( Configurar filtro )
dominios ( opcional)
La lista de dominios que se excluirán de las grabaciones.
entity_globs ( opcional)
Excluya todas las entidades que coincidan con un patrón enumerado de las grabaciones (p sensor.weather_*
. Ej., ).
entidades ( opcional)
La lista de identificadores de entidad que se excluirán de las grabaciones.
event_types ( opcional)
La lista de tipos de eventos que se excluirán de las grabaciones.incluir mapa ( opcional)
Configure qué integraciones deben incluirse en las grabaciones. Si se establece, no se registrarán todas las demás entidades. ( Configurar filtro )
dominios ( opcional)
La lista de dominios que se incluirán en las grabaciones.
entity_globs ( opcional)
Incluya todas las entidades que coincidan con un patrón enumerado de las grabaciones (p sensor.weather_*
. Ej., ).
entidades ( opcional)
La lista de identificadores de entidad que se incluirán en las grabaciones.
Configurar filtro
De forma predeterminada, no se excluirá ninguna entidad. Para limitar las entidades a las que se exponen recorder
, puede utilizar los parámetros include
y exclude
.
A pegar en configuration.yaml
recorder: !include recorder.yaml
Ahora no olvides de crear el archivo recorder.yaml
A pegar en recorder.yaml
OJO!!!! en db_url tiene que cambiar donde pone tecnoyfoto por la contraseña que configuró en su instalación de MariaDB.
CONSIDERACIÓN!!! si en Home Assistant está utilizando la base de datos del propio Home Assistant, NO tiene que utilizar la primera línea (la de db_url). Simplemente elimínela!.
db_url: mysql://homeassistant:tecnoyfoto@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 30
exclude:
domains:
- automation
- sensor
- updater
- media_player
entity_globs:
- sensor.weather_*
entities:
- sun.sun # Don't record sun data
event_types:
- call_service # Don't record service calls
include:
domains:
- switch
- vacuum
- light
entities:
- sensor.sensor_entrada_temperature
- sensor.calefaccion_setpoint
- sensor.day_night
entity_globs: