Shelly Plug-S in Homematic einbinden - mit der Originalfirmware

    • Offizieller Beitrag
    • Autor

    ©2019-2020 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung (#3)


    Hallo zusammen,

    um den Shelly PlugS in Homematic einzubinden, braucht es keine Fremdfirmware, die man flashen muß.

    Nachfolgend meine Lösung mit der Originalfirmware:

    techn. Voraussetzungen:

    • kompatibel mit den Homematic-Systemen CCU2, CCU3, Charly, sowie allen Ablegern wie RaspberryMatic und piVCCU.

    • installiertes Addon CUxD in aktueller Version

      (Das Wissen um den Umgang CUxD, wie z.B. Geräte anlegen, setze ich an dieser Stelle voraus, sonst "explodiert" diese Anleitung. Danke für's Verständnis.)


    DIe Vorteile aus meiner Sicht:

    • sehr günstiger Preis (19,90€) gegenüber dem Homematic-Original(ab 39,95€ als Bausatz mit LM)
    • alle Shelly PlugS -Eigenschaften bleiben erhalten, da ich die Aktoren mit der originalen Herstellerfirmware betreibe
    • alle zukünftigen Shelly PlugS -Aktualisierungen/ -updates werden nutzbar sein
    • Volle Shelly-App-Bedienbarkeit parallel zur Homematic-Automatisierung
    • Betrieb als lokale Lösung oder über Shelly-Cloud, zusätzlich Homematic

    Folgende Funktionen habe ich auf der Homematic-Seite umgesetzt:

    • EIN / AUS
    • Aktualisierung des aktuellen Schaltzustandes in frei einstellbarem Intervall, unabhängig davon, ob die Bedienung über Homematic oder Shelly-App oder Taster erfolgt

      alternativ: Status über Actions-Funktionen des Shelly Plug S
    • Optionale Überwachung des Onlinestatus (Erreichbarkeit im WLAN)


    Die Ansicht der Anbindung:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Bild 1

    Ich möchte Euch an dieser Stelle empfehlen, vor der Umsetzung mal einen Blick in diese Threads zu werfen:

    An entsprechender Stelle in der Anleitung muss jeder für sich entscheiden, welchen Weg der Schalt-Statusüberwachung er nutzen möchte. ;)


    Die Umsetzung:

    (Auf die Beschreibung des Anlegens der CUxD-Geräte verzichte ich an dieser Stelle, dafür gibt es die CUxD-Doku!)


    Falls noch nicht vorhanden, bitte ein Gerät (28) System Exec anlegen! Darüber werden die Befehle abgesetzt. (Im CUxD-Exec werden keine Eintragungen gemacht!)

    Hier gibt es bei Bedarf eine Anleitung zum Anlegen des CUxD-Exec-Gerätes.


    Anlegen einer CUxD (40) 16-Kanal Universalsteuerung als Schalter

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Mit jedem Kanal des CUxD-Gerätes kann dann 1 Shelly PlugS abgebildet werden.

    Die Einstellungen der Kanäle:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Einstellung für SWITCH|CMD_SHORT:

    Code
    wget -q -O - 'http://192.168.1.139/relay/0?turn~3doff'

    Einstellungen für SWITCH|CMD_LONG:

    Code
    wget -q -O - 'http://192.168.1.139/relay/0?turn~3don'

    IP-Adresse des Shelly PlugS jeweils anpassen !

    Damit ist der PlugS schon einsatzbereit und kann ein- und ausgeschalten werden. :)

    Viel Spass damit.

    • Offizieller Beitrag
    • Autor

    Aktualisierung des Schaltstatus:

    Seit der Einführung der "Actions" in der Shelly-Firmware stehen 2 Möglichkeiten der Statusaktualisierung (3 wenn man beide kombiniert) zur Verfügung.

    Die Aktualisierung ist wichtig, damit in Homematic der Schaltzustand auch stimmt, wenn z.B. über die Shelly-App geschaltet wird.;) Vor- und Nachteile sind im in #1 verlinkten Thread beschrieben.

    A. (einmalig) via Actions:

    Eintrag für: OUTPUT SWITCHED ON URL:

    Code
    http://<IP der CCU>:8181/66er.exe?Antwort=dom.GetObject("CUxD.CUX4000010:1.SET_STATE").State(1)

    Eintrag für: OUTPUT SWITCHED OFF URL:

    Code
    http://<IP der CCU>:8181/66er.exe?Antwort=dom.GetObject("CUxD.CUX4000010:1.SET_STATE").State(0)

    Jeweils den Haken bei "Enabled" setzen und mit "SAVE" speichern!

    Jeweils IP-Adresse der Homematic-Zentrale und die CUxD-Geräteadresse an Eure Installation anpassen!

    Der Shelly PlugS aktualisiert nun den Schaltstatus des CUxD-Gerätes ohne erneutes Senden von Befehlen auf Homematic-Seite.

    B. (zyklisch) via Homematic-Zentrale:

    Für die autom. Aktualisierung des Schaltstatus benötigen wir 1 Timer ...

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Aktualisierung alle 60 Sekunden (Zeit variabel)

    ... der das Programm zur Aktualisierung triggert:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Alternativ kann auch im WENN auch auf "Timerevent" des Timers ausgelöst werden.

    Fehlt nur noch das Skript für die 1. DANN-Zeile:

    Gemäß den Hinweisen im Skript sind anzupassen:

    IP des Shelly PlugS

    CUxD-Exec-Kanal

    CUxD-Kanal des PlugS

    C: Kombination aus A und B:

    Kombiniert man A und B, so kann man vom Vorteil von A, der direkten Rückmeldung und vom Vorteil von B, der zyklichen Aktualisierung (falls mal ein Aufruf aus A verloren geht oder nicht verarbeitet wird), profitieren.

    Die Aktualisierungszeit (Timer) kann dann deutlich höher sein, was zu einer Reduzierung des Netzwerktraffic führt.


    Nun wird der Schaltzustand des PlugS auch in Homematic aktualisiert, wenn über die App oder Shelly-Szenen geschaltet wird. :)

    Viel Spass damit.

    • Offizieller Beitrag
    • Autor

    Optionale Anzeigen:

    1.) aktuelle Leistungsanzeige:

    wertet die Leistung jdes Shelly-PlugS aus, zeigt sie im CUxD-Gerät an und natürlich kann der Wert auch in Programmen genutzt werden.

    Dazu brauchen wir 1 Systemvariable für den aktuellen Leistungswert:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Die Variablen wird dem entsprechenden Kanal des Shelly-CUxD-Gerätes zugeordnet. Dadurch wird sie wie im Bild 1 in #1 sichtbar.

    In das Programm zur Statusaktualisierung (siehe Bild in #2) fügen wir nun eine 2. DANN Zeile zur Aktualisierung der Leistungsdaten ein.

    Achtung:

    Die Namen der Systemvariablen dürfen keine Leerzeichen und keine Umlaute enthalten!


    Das Skript dazu:

    Im eingestellten Intervall des Timers wird nun die aktuelle Leistung aktualisiert. :)

    2. Onlinestatus:

    Die optinale Anzeige des Onlinestatus erfolgt wie bei allen anderen Kopplungen auch mittels Systemvariable und CUxD-Ping-Gerät(28) .

    Für die Anzeige des Onlinestatus wird 1 Systemvariable benötigt:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Die Variable wird wieder mit dem entsprechenden Kanal des CUxD-Gerät verknüpft und somit dort angezeigt.

    Den Onlinestatus überwacht und steuert ein CUxD-Ping Kanal. D.h. mit 1 CUxd-Ping-Gerät (28) können bis zu 16 Shelly PlugS überwacht werden. Natürlich kann auch ein freier Kanal eines schon vorhandenen CUxD-Ping genutzt werden.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    IP anpassen!

    Einstellungen für SWITCH|CMD_EXEC_TRUE:

    Code
    extra/timer.tcl Onlinestatus_Shelly-PlugS_Garage 1

    Einstellungen für SWITCH|CMD_EXEC_FALSE:

    Code
    extra/timer.tcl Onlinestatus_Shelly-PlugS_Garage 0

    Name der Systemvariablen jeweils anpassen! (hier: Onlinestatus_Shelly-PlugS_Garage)

    Im eingestellten Intervall des Timers wird nun der Onlinestatus aktualisiert. :)

    Viel Spass damit.


    ____________________________________________________________

    Die Anleitung inkl. der Skripte und Bilder unterliegt dem Urheberrecht. Wer gegen das Urheberrecht verstößt (z.B. Bilder oder Texte unerlaubt kopiert und auf anderen Webseiten publiziert), macht sich gem. §§ 106 ff UrhG strafbar, kann zudem kostenpflichtig abgemahnt werden und muss Schadensersatz leisten (§ 97 UrhG).

    © 2019 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

  • Hallo Route66er!

    Phantastisch, :)Deine Anleitung. Hat alles auf Anhieb geklappt, zumindest bei den Lichtschaltern.

    Eins bekomm ich aber nicht hin: ;(Ich möchte mein Garagentor über shelly1 öffnen und schließen. Ich hab in Shelly alle Schaltereinstellungen durchprobiert und den Timer auf 2 sec. gesetzt. Der (potentialfreie Schaltausgang wird parallel zum Wandtaster 2 sec. geschlossen). In Shelly funktioniert alles, aber in der Homematic bekomm ich es nicht hin. Der Schalter bleibt immer auf "EIN" stehen (sollte doch wohl zumindest nach 30 sec auf "AUS" springen). hab ich einen Anfänger-Denkfehler?

    • Offizieller Beitrag
    • Autor

    Hallo @schuwo , willkommen im Forum. :)

    Vielen Dank für Dein Lob, geht natürlich runter wie Öl.:thumbup:

    Was Dein Problem mit dem Shelly 1 angeht, das ist sicher zu lösen.

    Da es aber nicht zum PlugS gehört, erlaube ich mir, Dein Posting in einen eigenen Thread zu kopieren, wo wir das dann lösen. ;)

    LG

    Stefan, (alias 66er ^^)

  • Dieses Thema enthält 12 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.