@ MichaelN
vielen Dank für den Link. Einen Teilerfolg habe ich nun schonmal. Der Füllstand wird in eine Variable geschrieben, der Abstand leider noch nicht.
ich habe das Script so auf meine Bedürfnisse angepasst.
Code: Alles auswählen
!V1.0 MichaelN https://homematic-forum.de/forum/viewtopic.php?f=26&t=65051&p=639981#p639981
string url = "http://192.168.0.117/json";
string prefix = "RT_";
string rueck;
string error;
object SV;
system.Exec("wget --no-check-certificate --timeout=2 -O - '"#url#"'" , &rueck, &error);
if (!rueck== "")
{
WriteLine("HTTP-Request OK");
rueck = rueck.Replace('"','');
string Part;
foreach (Part, rueck.Split(",") ){
if (Part.Contains(":"))
{
Part = Part.Replace(":",";");
WriteLine (prefix # web.webGetValueFromList(Part,0) #" = "# web.webGetValueFromList(Part,1));
SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get((prefix # web.webGetValueFromList(Part,0)));
if (SV) {
SV.State(web.webGetValueFromList(Part,1));
WriteLine("=== SV "#prefix # web.webGetValueFromList(Part,0)#" written ===");
}
}
}
} else {
WriteLine("Error at HTTP Request");
}
Als Ausgabe erhalte ich das hier
Code: Alles auswählen
HTTP-Request OK
RT_{Sensor = Zisterne
RT_IP = 192.168.0.117
RT_Fuellstand = 63
=== SV RT_Fuellstand written ===
RT_Abstand = 69}
=== SV RT_Abstand written ===
und meine beiden Systemvariablen habe ich so angelegt wie auf den Bildern zu sehen. Was oder wie muss ich denn ändern damit auch der Abstand mit Daten gefüllt wird? Wie gesagt, Füllmenge in % klappt schonmal sehr gut.
PS: bin jetzt etwas weiter gekommen. Bei der erstellung der Systemvariable "RT_Abstand" habe ich jetzt nicht Zahl sondern Wert eingegeben. Nun wird die Variable RT_Abstand auch gefüllt, allerdings am Ende immer mit dem } Zeichen. Wie bekommt man denn dieses nun weg bzw das nur der Wert angezeigt wird? Anbei noch paar Bilder worauf man es erkennt.