Integrazione di Shelly Door Window 2 con Ilevia tramite MQTT
Come configurare il sensore Shelly Door Window 2 via MQTT in Ilevia Manager: stato, luminosità, batteria, ribaltamento, temperatura e vibrazioni.
Introduzione
Questo dispositivo Shelly è progettato per essere applicato a porte e finestre e fornisce i seguenti valori: se sono aperte, chiuse o in ribalta (con gradazione specifica in gradi), la temperatura della stanza in cui il dispositivo è posizionato, la luminosità della stanza, il livello di batteria e se il dispositivo rileva vibrazioni quando la finestra è chiusa.
Configurazione dell'interfaccia web
Passo 1:
Prima di tutto connettiti alla rete Wi-Fi del dispositivo Shelly Door Window 2. Una volta connesso, inserisci nella barra degli URL l'indirizzo IP predefinito per l'accesso all'interfaccia web del dispositivo Shelly: 192.168.33.1.

Passo 2:
Vai nel menu Internet security settings, apri la sezione wifi client mode e seleziona la casella Connect the device to an existing wifi network, per connettere il dispositivo Shelly alla tua rete locale.

Passo 3:
Il prossimo passo è abilitare le azioni via protocollo MQTT sul dispositivo Shelly: nel menu Internet security settings apri la sezione Advanced developer settings e abilita la casella Enable action execution via MQTT protocol.
Inserisci l'indirizzo IP del tuo server Ilevia nel campo di testo Address delle impostazioni del protocollo MQTT, poi imposta il QoS a 2 e infine clicca su SAVE per applicare le impostazioni.

Configurazione dei topic
Questo è l'elenco dei topic utilizzati nella guida:
Indice delle configurazioni dei topic
– shellies/shellydw2-<deviceID>/sensor/state: questo topic riporta lo stato corrente di porta/finestra;
– shellies/shellydw2-<deviceID>/sensor/lux: questo topic riporta il livello di luminosità della stanza in cui si trova il dispositivo;
– shellies/shellydw2-<deviceID>/sensor/battery: questo topic riporta il livello di batteria del dispositivo;
– shellies/shellydw2-<deviceID>/sensor/tilt: questo topic riporta i gradi di ribaltatura della finestra, da 0 a 180;
– shellies/shellydw2-<deviceID>/sensor/temperature: questo topic riporta la temperatura corrente della stanza in cui è posizionato il dispositivo;
– shellies/shellydw2-<deviceID>/sensor/vibration: questo topic riporta 0 se non è rilevata nessuna vibrazione e 1 se è rilevata.
Passo 4:
Apri il software Ilevia Manager, crea un nuovo progetto e crea un nuovo gateway MQTT: questa guida spiega passo passo come impostare il nuovo gateway MQTT.
Passo 5:
Ora impostiamo il primo topic, che riporta lo stato della porta/finestra (chiusa o aperta). Trascina un componente Info testuale nel progetto e imposta il suo gateway su quello MQTT creato in precedenza.

Passo 6:
Topic: shellies/shellydw2-<deviceID>/sensor/state
Ora impostiamo il componente. Il topic che riceve lo stato del dispositivo è il topic Event.
Cliccando questo link puoi consultare la configurazione dei topic illustrati.

Passo 7:
Per ricevere il valore dei Lux dal dispositivo Shelly, aggiungi un nuovo componente Info nella sezione Componenti di Ilevia Manager e imposta il gateway su quello MQTT creato in precedenza.

Passo 8:
Topic: shellies/shellydw2-<deviceID>/sensor/lux
Questo è il topic da applicare al componente Info per ricevere il valore dal dispositivo Shelly.
Cliccando questo link puoi consultare il topic illustrato nell'immagine sottostante.

Passo 9:
Ora impostiamo il componente Info che riporta il livello di batteria del dispositivo Shelly.
Aggiungi quindi un nuovo componente al progetto e imposta il gateway MQTT.

Passo 10:
Topic: shellies/shellydw2-<deviceID>/sensor/battery
Impostiamo il topic che riporta il livello di batteria del dispositivo Shelly. Per mostrare il valore in percentuale, seleziona “Percentuale” come unità di misura dalla lista a opzioni Tipo di dato nelle proprietà del componente.
Cliccando questo link puoi consultare il topic illustrato nell'immagine sottostante.

Passo 11:
Impostiamo il componente che riporta il valore di ribaltamento della finestra proveniente dal dispositivo Shelly. Aggiungi un nuovo componente Info al progetto e impostalo sul protocollo MQTT dalla lista a opzioni gateway nelle proprietà del componente.

Passo 12:
Topic: shellies/shellydw2-<deviceID>/sensor/tilt
Impostiamo il topic che riporta il valore pubblicato dal dispositivo Shelly. Il valore è un numero intero: per mostrarlo come “°” seleziona l'unità di misura dalla lista a opzioni Tipo di dato nelle proprietà del componente.
Cliccando questo link puoi consultare i topic illustrati nell'immagine sottostante.

Passo 13:
Impostiamo il componente che riporta la temperatura pubblicata dal dispositivo Shelly. Aggiungi un nuovo componente Info al progetto e impostalo sul protocollo MQTT dalla lista a opzioni del gateway, nella parte superiore delle proprietà del componente.

Passo 14:
Topic: shellies/shellydw2-<deviceID>/sensor/temperature
Impostiamo i topic. Questo topic riporta il valore pubblicato dal dispositivo Shelly come numero decimale.
Cliccando questo link puoi consultare i topic illustrati nell'immagine sottostante.

Passo 15:
Come ultima cosa impostiamo la rilevazione delle vibrazioni: aggiungi un nuovo componente Pulsante nella sezione Componenti e imposta il suo protocollo su quello MQTT creato in precedenza, selezionandolo dalla lista a opzioni Gateway nelle proprietà del componente.

Passo 16:
Topic: shellies/shellydw2-<deviceID>/sensor/vibration
Impostiamo ora i relativi topic: questa volta il topic non si limita a ricevere lo stato, ma cambia anche lo stato del componente Pulsante. Per reimpostare lo stato del componente Pulsante ogni volta che il dispositivo Shelly lo innesca, imposta un tempo di rilascio (“Auto release”) nella sezione auto release delle proprietà del componente Pulsante; è consigliato un tempo di rilascio di 1 secondo.
Cliccando questo link puoi consultare i topic illustrati nell'immagine sottostante.

Come impostare l'invio di una notifica quando viene rilevata una vibrazione
Introduzione
Se l'opzione è abilitata, il dispositivo Shelly Door Window 2 invia il valore 0 se non è rilevata nessuna vibrazione e 1 se la vibrazione è rilevata.
Impostazione del modulo Notifiche
Passo 1.1:
Aggiungi un componente Notifiche trascinandolo dalla sezione Messaggistica, nella parte sinistra della sezione Componenti.

Passo 1.2:
Ora seleziona il componente Pulsante come componente di innesco nelle proprietà del componente Notifica.

Passo 1.3:
Ora seleziona l'utente che riceverà la notifica quando il dispositivo Shelly rileva una vibrazione: clicca sulla lista a opzioni “Select user” e seleziona l'utente desiderato.

Passo 1.4:
Una volta selezionato l'utente, imposta il contenuto della notifica che gli utenti riceveranno. Puoi inserire le informazioni più adatte alle tue esigenze nel campo di testo “Content” delle proprietà del componente Notifica.
Questo conclude la configurazione del modulo notifiche.

Risultato nell'interfaccia utente
Ora proviamo tutti i componenti configurati nell'interfaccia utente dell'app Ilevia Control.
Finestra chiusa

Finestra aperta

Finestra in ribalta

Visualizzazione della notifica
Ecco come viene visualizzata la notifica nell'app Ilevia Control quando il dispositivo Shelly rileva una vibrazione.

Risoluzione dei problemi
1- Assicurati di avere l'ultima versione disponibile di Ilevia Manager e del firmware del server X1.
2- Assicurati che il dispositivo Shelly sia correttamente connesso alla tua rete.
3- Se non riesci a connettere il broker, controlla che l'X1 sia stato impostato correttamente.