NEWS
In einzelne States parsen
-
Hallo Zusammen,
wie kann ich z.B. mit NodeRed folgenden Output in einzelne Objekte und States speichern.
{"CGI_Result":{"result":["0"],"IOAlarm":["0"],"motionDetectAlarm":["1"],"soundAlarm":["0"],"record":["0"]
Objekt: result State: 0
IOAlarm State: 1
usw.
Oder aus diesem Inhalt:
<cgi_result><result>0</result> <ioalarm>0</ioalarm> <motiondetectalarm>1</motiondetectalarm> <soundalarm>0</soundalarm> <record>0</record> <sdstate>0</sdstate> <sdfreespace>0k</sdfreespace> <sdtotalspace>0k</sdtotalspace> <ntpstate>1</ntpstate> <ddnsstate>0 <upnpstate>1</upnpstate> <iswificonnected>1</iswificonnected> <infraledstate>0</infraledstate></ddnsstate></cgi_result>
Danke und Gruß
-
@coronaxxl:{"CGI_Result":{"result":["0"],"IOAlarm":["0"],"motionDetectAlarm":["1"],"soundAlarm":["0"],"record":["0"]} `
in node-red eine Funktion die in etwa so ausschaut (sie kriegt als payload diesen string)
var list = JSON.parse(msg.payload)["CGI_Result"]; for(var key in list) { var nm = {}; nm.topic = "CGI_Result"+"."+key; nm.payload = Number(list[key][0]); // oder Number(list[key][0]) != 0 // wenn es ein Boolean werden soll node.send(nm); } return null;
Die Ausgabe dieser Funktion dann an IO-Broker schicken.
LG
Frank
-
Ok. Super danke. Werde ich am weekend probieren.
Gesendet von meinem SM-N9005 mit Tapatalk