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:

  1. Il client (quello che si connette al broker).

  2. 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 funziona il protocollo MQTT sul sistema domotico Ilevia

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).

Impostazioni del gateway MQTT in Ilevia Manager

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.

Software di automazione | Come impostare l'MQTT gateway all'interno del software di supervisione Ilevia manager

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);

payload example

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).

Campo Topic response in Ilevia Manager

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).

Come funziona il topic write all'interno del software di supervisione Ilevia manager

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).

Come funziona il topic event all'interno del software di supervisione Ilevia manager

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.

Come impostare il software di debug MQTT fx

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.

Come impostare l'applicazione domotica tramite Ilevia manager

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

DOCUMENTAZIONE

SHELLY DIMMER

DOCUMENTAZIONE

SHELLY EM

DOCUMENTAZIONE

SHELLY 1/1PM

DOCUMENTAZIONE

SHELLY 4 PRO

DOCUMENTAZIONE

SHELLY PLUGS

DOCUMENTAZIONE

SHELLY FLOOD

DOCUMENTAZIONE

SHELLY 2.5

DOCUMENTAZIONE

SHELLY H&T

DOCUMENTAZIONE

SHELLY DOOR WINDOW

DOCUMENTAZIONE

SHELLY I3

DOCUMENTAZIONE

SHELLY DUO BULB

DOCUMENTAZIONE

SHELLY TRV

DOCUMENTAZIONE

SHELLY PLUS 1

DOCUMENTAZIONE

SHELLY MOTION 2

DOCUMENTAZIONE

SHELLY PLUS H&T

DOCUMENTAZIONE

Scopri molto altro riguardo alla nostra soluzione dedicata a shelly

Mettiti in contatto con noi.

Ultimo aggiornamento: