Variable per JSON einlesen und auf Plausibilität überprüfen
Verfasst: 03.05.2019, 13:15
Ich möchte eine Variable per JSON befüllen.
Anbei die JSON-Ausgabe der Seite
Anbei mein bisheriger Script, den ich aus verschieden zusammenkopiert. Die Variablen sind bisher noch kunterbunt, da ich bisher och teste.
Das Problem ist wenn sich der Wert nun in der Anzahl der Stellen ändert wird ja dieser abgeschnitten.
Kann ich auch filtern zwischen value + }
Kann ich später diese Variable auf Plausibilität überprüfen, d.h. sie darf sich nur einen bestimmten Wert ändern?
Anbei die JSON-Ausgabe der Seite
Code: Alles auswählen
{"modultyp":"PULSECOUNTER","vars":[{"name":"0","homematic_name":"w_counter_ip","desc":"ip des pulsecounters","type":"string","unit":"","value":"192.168.178.56"},{"name":"11","homematic_name":"w_counter_1","desc":"w_counter_1","type":"number","unit":"KWh","value":0.00},{"name":"12","homematic_name":"w_power_1","desc":"w_power_1","type":"number","unit":"KW","value":0.001},{"name":"13","homematic_name":"w_counter_2","desc":"w_counter_2","type":"number","unit":"KWh","value":0.00},{"name":"14","homematic_name":"w_power_2","desc":"w_power_2","type":"number","unit":"KW","value":0.001},{"name":"15","homematic_name":"w_counter_3","desc":"w_counter_3","type":"number","unit":"KWh","value":0.00},{"name":"16","homematic_name":"w_power_3","desc":"w_power_3","type":"number","unit":"KW","value":0.006},{"name":"17","homematic_name":"w_counter_4","desc":"w_counter_4","type":"number","unit":"m3","value":[b]1.92[/b]},{"name":"18","homematic_name":"w_power_4","desc":"w_power_4","type":"number","unit":"m3/h","value":0.000}],"Systeminfo":{"MAC-Adresse":"5c:cf:7f:c5:f5:e8","Homematic_CCU_ip":"192.168.178.55","WLAN_ssid":"www.nuiler.de","WLAN_Signal_dBm":-46,"sec_seit_reset":180739,"zeitpunkt":"2019.05.08/12:10:28","firmware":"wiffi_counter_30"}}
Anbei mein bisheriger Script, den ich aus verschieden zusammenkopiert. Die Variablen sind bisher noch kunterbunt, da ich bisher och teste.
Code: Alles auswählen
var temp = dom.GetObject('w_counter_4').Value();
WriteLine(temp);
var url = "http://192.168.178.56/?json:";
!hier ist die Abfrage mit system.Exec
string stdout;
string stderr;
system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);
!WriteLine(stdout);
string wetter_xml = stdout;
WriteLine(wetter_xml);
integer pm10_position = wetter_xml.Find("w_counter_4");
WriteLine(pm10_position);
string pm10_value = wetter_xml.Substr((pm10_position+70), 4);
WriteLine(pm10_value);
Kann ich auch filtern zwischen value + }
Kann ich später diese Variable auf Plausibilität überprüfen, d.h. sie darf sich nur einen bestimmten Wert ändern?