Bentornati nella serie di Domotica con Hass.io, il software di casa Google per la gestione della vostra smart home. 

Nel quarto articolo della serie abbiamo visto come attivare Home Assistant Cloud per utilizzare i comandi vocali di Google Assistant, ma adesso il servizio è diventato a pagamento, quindi, a meno che non vogliate pagare, vedremo un altro metodo che ci permette di ottenere lo stesso risultato gratuitamente.

 

Innanzitutto ci serve che la nostra domotica sia accessibile dall'esterno e questo lo abbiamo visto nel terzo episodio della serie, ma in più è necessario configurare un protocollo SSL, quindi una connessione sicura HTTPS, altrimenti Hassio non consentirà proprio l'accesso.

Per prima cosa accediamo ad Hassio ed installiamo il plugin "Let's Encrypt": sarà proprio questo plugin a fornirci il certificato HTTPS, che va rinnovato ogni 3 mesi, ma a breve vedremo come impostare il rinnovo automatico. Prima di avviare il plugin è necessario seguire tre step:

  • Inserire una mail nel campo apposito della finestra "Config".
  • Inserire i domini per i quali vogliamo sia registrato il certificato.
  • Inoltriamo la porta 80, quella su cui si avvierà il plugin, al nostro Raspberry (basta aggiungerla a quella che abbiamo già configurato nell'articolo numero 3, il procedimento è lo stesso)

 

 

Adesso spuntiamo l'opzione "Start on boot" e possiamo avviare il plugin. Dopo qualche secondo dovrebbe crearsi il file fullchain.pem (potete verificarlo dalla finestra di Log) che contiene il certificato, ma adesso bisogna linkarlo ad Home Assistant per permettere al server di usarlo; per farlo basta recarsi nel file configuration.yaml ed aggiungere due righe, come vedete nell'immagine:

Salvate le modifiche al file e riavviate il plugin.

 

Bene, d'ora in poi ogni volta che volete connettervi al server dovete necessariamente anteporre al dominio il protocollo https, altrimenti la connessione sarà respinta (es. https:nome_dominio:8123). Se invece volete risparmiarvi anche di specificare la porta con :8123, allora potreste aprire la porta 443, che è quella predefinita per il protocollo https: fate attenzione che in questo caso dovreste anche indicare la porta 443 nel file configuration.yaml. Adesso possiamo anche chiudere la porta 80.

 

RINNOVARE IL CERTIFICATO

Come abbiamo già specificato, il certificato HTTPS va rinnovato, semplicemente riavviando il plugin Let's Encrypt, ogni 3 mesi, ma è possibile procedere al rinnovo solo quando mancano 30 giorni o meno alla scadenza. Tuttavia esiste un modo per far si che l'operazione avvenga automaticamente, cioè le automazioni! Adesso andremo spediti con l'argomento, senza scendere nei dettagli, perché alle automazioni sarà dedicato un intero articolo, quindi rechiamoci nel file automations.yaml e incolliamo le seguenti righe:

- id: letsencrypt-renewal
  alias: "Let's Encrypt Renewal"
  trigger:
  - platform: time
    at: '00:00:00'
  action:
  - service: hassio.addon_restart
    data:
      addon: core_letsencrypt

 

Semplicemente si tratta di una routine che ogni giorno a mezzanotte riavvia il plugin Let's Encrypt.