ich lese derzeit die voraussichtlichen Erzeugungsdaten der PV über forecast.solar in den Volkszähler ein. Nun möchte ich es gerne über openHAB realisieren. Ich scheitere doch über der JSON Antwort. Die sieht folgendermaßen aus:
Code: Alles auswählen
{
"result": {
"watts": {
"2021-08-29 06:16:00": 0,
"2021-08-29 07:08:00": 11,
"2021-08-29 08:00:00": 92,
"2021-08-29 09:00:00": 308,
"2021-08-29 10:00:00": 605,
"2021-08-29 11:00:00": 907,
"2021-08-29 12:00:00": 1129,
"2021-08-29 13:00:00": 1269,
"2021-08-29 14:00:00": 1345,
"2021-08-29 15:00:00": 1291,
"2021-08-29 16:00:00": 1107,
"2021-08-29 17:00:00": 864,
"2021-08-29 18:00:00": 583,
"2021-08-29 19:00:00": 286,
"2021-08-29 20:00:00": 32,
"2021-08-29 20:03:00": 5,
"2021-08-29 20:06:00": 0,
"2021-08-30 06:17:00": 0,
"2021-08-30 07:09:00": 11,
"2021-08-30 08:00:00": 86,
"2021-08-30 09:00:00": 308,
"2021-08-30 10:00:00": 599,
"2021-08-30 11:00:00": 902,
"2021-08-30 12:00:00": 1129,
"2021-08-30 13:00:00": 1269,
"2021-08-30 14:00:00": 1339,
"2021-08-30 15:00:00": 1285,
"2021-08-30 16:00:00": 1118,
"2021-08-30 17:00:00": 875,
"2021-08-30 18:00:00": 583,
"2021-08-30 19:00:00": 275,
"2021-08-30 19:32:00": 38,
"2021-08-30 20:04:00": 0
},
"watt_hours": {
"2021-08-29 06:16:00": 0,
"2021-08-29 07:08:00": 10,
"2021-08-29 08:00:00": 89,
"2021-08-29 09:00:00": 397,
"2021-08-29 10:00:00": 1002,
"2021-08-29 11:00:00": 1909,
"2021-08-29 12:00:00": 3038,
"2021-08-29 13:00:00": 4307,
"2021-08-29 14:00:00": 5652,
"2021-08-29 15:00:00": 6943,
"2021-08-29 16:00:00": 8050,
"2021-08-29 17:00:00": 8914,
"2021-08-29 18:00:00": 9497,
"2021-08-29 19:00:00": 9783,
"2021-08-29 20:00:00": 9815,
"2021-08-29 20:03:00": 9816,
"2021-08-29 20:06:00": 9816,
"2021-08-30 06:17:00": 0,
"2021-08-30 07:09:00": 10,
"2021-08-30 08:00:00": 83,
"2021-08-30 09:00:00": 391,
"2021-08-30 10:00:00": 990,
"2021-08-30 11:00:00": 1892,
"2021-08-30 12:00:00": 3021,
"2021-08-30 13:00:00": 4290,
"2021-08-30 14:00:00": 5629,
"2021-08-30 15:00:00": 6914,
"2021-08-30 16:00:00": 8032,
"2021-08-30 17:00:00": 8907,
"2021-08-30 18:00:00": 9490,
"2021-08-30 19:00:00": 9765,
"2021-08-30 19:32:00": 9785,
"2021-08-30 20:04:00": 9785
},
"watt_hours_day": {
"2021-08-29": 9816,
"2021-08-30": 9785
}
},
"message": {
"code": 0,
"type": "success",
"text": "",
"info": {
"latitude": 49.0754,
"longitude": 12.2096,
"place": "93173 Wenzenbach, Landkreis Regensburg, Bayern, DE",
"timezone": "Europe/Berlin"
},
"ratelimit": {
"period": 3600,
"limit": 12,
"remaining": 8
}
}
}
Code: Alles auswählen
JSONPATH:$.result.watt_hours_day.2021-08-29
Oder wäre es besser hier mit eine Javascript-transformation zu arbeiten? Bei einem Wechselrichter frage ich auch mit Javascript ab, wüsste aber nicht wie ich das abändern muss. So:
Code: Alles auswählen
(function(string){
var data = JSON.parse(string);
try {
var value = data.Body.Data.Site.P_PV.toString();
}
catch (e) {
var value = 0
}
return value;
})(input)