Seid gegrüßt!
Ich möchte mir den Gesamtverbrauch meiner Waschmaschine anzeigen lassen. Dazu habe ich einen Shelly 1PM vor meine Steckdose geschaltet.
Im Forum bin ich dann auf das Skript von @66er gestoßen. Leider funktioniert es bei mir nicht wirklich (mal wieder ).
Folgende Konfiguration habe ich:
1 x Typ 28 CUxD Exec Device als Taster angelegt (Waschmaschine_Exec CUX2801010)
1 x Typ 40 CUxD Device für den Shelly (Waschmaschine CUX4000006)
(SWITCH|CMD_SHORT: wget -q -O - 'http://192.168.178.77/relay/0?turn~3doff')
SWITCH|CMD_LONG: wget -q -O - 'http://192.168.178.77/relay/0?turn~3don')
1 x Variable (Waschmaschine_Verbrauch)
Folgendes Skript habe ich verwendet:
!Skript zur Gesamt-Verbrauchsaktualisierung Shelly1PM mit Originalfirmware ©2019 by 66er V1.2.1)
!Raumbezeichnung (nur zur Orientierung, ggf anpassen)
!****Abfrage des Shelly1PM*****
!In der folgenden Zeile IP des Shelly1PM anpassen!
var url = "http://192.168.178.77/status";
!In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier: 2801001:1)
dom.GetObject("CUxD.CUX2801010:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801010:1.CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject("CUxD.CUX2801010:1.CMD_RETS").State();
string t = dom.GetObject("CUxD.CUX2801010:1.CMD_RETS").State();
dom.GetObject("CUxD.CUX2801010:1.CMD_SETS").State("0");
!WriteLine(Antwort);
!WriteLine(t);
!****Auswertung des Antwortstrings ****
!Hier NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"total"')) {
string e = (s.StrValueByIndex (":",1).RTrim ("}]"));
!WriteLine(e);
!*****Umrechnung****
! WriteLine(e);
real e1= e.ToFloat();
! WriteLine(e1);
real e2=e1/60000;
! WriteLine(e2);
}
}
! WriteLine ("Ende Berechnung")
!**** Variable setzen****
!Variablennamen anpassen (hier: Waschmaschine_Verbrauch)
dom.GetObject("Waschmaschine_Verbrauch").State(e2);
!Ende Skript
Alles anzeigen
Ich bekomme leider auch keine Rückmeldung oder einen Fehler, sobald ich das Skript teste.
Woran könnte es liegen? Die Momentanleistung wird korrekt angezeigt.
MFG LEO