Hallo zusammen
bitte entschuldigt mich, dass ich euch schon wieder mit solch belanglosen Dingen störe. Ich habe nach der Anleitung von 66er hier im Forum versucht den Schaltzustand des Schalters aktualisieren zu lassen. Sobald ich jedoch per Shelly App abschalte wird der Status nicht aktualisiert. Die Zeit wann der Schalter aktualisiert wird, wird auch nicht mehr in den Schrittweiten des CuxD aktualisiert. Das Programm jedoch läuft im Takt durch und immer weiter. Anbei wie gewünscht mein der Script-Code und die Screenshots.
Ich lasse den Timer alle 10 Sekunden laufen für die Testphase, einfach nur das es schneller geht.
IP-Adresse Shelly: 192.168.178.49
IP-Adresse Rasperry: 192.168.178.24
CuxD Timer CUX2800001:1
CuxD Schalter CUX4000001:1
CuxD Exec CUX2801001:1
!Skript zur Statusaktualisierung Shelly1 mit Originalfirmware (c) by 66er V1.1
!Raumbezeichnung
var url = "http://192.168.178.49/relay/0/status";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("0");
!WriteLine(Antwort);
string word = "ison:";
integer word_laenge = word.Length();
integer word_position = Antwort.Find(word);
string daten = Antwort.Substr((word_position + word_laenge +4), 5);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -3));
Antwort = "true";
!WriteLine(daten);
var zustand = dom.GetObject("CUxD.CUX4000001:1.STATE").State();
!WriteLine(zustand);
if ((daten == "true,") && (zustand != true) )
{dom.GetObject("CUxD.CUX4000001:1.SET_STATE").State(1);
!WriteLine("if ON");
}
if ((daten == "false") && (zustand != false)) {
dom.GetObject("CUxD.CUX4000001:1.SET_STATE").State(0);
!WriteLine("if off");
}
daten = "0";
Alles anzeigen
Vielen Dank für Eure Unterstützung!