Hallo nochmal, vor einiger Zeit habe ich gefragt, wie man ein MQTT Datums-String im Rahmen einer Transformation extrahiert. Nun stehe ich vor der nächsten Hürde und muss einen String von mehreren Temperatursensoren auseinander dividieren. Der String zeigt sich im folgenden Format
S1;S2;S3;S4;S5;S6
S steht für die jewiligen Temperatursensoren, die in diesem String jeweils ihre eigenen Temperaturen anzeigen. Also als Beispiel
44.44;12.56;-;-;16.62;-;c8 50 04
Die letzte stelle scheint eine Hexadez ziffer für irgendeine Kennung zu sein. Also eher uninteressant für mich. Jetzt möchte ich diesen String zerlegen und jede einzelne Temperatur im Rahmen eines Items einzeln anlegen. Wie könnte man das machen?
Gruß
MQTT String mit mehreren Variablen / Items
-
- Beiträge: 20
- Registriert: 7. Dez 2023 09:38
-
- Beiträge: 373
- Registriert: 30. Apr 2021 13:13
Re: MQTT String mit mehreren Variablen / Items
Moin,
Du kannst den String innerhalb einer Rule mit DeineStringVariable.split(';') in ein Array umwandeln oder gleich am Eingang mittels der Incoming_Value_Transformations aufteilen.
JS:|(input).split(';')[0] ergibt dort 44.44
Für letzteres bei Configure_Channel auf Show_advanced klicken
Du kannst den String innerhalb einer Rule mit DeineStringVariable.split(';') in ein Array umwandeln oder gleich am Eingang mittels der Incoming_Value_Transformations aufteilen.
JS:|(input).split(';')[0] ergibt dort 44.44
Für letzteres bei Configure_Channel auf Show_advanced klicken
-
- Beiträge: 20
- Registriert: 7. Dez 2023 09:38
Re: MQTT String mit mehreren Variablen / Items
Sehr schön. Das hat funktioniert. Danke dafür. Zwar musste ich jetzt für jedes Item ein eigenen Channel erstellt aber ich denke damit kann ich leben.
Die Ziffer in der letzten eckigen Klammer habe ich dann gemäß der STelle in dem String durchnummeriert um die gewünschte Zahl zu bekommen.
Danke nochmal