Poter accedere al pannello di controllo (frontend) di Home Assistant da remoto è molto importante, specialmente se sfruttiamo Home Assistant anche come sistema di sicurezza e non solo per la Casa Domotica e le automazioni. In quest’articolo vediamo come accedere da remoto a Home Assistant installato su Raspberry Pi 3.
Come accedere a Home Assistant da remoto – Hass.io
Dopo aver visto come installare Home Assistant su Raspberry Pi 3 attraverso il file d’immagine Hass.io, vediamo come accedere a Home Assistant da remoto utcome ilizzando una connessione sicura (SSL).
La procedura è molto semplice e si basa sul servizio gratuito Duck DNS.
Come accedere da remoto a Raspberry Pi 3 con DuckDNS.org
Raggiungere la home page di Duck DNS quindi selezionare un metodo di registrazione tra quelli indicati, si possono utilizzare gli account di Twitter, Facebook, Reddit oppure di Google, io scelto l’account di Google.
Effettuato il login con il proprio account sarà mostrata una pagina con i dati di accesso, il tipo di account, la data di creazione e il token, molto importante perché andrà inserito all’interno di Home Assistant.
Sempre in questa pagina inserire l’URL da utilizzare per raggiungere Home Assistant da remoto, è possibile personalizzare solo la parte relativa al “sub domain“, inserito il nome cliccare su “add domain”.
Accedere all’interfaccia web di Home Assistant (frontend) digitando sul proprio browser preferito l’URL locale http://hassbian.local:8123 quindi accedere alla barra laterale di sinistra e dall’elenco delle voci del menù cliccare su Hass.io, cliccare sulla borsa da shopping, icona in alto a destra, quindi selezionare Duck DNS e cliccare su INSTALL.
Al termine dell’installazione, in Option ci sono alcune voci da modificare.
[code language=”python”]
{
"lets_encrypt": {
"accept_terms": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
},
"token": "Tuo_Duck_DNS_Token",
"domains": [
"tuo_sub_domain.duckdns.org"
],
"seconds": 300
}
[/code]
In “accept_terms” bisogna inserire true se vuoi utilizzare una connessione protetta SSL per accedere da remoto a Home Assistant, cosa fortemente consigliata.
In “token” bisogna inserire la Api Key (token) che viene mostrata sul sito duckdns.org una volta che hai effettuato l’accesso.
In “domains” devi inserire l’indirizzo URL completo per raggiungere HA da remoto, sarà il nome che hai scelto per “sub domain” seguito da .duckdns.org
Attenzione a inserire anche le ” (virgolette), terminata la configurazione cliccare su SAVE.
Cliccare su START, partirà la configurazione del servizio, la creazione del certificato fullchain.pem, seguire quanto viene mostrato in Logs per vedere se tutto procede per il meglio.
Ora sarà necessario configurare il file configuration.yaml, aprire il file individuare la voce “http:” e sotto, dove trovate scritto: “#Uncomment this if you are usic SSL/TLS … base_url: example.duckdns.org:8123″, inserire questo codice:
[code language=”python”]
base_url: https://tuo_sub_domain.duckdns.org:8123
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
[/code]
Cambiare “tuo_sub_domain” con il “domain ” impostato su Duck DNS.
È quasi finita, l’ultima parte da configurare riguarda il nostro modem/router wifi, per poter accedere all’interfaccia web di Home Assistant anche da remoto sarà necessario reindirizzare la porta 8123 verso l’indirizzo IP locale (usato nella rete LAN di casa) del Raspberry Pi 3 dove abbiamo installato Hass.io, per fare questo sfruttiamo la funzione Port Forwarding, presente in tutti i migliori modem router wifi in commercio.
Ovviamente i passaggi in questa fase variano in base al modello di modem router, io mostrerò come configurare il router Netgear R6400 WiFi AC1750, mostrando prima come assegnare un indirizzo IP statico al Raspberry Pi 3 all’interno della rete LAN di casa e poi come configurare il Port Forwarding.
Come assegnare un indirizzo IP Statico ad un device connesso alla rete LAN e WiFi di casa
Accedere all’interfaccia web del router digitando l’indirizzo IP locale del router sul proprio browser, è indicato anche in una etichetta applicata sotto al modem/router, solitamente è 192.168.1.1 (netgear) oppure 192.168.0.1 (tp-link). In questa etichetta è stampato anche l’indirizzo MAC (MAC address), username e password di default per l’accesso al router, SSID preimpostato della rete WiFi ecc.
La prima cosa che suggerisco di fare è quella di assegnare al Raspberry Pi 3 un indirizzo IP statico all’interno della rete locale, in questo modo, ogni volta che il router verrà riavviato, assegnerà sempre lo stesso IP al Raspberry Pi.
Assegnare un indirizzo IP statico ai dispositivi domotici connessi alla rete LAN di casa è una buona prassi da seguire se vogliamo utilizzarli all’interno di Home Assistant. Per dare un IP statico ai device connessi alla rete LAN e WiFi di casa ci sono diversi modi, ma dato che questa è una guida per utenti alle prime armi e non certo per smanettoni, indico quello che secondo me è il modo più semplice, ovvero quello di sfruttare una funzione che quasi sempre si trova nei modem/router, la “port reservation”. Questa funzione solitamente si usa per Hub, telecamere IP, prese intelligenti SMART e altri prodotti dell’internet of things, l’internet delle cose.
Port reservation, DHCP Reservation, Address Reservation, Enable Manual Assignment sono nomi diversi che identificano lo stesso tipo di servizio o funzione, ovvero quella di riservare indirizzi IP della rete locale a determinati device, questo mantenendo abilitato il Server DHCP. Solitamente questa funzione si trova tra le opzioni avanzate nella configurazione della rete LAN.
Nei modem router Netgear dalla home page dell’interfaccia web cliccare su Avanzate (advanced), cliccare su installazione (setup), quindi selezionare Impostazioni LAN (LAN Setup), in Prenotazione indirizzi (address reservation) cliccare su Aggiungi (add), quindi selezionare hassio (Raspberry Pi) tra quelli mostrati in fine cliccare su Applica (apply).
Come configurare il Port Forwarding sul router per accedere da remoto a Home Assistant installato su Raspberry Pi 3
Configurare il Port Forwarding (inoltro delle porte) sul proprio modem router dovrebbe essere un’operazione alla portata di tutti, illustrerò la procedura da seguire sul router wifi Netgear R6400, che sarà molto simile a quella da seguire su router di altre marche, come Tp-Link, Asus, AVM FRITZ! Box ecc.
Accedere all’interfaccia web del modem router, cliccare su Avanzate (advanced), selezionare configurazione avanzata (advanced setup), tra le voci in elenco selezionare inoltro / attivazione delle porte (Port Forwarding / Port Triggering), cliccare su Aggiungi servizio personalizzato (add custom service) quindi inserire questi valori:
- Nome servizio: Home Assistant
- Protocollo: TCP
- Intervallo porta esterna: 8123
- Intervallo porta interna: 8123
- Indirizzo IP interno: IP locale del vostro Raspberry Pi 3 (hassio), tipo 192.168.1.XX
Cliccare su Applica.
Fine, adesso digitando l’indirizzo web (URL) https://tuo_sub_domain.duckdns.org:8123 sul proprio browser si avrà accesso all’interfaccia web di Home Assistant, proprio come avviene a localmente digitando l’indirizzo https://hassbian.local:8123
Dato che è stato installato il servizio Let’s Encrypt l’accesso si può fare solo attraverso una connessione protetta (sicura), quindi digitando https:// e non http://, questo discorso è valido anche localmente, quando si è connessi alla rete di casa, l’indirizzo da digitare ora sarà https://hassbian.local:8123 e non più http://hassbian.local:8123.
Al primo accesso da rete locale verrà visualizzato un avviso sul browser di pagina non sicura, dato che a livello locale non abbiamo installato un certificato SSL, sarà sufficiente impostare la pagina come sicura e al prossimo accesso l’avviso non sarà più mostrato.
Se il front end di Home Assistant non dovesse essere raggiungibile potresti avere un indirizzo IP privato e non pubblico, in questo caso sarà necessario contattare l’assistenza del tuo ISP (internet service provider) e fare richiesta di un IP pubblico, come motivazione puoi dire che hai necessità di accedere da remoto alle telecamere IP di videosorveglianza.
Come accedere a Home Assistant da remoto – Conclusioni
Poter accedere a Home Assistant da remoto in modo sicuro è molto importante se vogliamo usare Home Assistant con Raspberry Pi come sistema di sicurezza per la nostra casa Domotica. Nei prossimi articoli vedremo come rilevare la presenza di una persona in casa oppure fuori casa e poi procedere con la configurazione dei principali dispositivi Xiaomi Smart Home e Aqara per utilizzarli all’interno di un sistema d’allarme per la nostra abitazione.
Se vuoi puoi già iniziare a integrare i vari dispositivi di sicurezza e per la casa domotica all’interno di Home Assistant leggendo alcuni articoli che ho già scritto, tuttavia con l’arrivo di hass.io sono cambiate un po’ di cose, alcune configurazioni si sono semplificate, quindi prima di procedere con le modifiche al file configurations.yaml leggi la documentazione online relativa al prodotto e riferita all’utilizzo di hass.io.
Articolo Raspberry Pi con Home Assistant per gestire Xiaomi Mi Smart Home
Articolo Raspberry Pi 3 con Home Assistant: Broadlink RM Pro + Netatmo + Yeelight per la Casa Domotica
Ciao! complimenti per la guida, davvero utile. Nell’articolo fai riferimento a let’s encrypt ma non alla configurazione del plugin all’interno di HASS. Non occorre installarlo o mi è sfuggito qualcosa?
Ciao in effetti non si capisce bene da come ho scritto, il componente aggiuntivo DuckDNS per Hass.io include già il supporto a Let’s Encrypt, si mette true in lets_encrypt accept_terms i certificati verranno creati e rinnovati automaticamente, quindi non è necessario installare l’Add-On Let’s Encrypt che invece andrebbe installato se tu volessi utilizzare un altro servizio di DDNS.
Se per caso hai installato anche il componente aggiuntivo Let’s Encrypt oltre a DuckDNS e hai dei problemi, puoi provare a disinstallare Let’s Encrypt e DuckDNS, fermare SAMBA, installare nuovamente DuckDNS e configurarlo.
OK ti ringrazio per la risposta. Ho capito che DuckDns certifica l’indirizzo che si è creato sul loro sito. Ovviamente l’indirizzo in locale https://hassio.local:8123 non è certificato ( da qui l’errore ).
Continua così, il sito è molto interessante!
Esatto in locale non ho installato certificati quindi ricevo il messaggio di sito non sicuro, tuttavia è possibile creare una connessione protetta anche a livello locale: https://home-assistant.io/docs/ecosystem/certificates/tls_self_signed_certificate/
ciao, ho un problema dopo aver cambiato la configurazione di
duckDSN, non mi crea i certificati ssl perchè continua ad andare il
errore. Ho provato a riavviare piu’ volte il raspberry e il server di
home assistant ma non cambia nnt. Qualcuno riesce ad aiutarmi?
Scrivo la schermata d’errore:
# INFO: Using main config file /data/workdir/config
+ Account already registered!
[13:03:05] INFO: OK
NOCHANGE
# INFO: Using main config file /data/workdir/config
Processing mio_dominio.duckdns.org
+ Signing domains…
+ Generating private key…
+ Generating signing request…
+ Requesting new certificate order from CA…
+ ERROR: An error occurred while sending head-request to https://acme-v02.api.letsen… (Status 000)
Details:
+ ERROR: An error occurred while sending post-request to https://acme-v02.api.letsen… (Status 400)