I “package” di Home Assistant: cosa sono e come si installano

2 minuti di lettura

Home Assistant Official Logo

I package di Home Assistant – lo stato dell’arte degli HUB personali dedicati alla domotica – rappresentano, sostanzialmente, una modalità alternativa e complementare per perfezionarne la configurazione. Come sappiamo, l’HUB prevede che tale configurazione venga solitamente definita presso il proprio file configurazione configuration.yaml il quale, scritto in notazione YAML, consente di inserire vari “blocchi” i quali rappresentano le varie integrazioni di componenti, funzionalità, servizi e quant’altro.

La pratica più comunemente adottata è poi quella si suddividere questo file in più file “sidecar” per aumentare la leggibilità e la gestione: per esempio le luci vengono tutte configurate in un file specifico (solitamente lights.yaml), gli switch in un altro (switches.yaml) e così via, indicando in ogni blocco corrispondente nel file principale il riferimento al file sidecar. 

Esistono però delle condizioni per le quali questo tipo di raggruppamento logico non torna particolarmente comodo o comunque gli viene preferito (o affiancato) l’approccio a package. Immaginiamo di aver definito la configurazione per l’integrazione di una serie di sensori, attuatori, script, automazioni e altro specifici per una data funzionalità della nostra domotica, diciamo il sistema di allarme. Nell’approccio ordinario suddivideremmo le porzioni di codice relative ai vari elementi nei vari blocchi/file sidecar, sparpagliando così la configurazione in più punti.

In questi casi molti preferiscono all’approccio tradizionale l’utilizzo dei package: in sostanza si tratta di file che consentono di concentrare diverse tipologie di blocchi di configurazione (i sensor, switch, automation eccetera sopracitati) in un unico file: nel caso dell’esempio di cui sopra, viene particolarmente comodo definire un file “impianto_allarme.yaml” (nome di fantasia) dove racchiudere tutti gli elementi di questa funzionalità specifica. Portando un altro esempio, questo dei package è l’approccio che abbiamo seguito per distribuire le funzionalità di simulazione presenza domestica anti-ladro pubblicate nel progetto uscito tempo addietro. Ma gli esempi sono innumerevoli.

Attivare la funzione “packages”

Per far sì che Home Assistant, in fase di avvio, “cerchi” e carichi eventuali package, è necessario creare una cartella ad hoc nella quale scrivere tali file package; è inoltre necessario  aggiungere al file di configurazione principale una voce che indichi all’HUB dove cercare.

Solitamente si crea una cartella chiamata packages all’interno di quella che contiene tutti i vari file di configurazione YAML; poi, alla voce “homeassistant:” presente nel file si aggiunge una voce analoga alla seguente:

homeassistant:
  packages: !include_dir_named packages

ad ogni successivo riavvio, Home Assistant verificherà se nella cartella  indicata (packages, appunto) siano presenti file – scritti opportunamente in notazione YAML e con una precisa sintassi – da caricare.

Scrivere un package

Una volta attiva la funzionalità è possibile iniziare la definizione dei propri package.

I file pacakge possono chiamarsi come si preferisce, purché abbiano sempre estensione .yaml; il loro contenuto è analogo a quello del file principale, ovvero possono essere presenti diverse chiavi a indicare integrazioni e servizi specifici. per esempio:

#inizio file package

switch:
  - platform: mqtt
    name: "Utenze Camera"
    icon: mdi:power-socket-eu
    state_topic: "stat/utenzeCamera/RESULT"
    value_template: "{{ value_json.POWER }}"
    command_topic: "cmnd/utenzeCamera/POWER"
    availability_topic: "tele/utenzeCamera/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: false

light:
  - platform: nanoleaf
    host: 192.168.1.21
    token: 02fdskfhjh2fqhelhf29802434509874

#...eccetera

e così via.

Una volta salvato il file package e riavviato Home Assistant, l’HUB provvederà in sostanza a “fondere” i vari blocchi (switch, light, automation, script eccetera) presenti nel (nei) package con quelli ordinari presenti negli altri file di configurazione, così da caricare un’unica, complessiva configurazione risultante.


Home Assistant Official Logo ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Telegram News Channel