Ist deine ccu Passwort geschützt? Wenn ja musst du noch in die Action deinen User und das Passwort mit eintragen!
Beiträge von gmt94
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
-
-
Hey Zusammen,
Ich habe mal eine Frage an die Experten unter Euch. Ich würde sehr gerne den Shelly 1 nutzen um in meiner Homeautomation festzustellen, ob jemand geklingelt hat.
Dazu würde ich mir ein 12V DC Netzteil auf meine Hutschiene setzen, damit zum einen den Shelly mit Spannung versorgen und dann mit den 12V auf den Klingelgong zu gehen.
Die Schaltung müsste ja dem entsprechend so aussehen.
12V DC + auf Shelly N+
12V DC - auf Shelly L-
Taster 12V DC+ auf SW
12V DC+ auf Shelly I
und mit Shelly O dann zum Klingelgong
die Massen dann dementsprechend wieder auf das 12V DC - Netzteil.
Den Shelly dann auf Toogle Switch stellen mit entsprechenden Auto Off Zeiten, je nach dem wie lange die Melodie bzw. der Ton betätigt werden soll.
Kann das so funktionieren?
Vielen Dank für eure Hilfe
-
Hey Daniel,
Willkommen im Forum. Für die Rolladen brauchst du jeweils einen 2.5 shelly. Du willst ja hoch und runterfahren können.
Ich denke es ist schon sinnvoll die shellys vor dem Einbau zu konfigurieren und dann nur noch einzubauen.
Wovon ich dir jedoch abraten würde, ist deine heizung über irgendwelche Thermostate, sei es shelly oder das Teil an der Wand zu fahren. Das System ist viel zu träge um dort Eingriffe von außerhalb durchzuführen.
Mache dich am besten im Netz Mal nach einem hydraulischen Abgleich deiner Heizung schlau. Deine heizung betreibst du nur Effizient wenn du deine heizkennlinie der Heizung soweit angepasst hast, dass alle Thermostate permanent vollständig offen sind und du nur noch über die Außentemperatur deine Vorlauftemperatur fahren kannst.
Viel Spaß mit den Shellys.
-
So....
es war am Ende Punkt 7. aus deinem Thread. Wenn ich in den Actions mein User und PW eingebe, dann aktualisiert er es augenblicklich.
Wie immer Danke für deine kompetente Hilfe!
Ich habe noch etwas herum gespielt, da ich meinen Admin Login nicht in den Actions eintragen wollte.
Ich habe einen Gastlogin erstellt mit einem anderem PW und keinerlei Rechten. Damit funktioniert es auch.
Vielleicht ist die Info ja für den einen oder anderen sinnvoll, der so wie ich nicht mit seinem Admin Account so freizügig umgehen will.
So nun kann wirklich geschlossen werden.
@66er bist der Beste ?
-
Hallo zusammen,
ich mal wieder

Ich habe nach der Anleitung die Actions Abfrage beim meinem Shelly1PM eingestellt. Leider funktioniert diese nicht. Der Status wird erst mit der zyklischen Aktualisierung mittels Script vom User 66er korrekt übermittelt.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Anbei mein Quellcode:
Switch On
Switch Off
Wenn es heißt die Actions übertragen den Status sofort, ist dann wirklich sofort gemeint, oder kann das auch ein paar Sekunden in Anspruch nehmen?
-
Schön daß es dir gefällt. Naja solange der shelly EM auch den "total" wert ausspuckt sollte es ohne weiteres gehen. Bekommst du lediglich den Wert für Spannung und Stromstärke wird es deutlich schwieriger...
-
Hallo Zusammen,
Dank der tollen Scripte von Marc und 66er, ist es mir gelungen, die aktuelle Leistung und den gesamten Energieverbrauch in meine CCU zu integrieren.
Nun möchte ich sehr gerne Euch allen meine kleinen Scripte zur Verfügung stellen, die zum einen den aktuellen Tagesverbrauch und zum anderen den Verbrauch von Gestern in eine Systemvariable schreiben.
Ich messe mit meinem Shelly den Verbrauch meiner Lüftungsanlage im Haus, aus dem Grund heißen die Variablen bei mir …_Lueftungsanlage_....
Zunächst müssen 3 Systemvariablen angelegt werden:
„Verbrauch_Lueftungsanlage_temp“ (in diese Variable wird jeden Tag um 00:01 der aktuelle Gesamtverbrauchswert des Shellys geschrieben, temp steht für temporär)
„Verbrauch_Lueftungsanlage_heute“ (Diese Variable zeigt den aktuellen Tagesverbrauchswert an)
„Verbrauch_Lueftungsanlage_gestern“ (Diese Variable zeigt den gestriegen Tagesverbrauchswert an)
Als erstes erstellt ihr ein Programm, dass täglich zum Zeitpunkt 00:01 aufgerufen wird.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Das Script dafür sieht wie folgt aus:
Codevar a = dom.GetObject("Shelly_Verbrauch").Value(); dom.GetObject("Verbrauch_Lueftung_temp").State(a);„Shelly_Verbrauch“ ist die Variable, die vom Shelly übergeben wird und bei mir alle 30s aktualisiert wird. Diese wird um 00:01 in die temporäre Größe "Verbrauch_Lueftung_temp" geschrieben.
Anschließend wird ein neues Programm erstellt, welches den aktuellen Tagesverbrauch ermittelt. Dazu muss die Zeitsteuerung als Bedingung gewählt werden. Das ganze muss ganztägig laufen und als Serienmuster im Zeitintervall aufgerufen werden. Ich habe hier 5 Minuten gewählt, Da könnt ihr euch einen Wert aussuchen. Je nach Gusto, wie oft der Tageswert aktualisiert werden soll.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Das Script dafür sieht wie folgt aus:
Codeinteger a = dom.GetObject("Shelly_Verbrauch").Value(); integer b = dom.GetObject("Verbrauch_Lueftung_temp").Value(); integer c = a-b; dom.GetObject("Verbrauch_Lueftung_heute").State(c.ToString(2));Hier wird eine Differenz aus dem aktuellen Wert der vom Shelly übergeben wird mit der Temporären Größe gebildet. Anschließend wird der Wert auf 2 Nachkommastellen gerundet und in die Variable "Verbrauch_Lueftung_heute" geschrieben.
Abschließend muss noch ein Programm erstellt werden, dass einmal täglich am Tagesende (23:59 Uhr) den Tagesverbrauchswert in den Verbrauchswert von gestern schreibt.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Das Script dafür sieht wie folgt aus:
Codevar a = dom.GetObject("Verbrauch_Lueftung_heute").Value(); dom.GetObject("Verbrauch_Lueftung_gestern").State(a.ToString(2));Anlag zum ersten Script wird hier des Tagesverbrauch in den Verbrauch für gestern geschrieben.
Achtung bei Stromausfall oder Netztrennung wird der Gesamtverbrauch im Shelly auf 0 gesetzt. D.h. der Shelly wird in diesem Fall den aktuellen Tageswert falsch berechnen. In dem Fall müsste die Scripte einmal von Hand ausgeführt werden.
Das gleiche gilt auch beim Erstellen dieser Scripte, da ja immer erst zum Tageswechsel die Systemvariablen mit sinnvollen Werten beschrieben werden.
So ich hoffe, dass irgendjemand etwas mit diesen kleinen Scripten anfangen kann.
Euch noch einen schönen 2. Advent.
Grüße Henning
-
Nochmals vielen Dank!
Dann kann ich ja jetzt eine Großbestellung für meine ganzen Verbraucher bestellen und in meine Hausautomation einbinden.

Und bei Fragen und Problemen, weiß ich ja an wen ich mich vertrauensvoll wenden kann!


-
So....
es scheint zu funktionieren. Mensch war das eine Geburt. Ein riesen Dankeschön dafür.
Jetzt habe ich nur noch eine Frage....Warum kann der Verbrauch in der App zum Verbrauch in Homematic abweichen?
Ich habe die Cloud erst später angeschalten. Speichert der Shelly auch ohne Cloud die Daten auf sich selber ab?
Grüße Henning
-
Also "Shelly_Verbrauch" habe ich glaube ich erst nach Programmerstellung erstellt.
Bin mir aber nicht mehr sicher... ist ja immerhin schon knapp 2h her.

-
Das Skript scheint zu laufen.

Noch ein letzter Test zur Sicherheit:
Code
Alles anzeigen!Skript zur Gesamt-Verbrauchsaktualisierung Shelly1PM mit Originalfirmware © by 66er V0.1) !Raumbezeichnung (nur zur Orientierung, ggf anpassen) !****Abfrage des Shelly1PM***** !In der folgenden Zeile IP des Shelly1PM anpassen! var url = "http://192.168.178.49/status"; !In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier: 2801001:14) 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(); string t = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); dom.GetObject("CUxD.CUX2801001: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: Shelly1PM_Gesamtleistung) dom.GetObject("Shelly_Verbrauch").State(e2); !Ende SkriptCode{"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:22","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.07,"is_valid":true,"timestamp":1575660157,"counters":[65.787, 65.050, 65.654],"total":210238}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.31,"overtemperature":false,"tmp":{"tC":42.31,"tF":108.16, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276535} {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-45},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:22","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.07,"is_valid":true,"timestamp":1575660157,"counters":[65.787, 65.050, 65.654],"total":210238}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.31,"overtemperature":false,"tmp":{"tC":42.31,"tF":108.16, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276536} 210238 3.503967 Ende Berechnung -
Bitte das Ganze wiederholen mit diesem Code:
Code
Alles anzeigen!Skript zur Gesamt-Verbrauchsaktualisierung Shelly1PM mit Originalfirmware © by 66er V0.1) !Raumbezeichnung (nur zur Orientierung, ggf anpassen) !****Abfrage des Shelly1PM***** !In der folgenden Zeile IP des Shelly1PM anpassen! var url = "http://192.168.178.49/status"; !In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier: 2801001:14) 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(); string t = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); dom.GetObject("CUxD.CUX2801001: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: Shelly1PM_Gesamtleistung) dom.GetObject("Shelly_Verbrauch").State(e2); !Ende SkriptDie Ausgabe wieder hier posten.
Code{"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-43},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:18","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":66.19,"is_valid":true,"timestamp":1575659886,"counters":[65.007, 65.741, 65.224],"total":209976}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.38,"overtemperature":false,"tmp":{"tC":42.38,"tF":108.29, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276264} {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:18","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":66.19,"is_valid":true,"timestamp":1575659886,"counters":[65.007, 65.741, 65.224],"total":209976}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.38,"overtemperature":false,"tmp":{"tC":42.38,"tF":108.29, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":276264} 209976 -
Stop!
Gerade un Deinem Programm in#22 einen Fehler gesehen:
Im WENN bitte auf "bei Änderung" korrigieren und testen.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Code
{"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:54","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.03,"is_valid":true,"timestamp":1575658466,"counters":[65.686, 65.493, 64.962],"total":208405}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.02,"overtemperature":false,"tmp":{"tC":42.02,"tF":107.63, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":37212,"fs_size":233681,"fs_free":172437,"uptime":274846} {"wifi_sta":{"connected":true,"ssid":"FRITZ!Box 7580_TaH","ip":"192.168.178.49","rssi":-44},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"18:54","serial":203,"has_update":false,"mac":"A4CF12BA472B","relays" :[{"ison":true, "has_timer":false,"overpower":false}],"meters":[{"power":65.03,"is_valid":true,"timestamp":1575658467,"counters":[65.686, 65.493, 64.962],"total":208405}],"inputs":[{"input":0}],"ext_temperature":{},"temperature":42.02,"overtemperature":false,"tmp":{"tC":42.02,"tF":107.63, "is_valid":"true"},"update":{"status":"idle","has_update":false,"new_version":"20191127-095910/v1.5.6@0d769d69","old_version":"20191127-095910/v1.5.6@0d769d69"},"ram_total":50704,"ram_free":36900,"fs_size":233681,"fs_free":172437,"uptime":274846} -
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Code
Alles anzeigen!Skript zur Gesamt-Verbrauchsaktualisierung Shelly1PM mit Originalfirmware © by 66er V0.1) !Raumbezeichnung (nur zur Orientierung, ggf anpassen) !****Abfrage des Shelly1PM***** !In der folgenden Zeile IP des Shelly1PM anpassen! var url = "http://192.168.178.49/status"; !In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier: 2801001:14) 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(); string t = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); dom.GetObject("CUxD.CUX2801001: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: Shelly1PM_Gesamtleistung) dom.GetObject("Shelly_Verbrauch").State(e2); !Ende Skript -
Anbei die Screenshots....
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Code
Alles anzeigen!Skript zur Gesamt-Verbrauchsaktualisierung Shelly1PM mit Originalfirmware © by 66er V0.1) !Raumbezeichnung (nur zur Orientierung, ggf anpassen) !****Abfrage des Shelly1PM***** !In der folgenden Zeile IP des Shelly1PM anpassen! var url = "http://192.168.178.49/status"; !In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier: 2801001:14) 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(); string t = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); dom.GetObject("CUxD.CUX2801001: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: Shelly1PM_Gesamtleistung) dom.GetObject("Shelly_Verbrauch").State(e2); !Ende Skript -
So habe es ausprobiert. Leider wird die Systemvariable nicht im Takt des Timers aktualisiert.
Besser gesagt, sie wird gar nicht aktualisiert.
Ich habe in der "Wenn" Funktion "Timer Event" und "Timer Get" bereits ausprobiert. Beides leider ohne Funktion.
Welche Screenshots brauchst du?
Danke! Henning
-
Hey 66er,
Vielen Dank. Wenn ich gleich Zuhause bin werde ich es sofort Mal ausprobieren.
Grüße Henning
-
Ist der Shelly mit Benutzer und Passwort geschützt?
Wie meinst du das? Also um mich bei der App anzumelden brauche ich meine E-Mail und das PW. Kann ich den shelly irgendwo nochmals schützen?
-
läuft...... Großes Dankeschön an den superschnellen Support!