Shelly Dimmer in Homematic einbinden - mit der Originalfirmware - Variante CUxD-Dimmer

    • Offizieller Beitrag

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


    #1 Einleitung

    #2 Die Kopplung


    Hallo zusammen,

    als Variante zur Shelly Dimmer - Homematic - Kopplung von SparkyMaster stelle ich nachfolgend meine Lösung mit der Originalfirmware der Anbindung als CUxD-Dimmer vor.


    Beide Lösungen haben (aus meiner Sicht) jeweils Vor- und Nachteile. D.h. es ist individuelle Geschmackssache, für welche Kopplung man sich letztendlich entscheidet.

    Funktional können sie letztendlich das Gleiche.


    Worin unterscheidet sich nun die Kopplung via Dimmer von der Lösung von Axel:

    • nur 1 CUxD-Gerät (Dimmer)

    • weniger Systemvariablen (2 statt 4)

    Für User, die wie ich die Shelly-App kaum nutzen, entsteht durch meine Variante nicht wirklich ein Nachteil. Für User, die parallel zur Homematic auch viel mit der App bedienen, ist folgendes zu beachten:


    Wurde der Dimmer durch die Homematic abgeschaltet, so ist in der APP der Dimmer-Regler ganz runtergeregelt und muß erst wieder hochgezogen werden.

    Das liegt darin begründet, dass der Zustand AUS von den Systemen Shelly und Homematic unterschiedlich gehandelt wird:

    Der Homematic-Dimmer ist bei AUS gleichzeitig auf 0% Helligkeit, hingegen bleibt der Shelly-Regler beim Ausschalten auf seiner eingestellten Dimmposition.

    Da ich natürlich möglichst einen synchronen Zustand in beiden Systemen erreichen wollte, mußte ich hier diesen Kompromiss eingehen, da sonst AUS in der APP nicht AUS in Homematic entspricht.

    Es gibt noch weitere Unterschiede in beiden Systemen, weshalb sich die Kopplung länger hinzog. Sprichwörtlich biss sich die berühmte Katze durch diese Unterschiede sehr oft selbst in den Schwanz.


    :thumbup: Doch nun genug geplappert, let's go:

    • Offizieller Beitrag

    #1 Einleitung

    #2 Die Kopplung


    Ansicht der Kopplung als Dimmer:

    CUxD Dimmer.png


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


    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.)


    Folgende Funktionen habe ich auf der Homematic-Seite umgesetzt:

    • EIN / AUS

    • Dimmen über Schieberegler

    • Optionale Überwachung des Onlinestatus (Erreichbarkeit im WLAN)

    • Optionale Anzeige der Leistungsmessung

    Bitte beachten:

    Wer meine anderen Homematic-Kopplungen schon kennt, muß sich ein wenig umstellen. Durch die in #1 geschilderten Systemunterschiede zwischen Homematic und Shelly mußte z.B. EIN/AUS auf ganz neuem Weg umgesetzt werden. Daher die Anleitung bitte schrittweise von oben nach unten abarbeiten.Dann klappt es auch. :thumbup: Ansonsten kann es nur schiefgehen. :D

    Entgegen den letzten Kopplungen darf der Schaltzustand EIN oder AUS nicht über Actions realisiert werden!

    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 eines CUxD (28) Multi-DIM-Exec als Dimmaktor 1fach UP

    Bildschirmfoto vom 2020-01-05 19-28-31.png


    Das Gerät wird wie folgt eingestellt:

    Dimmereinstellungen.png

    Der Code für CMD_Exec:

    Code
    wget -q -O - 'http://192.168.1.147/light/0?brightness~3d$1$'

    IP-Adresse des Shelly-Dimmer anpassen!

    Damit kann der Regler bereits (aber gleichzeitig nur) die Helligkeit des Dimmers regeln. :)

    Für das zyklische Aktualisieren von Schaltzustand und Leistungsanzeige benötigen wir 1 Kanal eines bestehenden CUxD-Timers oder eines neu anzulegenden Timers.

    CUxD-Timer.png

    Des weiteren brauchen wir 2 Systemvariablen:

    Systemvariablen.png

    Diese werden mit dem Kanal 2 des CUxD-Dimmer verknüpft, damit sie dort angezeigt werden.

    Wer auf die Leistungsanzeige verzichtet, braucht die Variable natürlich nicht anzulegen, muß dann aber entsprechende Abschnitte in den Skripten löschen.


    Option Anzeige Onlinestatus:

    Um den Onlinestatus zu überwachen und anzuzeigen, benötigen wir 1 Kanal eines CUxD-Ping-Gerätes. (Wer auf die Anzeige verzichtet, braucht neben dem Ping-Kanal auch die Variable nicht und kann diesen Abschnitt einfach überspringen.)

    Ping.png

    IP-Adresse des Dimmer anpassen!

    (Zeiten können angepasst werden)

    Switch CMD EXEC TRUE:

    Code
    extra/timer.tcl Shelly-Dimmer_Onlinestatus_WZ 1

    Switch CMD EXEC FALSE:

    Code
    extra/timer.tcl Shelly-Dimmer_Onlinestatus_WZ 0

    Name der Variablen anpassen (hier: Shelly-Dimmer_Onlinestatus_WZ)


    ____________________________________________________________

    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-2020 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

    • Offizieller Beitrag

    Um die Kopplung nun ans Laufen zu bekommen, benötigen wir noch folgende Programme und Skripte:

    Pr EIN AUS.png

    Skript im 1. DANN-Zweig:

    Code
    !Dimmer einschalten
    string url='http://192.168.1.147/light/0?turn=on';
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");

    Skript im 2. DANN-Zweig:

    Code
    !Dimmer ausschalten
    string url='http://192.168.1.147/light/0?turn=off';
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");

    Jeweils IP-Adresse des Dimmer und ggf. CUxD-Exec-Adresse anpassen!

    PR Aus von App.png

    Das Skript im DANN-Zweig:

    Code
    !CUxD-Dimmer setzen
    string stdout; 
    string stderr;
    dom.GetObject("CUxD.CUX2802006:2.SET_STATE").State(0);

    CUxD-Kanal des Dimmer anpassen!

    (Die folgenden 2 Bilder ergeben 1 Programm)

    Dimmer aktualisieren T1.pngDimmer aktualisieren T2.png

    (die WENN-Zeile mit "CCU3-Reboot" bitte ignorieren und weglassen, es sei denn, Ihr überwacht den Bootstatus Eurer CCU ebenfalls)

    Das Skript für die 1. DANN-Zeile:

    Das Skript für die 2. DANN Zeile (im SONSTWENN-Zweig)

    Beide Skripte bitte von oben nach unten durcharbeiten und wie angegeben IP-Adresse, CUxD-Geräteadressen und Variablennamen an Euer System anpassen!

    Das war's :)

    Viel Erfolg beim Nachbauen. :thumbup:


    ___________________________________________________________

    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).

    © 2020 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

    ____________________________________________________________

    Dir gefällt die Anleitung? Du möchtest den dahinterstehenden Aufwand mit einem kleinen "Danke" honorieren?

    Ich freue mich über jedes Danke  Paypal (Geld an einen Freund senden): der-66er@web.de

    Vielen Dank.

    • Offizieller Beitrag

    Der Dimmer kann mit 1 (freien) Taste eines Homematic-Senders gesteuert werden, ;)

    >>> zur Anleitung <<<

  • Dieses Thema enthält einen weiteren Beitrag, der nur für registrierte Benutzer sichtbar ist, bitte registrieren Sie sich oder melden Sie sich an um diesen lesen zu können.