NEWS
Funktion zum auslesen der Leistungsdaten SMA WEBBOX
- 
					
					
					
					
 Ich wollte die Objektstruktur besser sichtbar machen. Von node-red habe ich keine Ahnung. Vielleicht so ? return { payload: msg.payload.result.overview[1].value };oder so ? return msg.result.overview[1].value ;oder, da die Ausgabe "msg.payload" ist, so ? return { payload: msg.result.overview[1].value };Ich hoffe, dass eine der Varianten funktioniert  
- 
					
					
					
					
 Hallo, Eine kleine Änderung ist notwendig: msg.payload=msg.payload.result.overview [1].value; return msg; Gesendet von meinem SM-G900F mit Tapatalk 
- 
					
					
					
					
 msg.payload=msg.payload.result.overview [1].value; return msg; ` 
 Das sollte identisch zu meinem ersten Vorschlag sein.
- 
					
					
					
					
 Praktisch ja, rein formell nein. Zu einem korrekten Message Objekt gehören per Definition mindestens die Attribute payload und topic, auch wenn diese leer sind. Gesendet von meinem SM-G900F mit Tapatalk 
- 
					
					
					
					
 Zu einem korrekten Message Objekt gehören per Definition mindestens die Attribute payload und topic, auch wenn diese leer sind. ` 
 Danke für die Information.
- 
					
					
					
					
 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" } ` 
 
		
	 
		
	