Hallo zusammen,
meine Wallbox (Hardy Barth bzw. ecb1) gibt über einen HTTP Request ein entsprechendes JSON Objekt zurück.
http://192.168.1.22/api/v1/chargelogs?from=2021-03-13&to=2021-03-14{
"protocol-version": "1.4",
"logs": [{
"starttime": "2021-03-13T15:32:47",
"duration": 707,
"energy": 1.2170000000000001,
"counterstop": 1.2190000000000001,
"socket": 1,
"uid": "",
"counterstart": 0.002,
"stoptime": "2021-03-13T15:44:34",
"id": 1
}, {
"starttime": "2021-03-13T15:45:13",
"duration": 854,
"energy": 0.63,
"counterstop": 1.854,
"socket": 1,
"uid": "",
"counterstart": 1.224,
"stoptime": "2021-03-13T15:59:27",
"id": 2
}, {
"starttime": "2021-03-13T15:59:43",
"duration": 607,
"energy": 0.447,
"counterstop": 2.302,
"socket": 1,
"uid": "",
"counterstart": 1.854,
"stoptime": "2021-03-13T16:09:50",
"id": 3
}, {
usw..
Ich möchte nun die Werte aller "energy" Attribute addieren, um eine Summe zu erhalten.
Meine Idee war das Über HTTMOD zu lösen. Allerdings bekomme ich es nur hin, entsprechende einzel Readings für jedes Attribut erzeugen zu lassen.
define WallboxLogs HTTPMOD
http://192.168.1.22/api/v1/chargelogs?from=2021-03-13&to=2021-03-14 0
attr WallboxLogs getHeader1 Content-Type: application/json
attr WallboxLogs getHeader2 Accept: */*
attr WallboxLogs extractAllJSON
Ich hätte gerne den "Raw" Output von oben in einem Reading, damit ich dann den Inhalt an eine eine Perl Funktion übergeben kann und das ganze dann nach dem Muster:
https://stackoverflow.com/questions/11641954/loop-over-json-using-perlauslesen kann und wieder in ein Reading schreiben kann.
Hat einer eine Idee, wie ich den Raw JSON Output bekomme oder gibt es noch elegantere Möglichkeiten?
Vielen Dank!