In questa lezione continueremo quanto detto in precedenza e ci concentreremo, nel dettaglio, su come collegare un dispositivo a Zigbee2MQTT. Abbiamo già installato e configurato il nostro sistema, quindi siamo già pronti per iniziare. Seguiremo una serie di passaggi che ci permetteranno di aggiungere un nuovo dispositivo Zigbee al nostro setup. Iniziamo preparando il dispositivo che vogliamo collegare.
Ogni dispositivo Zigbee ha una modalità di accoppiamento specifica. Controlliamo il manuale del nostro device per le istruzioni su come metterlo in modalità di accoppiamento. Per mettere il dispositivo in modalità di accoppiamento, di solito, dobbiamo premere e tenere premuto un pulsante sul dispositivo per alcuni secondi. Possiamo notare che la luce del device inizia a lampeggiare, indicando che è in modalità di accoppiamento. Successivamente, dobbiamo assicurarci che Zigbee2MQTT sia pronto ad accettare nuovi dispositivi:
Per accedere alla configurazione di Zigbee2MQTT apriamo il file che di solito si trova in configuration.yaml
. La sua posizione può variare in base alla nostra installazione. Potremmo trovarlo in percorsi come /opt/zigbee2mqtt/data/configuration.yaml
o in ~/.config/zigbee2mqtt/configuration.yaml
.
Al fine di verificare la configurazione del coordinatore controlliamo che quello di Zigbee sia configurato correttamente. Ecco un esempio di configurazione per un coordinatore CC2531:
serial:
port: /dev/ttyACM0
Assicuriamoci di sostituire /dev/ttyACM0
con la porta corretta del nostro coordinatore.
Dopo aver effettuato le modifiche, riavviamo Zigbee2MQTT per applicare la configurazione.
Aggiungere il dispositivo Zigbee
Ora possiamo aggiungere il nostro dispositivo Zigbee. Dobbiamo quindi accedere all'interfaccia web di Zigbee2MQTT. Apriamo il nostro browser e andiamo all'indirizzo http://localhost:8080
(o l'indirizzo IP del nostro server se stiamo utilizzando un server remoto). Nella dashboard di Zigbee2MQTT cerchiamo l'opzione per attivare la modalità di accoppiamento (solitamente un pulsante chiamato "Permit join" o "Permetti accoppiamento"). Attiviamola. Questo permette ai nuovi dispositivi di connettersi.
Assicuriamoci infine che il nostro dispositivo Zigbee sia in modalità di accoppiamento. Dovremmo vedere un messaggio nella dashboard di Zigbee2MQTT che indica che un nuovo dispositivo è stato trovato e accoppiato.
Verificare l'accoppiamento
Dopo che il dispositivo è stato accoppiato, verifichiamo che sia stato aggiunto correttamente. Per prima cosa dobbiamo controllare la lista dei dispositivi connessi nella dashboard di Zigbee2MQTT. Qui possiamo vedere informazioni come il suo stato, l'ID del dispositivo e il suo tipo. Poi, possiamo testare il dispositivo, provando a interagire con esso tramite l'interfaccia web per assicurarci che funzioni correttamente. Ad esempio, se si tratta di una lampada intelligente, proviamo a accenderla e spegnerla.
Configurazione delle automazioni
Adesso concentriamoci sulla configurazione delle automazioni nella nostra rete Zigbee. Le automazioni ci consentono di creare regole che attivano azioni specifiche in risposta a determinati eventi, rendendo la nostra casa più "intelligente".
Utilizzare MQTT per automazioni semplici
Uno dei modi più semplici per configurare le automazioni è utilizzare il protocollo MQTT. Zigbee2MQTT ci permette di inviare e ricevere messaggi MQTT, il che significa che possiamo creare regole che attivano dispositivi in base a determinati eventi.
Per fare ciò dobbiamo però installare un client MQTT. Può trattarsi di un client desktop come MQTT Explorer, un client web o un'applicazione mobile. Se non abbiamo già un client MQTT, possiamo scaricarne uno, come MQTT Explorer o MQTT.fx.
In questa lezione abbiamo preferito MQTT Explorer. Per poter inviare dei messaggi, dopo aver aperto MQTT Explorer dobbiamo inserire l'indirizzo IP e la porta del broker (di solito localhost
e 1883
se stiamo utilizzando un broker locale).
Nota bene: la porta del dispositivo aggiunto in Zigbee2MQTT non è la stessa di MQTT Explorer, 1883. La porta 1883 è la porta predefinita utilizzata dal protocollo MQTT per la comunicazione tra i client MQTT e il broker MQTT. Invece, la porta utilizzata dai dispositivi Zigbee per comunicare con Zigbee2MQTT dipende dal tipo di coordinatore Zigbee che stiamo utilizzando. Ecco un esempio pratico di automazione per una lampada intelligente con l'obiettivo di accendere una lampada intelligente quando un sensore di movimento rileva un movimento.
- Assicuriamoci di avere un sensore di movimento e una lampada intelligente già configurati e accoppiati a Zigbee2MQTT.
- Apriamo il nostro client MQTT, come MQTT Explorer. Verifichiamo poi gli argomenti disponibili per il sensore di movimento (ad esempio,
zigbee2mqtt/sensor_movimento
). - Creiamo un messaggio MQTT che accende la lampada quando il sensore rileva un movimento. Possiamo farlo utilizzando un semplice client MQTT o uno strumento di automazione come Node-RED.
{
"topic": "zigbee2mqtt/sensor_movimento",
"payload": {
"action": "motion detected"
}
}
In risposta a questo messaggio, possiamo pubblicare un comando per accendere la lampada intelligente:
{
"topic": "zigbee2mqtt/lampada_intelligente",
"payload": {
"state": "ON"
}
}
In questo modo, ogni volta che il sensore di movimento rileva un movimento, la lampada si accenderà automaticamente.
Automazioni programmate con Zigbee
Le automazioni non devono attivarsi solo in risposta a eventi. Possiamo anche programmarle per attivarsi a orari specifici. Vediamo un esempio di automazione per l'illuminazione notturna con l'obiettivo di accendere le luci esterne al tramonto.
- Creiamo un'automazione in Home Assistant che accende le luci esterne quando il sole tramonta.
trigger: platform: sun event: sunset
- Aggiungiamo l'azione per accendere le luci:
action: service: homeassistant.turn_on entity_id: light.luci_esterni
Questa automazione ci consente di avere sempre un'illuminazione adeguata all'esterno della nostra casa, senza doverci preoccupare di accendere manualmente le luci.
Conclusioni
Ora che abbiamo visto diversi esempi di automazioni, è importante considerare alcune buone pratiche. Dopo aver configurato le automazioni, assicuriamoci di testarle per verificare che funzionino come previsto. A volte possono verificarsi errori di configurazione, quindi è meglio controllare che tutto funzioni correttamente.
Teniamo un registro delle automazioni che abbiamo creato, in modo da poterle modificare facilmente o rimuoverle in futuro. La documentazione è fondamentale per gestire una rete Zigbee complessa.
Non dobbiamo avere paura di sperimentare con diverse automazioni e combinazioni. Zigbee2MQTT (o anche Home Assistant) offrono un’enorme flessibilità, e possiamo trovare nuove e interessanti modalità di utilizzo dei nostri dispositivi.
Con queste informazioni, siamo pronti a sfruttare al massimo le potenzialità delle automazioni nella nostra rete Zigbee. Le automazioni non solo rendono la nostra casa più intelligente, ma semplificano anche la nostra vita quotidiana rendendola più comoda e sicura.