Adecuar el fichero de configuración

Una de las prácticas obligatorias a la hora de tomar datos es poder jugar con los datos: obtener gráficas y medidas estadísticas. Para ello, la versión supervisada de Home Assistant permite la instalación de Add-On's que facilitan la labor. En nuestro caso, estamos usando un sistema operativo que no admite la versión supervisada, ya que usamos una Raspberry con el Raspberry PI OS (por las razones que se expusieron en la parte de Software). Por ese motivo, para usar otro tipo de servicios, necesitaremos tocar el código interno de Home Assistant (configuration.yaml). 

Al haber instalado FileBrowser, podemos navegar por la Raspberry usando el navegador web instalado por defecto en el sistema operativo. Si nos vamos al directorio donde hayamos instalado Home Assistant (en nuestro caso /home/grupotar/docker/homeassistant/), observaremos que ahí se encuentra el mencionado configuration.yaml. Se encuentra escrito en Yaml:


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Para poder añadir una, debemos escribirla en ese fichero. En nuestro caso, usaremos el servicio ''file" que permite guardar las notificaciones en un fichero local. Por lo tanto, añadiendo su código permitente, el contenido de configuration.yaml queda de la siguiente manera:


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

notify:

  - platform: file
#La plataforma a usar es ''file''
    name: filenotify
#El nombre que le demos al servicio.
    filename: /config/file.csv
#La dirección y el nombre del fichero donde guardaremos los datos. Si no existiera, se crearía automáticamente.
    timestamp: true
#Añade una etiqueta de tiempo a la medida, sabiendo en qué momento se tomó la muestra. Incluye milésimas de segundo, que más tarde se separarán en Excel.

Integrar la automatización

Para poder muestrear, debemos automatizar el guardado de las notificaciones. Entrando en Home Assistant/Ajustes/Automatizaciones y escenas, podremos crear nuestra primera automatización.

En desencadenantes, buscaremos ''Time pattern trigger', donde podremos escribir el patrón de tiempo con el que se guardarán las notificaciones. En nuestro caso, usamos /10 en segundos. Escribiéndolo de esa forma, nos aseguramos de que muestrea  cada 10s, y no en los 10 primeros segundos de cada hora.

No usaremos ninguna condición particular.

En acciones, escribimos lo siguiente:

message: ;{{states.sensor.tasmota_mhz19b_carbondioxide.state}};{{states.sensor.tasmota_mhz19b_carbondioxide_2.state}};{{states.sensor.tasmota_bme680_temperature.state}};{{states.sensor.tasmota_bme680_temperature_2.state}};{{states.sensor.tasmota_bme680_pressure.state}};{{states.sensor.tasmota_bme680_pressure_2.state}};{{states.sensor.tasmota_bme680_humidity.state}};{{states.sensor.tasmota_bme680_humidity_2.state}};{{states.sensor.tasmota_mhz19b_carbondioxide.state

        |float - states.sensor.tasmota_mhz19b_carbondioxide_2.state  |float }};{{states.sensor.tasmota_bme680_temperature.state

        |float - states.sensor.tasmota_bme680_temperature_2.state |float}};{{states.sensor.tasmota_bme680_pressure.state

        |float -states.sensor.tasmota_bme680_pressure_2.state |float}};{{states.sensor.tasmota_bme680_humidity.state

        |float-states.sensor.tasmota_bme680_humidity_2.state |float}};

Donde estamos llamando al servicio notify con el alías que le pusimos. El mensaje será la estructura escrita que se guarde en el fichero ''file.csv'', donde vamos a estar guardando las muestras separadas por '';''. Vemos que el mensaje tiene la misma estructura que la descrita en el apartado Plantillas. Se estará generando entonces un fichero con la misma estructura que la salida de la plantilla, exportable a una hoja de cálculo. Tiene la siguiente forma:

Siendo este un ejemplo donde no se han incluido los valores de la diferencia entre sensores.

Última modificación: Sunday, 16 de April de 2023, 12:40