Seite 1 von 1

MQTT transformation

Verfasst: 4. Jan 2022 14:58
von hulda
Hallo zusammen
wie kann ich aus dem "Eingang":
{"temperatureaussen":25.6}
nur die "25.6" erhalten um sie in einem item weiter zu nutzen.
Die Eingaben habe ich per MQTT.fx ermittelt.

im MQTT habe ich bei
"MQTT State Topic"
das eingetragen:
v1/devices/me/telemetry

der Wert der ausgelesen soll kommt so an:
{"temperatureaussen":25.6}
Was muß ich dazu bei:
"Incoming Value Transformations" eintragen um nur die Zahl zu bekommen?

Gruß Dirk

Re: MQTT transformation

Verfasst: 4. Jan 2022 20:23
von udo1toni
Du benötigst dazu die JSONPATH Transformation (die musst Du zunächst installieren).
Der gesuchte Eintrag lautet dann JSONPATH:$.temperatureaussen

Re: MQTT transformation

Verfasst: 5. Jan 2022 13:08
von hulda
Hallo,
ich hatte es so gemacht:
REGEX:(.*temperatureaussen.*)∩JSONPATH:$.temperatureaussen
aber nicht wirklich verstanden warum es funktioniert.
Jetzt funktioniert es....
Vielen Dank.
Kann man aus einem ankommenden Wert z.B. 15 einen Wert 1 machen?

Gruß Dirk

Re: MQTT transformation

Verfasst: 5. Jan 2022 14:34
von udo1toni
hulda hat geschrieben: 5. Jan 2022 13:08 Hallo,
ich hatte es so gemacht:

Code: Alles auswählen

REGEX:(.*temperatureaussen.*)∩JSONPATH:$.temperatureaussen
aber nicht wirklich verstanden warum es funktioniert.
Ja, das geht (unter der Voraussetzung, dass zusätzlich zu JSONPATH auch noch die REGEX Transformation isntalliert ist). Das Konstrukt braucht man, wenn das JSON Objekt verschiedene Formate annehmen kann und man ein Feld abfragt, welches nicht in jedem Objekt enthalten ist.
Kann man aus einem ankommenden Wert z.B. 15 einen Wert 1 machen?
was meinst Du damit? Möglich ist Vieles...

Re: MQTT transformation

Verfasst: 5. Jan 2022 16:43
von hulda
Kann man aus einem ankommenden Wert z.B. 15 einen Wert 1 machen?
ich habe als Eingangswert von MQTT eine 15 und möchte das immer gleich zu einer 1 machen.
Also 15 entspricht 1...
Oder ist das am besten mit einer Rule?

Re: MQTT transformation

Verfasst: 5. Jan 2022 22:42
von udo1toni
Na, und es kommt immer eine 15? dann brauchst Du ja keinen Channel...