community italiana di domotica personale
 
Le varie modalità di integrazione di componenti e servizi con Home Assistant

Le varie modalità di integrazione di componenti e servizi con Home Assistant

Home Assistant Official LogoDopo aver provveduto alla prima installazione e poi alla prima configurazione “onboarding” di Home Assistant – il noto HUB personale software per la domotica personale – è finalmente possibile cominciare ad usarlo.

Ma usarlo, ovviamente, significa integrarvi i propri componenti e servizi domotici al fine di controllarli, censirli, automatizzarli e così via: Home Assistant in sé, vuoto, serve a poco. Per farlo, Home Assistant prevede due modalità parallele per la configurazione di tali integrazioni: l’utilizzo dell’interfaccia Dashboards (con l’eventuale auto-discovery) e il file di configurazione.

Da dove vengono le integrazioni

Prima di analizzare le due modalità di configurazione delle integrazioni (tramite interfaccia grafica o tramite modifica manuale su file di configurazione) è bene capire, primariamente, da dove provengano le componenti software che consentono le integrazioni di servizi e componenti domotici. Esse possono essere native (incluse insieme all’HUB, elencate qui) oppure aggiunte come componenti custom (“Custom Components”) non certificati. Di quest’ultime non esiste un elenco complessivo, ma dato che la stragrande maggioranza di questi componenti aggiuntivi vengono installati tramite la funzione (anch’essa aggiuntiva) HACS, l’elenco di quelli veicolati tramite essa è disponibile qui.

Per i componenti nativi (detti “custom component”) non c’è bisogno di installare nulla, ma solo di configurare l’integrazione che ci interessa; per quelli custom è necessari installarli (a mano oppure tramite il tool “HACS” – che va installato a sua volta una tantum sull’HUB)  e poi configurarli.

Capito questo vediamo come come si configura e quindi come si attiva un’integrazione.

Configurazione delle integrazioni

Quale che sia l’integrazione (nativa o “custom component”), la modalità di configurazione può essere effettuata solitamente via interfaccia, al più via configurazione manuale.

TRAMITE interfaccia

Dashboards è il nome dell’interfaccia di Home Assistant, che può essere consultata via web come tramite applicazione per smartphone/tablet e che permette, in alcuni casi, di configurare le integrazioni di componenti e servizi semplicemente seguendo un percorso grafico guidato.

Quando, con Home Assistant in esecuzione, esso rileva la presenza di componenti integrabili (funzione cosiddetta di auto-discovery), l’interfaccia presenza una notifica e guida l’utente all’integrazione, basta cliccare su link proposto:

Home Assistant - Notifica Discovery


A prescindere dall’auto-discovery, per configurare un’integrazione disponibile via interfaccia è sufficiente accedere alla voce di menu “Configurazione” > “Dispositivi e servizi” > “+ Aggiungi integrazione“.

Così facendo, si accede alla lista di integrazioni possibili (l’elenco è molto molto lungo, questa è solo una parte):

Home Assistant - lista integrazioni

cliccando su quella d’interesse, si provvede alla configurazione.
Portiamo l’esempio di Alexa Media Player, un’integrazione offerta da un componente custom installato tramite HACS e configurabile via interfaccia.

Cliccando sulla voce nell’elenco appare la schermata di configurazione dell’integrazione:

Home Assistant - lista integrazioni - Alexa Media Player

Al termine della procedura, nuove entità vengono create sull’HUB ed è così possibile iniziare a cominciare ad usarle.

TRAMITE file di configurazione

Quando un’integrazione non offre il supporto via interfaccia, l’unica alternativa è quella più “tradizionale”, ovvero quella di aggiungere blocchi di codice specifici a un file chiamato configuration.yaml, il quale contiene la configurazione “manuale” dell’HUB, ovvero tutto ciò che non può o che comunque non viene configurato via interfaccia. Tale file ha una natura e sintassi specifiche: ne parliamo più diffusamente qui.

Ognuna delle integrazioni configurabili manualmente tramite file prevede un proprio blocco (o più) di configurazione specifico: per capire come scriverlo è necessario consultare le pagine di documentazione disponibili per esse sulla rete (sul sito di Home Assistant laddove sia un’integrazione nativa o sul sito di riferimento in caso sia un componente custom).

Per esempio, l’integrazione Apple iTunes si configura manualmente grossomodo così:

media_player:
  - platform: itunes
    host: 192.168.1.50

come descritto nella sua pagina di descrizione.

Entità e dispositivi

Le integrazioni generano solitamente entità e dispositivi, nonché servizi.

Quando per esempio si integra qualcosa di fisico, diciamo un sensore, Home Assistant provvede solitamente a creare il “dispositivo” corrispondente (elenco presente sotto menu “Configurazione” > “Dispositivi e servizi“) e un certo numero di entità (“Strumenti per gli sviluppatori” > “Stati“) e di servizi ad esso collegati. Mettiamo che sia un sensore di temperatura e umidità Shelly: esso verrà visto come dispositivo ma anche con minimo due entità, una che rappresenta il sensore di temperatura e uno che rappresenta il sensore di umidità.

Per approfondire questi concetti, si consiglia la lettura della seguente scheda:

Comprendere la logica componente(domini)-piattaforma-entità di Home Assistant

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa.