COME FUNZIONANO I TOPIC E IL PAYLOAD
I TOPIC
I topic sono: Read, Event, Write e Response. Ogni uno ha differenti tipi di messaggio che il broker usa per filtrare i messaggi per ogni client connesso, i topic sono compoesti a livelli divisi da slash.
Esempio: home/livingroom/light
Questi sono i 4 topic dove ci andremo a iscrivere e quindi scambiare informazionialla fine della configurazione:
Topic read: è usato per ricevere lo stato del dispositivo
Topic responce: è la risposta del dispositivo al server di automazione alla richiesta read.
Topic write: Questo topic è usato per impostare un valore di un parametro del dispositivo
Topic event: Questo topic è usato per mostrare lo stato del dispositivo nel caso cambi.
Topic Response
Il Topic Response sarà richiesto per la risposta al messaggio del topic Read inviato dal dispositivo.
Esempio: Messaggio inviato nella prima connessione per recuperare lo stato del dispositivo.
In questo caso lo script andrà ad interessarsi ad una parte specifica del json derivante dal dispositivo, nel nostro caso “ison“.
Cliccando questo link potrai consultare la configurazione dello script.
Topic Write
Il “Topic Write” invia il comando quando il componente nel sistema EVE cambia stato.
Esempio: Quando l’utente cambia lo stato di un interruttore all’interno dell’applicazione EVE Remote Plus.
Ogni dispositivo potrebbe richiedere un tipo di messaggio differente.
Puoi creare il payload del messaggio MQTT usando un pezzo di codice javascript che inizia dal calore del componente nel sistema EVE e prepara il messaggio che il dispositivo richiede nel giusto formato: testo, JSON o qualsiasi altro.
Invio dati con Topic Write
L’interruttore e altri componenti binari usano i valori 0 e 1 nella variabile all’interno del payload.
Puoi usare questo script per creare il tuo messaggio basato sul suo valore:
Cliccando questo link potrai consultare la configurazione dello script.
All’interno del sistema EVE la percentuale viene processatacome un valore da 0 a 1 e pubblicata come 0 a 100 con una conversione. I componenti che usan questo tipo di valori sono: Cursore, Valore regolabile, avranno questa configurazione all’interno del topic write.
Puoi utilizzare questo script per creare il tuo messaggio MQTT basandoti sul suo valore:
Cliccando questo link potrai consultare la configurazione dello script.
Per inviare informazioni RGB la configurazione è la seguente, andremo ad utilizzare il componente Luce RGB per impostare la corretta configurazione MQTT RGB.
Cliccando questo link potrai consultare la configurazione dello script.
Topic Event
Il “Topic Event“, questo topic andrà a riportare lo stato del dispositivo.
Esempio: Un misuratore di potenza riporta la potenza consumata ogni volta che i valore cambia.
Nel caso di una temperatura, di una potenza o di una energia, il componente predisposto per la visualizzazione di questo valore è il componente info. Come puoi vedere dall’immagine sottostante, lo script andrà semplicemente a recuperare il payload derivante dal dispositivo.
Puoi usare questo scirpt per ricevere i dati dal dispositivo:
Cliccando questo link potrai consultare la configurazione dello script.
Per riportare uno stato di un interruttore, sarà neccessario strutturare lo script nella maniera seguente.
In questo caso lo script andrà a prendere il payload derivante dal dispositivo e riportare quindi lo stato attuale del dispositivo.
Cliccando questo link potrai consultare la configurazione dello script.
PAYLOAD
Un payload è un pezzo di codice che contiene una funzione javascript.
Per ogni topic è eseguita una funzione javascript per processare il payload del topic.
json string example:
var data = JSON.parse(payload);var color = {“mode”:”color”,”red”:data.r,”green”:data.g,”blue”:data.b}; return JSON.stringify(color);