Come installare Home Assistant su Raspberry Pi 3 – Hass.io

Come installare Home Assistant su Raspberry Pi 3 Hassio

Installare Home Assistant su Raspberry Pi 3 model b e utilizzare Home Assistant all’interno della Casa Domotica è diventato molto più semplice da quando è disponibile hass.io. Si tratta di una soluzione “all in one” che trasforma Raspberry PI in un HUB domotico.

In quest’articolo spiego come installare il file immagine di hass.io su Raspberry Pi 3 e configurare Home Assistant, la mia intenzione è quella di utilizzare Raspberry Pi 3 con Home Assistant e i prodotti Xiaomi Smart Home come sistema d’allarme per la mia abitazione.

Ho già scritto un articolo simile a questo, Raspberry Pi 3 con Home Assistant per la Casa Domotica, tuttavia da un po’ di tempo non c’è più il supporto ufficiale all’utilizzo di Raspberry Pi All-In-One Installer, il metodo d’installazione di Home Assistant su Raspberry Pi 3 con sistema operativo Raspbian.

Adesso è possibile dedicare tutte le risorse di Raspberry Pi 3 per essere utilizzato con Home Assistant grazie al rilascio di un file d’immagine di Hass.io che installerà automaticamente Home Assistan su Raspberry Pi 3, rendendo il tutto molto più semplice e veloce.

Questo sistema offre alcuni vantaggi:

  • maggiore semplicità per installare Home Assistant;
  • sistema operativo più snello;
  • possibilità di utilizzare installazioni automatiche all’interno dell’interfaccia WEB di Home Assistant;
  • aggiornamenti più semplici.

Ovviamente ci sono anche degli svantaggi, come quello di dover utilizzare Raspberry Pi 3 solo per farci “girare” Home Assistant, ma se vogliamo utilizzare questo sistema nella vita di tutti giorni e non solo per fare esperimenti, è anche un bene perché si traduce in maggiore affidabilità e minor rischi di malfunzionamento o errori nell’esecuzione del codice.

Come installare Home Assistant su Raspberry Pi 3 e Prima Configurazione

La procedura per installare Home Assistant su Raspberry Pi 3 è veramente molto semplice e trovi ulteriori dettagli sul sito ufficiale home-assistant.io/getting-started/

Hardware Richiesto

Raspberry Pi 3 model B + alimentatore, oppure un kit completo.

Micro SD, io ho usato una Samsung MB-MC128GA/EU EVO Plus da 128 GB, UHS-I, Classe U3, fino a 100 MB/s di Lettura, 90 MB/s di Scrittura.
Raspberry Pi 3 e scheda Micro SD Samsung da 128GB

Lettore schede di memoria USB da collegare al PC.

Software Richiesto

Download Hass.io file di immagine per Raspberry Pi 3 (resinos-hassio-1.1-raspberrypi3.img.bz2) e versioni precedenti.

Download Etcher, software per scrivere file di immagine su micro SD e altri supporti USB.

Editor di testo come Visual Studio Code oppure Notepad ++

Come installare Home Assistant su Raspberry Pi 3 model B

Collegare il lettore di micro SD alla porta USB del computer o del portatile e inserire la micro SD nel lettore di SD Card.

Scompattare il file con l’immagine di Hass.io in una cartella del PC.

Aprire Etcher, selezionare l’immagine Hass.io ( nel mio caso resinos-hassio-1.1-raspberrypi3.img), selezionare la Micro SD sulla quale installare il file e quindi cliccare du Flash.

Come usare Etcher per installare hass.io su micro SD per installare Home Assistant su Raspberry Pi 3

Solo per chi vuole configurare il WiFi: aprire il file system-connections/resin-samplecon con un editor di testo. Cambiare ssidper con il nome della vostra rete WiFi e pskper con la password della vostra rete wifi.

Smontare la scheda SD, rimuoverla dal lettore di schede SD e inserire la scheda SD nel Raspberry Pi 3, collegare anche il cavo di rete.

Collegare Raspberry Pi all’alimentazione.

Ora il Raspberry Pi si avvierà, si connetterà a Internet e scaricherà l’ultima versione di Home Assistant. Questo richiederà circa 20 minuti.

Al termine dell’installazione aprire il browser preferito, Home Assistant sarà raggiungibile all’indirizzo: http://hassio.local:8123

Nel caso che il browser restituisse l’errore “ERR_NAME_NOT_RESOLVED” provate a digitare l’indirizzo IP assegnato al Raspberry Pi 3 dal vostro router.

Consiglio di assegnare un indirizzo IP statico al Raspberry Pi 3 all’interno della LAN, per fare questo andare nelle impostazioni avanzate del router wifi, in impostazioni LAN e cercare una voce del tipo “Address Reservation” (è quella che troviamo nei router Netgear).

Come configurare Home Assistant su Raspberry Pi 3 – Hass.io

La configurazione di Home Assistant è memorizzata all’interno del file configuration.yaml e, durante i nostri progetti Raspberry Pi 3, sarà necessario accedere a questo file molte volte per apportarci alcune modifiche.

Ci sono almeno due vie per poter editare il file di configurazione configuration.yaml, tramite Samba e tramite HASS Configurator.

Come modificare configuration.yaml con HASS Configurator

Raggiungere la pagina http://hassio.local:8123

Cliccare sull’icona menù in alto a sinistra e selezionare Hass.io.

Nella nuova schermata cliccare sull’icona a forma di borsa in alto a destra (shopping bag)

Cliccare su configuratore (configurator) e poi su Installa (Install), al termine dell’installazione cliccare su START.

Personalmente preferisco modificare i file .yaml direttamente con un editor di testo.

Come modificare configuration.yaml con un editor di testo di windows sfruttando Samba
Questa è soluzione da me preferita, in questo modo posso accedere ai file di configurazione attraverso la rete LAN e editarli con Notepad ++

Raggiungere la pagina http://hassio.local:8123

Cliccare sull’icona menù in alto a sinistra e selezionare Hass.io

Nella nuova schermata cliccare sull’icona con a forma di borsa in alto a destra (shopping bag)

Selezionare Samba Share e quindi installare samba.

Ora nella rete locale di Windows dovrebbe apparire anche HASSIO (Raspberry Pi) e sarà possibile accedere al file configuration.yaml e modificarlo con un editor di testo tipo Notepad ++, il file configuration.yaml si trova nella cartella “config”.

Ogni volta che modifichiamo il file configuration.yaml, per rendere effettive le modifiche, è necessario riavviare Home Assistant, per far questo aprire il menù laterale selezionare Impostazioni -> General -> Server Management RESTART.

Home Assistant prime modifiche al file configuration.yaml

Questi passaggi li ho già spiegati nell’articolo Raspberry Pi 3 con Home Assistant: Broadlink RM Pro + Netatmo + Yeelight per la Casa Domotica.

Aprire il file configuration.yam all’inizio del file troverete alcuni valori che andranno modificati, tipo questi:

homeassistant:
  # Name of the location where Home Assistant is running
  name: My Home
  # Location required to calculate the time the sun rises and sets
  latitude: xx.xxxxxxxx
  longitude: xx.xxxxxxxx
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 20
  # metric for Metric, imperial for Imperial
  unit_system: metric
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: Europe/Rome

È possibile modificare questi parametri con quelli per la vostra Casa Domotica, per conoscere la vostra latitudine e longitudine è sufficiente selezionare la propria abitazione sull’applicazione Google Maps e inserire i valori che vengono mostrati nel campo di ricerca in alto.

Attenzione alla prima riga homeassistant: non ci devono essere degli spazi prima di questo valore.

Proseguendo troverete il codice:

http:
  # Secrets are defined in the file secrets.yaml
  # api_password: !secret http_password
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
  # base_url: example.duckdns.org:8123

Il consiglio è quello d’impostare una password per l’accesso a Home Assistat dal vostro browser, per fare questo è sufficiente aprire il file secrets.yaml e inserire il codice:

http_password: tua_password

Questa cosa si può fare per tutte le password o dati sensibili che non volete visualizzare all’interno del file configurations.yaml, maggiori dettagli puoi trovarli in questa pagina.

Alcuni consigli utili quando si fanno modifiche ai file .yaml all’interno di HASSIO

Home Assistant utilizza la sintassi YAML per la configurazione e all’inizio potrebbe sembrare un po’ complicata, quindi il mio consiglio è quello di leggervi le info che trovate in questa pagina, in questo modo risparmierete un sacco di tempo.

Per utilizzare un nuovo componente all’interno di Home Assistant è necessario aggiungere il codice a configuration.yaml, per esempio questo codice aggiunge la piattaforma Netatmo all’interno di HA:

# Telegram
notify:
  - platform: telegram
    api_key: la_tua_api_key
    chat_id: la_tua_chat_id
    name: telegram
  - platform: pushbullet
    api_key: "tua_api_key"
    name: pushbullet

Il testo preceduto da # è il commento al codice.

notify è un componente di notifica interno a Home Assistant, in questo caso sfruttiamo le piattaforme Telegram e Pushbullet.

Da notare che il codice è indentato, ovvero ci sono degli spazi vuoti da rispettare (indentazione) quando si scrivono blocchi di codice annidati, se sbagli il numero di spazi Home Assistant non si riavvia.

Il consiglio è di utilizzare due spazi per ogni livello di indentazione.

Come personalizzare l’interfaccia web di Home Assistant

Vediamo con un esempio pratico come rendere più “user friendly” l’interfaccia utente di Home Assistant.

Quando viene aggiunto un nuovo componente tutti i valori che restituisce vengono mostrati nella Home Page di Home Assistant, questo significa che, quando si saranno configurati tanti componenti, nella home page di HA ci sarà un “gran casino”.

In casa ho la telecamera di videosorveglianza NetAtmo Welcome e la Stazione Meteo Netatmo  per aggiungere questi dispositivi a Home Assistant è necessario inserire questo codice nel file configuration.yaml

# Netatmo
netatmo:
  api_key: YOUR_API_KEY
  secret_key: YOUR_SECRET_KEY
  username: YOUR_USERNAME
  password: YOUR_PASSWORD

Dopo aver salvato il file configuration.yaml e riavviato Home Assistant tutti i valori che restituiscono i sensori presenti nei dispositivi Netatmo verranno mostrati nella pagina principale di Home Assistant, come mostrato in figura.

Pagina principale di Home Assistant dopo aver aggiunto la piattaforma Netamo

Vediamo di fare un po’ di ordine attraverso i file customize.yaml e groups.yaml, iniziamo con il file groups.yaml.

Nella barra di sinistra di Home Assistant, sotto developers tool, cliccare sul simbolo <>, qui trovate elencate tutte le entità (sensori, switch, camera, device_tracker ecc) configurate all’interno di Home Assistant, nel caso della piattaforma Netatmo, una volta configurata, verranno inseriti automaticamente:

binary_sensor.netatmo_top_motion
sensor.netatmo_indoor_temperature
sensor.netatmo_outdoor_temperature
camera.netatmo_top
ecc.

La prima cosa da fare è creare con un editor di testo il file groups.yaml all’interno della cartella /HASSIO/config/ raggiungibile attraverso la rete locale dopo aver installato Samba.

Aprire il file groups.yaml con un editor di testo e inserire il codice:

  default_view:
    view: yes
    entities:
      - group.soggiorno
      - sensor.netatmo_indoor_temperature
      - sensor.netatmo_outdoor_temperature
      - sensor.netatmo_outdoor_humidity
      - camera.netatmo_top
  soggiorno:
    name: Soggiorno
    view: yes
    entities:
      - group.netatmo_stazione_meteo
      - binary_sensor.netatmo_top_motion
      - binary_sensor.netatmo_top_someone_known
      - binary_sensor.netatmo_top_someone_unknown
      - camera.netatmo_top

  ##Netatmo##
  Netatmo Stazione Meteo:
   - sensor.netatmo_indoor_temperature
   - sensor.netatmo_indoor_max_temp
   - sensor.netatmo_indoor_min_temp
   - sensor.netatmo_indoor_humidity
   - sensor.netatmo_indoor_noise
   - sensor.netatmo_indoor_pressure
   - sensor.netatmo_indoor_co

In default_view vanno inseriti i sensori e i gruppi che vogliamo visualizzare nella pagina principale (iniziale) una volta che ci si collega all’indirizzo http://hassio.local:8123

Come è possibile notare ho creato un gruppo che ho chiamato “soggiorno” dove ho inserito alcuni sensori e la telecamera Netatmo, poi ho creato un altro gruppo che ho chiamato “Netatmo Stazione Meteo”, quest’ultimo lo trovo anche all’interno del gruppo “soggiorno” con il codice group.netatmo_stazione_meteo (nome del gruppo dove gli spazi sono sostituiti da _ )

Ora bisogna includere il codice di groups.yaml all’interno del file configuration.yaml, aprire il file configuration.yaml e inserire il codice

group: !include groups.yaml

Utilizzando “!include” è come se all’interno del file configuration.yaml avessimo inserito questo codice:

group:
  default_view:
    view: yes
    entities:
      - group.soggiorno
      - sensor.netatmo_indoor_temperature
      - sensor.netatmo_outdoor_temperature
      - sensor.netatmo_outdoor_humidity
      - camera.netatmo_top
ecc...

Notare come è stata rispettata la corretta indentazione.

Vediamo qual’è il risultato finale all’interno dalla Web User Interface. Dalla figura sotto si nota come nella barra superiore ci siano le due voci Enore Home e Soggiorno mentre nella schermata sotto vengono mostrati solo alcuni sensori e l’immagine della telecamera.

Pagina principale di Home Assistant dopo aver configurato il file group.yaml

Nella figura sotto ho aperto la pagina “SOGGIORNO” dove sono mostrati anche i valori trasmessi dai sensori Netamo, quelli che ho inserito nel gruppo Netatmo Stazione Meteo all’interno dei file group.yaml.

Pagina soggiorno in Home Assistant dopo aver configurato i gruppi

Ora vediamo come rinominare il nome dei sensori.
Possiamo personalizzare il nome dei vari sensori e le icone associate attraverso il file customize.yaml.

Creare il file customize.yaml sempre all’interno della directory /HASSIO/config/ quindi inserire il codice:

  sensor.netatmo_indoor_temperature:
    friendly_name: Temperatura Interna
  sensor.netatmo_outdoor_temperature:
    friendly_name: Temperatura Esterna
  sensor.netatmo_outdoor_humidity:
    friendly_name: Umidità Esterna

Dal codice si capisce che il valore che diamo a friendly_name è come vogliamo chiamare il sensore, ci sono altri “parametri” che possiamo settare come icon, hidden, initial_state ecc, per maggiori dettagli raggiungere la pagina Customizing entities.

Aprire il file configurations.yaml e inserire il codice “customize: !include customize.yaml” annidato a homeassistant:

homeassistant:
  # Name of the location where Home Assistant is running
  name: Enore Home
  latitude: xx.xxxxxy
  longitude: yy.yyyyyy
  elevation: 20
  unit_system: metric
  time_zone: Europe/Rome
  # Customization file
  customize: !include customize.yaml

Le icone che possiamo usare per personalizzare i sensori configurati sono quelle mostrate su materialdesignicons.com.

Come fare il backup della propria configurazione di Home Assistant

Una cosa molto interessante che offre Home Assistant è la possibilità di fare il backup dell’intera configurazione con un click, backup che poi può essere ripristinato oppure caricato su un altro device con installato Home Assistant.

Dal menù di sinistra selezionare Hass.io, quindi cliccare sull’icona con i tre pallini verticali in alto a destra e selezionare Snapshots.

Inserire un nome per il file di backup in Snapshot name e clirrare su CREATE.

Verrà creato un file .tar di backup della configurazione all’interno della cartella /HASSIO/backup.

come fare il backup della configurazione di Home Assistant con snapshots

Xiaomi Smart Home + Raspberry Pi 3 + Home Assistant come sistema d’allarme per la casa

In questa questa prima parte su come utilizzare i prodotti Xiaomi Smart Home all’interno di Home Assistant come sistema di sicurezza per la nostra abitazione abbiamo visto come installare Home Assistant su Raspberry Pi 3 e come configurarlo per rendere l’interfaccia utente più ordinata.

Nel prossimo articolo vedremo come accedere a Home Assistant da remoto utilizzando una connessione sicura (SSL) e come rilevare la presenza di un famigliare all’interno della propria abitazione utilizzando la piattaforma OwnTracks, in modo da attivare automaticamente l’allarme se nessuno è in casa.

Ovviamente i dispositivi Xiaomi Smart Home possono funzionare come sistema d’allarme anche in modo indipendente da Home Assistant, tuttavia utilizzare Home Assistant ti permette di poter far “comunicare” questi dispositivi con altri prodotti per la sicurezza e la domotica, aumentando notevolmente il grado di automazione e affidabilità del nostro allarme di casa fai da te (DIY).

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, 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 gli aggiornamenti sono indicati in questa pagina: Xiaomi Gateway (Aqara)

Articolo Raspberry Pi 3 con Home Assistant: Broadlink RM Pro + Netatmo + Yeelight per la Casa Domotica aggiornamenti sulle lampadine Yeelight, su Broadlink RM Pro e A1, Broadlink SP3 presa intelligente, luci Yeelight, piattaforma Netatmo.


Tra i prodotti Xiaomi Smart Home che si possono utilizzare all’interno di Home Assistant ci sono anche questi:

Tutti questi prodotti li puoi acquistare su Gearbest, prova una ricerca con Xiaomi Smart Home e con Aqara.

Prodotti compatibili con Home Assistant per la Casa Domotica

Di seguito sono elencati alcuni prodotti che ho intenzione di configurare all’interno di Home Assistant, alcuni li ho già inseriti.
Philips Hue, Netatmo Stazione Meteo, Netatmo Welcome, Broadlink RM Pro, Broadlink RM Mini 3, Broadlink SP3 Presa Intelligente, Videocamera Arlo.