Sensordaten konvertieren
Verfasst: 6. Sep 2023 18:21
Hallo zusammen,
ich habe nach langem herumspielen endlich die Daten meiner Wetterstation mit MQTT einlesen, und die Sensordaten mittels JSONPATH auslesen können. Da ich selber keinerlei Programmier-Kenntnis habe, bin ich auf viele Beispiele angewiesen, die ich dann nachbaue. Mein Problem ist nun, dass die Daten, die ich ausgelesen bekomme, um eine Zehner-Potenz zu hoch angezeigt werden. Die Daten aus dem Empfangsbaustein der Wetterstation habe ich als Screenshot angehängt.
![Bild]()
mittels dieser Rule lese ich die empfangenen Rohdaten:
ich habe gelesen, das OH die Werte trotz Typ string intern dennoch als number behandelt - die ausgelesenen Werte ensprechen jedoch nicht dem eigentlichen Werten:
dankbar für jeden Tip
Andreas
Ach ja, ich betreibe OH in der aktuellen stable Release in einer Suse-VM
ich habe nach langem herumspielen endlich die Daten meiner Wetterstation mit MQTT einlesen, und die Sensordaten mittels JSONPATH auslesen können. Da ich selber keinerlei Programmier-Kenntnis habe, bin ich auf viele Beispiele angewiesen, die ich dann nachbaue. Mein Problem ist nun, dass die Daten, die ich ausgelesen bekomme, um eine Zehner-Potenz zu hoch angezeigt werden. Die Daten aus dem Empfangsbaustein der Wetterstation habe ich als Screenshot angehängt.
mittels dieser Rule lese ich die empfangenen Rohdaten:
Code: Alles auswählen
rule "Regel zum Auslesen der Wetterdaten aus den strings"
when
Item Outdoor_Weatherstation_Outdoor_Weather_Station received update
then
WindrichtungOWS.postUpdate(transform("JSONPATH", "$.wind_direction", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
TemperaturOWS.postUpdate(transform("JSONPATH", "$.temperature", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
LuftfeuchtigkeitOWS.postUpdate(transform("JSONPATH", "$.humidity", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
WindgeschwindigkeitOWS.postUpdate(transform("JSONPATH", "$.wind_speed", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
BoeenOWS.postUpdate(transform("JSONPATH", "$.gust_speed", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
RegenOWS.postUpdate(transform("JSONPATH", "$.rain", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
BatterieLowOWS.postUpdate(transform("JSONPATH", "$.battery_low", Outdoor_Weatherstation_Outdoor_Weather_Station.state.toString))
end
kann mir jemand helfen, die Daten richtig zu formatieren?{"identifier": 129, "temperature": 297, "humidity": 38, "wind_speed": 0, "gust_speed": 3, "rain": 3, "wind_direction": "e", "battery_low": false}
dankbar für jeden Tip
Andreas
Ach ja, ich betreibe OH in der aktuellen stable Release in einer Suse-VM