Integrare ConBee/RaspBee con Home Assistant via deCONZ su Raspberry Pi

7 minuti di lettura
SCOPI DELLA GUIDA:
  • Integrare un BRIDGE/Gateway ZigBee↔︎TCP/IP ConBee/RaspBee con Home Assistant (installato come applicativo) tramite l’adozione della sua controparte software deCONZTale integrazione consente di integrare componenti ZigBee di diversi produttori a Home Assistant.
  • Livello di difficoltà: medio/basso
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.
Revisione guida: 1.0

Abstract

Sua maestà lo ZigBee.

ConBee IICome sappiamo l’iteroperabilità tra componenti basati su questo protocollo ma di diverse tipologie e diversi produttori è spesso – anzi, quasi sempre – un problema. Esistono infatti interessantissimi componenti ma di linee molto diverse tra loro e, non potendo pensare di acquistare un BRIDGE/Gateway per ciascuna delle linee prodotti, spesso ci si trova davanti alla scelta di doversi “accontentare” di una linea prodotti rinunciando magari ad altri singoli componenti che ci interesserebbe introdurre in domotica.

Altro prodotto di questa situazione è, spesso, l’impossibilità di integrare il BRIDGE/Gateway (e quindi i componenti ZigBee ad esso collegati) col proprio HUB personale, come nel caso di quello della linea LUMI Aqara – non fosse che, per fortuna, i componenti (validissimi) di questa linea sono gestibili anche dal gateway Xiaomi Mijia, il quale è integrabile con Home Assistant. Quando dei componenti ZigBee non sono altrimenti controllabili se non col “proprio” gateway (magari non integrabile col nostro Home Assistant), in sostanza diventano inutili, se non nell’ambito del proprio ecosistema e della propria app mobile.

RaspBeePer salvare capra e cavoli esiste un’ottima soluzione, ovvero quella di implementare presso la nostra domotica un BRIDGE/Gateway ZigBee↔︎TCP/IP avulso dalle logiche dei singoli produttori: la risposta è data dalla sinergia di deCONZ (componente software) e ConBee/RaspBee (componente hardware), un’accoppiata che permette di censire il più alto numero di componenti ZigBee possibile scavalcando i problemi di cui sopra. Ovviamente, questo BRIDGE/Gateway “standard” è pienamente integrabile con Home Assistant ed è installabile su diversi sistemi operativi (anche non sullo stesso computer su quale sia in esecuzione Home Assistant).

In questa guida vedremo quali sono i passi per integrarlo a Home Assistant (installato come applicativo – gli utenti HASSIO devono fare riferimento a quest’altra guida) effettuando l’installazione e la configurazione di deCONZ presso Raspbian (quindi su Raspberry Pi).

La guida si articola in tre macro fasi specifiche: l’installazione di deCONZ, la configurazione di tale BRIDGE/Gateway e infine l’integrazione di quest’ultimo (col suo bagaglio di risorse) con Home Assistant.

Si parte

Installare l’antenna

Innanzitutto è necessario installare correttamente l’antenna ConBee/RaspBee.

CONBEE

Nel caso di ConBee è sufficiente inserire la chiavetta su una qualunque delle porte USB del computer/Raspberry e accendere o riavviare il computer.

RASPBEE

L’uso di RaspBee prevede non solo l’installazione fisica del modulo sul Raspberry Pi (a freddo, quindi prima provvedere a spegnere il Raspberry), ma anche di effettuare una modifica sul file config.txt presente nella root della propria Micro SD. Per farlo è necessario sfilare la Micro SD dal Raspberry Pi e montarla su un adattatore, collegandola infine su un computer di appoggio.

N.b. questa procedura non è obbligatoria. Potete passare direttamente allo step successivo (“Verifica post-installazione”) e vedere se RaspBee sia stato riconosciuto di automaticamente o meno. In caso negativo, la procedura qui descritta va necessariamente eseguita.

La modifica da fare prevede l’aggiunta, in coda al file, del seguente codice (avere cura di aggiungere una riga vuota dopo le due righe di codice):

Su Raspberry Pi 3B e inferiori:

enable_uart=1
dtoverlay=pi3-disable-bt

Su Raspberry Pi 3B+ e superiori:

enable_uart=1
dtoverlay=pi3-miniuart-bt

Terminata la modifica, salvare il file, rimontare la Micro SD sul Raspberry Pi e riaccenderlo.

Installare deCONZ

Per installare deCONZ è necessario collegarsi via SSH al proprio Raspberry Pi.
Una volta collegati è necessario, in primis, attribuire i diritti di accesso all’USB (comando da eseguire solo in caso di uso di un’antenna ConBee):

sudo gpasswd -a $USER dialout

e successivamente importare la chiave pubblica del produttore Phoscon:

wget -O - http://phoscon.de/apt/deconz.pub.key | \
          sudo apt-key add -

Aggiungere poi il repository Phoscon all’elenco di quelli presenti sul sistema operativo:

sudo sh -c "echo 'deb http://phoscon.de/apt/deconz \
            $(lsb_release -cs) main' > \
            /etc/apt/sources.list.d/deconz.list"

Infine, eseguire l’aggiornamento dei pacchetti e l’installazione di deCONZ:

sudo apt update
sudo apt install deconz

Al termine della procedura, deCONZ sarà stato installato sul sistema operativo Raspbian.
Provvedere infine all’esecuzione del servizio e alla sua configurazione in avvio automatico tramite i seguenti comandi:

sudo systemctl enable deconz
sudo systemctl start deconz

Configurare deCONZ

Ora (e per il futuro) è possibile accedere tramite browser all’interfaccia web di deCONZ (chiamata Phoscon App). Tale applicazione web serve per:

  • configurare gli accessori ZigBee connessi a deCONZ;
  • fornire accesso a deCONZ alle integrazioni (ciò che faremo ora);
  • configurare il gateway in modo semplice e intuitivo.

Dopo aver avviato il servizio deCONZ (passaggio precedente), l’app è disponibile all’indirizzo:

http://indirizzo_IP_del_raspberry/pwa/login.html

N.b. Attenzione: in caso sul Raspberry Pi esistano altri servizi che utilizzino la porta 80 ovviamente l’indirizzo di cui sopra non funzionerà. Per cambiare la porta in uso da Phoscon App è necessario eseguire il seguente comando:

sudo nano /lib/systemd/system/deconz.service

e modificare la riga:

ExecStart=/usr/bin/deCONZ -platform minimal --http-port=80

indicando una porta alternativa, per esempio la “40850” (o una comunque libera):

ExecStart=/usr/bin/deCONZ -platform minimal --http-port=40850

uscire salvando (CTRL+X, Y, invio), dopodiché eseguire i seguenti due comandi:

sudo systemctl daemon-reload
sudo systemctl restart deconz

e infine collegarsi tramite broweser al nuovo indirizzo:

http://indirizzo_IP_del_raspberry:40850/pwa/login.html

Una volta ottenuto accesso all’interfaccia di deCONZ, quest’ultima effettuerà la ricerca dell’antenna/e:

deCONZ - primo accesso

 

e successivamente domanderà la creazione di un proprio account personale locale:

deCONZ - Creazione account

Una volta ottenuto l’accesso, deCONZ effettuerà una verifica automatica alla ricerca di eventuali componenti ZigBee compatibili col proprio ambiente operativo; al termine della procedura (e comunque in qualunque momento successivo) sarà possibile accedere al menu e, sotto le tre voci “Lights” “Switches” e “Sensors” cliccare su “ADD” per effettuare il pairing manuale di eventuali componenti non censite automaticamente ma compatibili con deCONZ.

deCONZ - Ambiente operativo web
l’interfaccia web di configurazione deCONZ.

Lasciare il browser aperto su questo sito, perché ci servirà per l’integrazione con Home Assistant.

Integrazione Home Assistant

Siamo finalmente pronti per integrare deCONZ con Home Assistant. Per farlo è possibile sia utilizzare la discovery automatica sia recarsi direttamente e manualmente ala voce “deCONZ” sotto il menu “Impostazioni” > “Integrazioni“.

Per attivare la discovery è sufficiente aggiungere al file di configurazione (magari utilizzando l’add-on “Configurator”) la seguente voce (laddove non già presente):

discovery:

Salvare e riavviare Home Assistant.

Al termine del riavvio nelle notifiche apparirà una voce che indica il riconoscimento automatico di nuove integrazioni:

Home Assistant - Notifica discovery

Seguire il link proposto (“Check it out“) e, una volta visualizzata la maschera che elenca le discovery effettuate, cliccare su “Configura” alla voce “Gateway Zigbee deCONZ“:

Home Assistant - Integrazione deCONZ

A questo punto Home Assistant indica all’utente di “sbloccare” il gateway in modo che accetti l’integrazione da parte di Home Assistant:

Home Assistat - Integrazione deCONZ

Per fare quanto chiede, recarsi presso il sito della Phoscon App (visto sopra) presso la voce di menu “Settings” > “Gateway” e poi, in basso, icona “Advanced“.
Cliccare infine sul tasto “Autenticate app“:

deCONZ - Authenticate app

Appena cliccato, tornare su Home Assistant e cliccare (entro 60 secondi) sulla voce “Submit” apparso prima.
Al termine della procedura, Home Assistant confermerà l’avvenuta integrazione:

Home Assistant - Integrazione deCONZ OK

Da qui in poi sotto il menu “Impostazioni” > “Integrazioni” apparirà la voce relativa al BRIDGE/Gateway ZigBee deCONZ:

Home Assistant - Integrazione deCONZ - ElencoPresso il quale sarà possibile visualizzare i dettagli relativi al BRIDGE/Gateway e alle risorse ad esso connesse (e quindi alle entità da esso derivanti):

Home Assistant - Integrazione deCONZ - Elenco

Come si nota nell’immagine esemplificativa, sulla destra (ultimo riquadro) sono elencate le entità derivanti dall’integrazione di un sensore ZigBee (nello specifico un sensore di temperatura LUMI Aqara), lo stesso sensore integrato a mo’ d’esempio presso deCONZ.

Uso

A questo punto le entità generate da questa integrazione potranno essere utilizzate per gli usi ordinari presso l’HUB (consultazione tramite frontend, uso in scene e gruppi, ma anche come trigger/condition/action presso le proprie automazioni e script.

Per aggiungere/rimuovere componenti ZigBee sarà sufficiente operare presso l’interfaccia web (Phoscon App) di deCONZ: l’effetto presso Home Assistant sarà immediato a partire dal primo riavvio di quest’ultimo.

Uso evoluto

deCONZ, implementato come spiegato in questa guida, è un ambiente operativo particolarmente semplice da utilizzare. Nonostante ciò, l’installazione consente non solo l’integrazione con Home Assistant (e altri HUB), ma anche alla configurazione di dettaglio dei componenti della rete ZigBee così definita, a partire dall’antenna/e ConBee/RaspBee e, a seguire, tutti i componenti connessi.

Per far ciò è necessario accedere alla GUI deCONZ, la quale è disponibile presso l’ambiente desktop VNC offerto dal sistema operativo di Raspberry Pi, Raspbian. Tale ambiente desktop può:

  • essere presente e in esecuzione;
  • essere presente ma non in esecuzione;
  • non essere presente.

Per verificare in quale condizione ci si trovi è necessario eseguire il seguente comando:

sudo raspi-config

Una volta apertosi il menu grafico, recarsi alla voce “Interfacing options” > “VNC” e rispondere sì alla richiesta di attivazione del servizio. Qualora esso fosse stato già attivo, non cambierà nulla; in caso non lo fosse, si attiverà. In caso invece il servizio sia assente, rispondere sì alla richiesta di installazione automatica del servizio.

Arrivati a questo punto, accantonare SSH e collegarsi via VNC al proprio Raspberry Pi.

Una volta connessi, regolare la migliore risoluzione a schermo (dal menu di Raspberry, cliccare sull’icona a forma di lampone, poi “Preferences” > “Raspberry Pi Configuration” > “Set resolution“) e, successivamente, accedere all’ambiente di gestione voluto di deCONZ cliccando sull’icona a forma di lampione, poi “Programming” > “Deconz“. L’interfaccia di gestione apparirà dopo pochi istanti:

deCONZ presso Raspbian VNC

Una volta scelta l’antenna, l’utente verrà condotto presso l’interfaccia principale, la quale consente, come anticipato, una configurazione puntuale dei device ZigBee della propria rete, nonché consultare la topografia della stessa:

deCONZ presso Raspbian VNC - Topografia

L’immagine di cui sopra è – a puro scopo esemplificativo – la rappresentazione fedele del singolo nodo ConBee e di un sensore termico Xiaomi descritti sopra.


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Please comment below