Come funzionano i dispositivi Shelly con MQTT
Introduzione ai dispositivi Shelly con protocollo MQTT sul sistema Ilevia: concetti, configurazione in Ilevia Manager e prova di funzionamento.
Come funzionano i dispositivi Shelly con MQTT
MQTT è un protocollo leggero basato su pubblicazione-iscrizione (publish/subscribe).
Questo protocollo è composto da due parti:
Il client (quello che si connette al broker).
Il broker (gestisce le connessioni e le credenziali degli utenti e ti permette di scambiare informazioni con i componenti che lavorano con il protocollo MQTT).
Puoi trovare maggiori informazioni riguardo al protocollo MQTT qui.
Nell’immagine sottostante è spiegato come il protocollo MQTT funziona con il sistema Ilevia.
Tutti i nostri sistemi (server X1, macchina virtuale e Raspberry Pi) sono in grado di funzionare come broker e server.

Come impostare MQTT in Ilevia Manager
Prima di cominciare, verifica questi parametri per una configurazione corretta:
Creare un gateway e impostarlo in MQTT broker.
L’id del client predefinito deve essere impostato come “eve-mqtt-client”. Se si dovesse avere bisogno di creare più di un client, assicurati di cambiare il nome.
La porta predefinita è 1883.
Il parametro predefinito usato per mantenere aperte le istanze è “keep alive” (anche se non si stanno mandando comandi).
Imposta il Quality of Service (QoS) a “exactly once” (questa opzione garantisce che ogni messaggio venga ricevuto una volta).

Passo 1:
Aggiungi un componente all’interno della sezione I miei componenti e assicurati che abbia il protocollo MQTT selezionato come mostrato nell’immagine sottostante.

Come funzionano il payload e i topic?
TOPICS
I topic sono: read, event, write e response.
Ogni topic ha un tipo differente di messaggio che il broker MQTT usa per filtrare i messaggi per ogni Client connesso, i topic sono composti da livelli divisi da “slash”(“/”).
Esempio: home/livingroom/light
Ecco una breve descrizione dei quattro topic:
Topic read: È usato per ricevere lo stato del dispositivo MQTT.
Topic response: È la risposta del dispositivo alla richiesta di read del server di automazione.
Topic write: Questo topic è usato per impostare il valore di un parametro del dispositivo.
Topic event: Questo topic mostra lo stato del dispositivo in caso di cambiamenti.
PAYLOAD
Un payload è un pezzo di codice che contiene una funzione javascript.
Per ogni topic viene eseguita una funzione javascript per processare il payload del topic.
Esempio di stringa json:
var data = JSON.parse(payload);var color = {“mode”:”color”,”red”:data.r,”green”:data.g,”blue”:data.b}; return JSON.stringify(color);

Passo 2:
Topic response: Qui dovrai scrivere il corretto topic in base al dispositivo che si vuole controllare (puoi trovare maggiori info riguardo ai topic nella pagina web shelly).

Passo 3:
“Topic write“: Qui è dove si scriverà il topic corretto basandosi sul dispositivo che vorrai controllare (puoi trovare tutti i topic dei dispositivi Shelly in questa pagina).

Passo 4:
Topic event: Qui dovrai scrivere il corretto topic in base al dispositivo che si vuole controllare (puoi trovare maggiori info riguardo ai topic nella pagina web shelly).

Passo 5:
Per verificare se il dispositivo funziona correttamente scarica l’open source software MQTT-fx,
questo ti permetterà di controllare le informazioni che il broker sta ricevendo dal dispositivo.
Installa il software sul tuo computer.
Il prossimo passo sarà impostare il broker all’interno delle impostazioni del software, clicca sulla icona dell’ingranaggio, scrivi l’indirizzo IP del tuo server X1 e la porta 1883.

Passo 6:
Per iscriverti a tutti i topic scrivi il simbolo # (cancelletto).
Clicca sul bottone “subscribe” e, se una connessione è stata stabilita, vedrai una serie di messaggi: quei messaggi sono il segno che il tuo dispositivo ha stabilito una connessione con il broker.

Passo 7:
Controlla se il componente funziona all’interno della applicazione di automazione.
Carica il progetto che abbiamo appena creato e provalo.

Qui potrai scaricare il progetto di prova che abbiamo creato per provare lo Shelly Plug.
Scarica il test qui.
Nota: Tutti i dispositivi shelly hanno un ID differente e differenti modi di configurazione, quindi consigliamo di consultare la pagina web di shelly per assicurarsi di usare i comandi e i topic corretti.
Altri dispositivi Shelly con il protocollo MQTT
SHELLY RGBW2

SHELLY DIMMER

SHELLY EM

SHELLY 1/1PM

SHELLY 4 PRO

SHELLY PLUGS

SHELLY FLOOD

SHELLY 2.5

SHELLY H&T

SHELLY DOOR WINDOW

SHELLY I3

SHELLY DUO BULB

SHELLY TRV

SHELLY PLUS 1

SHELLY MOTION 2

SHELLY PLUS H&T
