Raspberry Pi 3 con Home Assistant: Broadlink RM Pro + Netatmo + Yeelight per la Casa Domotica – Parte 2

Raspberry Pi 3 con Home Assistant Broadlink RM Pro Netatmo Yeelight per la Casa Domotica

Home Assistant è un piattaforma open source per la gestione della Casa Domotica DIY che è possibile installare su Raspberry Pi oppure anche su PC con installato Windows 10, macOS, Ubuntu 14.04. In questo articolo vedremo con utilizzare Home Assistant con Broadlink RM Pro, Broadlink A1, Netatmo Stazione Meteo, telecamera Netatmo Welcome e lampadine Xiaomi Yeelight.

Aggiornamento, per installare Home Assistant su Raspberry Pi 3 utilizza la nuova procedura descritta in quest’articolo: Come installare Home Assistant su Raspberry Pi 3 – Hass.io

Nel precedente articolo, Raspberry Pi 3 con Home Assistant per la Casa Domotica,  abbiamo visto come installare Raspbian Jessie Lite su Raspberry Pi 3, poi abbiamo visto come gestire Raspberry Pi 3 da remoto con il protocollo di rete SSH, quindi abbiamo installato Home Assistant utilizzando All-In-One Installer.

L’elenco dei componenti che si possono configurare e quindi gestire con la piattaforma Home Assistant e Raspberry Pi 3 è elencato in questa pagina.
Come è possibile notare sono veramente tanti, tra i più utilizzati troviamo Philips Hue, Nest, Belkin WeMo, Netatmo, Chromecast ecc.

Progetti Raspberry Pi – Come configurare Home Assistant

Nell’articolo precedente, Raspberry Pi 3 con Home Assistant per la Casa Domotica, ho spiegato come accedere al file configuration.yaml sotto Windows con il programma WinSCP.

Ci sono altri modi per accedere a questo file, uno di questi è quello di installare SAMBA su proprio Raspberry Pi 3, in questo modo sarà possibile accedere al file configuration.yaml attraverso il la rete LAN locale, senza dove installare alcun software su Windows 10, per il momento però ci limiteremo ad usare WinSCP.

Raspberry Pi e Home Assistant: Aprire, modificare e salvare il file configuration.yaml sotto Windows

Aprire il programma WinSCP ed eseguire l’accesso come abbiamo visto nel primo articolo Raspberry Pi 3 con Home Assistant per la Casa Domotica

Vi troverete una finestra divisa in due parti, a sinistra sono elencati file, cartelle contenuti sul vostro pc, a destra ci sono file e cartelle contenuti nella micro SD inserita su Raspberry Pi 3.

Raspberry Pi Home Assistan come modificare il file configuration.yaml con WinSCP da Windows

Per raggiungere il file configuration.yaml bisogna aprire la cartella home, poi la cartella homeassistant e quindi la cartella .homeassistant, se non viene visualizzata la cartella home, controllare se ci sono dei file nascosti, in caso affermativo cliccare sopra la scritta “file nascosti”.

Selezionare il file configuration.yaml e trascinarlo all’interno di una cartella di backup creata sul nostro PC, così avremo sempre il backup del file originale.

Scaricare e installare notepad++, sarà il nostro editor per i file .yaml

Selezionare il file configuration.yaml quindi cliccare con il pulsante destro del mouse, selezionare modifica, modifica con, si apre una finestra cliccare su Sfoglia e raggiungere e selezionare il file notepad++.exe che si trova nella cartella /programmai/notepad++/ ora cliccare su Apri.

Raspberry Pi Home Assistan come modificare con Notepad plus plus il file configuration.yaml con WinSCP da Windows

Inserire il segno di spunta in Ricorda questo Editor, ora quando andremo a modificare il file configuration.yaml con Notepad++ dovremo selezionarlo, cliccare sul pulsante destro del mouse, selezionare modifica e poi Notepad++.

Raspberry Pi Home Assistan come modificare con Notepad plus plus il file configuration.yaml con WinSCP da Windows 2

Ovviamente è possibile anche salvarlo su proprio PC modificare con Notepad++ e poi ricaricarlo all’interno della cartella /home/homeassistant/.homeassistant/ sovrascrivendo quello esistente.

N.B. Ogni volta che apportate una nuova modifica al file configuration.yaml prima di effettuare la modifica salvate una copia di backup sul proprio PC.

Ora che abbiamo visto come modificare il file configuration.yaml siamo pronti per inserire le righe di “codice” che ci permettono di accedere ai device presenti nella nostra casa domotica.

Raspberry Pi e Home Assistant: configuration.yaml impostare la nostra posizione e time zone corretta

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:
  # Uncomment this to add a password (recommended!)
  # api_password: PASSWORD
  # Uncomment this if you are using SSL or running in Docker 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 è sufficienti cancellare il carattere # prima di api_password e scrivere la vostra password al posto di PASSWORD, per esempio il codice potrebbe essere questo:

http:
  api_password: 12345
  # Uncomment this if you are using SSL or running in Docker etc
  # base_url: example.duckdns.org:8123

Terminate le modifiche cliccare sul pulsante salva (icona dischetto) di Notepad++

Come Riavviare Home Assistant

Terminate le modifiche al file configuration.yaml per renderle effettive bisogna riavviare Home Assistant, ci sono tre modi per farlo.

Dal menù di sinistra di Home Assistant selezionare l’icona Services, la prima a partire da sinistra sotto Developer Tools, quindi in Domain selezionare homeassistant, in Service selezionare restart e poi cliccare su CALL SERVICE, attendere circa 10 secondi e quindi ricaricare la pagina, le nuove impostazioni dovrebbero essere visibili.

Il secondo metodo è quello di riavviare Raspberry Pi, dalla finestra terminale di PuTTY digitare il comando:
sudo reboot

Il terzo metodo è quello di riavviare Home Assistant Services, dalla finestra terminale di PuTTY.
Digiare il comando:
sudo systemctl restart home-assistant.service
se usate questo metodo e state apportando diverse modifiche al vostro file configuration.yaml non è necessario ogni volta digitare il codice, è sufficiente premere il tasto freccia in alto sulla vostra tastiera per ripetere il comando appena impartito.

Ora che abbiamo preso un po’ confidenza con il file configuration.yaml, su come modificarlo e rendere effettive le modifiche,  possiamo procedere con l’inserimento delle modifiche necessarie per poter utilizzare i sensori presenti installati nella nostra abitazione.

Raspberry Pi 3 e Home Assistant: Come configurare Netatmo Stazione Meteo e Netatmo Welcome

Sono diversi anni che ho la Stazione Meteo Netatmo mentre da circa un anno ho la telecamera di video sorveglianza con riconoscimento facciale Netatmo Welecome, questi due dispositivi cono compatibili con Home Assistant è quindi possibile accedere ai sensori di questi due dispositivi configurando nel modo corretto il solito file configuration.yaml.

Inserire nel file configuration.yaml il codice seguente:

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

La prima riga del codice, preceduta da #, è un commento al codice che segue, quindi è possibile scrivere qualsiasi cosa, le successive righe servono per poter integrare tutti i dispositivi Netatmo all’interno di Home Assistant.

Chi possiede un prodotto Netatmo è anche registrato sul sito Netatmo con username e password, ora dobbiamo recuperare la api_key e la secret_key dal sito NetAtmo Developer Page (Netatmo Connect).

Raggiunta la pagina Netatmo Connect cliccare in alto a destra su My Account, effettuare l’accesso usando le stesse username e password per l’accesso al sito Netatmo.

Ora bisogna cliccare su Create An APP, dare un nome all’applicazione, fornire una descrizione, accettare i termini e le condizioni, quindi cliccare su Create An App.

Raspberry Pi Home Assistan Come Configurare Netatmo Stazione Meteo Welcome Creare una aplicazione

Nella schermata successiva, in Technical Parameters sono visualizzati i valori di:

Client id, che andrà inserito come valore api_key nel file configuration.yaml

Client secret, che andrà inserito come valore secret_key nel file configuration.yaml

Inserire il vostro username e password quindi salvare il file configuration.yaml e riavviare Home Assistant.

Se tutto andato per il verso giusto nella pagina principale di Home Assistant vengono visualizzati tutti i valori che si possono rilevare attraverso i prodotti Netatmo.

Dalla stazione meteo Netatmo vengono rilevati i valori di concentrazione di CO2, umidità, rumore ambientale, pressione, temperatura forniti dal sensore interno, umidità e temperatura forniti dal sensore esterno.

Dalla telecamera Netatmo Welcome viene catturata un immagine che viene aggiornata circa ogni secondo. Inoltre è possibile visualizzare alcune timeline che mostrano la presenza di visi conosciuti, sconosciuti e di movimenti quando non ci sono persone in casa.

Tutti questi dati vengono mostrati per default nella schermata principale di Home Assistant, ovviamente uno potrebbe avere più telecamere Netatmo Welcome, oppure più stazioni meteo, quindi tutti questi valori nella schermata home potrebbero creare un po’ di confusione.

Raspberry Pi Home Assistan tutti i sensori e servizi in home page
Tutti i valori dei sensori configurati mostrati nella schermata Home

Per fortuna Home Assistant è completamente personalizzabile, per esempio è possibile creare dei gruppi, che potrebbero essere le stanze dove sono posizionati i vari prodotti. Nel mio caso ho Netatmo Stazione Meteo in salotto e Broadlink A1 in ufficio, così ho creato i gruppi Soggiorno e Ufficio. Vedremo in un secondo momento come creare e configurare i Gruppi, per il momento piazziamo tutto nella schermata principale di Home Assistant.

Raspberry Pi Home Assistan Come Configurare Broadlink RM Pro switch Smart TV Samsung 4K Sala
Sensori, telecamera, luci e switch mostrati solo nel Gruppo Salotto

Raspberry Pi 3 e Home Assistant: Come configurare Broadlink RM Pro e Broadlink A1

Home Assistant è compatibile anche con il Broadlink A1, Broadlink RM Pro, Broadlink RM2, Broadlink RM Mini 3 e altri prodotti Broadlink.

Il Broadlink A1 è un multi-sensore in grado di fornire temperatura, umidità, qualità dell’aria, rumore ambientale e luce ambientale.
Il Broadlink RM Pro è un prodotto dotato di numerosi sensori IR e un modulo RF (radiofrequenza) che può essere utilizzato per comandare tutti di device di casa dotati di telecomando a raggi infrarossi e anche garage e cancelli automatici dotati un telecomando a radiofrequenza di tipo NON Rolling Code.

Home Assistant – Configurazione Broadlink A1

La configurazione del Broadlink A1 è piuttosto semplice, nel file configuration.yaml andrà aggiunto il seguente codice:

# Broadlink A1
sensor 2:
    platform: broadlink
    update_interval: 10
    host: 192.168.1.xx
    mac: 'xx:xx:xx:xx:xx:xx'
    monitored_conditions:
      - temperature
      - humidity
      - air_quality
      - light
      - noise

Ho scritto sensor_2 perché nel mio file configuration.yaml ho già configurato altri due sensori, nel tuo caso potrebbe essere sensor_1 se c’è solo un altro sensore configurato, solitamente al momento dell’installazione troviamo già configurato il servizio meteo “YR”.


Tornando al Broadlink A1 ed ai parametri di configurazione da inserire all’interno del file configuration.yaml è possibile notare che vanno inseriti indirizzo IP e MAC address del Broadlink A1, come e dove trovare questi valori?

Un modo è quello di accedere alla pagina di configurazione del modem/router, andare sull’elenco dei dispositivi connessi alla propria rete e ricercare il Broadlink A1, il mio router Netgear R6400 lo identifica con il nome Broadlink_EAIR-00-01-ae, mentre il Broadlink RM Pro lo riconosce con il nome Broadlink_RM2-38-5a-88, il Broadlink RM Mini 3 con Broadlink_RMMINI-cc-14-13 e il più datato Broadlink RM 2 con Broadlink_RM2-10-1b-5e.

Come conoscere indirizzo IP e MAC Address dei dispositivi connessi alla rete LAN e WiFi

Un altro modo per conoscere indirizzo IP e MAC address dei dispositivi connessi alla rete è quello di utilizzare l’applicazione Fing – Network Tools per smartphone Android.

Giunti a questo punto conviene assegnare un indirizzo ip statico al Broadlink A1 e tanto che ci siamo anche al Broadlink RM Pro, per fare questo basta seguire la procedura indicata nel primo articolo Raspberry Pi 3 con Home Assistant per la Casa Domotica.

Salvare il file configuration.yaml, quindi riavviare Home Assistant per rendere effettive le modifiche.

Nella schermata principale troverete tutti i valori di temperatura, umidità, qualità dell’aria, rumore ambientale, valori che si andranno a sommare a quelli forniti da altri sensori, per esempio quelli della stazione meteo Netatmo.

Raspberry Pi Home Assistan Come Configurare Broadlink A1 multi-sensore temperatura umidita rumore e luce ambientale qualita aria
I dati rilevati dal Broadlink A1 inseriti nella schermata Ufficio (ho impostato i gruppi), sono impostati anche il pulsante per attivare il condizionatore , una lampadina Philips Hue (ufficio) e una Yeelight (Lampada Ufficio)

Home Assistant – Configurazione Broadlink RM Pro

Configurare il Broadlink RM Pro è un po’ più complicato, quindi cercherò di spiegarlo nel modo più semplice possibile.
Iniziamo subito con il codice da inserire nel file configuration.yaml, codice che poi spiegherò:

# BroadLink RM Pro
switch 1:
  platform: broadlink
  host: 192.168.1.xx
  mac: 'xx:xx:xx:xx:xx:xx'
  timeout: 15
  switches:
    condizionatore:
      friendly_name: "Condizionatore Ufficio"
      command_on: 'JgAGAWw1Dg4PDA8nDw0OKA8MDw8MDg8nDycODQ8NDg4OKA4oDg4ODg4NDg8ODQ0ODg0ODQ4PDgwODg8MDw0PJw8MDw0ODg4ODwwPDQ4NDigPDA8NDg0PDg0pDSkOKA4oDycOKA4pDSkODQ4ODikODQ4ODg0ODg0NDw8MDQ8ODyYOKBAMDg8NKA8MDg4ODQ4pDwwOKQ8MDg4NDw4nDw4NDQ8MDw4NDw4NDQ8NDQ4ODg0ODg4NDw0ODQ4ODg0ODg4PDgwODg8NDw0NDg8MDg0ODg8ODA8NDRAMDwwODg4ODg0ODw0NDg8NDRAMDg4NDg8MDioODA4ODigPJw8NDSgPKA8NDSgQDQ0ADQUAAA=='  
      command_off: 'JgB2AGw2Dg0NDg8oDwsPKA8ODA4ODQ4qDCkODQ4OEAsOKA8pDQ0ODw8MDg0PDA4PDQ4ODQ4NDw0ODQ4PDw0OKA0PDQ0PDBAMEAsQDA4PDSgODg8MDg0QDA8nDw0PDQ0NDw4ODQ4NDikNDw4nDikOKA8nDigOKA8ADQUAAA=='

Anche in questo caso servono indirizzo IP e MAC Address del Broadlink RM Pro, poi è possibile indicare una serie di “switches” che sono i comandi configurati sul Broadlink RM Pro.

In questo esempio io ho impostato il comando di accensione e spegnimento del condizionatore Fujitsu General che ho in ufficio, lo switch l’ho chiamato “condizionatore” e come nome da mostrare nella schermata home (friendly_name) ho usato “Condizionatore Ufficio”.

Potrebbe interessarti anche l’articolo: Miglior Condizionatore come rapporto qualità/prezzo dove mostro come gestire da remoto il condizionatore utilizzando il prodotti della Broadlink e l’applicazione e-control.

Ovviamente è possibile configurare altri switch, per esempio il tasto di accessione e spegnimento della TV, Decoder ecc.

I valori di command_on e command_off corrispondo ai comandi ON, OFF da inviare al Broadlink RM Pro in codice, ma dove trovare questo codice, che varia per ogni comando?

Il vari modi per ottenere questo valore sono spiegati sul sito Home Assistan io ho utilizzato quello spiegato di seguito.

Aprire il file configuration.yaml e inserire il codice scritto sopra, ovviamente modificando i valori host e mac con quelli del vostro Broadlink RM Pro, salvare il file configuration.yaml e riavviare Home Assistant.

Raggiungere la schermata principale di Home Assistant, cliccare sull’icona Services, la prima a partire da sinistra sotto Developer Tools.

Nella pagina Services selezionare broadlink in Domain, in Service selezionare learn_command_IP_vostro_rm_pro.

Prendere il telecomando da configurare e cliccare su CALL SERVICE, sul Broadlink RM Pro si accende il LED arancione quindi premere il tasto da configurare sul telecomando puntandolo verso il Broadlink RM Pro.

Tornare alla schermata principale di Home Assistant, il codice da inserire nel file configuration.yaml sarà visualizzato sotto la scritta Recieved packet is, il codice è molto lungo e non viene visualizzato in toto, per selezionarlo tutto posizionarsi sopra con il cursore del mouse, cliccare due volte velocemente per selezionarlo tutto, poi copiarlo e quindi incollarlo all’interno del file configuration.yaml.
Attenzione alla fine del codice inserire anche “==” quindi il risultato sarà tipo:

command_on: 'JgB2AGwXXX........DQUAAA=='
command_off: 'JgB2AGwXXX........DQUAAA=='

Per memorizzare altri tasti è sufficiente ripetere questa procedura.

Raspberry Pi 3 e Home Assistant: Come configurare le lampadine Xiaomi Yeelight

Xiaomi Yeelight sono delle lampadine tipo le Philips Hue (più economiche) che si possono gestire attraverso il proprio smartphone con le applicazioni Mi Home e Yeelight, entrambe scaricabili dal Google Play Store.

Aprire il file configuration.yaml quindi inserire il seguente codice:

light:
  - platform: yeelight
    devices:
      192.168.1.36:
        name: Lampada Ufficio

Anche in questo caso è necessario conoscere l’indirizzo IP della lampadina smart, per trovarlo è possibile usare uno dei metodi utilizzati in precedenza, modem/router oppure l’applicazione Fing.
Utilizzando Fing viene visualizzato un nome tipo yeelink-light-mono1_miio… anche in questo caso è bene assegnare un indirizzo IP statico alla lampadina, come è stato fatto per il Broadlink RM Pro.

Prima di salvare il file configuration.yaml e riavviare Home Assistant è necessario attivare la modalità sviluppatore per la lampadina Yeelight, vediamo come farlo.

Come attivare la modalità sviluppatore per la lampadina smart Yeelight

Scaricare da Google Play Store l’applicazione Yeelight.

Effettuare l’accesso al proprio account, io utilizzo il mio Account Xiaomi.

Verificare che la lampadina venga riconosciuta, quindi fare tap sul nome della lampadina, nella schermata successiva fare tap sull’icona del menù (quella con 3 puntini).

Si apre una nuova pagina con diverse voci, fare tap su Developer Mode, quindi attivare la modalità sviluppatore.

Una volta attivata la modalità sviluppatore salvare il file configuration.yaml e riavviare Home Assistant. Ora tra le luci che si possono gestire attraverso Home Assistant ci sono anche le Xiaomi Yeelight. Se avete quella monocromatica sarà possibile accenderla, spegnerla e variarne la luminosità.

Raspberry Pi 3 con Home Assistant per la Casa Domotica – Alcune considerazioni

In questo articolo abbiamo visto come configurare Netatmo Stazione Meteo, Netatmo Welcome, Broadlink RM Pro, Broalink A1 e le lampadine Xiaomi Yeelight e per il momento ci fermiamo qui.

Ovviamente si possono configurare molti altri device, l’elenco completo lo trovi qui, per alcuni la configurazione è molto semplice per altri un po’ più complessa.

Volevo scrivere anche configurare Xiaomi Smart Home, ma ho la prima versione del gateway e non è compatibile, ho acquistato la seconda versione su Aliexpress quando mi arriva aggiornerà questo articolo oppure ne scriverò uno nuovo.

Nel prossimo articolo sui Progetti Raspberry Pi vedremo come configurare i Gruppi su Home Assistant e come creare dei processi automatizzati.

Fino adesso abbiamo semplicemente configurato alcuni componenti della nostra casa domotica, ma per accendere le luci, la tv, il condizionatore dobbiamo raggiungere la pagina di Home Assistant e fare click o tap sul pulsante specifico, la stessa cosa che è possibile fare, ma in modo molto più semplice, con applicazioni dedicate per i nostri prodotti.

Il vantaggio di usare Home Assistant con Raspberry P è quello di poter automatizzare tutti questi processi. Per esempio i miei bimbi solitamente alle 21:30 sono a letto, così verso le 22 mi siedo sul divano accendo un po di tv ecc.. Un processo automatizzato potrebbe essere questo: “se un sensore rileva la mia presenza, si accende la tv, il decoder di Sky va sul mio canale preferito, le luci si abbassano, a seconda del rumore ambientale viene impostato un certo volume sulla tv”.

Questo è un piccolo esempio di processo automatizzato e di scenari possibili, molti altri si possono trovare sempre sul sito di Home Assistant.

Download del file home_assistant_configuration.zip con all’interno il mio configuration.yaml la password per scompattare i file è: topdigamma.it

Alcuni Prodotti Smart per la Casa Domotica