Hallo zusammen,
Ich bekomme in einem neu angelegten MQTT Device, welches von einem easyesp-Sensor Daten als Reading bekommt, folgenden String:
BMP280
{"idx":1,"RSSI":5,"nvalue":0,"svalue":"26.8;40.9;1;1010.0;0"}
2018-09-03 17:33:35
Wie kann ich hier die hinteren 4 Werte jeweils in eine Variable schreiben?
Oder in so etwas ändern:
Temperatur 26.8
Luftfeuchtigkeit 40.9
Luftdruck 1010.0
Viele Grüße
Hey, welche Werte brauchst du genau?
Wo sollen die Variablen/Readings gespeichert werden?
Gruß
Vaddi
userreading mit folgender Regex
m#svalue":"(-?\d+?.\d);(\d+?.\d);\d;(\d+?.\d);.*#
Ist das kein Anwendungsfall des expandJSON-Moduls? Ein entsprechendes Device dröselt das Reading mit der Mqtt-Nachricht in deren Einzelteile auf und macht daraus einzelne Readings (mit div. Optionen).
Gesendet mit einem ortsungebundenen Telefonapparat via Tapatalk
Zitat von: alpha1974 am 03 September 2018, 22:22:46
Ist das kein Anwendungsfall des expandJSON-Moduls? Ein entsprechendes Device dröselt das Reading mit der Mqtt-Nachricht in deren Einzelteile auf und macht daraus einzelne Readings (mit div. Optionen).
Gesendet mit einem ortsungebundenen Telefonapparat via Tapatalk
Ja wäre auch möglich.
Auch die MQTT2-Module entpacken den JSON. Wenn du also erst in das Thema einsteigst: ist nach meinem Eindruck viel einfacher!
Allerdings mußt du vermutlich trotzdem den hinteren Teil (26.8;40.9;1;1010.0;0) irgendwie aufteilen, das dürfte erst mal im Reading "svalue" landen.
Zitat von: Beta-User am 03 September 2018, 23:01:03
Auch die MQTT2-Module entpacken den JSON. Wenn du also erst in das Thema einsteigst: ist nach meinem Eindruck viel einfacher!
Allerdings mußt du vermutlich trotzdem den hinteren Teil (26.8;40.9;1;1010.0;0) irgendwie aufteilen, das dürfte erst mal im Reading "svalue" landen.
Aber das wäre ja schnell mit nem userReadings und split erledigt.
Hallo zusammen,
vielen Dank für die vielen Antworten. :)
Leider kann ich mit den kurzen Stichpunkten als Anfänger (gepostet im Anfängerforum) nicht so viel anfangen.
Es wäre für mich sinnvoller, wenn man das kurz Erläutern würde. z.B. userReading mit folgenden Redex habe ich einfach nicht hinbekommen.
Ich habe für mich nun folgende Lösung gefunden. Den MQTT Controller von domoticz nach OpenHab(er muß Username/Password unterstützen) geändert. Dieser sendet für jedes Value ein Reading.
Viele Grüße,
ClashC
Zitat von: ClashC am 04 September 2018, 12:20:21
Den MQTT Controller von domoticz nach OpenHab(er muß Username/Password unterstützen) geändert.
Für den Fall, dass sich das auf den Hinweis auf MQTT2 bezog: MQTT2_SERVER kann mit "allowed" mit "Username/Password" umgehen.
ZitatLeider kann ich mit den kurzen Stichpunkten als Anfänger (gepostet im Anfängerforum) nicht so viel anfangen.
Woher sollen wir wissen, auf welchem Kenntnisstand du bist? Darfst ja nachfragen, wenn die Stichworte allein nicht reichen...
Zitat von: Beta-User am 04 September 2018, 12:26:53
Für den Fall, dass sich das auf den Hinweis auf MQTT2 bezog: MQTT2_SERVER kann mit "allowed" mit "Username/Password" umgehen.
Ich meinte hier, die verfügbaren MQTT Controller, die Easyesp anbietet. Hier können nur domoticz und OpenHab mit Username/Password umgehen, PiDom-mqtt nicht.
Den MQTT2-Server muss ich mir mal anschauen... :)
Die Doku zu ESPEasy ist m.E. ein wenig verwirrend...
Wie dem auch sei:
ZitatOpenHAB does not have a build-in MQTT broker. You can install Mosquitto quite easily if you have OpenHAB running on a Raspberry-PI. The ESP communicates with a MQTT Broker on it's default port 1883, but of course that can be changed. The MQTT broker distributes all messages between connected nodes (systems that have a subscription to this broker).
Jedenfalls bei meinen (Nicht-ESPEasy-Devices), die seither mit Mosquitto gesprochen hatten, war es gar kein Problem, die auf die MQTT2-Module "umzumodeln" (bisher aber noch ohne User/password). Genauer gesagt mußte ich da _nichts_ an den Einstellungen auf den ESP's ändern, sondern nur den Mosquitto abschalten und den MQTT2-Server definieren (mit Port 1883) ::) .
Versuch's ggf. mal einfach mit diesem Controller-Typen als Einstellung ;) .
Viel Erfolg,
Beta-User