lunedì 25 febbraio 2019

Strategie per il configuration.yaml


Home Assistant è un software bellissimo, ma che rischia di incasinarsi in tempo zero, vediamo come semplificarci la vita partendo con il piede giusto!
Facciamo quindi due considerazioni su come strutturare il file di configurazione primaria.


Tutto quello che gravita dentro HASSIO vive nel file configuration.yaml.

Si è parlato di come editarlo usando Samba (con un semplice share) e di quali software usare oltre al suo Configurator, ora però entriamo nel vivo!

Più il file è ordinato, più diventa facile la manutenzione e più diventa facile la ricerca dei problemi.

Solo che dentro questo file confluiscono tutte le configurazioni delle luci, dei sensori di temperatura, dei sensori di umidità e quant'altro fa parte del vostro ecosistema. 

La cosa carina è che il file configuration.yaml può essere un semplice "puntatore" a dei file specifici divisi per tipologia.
Quindi, oltre ad avere il nostro configuration.yaml , possiamo avere un lights.yaml per le luci, un sensor.yaml per i sensori e via dicendo.

Questa tecnica, chiamata sidecar, permette quindi una veloce manutenzione al tutto.

Per usare questa strategia, bisogna solo far riferimento in configuration.yaml al file "sidecar" dal quale prendere le configurazioni specifiche in questo modo :

prima : 

lights: 
 - platform: mqtt
  name: "XXXX"
  state_topic: "stat/XXX/POWER"
  command_topic: "cmnd/XXX/POWER"
  availability_topic: "tele/XXX/LWT"
  qos: 1
  payload_on: "ON"
  payload_off: "OFF"
  payload_available: "Online"
  payload_not_available: "Offline"
  retain: false

dopo :

light: !include lights.yaml

Direi che come manutenzione non ci sono paragoni...
Un file separato e via, tutte le entità divise per categorie ed la ricerca dei problemi diventa una passeggiata.

Per questo io ho deciso di dividere il mio configuration.yaml in queste sezioni :

#automazioni
automation: !include automations.yaml

#gruppi
group: !include groups.yaml

#scene
scene: !include scenes.yaml

#luci
light: !include lights.yaml

#interruttori
switch: !include switches.yaml

#sensori
sensor: !include sensors.yaml

Sei files diversi, vero, ma super velocità nel trovare i problemi...
Si possono dare tuttii i nomi che si vogliono ai files .yaml, ma se si tiene un minimo di logica e li si chiama con il nome del gruppo la leggibilità migliora.
Senza contare che mnemonicamente avrete solo che vantaggi.

Un banale esempio esiste già nel file di configurazione di default (è l'articolo prima di questodove nell'ultima riga si vede proprio questo :

group: !include groups.yaml

Morale della storia?

Imparate ad essere ordinati con il vostro configuration.yaml e sarete ripagati con velocità di ricerca degli errori, velocità nella modifica dei comportamenti e velocità nel compilare gruppi ed automazioni.

Nessun commento:

Posta un commento

Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?

Cerca nel blog

I post più letti di sempre