ShellyPro 4PM goes Homematic - mit der Originalfirmware

    • Offizieller Beitrag

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

    Alle Rechte vorbehalten!

    Getestet auf ShellyPro4PM-Firmware:

    0.6.4, 0.70


    Hallo liebe Homematic-Freunde. :)

    Heute geht es um die Einbindung des ShellyPro 4PM.

    Das Ganze funktioniert natürlich wie immer ohne Fremdfirmware. ;)

    Die Kopplung hat folgende Möglichkeiten:

    • Ein- und Ausschalten der 4 Schaltkanäle inkl. Rückmeldung, wenn über die App oder per Schalter 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

    Das Ganze sieht dann im Endausbau so aus:

    Geräteansicht 2-12.PNG

    Geräteansicht 2-2.PNG

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


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

    • Offizieller Beitrag

    ©2021 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 ShellyPro 4PM anlegen:


    Den "virtuellen" ShellyPro 4PM legen wir in CUxD gemäß dem nachfolgenden Bild an:

    CuxD-Schalter.png

    (Den Namen könnt Ihr natürlich frei vergeben und anpassen. ;) )

    Theoretisch können damit 16 Kanäle, also 4 ShellyPro 4PM abgebildet werden.

    Mit Blick in die Zukunft und zur Anpassung an die Gegebenheiten (vorangegangener Produkte) in App und Web-UI habe ich mich (für mich) aber entschlossen, 1 CuxD-Gerät pro 1 ShellyPro 4PM zu nutzen. (Die Entscheidung steht natürlich jedem frei.)

    Um die nicht genutzten Kanäle des CUxD-Device auszublenden, nimmt man für die nicht genutzten Kanäle (5 bis 16) die Haken bei "SWITCH|ACTIVE" den Haken raus.


    2 Kanaäle deaktivieren.PNG


    Ein- und Ausschalten der Kanäle:

    Um die 4 Kanäle via unserem gerade angelegt CUxD-Device zu schalten müssen nun noch bei jedem Kanal 1 Haken gesetzt und 2 Eintragungen gemacht werden:

    Pro Kanal ...

    1.) Haken setzen bei "SWITCH|CMD_EXEC"

    2.) Eintrag für "SWITCHCMD_SHORT":

    Zitat

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

    0 = Kanal 1 --> bei Kanal 2 des Shelly durch 1 ersetzen, für Kanal 3 durch 2 und für Kanal 4 durch 3!


    3.) Eintrag für "SWITCHCMD_LONG":

    Zitat


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

    0 = Kanal 1 --> bei Kanal 2 des Shelly durch 1 ersetzen, für Kanal 3 durch 2 und für Kanal 4 durch 3!

    IP-Adresse anpassen nicht vergessen!

    Das Ganze sollte also pro Kanal jetzt so aussehen:

    Bildschirmfoto vom 2021-08-21 11-39-19.png

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


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

    • Offizieller Beitrag

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

    Alle Rechte vorbehalten!


    Rückmeldung des Schaltzustandes:

    Damit der Status der Schaltkanäle auch stimmt, wenn am Shelly oder per App oder Web-UI geschaltet wird, bedienen wir uns der Webhooks des Shelly (ehem. ACTIONS).

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

    Dazu müsst Ihr auf den jeweils einzustellenden Schaltkanal klicken und habt dann einen Button "Webhooks" (unten rechts) zur Auswahl:

    Schaltkanal öffnen.png

    Nach "Klick" darauf könnt Ihr die Webhooks erstellen.

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

    2Webhooks.png

    Webhook für EIN:

    Webhook EIN.png

    (für ganztags könnt Ihr auch den voreigestellten Wert stehen lassen. Das funktioniert auch, war mir aber da noch nicht bekannt ;) )


    der Code:

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

    IP der CCU und CUxD-Kanaladresse anpassen!

    Webhook für AUS:

    Webhook AUS.png

    der Code:

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

    IP der CCU und CUxD-Kanaladresse anpassen!

    Das müsst Ihr nun auch für die restlichen 3 Kanäle machen!

    Achtung: Nicht vergessen, bei jedem Kanal auch den CUxD-Kanal im Befehl anzupassen!


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


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!


    • Offizieller Beitrag

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

    Alle Rechte vorbehalten!


    Werte-Aktualisierung:

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

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

    Programm.png

    Einstellungen im Zeitmodul:

    Zeitmodul.png

    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.

    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

    • Offizieller Beitrag

    ©2021 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 außerdem beachten:

    Im Skript ist RestrictLogin schon enthalten. Wie sich erst später herausstellte, wird das aber aktuell in der Firmware/vom Gerät nicht unterstützt!

    Daher bitte im Setup nicht aktivieren!



    Changelog:

    10.05.2022 V2.1.1 Fehlerkorrektur Kanal 4

    Vielen Dank für den Hinweis von eltschi . :thumbup:

    19.01.2022 V 2.0.1 (Versionsdatum 19.01.2021)

    Auswertung komplett überarbeitet für Firmware >= 0.9.x

    Bitte vor Einsatz des neuen Skriptes alle Variablen des ShellyPro 4PM löschen!


    Mein Dank an Homematic-Forum-User @ MichaelN, der mir gestattet hat, sein Skript "JSON universell auslesen" in meinen Skripten zu verwenden. Danke Michael :thumbup:

    Quelle des Skriptes: https://homematic-forum.de/for…opic.php?p=672027#p672027

    (weitere Hintergrundinfos und Quellangaben hier)


    22.08.2021 V 1.0.0 (Versionsdatum 22.08.2021)

    Restrict-Login integriert

    22.08.2021 V0.1.0 (Versionsdatum: 21.08.2021)

    Erstveröffentlichung als Beta

    Es fehlt noch Restrict-Login und Code-Bereinigung

    Funktional bereits ohne Restrict-Login nutzbar


    ____________________________________________________________

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

    © 2021-2022 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

    ____________________________________________________________

  • Dieses Thema enthält 4 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.