-
Autor
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