Guida ai packages in Home Assistant e alla loro creazione
Home Assistant
Scritto da Antonio Mario Longo
I packages, tradotti in italiano "pacchetti", nascono per dare un modo alternativo di raggruppare la configurazione di diversi componenti. I metodi di configurazione dei dispositivi richiedono la creazione tramite apposite keyword all'interno del file configuration.yaml
I packages vengono usati soprattutto per creare ordine nel proprio sistema e quindi di conseguenza rendono le configurazioni molto più semplici da leggere e automaticamente gestibili in maniera corretta.
Nei packages quindi potremmo avere la dichiarazione di tutti gli elementi base presenti nel sistema come switch, light binaty_sensor, automation, script e tanto altro.
Configurazione in Home Assistant
Affinchè questi file, contenenti le varie configurazioni, possano essere riconosciuti all'interno del nostro sistema dovrete eseguire i seguenti passaggi:
- Collegatevi in Home Assistant tramite Ftp o Samba
- Recatevi nella cartella config e aprite il file configuration.yaml
- Modificate immettendo sotto la riga contenente la keyword homeassistant: la stringa packages: !include_dir_named packages spostata di due spazi da destra verso sinistra, in modo tale da avere un risultato simile:
- Dopo aver salvato e chiuso il file, create nella cartella config una sottocartella chiamata packages che includerà tutti i nostri file yaml ordinati con le nostre configurazioni.
- Riavviate Home Assistant per rendere effettive le modifiche
Creazione di un packages
Dirigetevi nella nuova cartella packages situata nella sottocartella config e iniziate a creare un file yaml denominandolo con un nome a vostra scelta, ex: prova.yaml
Commenti e Esempio Pratico
Una piccola parte che consiglio, ma che non è obbligatoria, sono i commenti, ovvero nel vostro file yaml potrete inserire qualcosa che indirizzi sia voi stessi che un altro programmatore a compiere eventuali modifiche future. Per eseguire questa operazione basta semplicemente anteporre alle vostre note il simbolo del cancelletto(#).
Esempio Finale
In questa parte potrete vedere un package che riassume molto brevemente la struttura dei packages che crea semplicemente dei timer tramite automazioni alle luci precedentemente dichiarate e esposte tramite una configurazione mqtt con delle semplici automazioni:
# INTEGRAZIONI LUCI AD HOME ASSISTANT
light:
- platform: mqtt
name: "Luce Corridoio" # NOME ASSEGNATO ALLA PRIMA LUCE
state_topic: "stat/Luce_Corridoio/RESULT"
value_template: "{{ value_json.POWER }}"
command_topic: "cmnd/Luce_Corridoio/POWER"
availability_topic: "tele/Luce_Corridoio/LWT"
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
- platform: mqtt
name: "Luce Disimpegno"
state_topic: "stat/luce_disimpegno/RESULT"
value_template: "{{ value_json.POWER }}"
command_topic: "cmnd/luce_disimpegno/POWER"
availability_topic: "tele/luce_disimpegno/LWT"
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false
# CREAZIONE AUTOMAZIONI
automation:
- alias: Timer Disimpegno
initial_state: 'on'
trigger:
platform: template
Se la guida è poco chiara spero di rimuovere i vostri dubbi con il video a seguire
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.