Probleme mit jsonpath transformation
Verfasst: 24. Sep 2018 11:44
Hallo zusammen,
nach mehreren Fehlschlägen, habe ich eine Möglichkeit gefunden, meine Wetterdaten per HTTP Binding auszulesen. Ich benutze die API von openweathermap.
http.cfg:
Die Seite sieht im Browser wie folgt aus.Ich bekomme soweit alle Daten, außer die rot umrandeten:
.items:
Für diesen Ort bringt er mir immer einen Fehler im Log, das der Pfad falsch ist:
Allerdings liest er mir auf der http://www.jsonquerytool.com/Testseite die Daten korrekt aus.
Hat jemand eine Idee, warum das mit openhab nicht funktioniert?
Vielen Dank!
VG Torsten
nach mehreren Fehlschlägen, habe ich eine Möglichkeit gefunden, meine Wetterdaten per HTTP Binding auszulesen. Ich benutze die API von openweathermap.
http.cfg:
Code: Alles auswählen
weatherowm.url=http://api.openweathermap.org/data/2.5/weather?q=Herbsleben,de&APPID=xxxxxxxxxxxxxxxxxxxxxxxxx&units=metric
weatherowm.updateInterval=600000
Code: Alles auswählen
String openWeather_station "Ort" { http="<[weatherowm:60000:JSONPATH($.name)]" }
Number openWeather_temperature "Temperatur [%.2f °C]" { http="<[weatherowm:60000:JSONPATH($.main.temp)]" }
Number openWeather_pressure "Luftdruck [%d mBar]" { http="<[weatherowm:60000:JSONPATH($.main.pressure)]" }
Number openWeather_humidity "Luftfeuchtigkeit [%d %%]" { http="<[weatherowm:60000:JSONPATH($.main.humidity)]" }
Number openWeather_windspeed "Windgeschwindigkeit [%.2f km/h]" { http="<[weatherowm:60000:JSONPATH($.wind.speed)]" }
Number openWeather_winddeg "Windrichtung [%.2f]" { http="<[weatherowm:60000:JSONPATH($.wind.deg)]" }
Number openWeather_cloud "Bewölkung" { http="<[weatherowm:60000:JSONPATH($.clouds.all)]" }
String openWeather_weather "Wetter" { http="<[weatherowm:60000:JSONPATH($.weather.0.description)]" }
//Image openWeather_weathericon "Wetterbild" { http="<[weatherowm:60000:JSONPATH($.weather.0.icon)]" }
Number openWeather_temp_min "Temperatur min [%.2f °C]" { http="<[weatherowm:60000:JSONPATH($.main.temp_min)]" }
Number openWeather_temp_max "Temperatur min [%.2f °C]" { http="<[weatherowm:60000:JSONPATH($.main.temp_max)]" }
Code: Alles auswählen
{ http="<[weatherowm:60000:JSONPATH($.weather.0.description)]" }
Code: Alles auswählen
{"coord":{
"lon":11.88,"lat":55.11
},
"weather":[{
"id":521,
"main":"Rain",
"description":"shower rain",
"icon":"09d"
}],
"base":"stations",
"main":{
"temp":9,
"pressure":1028,
"humidity":70,
"temp_min":9,
"temp_max":9
},
"visibility":10000,
"wind":{
"speed":8.7,
"deg":300
},
"clouds":{
"all":75
},
"dt":1537779000,
"sys":{
"type":1,
"id":1234,
"message":0.0025,
"country":"DE",
"sunrise":123456789,
"sunset":123456789
},
"id":2906185,
"name":"xxxxxx",
"cod":212
}
Code: Alles auswählen
$.weather.0.description
Code: Alles auswählen
[
"shower rain"
]
Vielen Dank!
VG Torsten