ShellyPlusPlugS goes Homematic - mit der Originalfirmware

  • ©2023 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung

    Alle Rechte vorbehalten!


    Getestet auf ShellyPlus PlugS-Firmware:

    0.14.1


    Hallo liebe Homematic-Freunde. :)


    Heute geht es um die Einbindung des ShellyPlus PlugS.


    Das Ganze funktioniert natürlich wie immer ohne Fremdfirmware.

    Die Kopplung hat folgende Möglichkeiten:

    • Ein- und Ausschalten des Schaltkanals inkl. Rückmeldung, wenn über die App oder per sonstigem System (z.B. ioBroker) geschaltet wird

    • Überwachung des Onlinestatus, kein CUxD-Ping-Device nötig, optional

    • Alle notwendigen Systemvariablen werden automatisiert erstellt und dem passenden Schaltkanal zugeordnet, daher sehr leicht einzurichten

    • Anzeige der Leistung pro Kanal, optional

    • zykl. Aktualisierung, optional


    Das Ganze sieht dann im maximalen Endausbau so aus:

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


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


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

    (Auch die übrigen angepinnten Themen sind übrigens zum Lesen empfohlen, gerade auch für Neueinsteiger ;) )


    Und nun geht's los. :)


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2023 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung

    Alle Rechte vorbehalten!



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

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

    (Im CUxD-Exec selbst werden keine Eintragungen gemacht!) 



    Das CUxD-Gerät für den ShellyPlus PlugS anlegen:

    Den "virtuellen" ShellyPlus PlugSlegen wir in CUxD gemäß dem nachfolgenden Bild an:

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


    Mit 1 angelegter Universalsteuerung können max. 16 ShellyPlus PlugS abgebildet werden, denn je 1 ShellyPlus PlugS benötigen wir 1 Kanal der Universalsteuerung.

    (Natürlich kann auch 1 Kanal eines bestehenden, passenden CuxD-Device genutzt werden.)


    Ein- und Ausschalten:

    Um den Kanal des ShellyPlus PlugS via unserem gerade angelegt CUxD-Device zu schalten müssen nun noch 1 Haken gesetzt und 2 Eintragungen gemacht werden:


    1.) Haken setzen bei "SWITCH|CMD_EXEC"

    2.) Eintrag für "SWITCHCMD_SHORT":

    Code
    wget -q -O - 'http://192.168.1.197/rpc/Switch.Set?id~3d0~26on~3dfalse'


    3.) Eintrag für "SWITCHCMD_LONG":

    Code
    wget -q -O - 'http://192.168.1.197/rpc/Switch.Set?id~3d0~26on~3dtrue'


    Das Ganze sollte also jetzt so aussehen:

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


    Damit funktioniert schon mal das EIN- und AUS-Schalten . :)

    _________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2023 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung

    Alle Rechte vorbehalten!


    Rückmeldung des Schaltzustandes:

    Damit der Status des Schaltkanals auch stimmt, wenn am Shelly oder per App, Web-UI oder sonstigem System (z.B. ioBroker) geschaltet wird, bedienen wir uns der ACTIONS im Shelly.


    Diese müssen (am Besten über das Web-UI) im Shelly eingerichtet werden:

    Nach "Klick" auf „Actions“ im UI könnt Ihr die Webhooks erstellen.

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

    2 werden benötigt, einer für AUS und einer für EIN:

    Action für EIN:

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

    der Code:

    Code
    http://192.168.1.95:8181/66er.exe?Antwort=dom.GetObject(%22CUxD.CUX4000001:1.SET_STATE%22).State(1)

    IP der CCU und CUxD-Kanaladresse anpassen!


    Action für AUS:

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


    der Code:


    Code
    http://192.168.1.95:8181/66er.exe?Antwort=dom.GetObject(%22CUxD.CUX4000001:1.SET_STATE%22).State(0)

    IP der CCU und CUxD-Kanaladresse anpassen!



    Nun wird auch schon der Status aktualisiert, wenn von außerhalb der CCU geschaltet wird. :)


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2023 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung

    Alle Rechte vorbehalten!


    Werte-Aktualisierung:

    1. optionale Aktualisierung des Online-Status

    Um den Onlinestatus anzuzeigen muß nur im Setup des unten folgenden Skript die Option auf „J“ gesetzt sein. Dadurch wird die Variable autom. erstellt und dem Kanal zugeordnet. „N“ deaktiviert diese Option.

    2. Programm

    Um nun zum guten Schluß noch die Werte (Leistung und optional den Onlinestatus) in die entsprechenden Systemvariablen / Kanäle zu bekommen, muß ein Programm angelegt werden, das die Werte zyklisch vom Shelly abfragt.

    Zusätzlich kann durch Aktivieren der Schaltstatusaktualisierung im Skript ergänzend im Programmablauf auch der aktuelle Schaltstatus abgefragt und dadurch in Homematic ggf. korrigiert werden.


    Ob man im WENN die interne Zeitsteuerung nutzt oder einen CUxD-Timerkanal als Trigger nutzt, kann man dabei frei entscheiden.

    (In meinem Beispiel wurde das interne Zeitmodul genutzt.)

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

    (Die Verzögerung im DANN ist wichtig, damit der Shelly einen plausiblen Messwert nach dem Schaltvorgang zurückliefert. Durch die 2. und 3. WENN Zeile erfolgt eine direkte Aktualisierung des Leistungswertes nach einem Schaltvorgang, auch bei langem Intervall ;) )


    Einstellungen im Zeitmodul:

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


    Das Aktualisierungsintervall kann natürlich angepasst werden, wobei zu beachten ist:


    Je kürzer das Intervall desto höher die Systembelastung für die Homematic-Zentrale. Hier muß / kann man testen. Ab wann die Performance leidet hängt natürlich zum Einen von der eingesetzten Hardware und zum Anderen vom Umfang der Installation ab.


    Da ich auch den Schaltzustand als Trigger im Programm hinzugefügt habe wird auch bei länger eingestelltem Intervall direkt aktualisiert.


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2023 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung

    Alle Rechte vorbehalten!


    2. Das Skript

    Bitte den Bereich "Setup" anpassen und Hinweise beachten!

    Ausserhalb des Setup sind keine Änderungen oder Eintragungen nötig!

    Bitte beachten:

    Der unter "shp1name" eingetragene Name und der Name des Schaltkanals in der CUxD-Universalsteurung müssen identisch sein!


    Viel Spass damit. :)


    Changelog:


    V1.0.0 | 18.03.2023

    Erstveröffentlichung


    ____________________________________________________________

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


    © 2023 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

    ________ ____________________________________________________