MQTT

Come entrare nella configurazione della payload:

Una volta selezionato l’impianto desiderato, premere sulla rotella in alto a destra, tra la matita e la campanella:

Successivamente fare doppio click sulla periferica desiderata:

Una volta dentro la periferica vedremo tra le voci in alto a sinistra la voce “Payload” e cliccandoci potremmo entrare nella sua configurazione

Array restituito dalla JSONPath query:

In questo caso si possono avere N array, ma in uno solo (quello che verrà estratto tramite JSONPath query) saranno contenuti N oggetti che a loro volta conterranno i dati di cui abbiamo bisogno.

{
"data": [
{
"segnale" : "rotazioni",
"val" : 250,
"ts" : 1740749063,
"um" : "rpm"
},
{
"segnale" : "temperatura",
"val" : 50,
"ts" : 1740749063,
"um" : "°C"
}
]
}

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath query applicata a (1):

NB: Nel caso sottostante, quando salvo la configurazione, tutte le variabili verranno settate su “il valore della proprietà indicata” (come nel primo caso) perché hanno lo stesso valore logico.

Unico array presente nella radice del payload:

In questo caso il codice può contenere i dati di N oggetti, ma tutti si troveranno all’interno dell’unico array.

[
{
"segnale" : "prova2",
"val" : 34,
"um" : "ms",
"ts" : 1740754186
}
]

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath query applicata a (1):

NB: La configurazione sottostante è corretto utilizzarla nel caso in cui si ha un solo oggetto all’interno dell’array.

Unico oggetto presente nella payload:

Questo è il caso più semplice, si ha un solo oggetto dal quale prendere direttamente tutti i dati.

{
"segnale" : "prova3",
"val" : 78,
"um" : "kg",
"ts" : 1740754186
}

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath query:

NB: In questo caso se utilizzo “Il risultato della seguente JSONPath query applicata a ciò che è stato specificato in (1)” otterrò lo stesso risultato dell’esempio soprastante.

Caso particolare:

Quando il segnale viene rappresentato con “nome_segnale” : valore allora è necessario utilizzare una configurazione particolare per la lettura dell’ ID e il suo valore (si può utilizzare anche unico oggetto nella payload e JSONPath query nella voce “Le variabili si trovano (1)”), ma per il resto la payload può essere configurata esattamente come i casi già visti in precedenza.

[
{
"prova6": 2,
"ts": 1740754632,
"um": "rpm"
},
{
"prova7": 45,
"ts": 1740754632,
"um": "°C"
}
]

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath query applicato a (1):

NB: In questo caso, quando verrà letto l’id di una variabile, il valore sulla destrà verrà registrato in automatico come suo valore.

Altri esempi di caso particolare:

In questo caso le configurazioni corrette da applicare sono le stesse nel caso degli N array, cambia solo il modo in cui ID e valore vengono letti.

 {
"data": [
{
"prova14": 2,
"ts": 1740754632,
"um": "rpm"
},
{
"prova15": 45,
"ts": 1740754632,
"um": "°C"
}
]
}

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath applicato a (1):

In questo caso le configurazioni corrette da applicare sono le stesse dell’unico oggetto presente nella payload, cambia solo il modo in cui ID e valore vengono letti.

{
"prova16": 45,
"ts": 1740754632,
"um": "°C"
}

Configurazioni di lettura possibili:

Configurazione con lettura dei valori delle proprietà:

Configurazione con JSONPath query applicato a (1):

Note importanti generiche:

  • Il timestamp può essere scritto in vari formati;
  • Solo alcune unità di misura predefinite possono essere lette;
  • Se seleziono “L’ ID di una variabile è nel topic ed è il testo del livello alla posizione numero” la configurazione prenderà in automatico lo slot del topic specificato e lo utilizzerà come nome del segnale.
  • “Il valore della proprietà con suffisso indicato” significa che l’unità di misura si trova in un campo che inizia con l’id della variabile e poi ha il suffisso inserito nel campo, inoltre si può utilizzare in tutte le casistiche viste in precedenza. ES: { “segnale” : “prova90”, “val” : 78, “prova90um” : “kg”, “prova_ts” : 1740754186 }
ES:
{
"segnale" : "prova90",
"val" : 78,
"prova90um" : "kg",
"prova_ts" : 1740754186
}

Configurazione di lettura corretta (si può utilizzare il suffisso anche con timestamp):

Was this helpful?

0 / 0