NEWS
Funktion zum auslesen der Leistungsdaten SMA WEBBOX
-
Hat super funktioniert
hier die Lösung
msg1 = {};
msg1.payload = msg.payload.result.overview[0].value + " " + msg.payload.result.overview[0].unit;
msg2 = {};
msg2.payload = msg.payload.result.overview[1].value + " " + msg.payload.result.overview[1].unit;
msg3 = {};
msg3.payload = msg.payload.result.overview[2].value + " " + msg.payload.result.overview[2].unit ;
return [msg1,msg2,msg3];
mir ist noch unklar wie die Funktion aussehen müsste wenn der folgende String abgefragt wird.
{"result":{"devices":[{"channels":[{"meta":"Ipv","name":"DC Strom Eingang","unit":"A","value":"0"},{"meta":"Upv-Ist","name":"DC Spannung Eingang","unit":"V","value":"0"},{"meta":"WindVel m/s","name":"Windgeschwindigkeit","unit":"m/s","value":"2.4"},{"meta":"TmpAmb C","name":"Au\u00DFentemperatur","unit":"\u00B0C","value":"20.3"},{"meta":"IntSolIrr","name":"Einstrahlung","unit":"W/m^2","value":"75"},{"meta":"Fac","name":"Netzfrequenz","unit":"Hz","value":"0"},{"meta":"Iac-Ist","name":"Netzstrom","unit":"A","value":"0"},{"meta":"Pac","name":"Leistung","unit":"W","value":"0"},{"meta":"Riso","name":"Isolationswiderstand","unit":"Ohm","value":"0"},{"meta":"TmpMdul C","name":"Modultemperatur","unit":"\u00B0C","value":"22.3"},{"meta":"h-On","name":"Einspeisezeit","unit":"h","value":"0"},{"meta":"h-Total","name":"Betriebszeit","unit":"h","value":"0"},{"meta":"E-Total","name":"Gesamtertrag","unit":"kWh","value":"0"},{"meta":"Netz-Ein","name":"Anzahl Netzzuschaltungen","value":"0"}],"key":"0088:0000725b"}]},"format":"JSON","proc":"GetProcessData","version":"1.0","id":"1"}
-
Gib das json objekt doch mal hier in das Formular ein:
Dann wird es richtig formatiert und man sieht die Ebenen und Arrays für den Zugriff auf die Attribute.
Gesendet von meinem SM-G900F mit Tapatalk
-
Danke für den Tip.
es sind 2 Arrays wie fragt man die dann ab ? Ich würde dann gerne die Modultemperatur auslesen.
{
"result": {
"devices": [
{
"channels": [
{
"meta": "Ipv",
"name": "DC Strom Eingang",
"unit": "A",
"value": "0"
},
{
"meta": "Upv-Ist",
"name": "DC Spannung Eingang",
"unit": "V",
"value": "0"
},
{
"meta": "WindVel m/s",
"name": "Windgeschwindigkeit",
"unit": "m/s",
"value": "2.4"
},
{
"meta": "TmpAmb C",
"name": "Au\u00dfentemperatur",
"unit": "\u00b0C",
"value": "20.3"
},
{
"meta": "IntSolIrr",
"name": "Einstrahlung",
"unit": "W/m^2",
"value": "75"
},
{
"meta": "Fac",
"name": "Netzfrequenz",
"unit": "Hz",
"value": "0"
},
{
"meta": "Iac-Ist",
"name": "Netzstrom",
"unit": "A",
"value": "0"
},
{
"meta": "Pac",
"name": "Leistung",
"unit": "W",
"value": "0"
},
{
"meta": "Riso",
"name": "Isolationswiderstand",
"unit": "Ohm",
"value": "0"
},
{
"meta": "TmpMdul C",
"name": "Modultemperatur",
"unit": "\u00b0C",
"value": "22.3"
},
{
"meta": "h-On",
"name": "Einspeisezeit",
"unit": "h",
"value": "0"
},
{
"meta": "h-Total",
"name": "Betriebszeit",
"unit": "h",
"value": "0"
},
{
"meta": "E-Total",
"name": "Gesamtertrag",
"unit": "kWh",
"value": "0"
},
{
"meta": "Netz-Ein",
"name": "Anzahl Netzzuschaltungen",
"value": "0"
}
],
"key": "0088:0000725b"
}
]
},
"format": "JSON",
"proc": "GetProcessData",
"version": "1.0",
"id": "1"
}
-
Einfach durchhangeln. Z. B.
msg.payload.result.devices[0].channels [0].value
Wenn nur die Werte und Einheiten interessant sind, bleibt das erste Array konstant auf 0. Die Anzahl der Einträge im zweiten Array bekommt man mit msg.payload.result.devices[0].channels.length.
Jetzt kommt es drauf an, was mit den Werten passieren soll.
Gesendet von meinem GT-N8000 mit Tapatalk
-
Gib das json objekt doch mal hier in das Formular ein:
Dann wird es richtig formatiert und man sieht die Ebenen und Arrays für den Zugriff auf die Attribute.
Gesendet von meinem SM-G900F mit Tapatalk `
Ich benutze https://jsonformatter.org/json-pretty-print und https://codebeautify.org/jsonviewer
-
hast du es gelöst… ich bekomme leider noch nicht mal eine Rückmeldung von der Webbox, wäre schön wenn du mir da helfen könntest.
Danke
Danke für den Tip.
es sind 2 Arrays wie fragt man die dann ab ? Ich würde dann gerne die Modultemperatur auslesen.
{
"result": {
"devices": [
{
"channels": [
{
"meta": "Ipv",
"name": "DC Strom Eingang",
"unit": "A",
"value": "0"
},
{
"meta": "Upv-Ist",
"name": "DC Spannung Eingang",
"unit": "V",
"value": "0"
},
{
"meta": "WindVel m/s",
"name": "Windgeschwindigkeit",
"unit": "m/s",
"value": "2.4"
},
{
"meta": "TmpAmb C",
"name": "Au\u00dfentemperatur",
"unit": "\u00b0C",
"value": "20.3"
},
{
"meta": "IntSolIrr",
"name": "Einstrahlung",
"unit": "W/m^2",
"value": "75"
},
{
"meta": "Fac",
"name": "Netzfrequenz",
"unit": "Hz",
"value": "0"
},
{
"meta": "Iac-Ist",
"name": "Netzstrom",
"unit": "A",
"value": "0"
},
{
"meta": "Pac",
"name": "Leistung",
"unit": "W",
"value": "0"
},
{
"meta": "Riso",
"name": "Isolationswiderstand",
"unit": "Ohm",
"value": "0"
},
{
"meta": "TmpMdul C",
"name": "Modultemperatur",
"unit": "\u00b0C",
"value": "22.3"
},
{
"meta": "h-On",
"name": "Einspeisezeit",
"unit": "h",
"value": "0"
},
{
"meta": "h-Total",
"name": "Betriebszeit",
"unit": "h",
"value": "0"
},
{
"meta": "E-Total",
"name": "Gesamtertrag",
"unit": "kWh",
"value": "0"
},
{
"meta": "Netz-Ein",
"name": "Anzahl Netzzuschaltungen",
"value": "0"
}
],
"key": "0088:0000725b"
}
]
},
"format": "JSON",
"proc": "GetProcessData",
"version": "1.0",
"id": "1"
} `
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login