MQTT transformation

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
hulda
Beiträge: 68
Registriert: 13. Jan 2018 19:43
Answers: 0

MQTT transformation

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: MQTT transformation

Beitrag von udo1toni »

Du benötigst dazu die JSONPATH Transformation (die musst Du zunächst installieren).
Der gesuchte Eintrag lautet dann JSONPATH:$.temperatureaussen
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

hulda
Beiträge: 68
Registriert: 13. Jan 2018 19:43
Answers: 0

Re: MQTT transformation

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: MQTT transformation

Beitrag 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...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

hulda
Beiträge: 68
Registriert: 13. Jan 2018 19:43
Answers: 0

Re: MQTT transformation

Beitrag 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?

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: MQTT transformation

Beitrag von udo1toni »

Na, und es kommt immer eine 15? dann brauchst Du ja keinen Channel...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten