Ich habe eine Solaranlage und einen Voltoplus Regler der Abhängig der produzierten Solarstrommenge diverse Schaltausgänge hat.
Der Voltoplus ist via http erreichbar und man kann dort die produzierte Solarstrommenge, den Verbrauch usw. anschauen.
Vom Hersteller habe ich nun die Daten bekommen wie man daraus die Werte abfragen kann.
Mit http://voltoplus.local/api/v1/values bokommt man folgende Werte:
{"json_values":[{"id":"P","value":"520"}, usw
Ich habe nun eine Systemvariable erstellt mit dem Namen Solar als Zahl
und folgendes Script das alle Minuten läuft:
Code: Alles auswählen
var
url="http://192.168.178.110/api/v1/values";
dom.GetObject ("CuX System Exec:1.CMD_SETS") .State("wget -q -O -" # url) ;
dom.GetObject ("CuX System Exec:1.CMD_QUERY_RET") .State (1) ;
string volto_xml = dom.GetObject ("CuX System Exec:1.CMD_RETS") .State() ;
string suchwort = "P";
integer suchwortlaenge = suchwort.Length () ;
integer wortposition = volto_xml.Find(suchwort) ;
string suchwort = "P" ;
integer wortendepos = volto_xml.Find(suchwort) ;
string daten = volto_xml.Substr((wortposition+suchwortlaenge+1) ,wortendepos-(wortposition+suchwortlaenge+1)) ;
dom.GetObject ("Solar") .State(daten) ;
Leider bleibt die Variable auf null stehen, sehe keine Daten...
Weiss Jemand was ich Falsch mache?
Vielen Dank für Eure Hilfe