My boring Blog

Home page di Mauro Frigerio

Esperienza gestione casa secondaria con Home Assistant

22-07-2022 Tempo di lettura 3 minuti Article

TL;DR

Sfruttando l’integrazione non ufficiale collego due istanze di Home Assistant tra di loro. Grazie all’addons di Wireguard riesco a evitare il fatto che il modem 4G non ha un indirizzo IP pubblico.

Intro

A causa dello spegnimento del 2G in Svizzera ho dovuto cambiare il sistema di gestione del riscaldamento della seconda casa in montagna. Dopo alcuni tentativi da oltre un anno è in funzione una soluzione funzionante e resiliente. Avevo già descritto alcuni tentativi in post precedenti, qui raccolgo l’esperienza dopo più di un anno d’esercizio.

Struttura

Ho un’istanza di Home Assistant (HA) nella mia casa primaria, questa è la sola istanza alla quale mi collego per gestire tutto. Ho una seconda istanza di HA su un Raspberry nella casa secondaria, internet è fornito da un modem 4G che ha un indirizzo IP non pubblico.

L’istanza secondaria è indipendente e ragiona da sola, ma invia tutte le informazioni a quella primaria che puoi controllare direttamente tutto.

Wireguard

Prima di tutto serve un collegamento bidirezionale tra le due istanze di HA. L’addons di Wireguard mi permette di creare un tunnel tra l’istanza secondaria e il mio router principale. Se non si dispone di un router con il VPN Wireguard è possibile eseguire il collegamento diretto tra le due istanze di HA.

Volendo si può terminare qui, perché la casa secondaria è raggiungibile tramite rete. Però si deve continuare a fare il “salto” tra un’istanza e l’altra.

Componente non ufficiale

Il componente non ufficiale Remote Home-Assistant permette di collegare tra di loro multiple istanze di HA. Prima si doveva installare il componente solo sull’istanza principale, adesso lo si deve installare su tutte.

Grazie al componente si possono integrare nell’istanza master tutto quello che c’è sugli altri HA collegati, come se le entità, automazioni, ecc ecc, fossero in locale sul master. Si può anche scegliere di riportare solo quello che c’interessa. Così ci si deve collegare all’istanza master con il telefono o via web e si possono eseguire i controlli comandi senza dover eseguire il “salto” di qua e di là tra istanze.

Resilienza (Watchdog e comando a distanza Home Assistant)

La seconda casa si trova in montagna ad alcune ore di distanza, quindi non è sempre comodo se ci sono problemi con HA. Ho voluto quindi aggiungere una “backdoor” in caso che il VPN o il componente non funzionassero.

Ho implementato in HA una specie di Watchdog e alcuni comandi base in caso di necessità. In entrambi i casi il funzionamento è sempre lo stesso: HA controlla regolarmente un file JSON caricato su un sito (Dropbox, Google Drive, o qualunque sito internet accessibile liberamente). In base ai parametri presenti nel file esegue un riavvio, oppure esegue il comando richiesto.

Naturalmente il sistema funziona solo quando c’è il collegamento a internet.

Alternativa

La configurazione di un tale sistema non è semplice e richiede alcune conoscenze di rete. Se invece si è negati vi consiglio di sottoscrivere l’abbonamento a Home Assistant Cloud, attualmente (22.7.2022) è disponibile una prova di 30 giorni e poi un abbonamento mensile di $6,50 o $65 annuale. Così gli sviluppatori di Home Assistant si occupano di tutti i dettagli tecnici per voi e aiutate lo sviluppo futuro di HA.

Conclusione

Preferisco gestire direttamente e personalmente gli accessi alle varie istanze di HA. Contribuisco comunque finanziariamente allo sviluppo di HA.

La soluzione descritta sopra si è rilevata assai stabile e durante più di un anno di esercizio non ho avuto nessun problema. Neanche i continui aggiornamenti di HA, addons, …, non hanno causato nessuna difficoltà. Dopo una breve perdita di collegamento dovuta all’installazione e riavvio, HA si è sempre ricollegato al master ed era controllabile a distanza, anche quando è saltato il collegamento a internet o la corrente.

La soluzione si è dimostrata talmente stabile che non ho mai dovuto usare la “backdoor”.