lunedì 18 febbraio 2019

Editare il configuration.yaml


Home Assistant vive prendendo i dati da un singolo file che si chiama configuration.yaml, vediamo i modi per editarlo senza impazzire!

 Qualche tempo fa, parlando di installare HASSIO, avevo scritto come abilitare il Configurator per poter editare i file di configurazione. Ma non è sicuramente l'unica strada!

La settimana scorsa ho spiegato anche come installare Samba in modo da condividere con uno share la cartella delle configurazioni e di editarle usando Visual Studio Code oppure usando Sublime Text . 

Ultimamente mi trovo molto bene con Sublime, ma va a gusti. 
Il fatto che inserisca gli spazi automaticamente è pura libidine :-)

Una cosa da tenere presente è che siccome il configuration.yaml è la spina dorsale del sistema, sarebbe buona cosa sottoporlo a backup.

Se si usa Samba la cosa diventa un semplice "copia file" dallo share di rete, magari in una cartella di Google Drive... Ma ne parleremo una prossima volta.

Parliamo però della struttura del famigerato configuration.yaml così sappiamo cosa ci aspetta.
Anzitutto, è un file suddiviso a blocchi di elementi, i quali non devono seguire alcun ordine specifico.
Ogni blocco determina il comportamento di una specifica parte di HASSIO, siano essi interruttori, sensori, luci o altro.
All'interno di ogni blocco esistono le entità, ogni entità controlla un singolo componente che sia luce, sensore e via dicendo.

Ogni entità ha N caratteristiche, tra le quali lo stato (acceso, spento, un numero che potrebbe essere il valore dell'umidità, ecc. ), gli attributi (l'icona, il nome, l'unità di misura di un valore, ecc) ed i servizi (accendi, spegni, cambia stato, ecc.).

Bisogna tenere presente che per la logica di Home Assistant le entità sono anche i gruppi di sensori, le scene programmate e le automazioni, non solo i singoli componenti.


Le entità si possono vedere dal menu principale sotto "Overview"



Una volta aperto il nostro configuration.yaml , diamogli uno sguardo veloce :

homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: 40.9083
  longitude: -73.8346
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 44
  # metric for Metric, imperial for Imperial
  unit_system: imperial
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: America/New_York

# Show links to resources in log and frontend
introduction:

# Enables the frontend
frontend:

# Enables configuration UI
config:

http:
  # Uncomment this to add a password (recommended!)
  # api_password: PASSWORD
  # Uncomment this if you are using SSL or running in Docker etc
  # base_url: example.duckdns.org:8123

# Checks for available updates
updater:

# Discover some devices automatically
discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
conversation:

# Enables support for tracking state changes over time.
history:

# View all events in a logbook
logbook:

# Track the sun
sun:

# Weather Prediction
sensor:
  platform: yr

# Text to speech
tts:
  platform: google


group: !include groups.yaml

Questo è il file "vergine", in caso servisse a qualcuno.
Possiamo intanto notare due cose semplici semplici :

- le righe con il simbolo # in apertura sono ignorate dal sistema
- ogni sottolivello deve avere due spazi in apertura

A volte ci si sbaglia, per carità.
Per questo consiglio di validare il file prima di metterlo in produzione, ovvero controllarlo alla ricerca di errori.

Si può usare il validator interno (ne parlavo come nota relativa all'installazione di Home Assistant) oppure usando YAML Lint

Basterà copiare ed incollare il vostro configuration.yaml e dare un click su "Go" e verranno evidenziati gli errori.

Meglio un controllo che un'installazione corrotta e non sapere neppure dove...

Ed ora che si conosce la struttura del file, è il caso di pensare BENE a cosa modificare e come, magari avendo anche una strategia in testa.


Della mia strategia ve ne parlo la settimana prossima, promesso!

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