Shelly2.5 als 2-fach Schaltaktor in Homematic einbinden - mit der Originalfirmware

    • Offizieller Beitrag

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


    Hallo zusammen,

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

    Für den Modus "2-fach Schaltaktor" stelle ich meine Lösung mit der Originalfirmware vor:

    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,99€) gegenüber dem Homematic-Original(59,95€)
    • alle Shelly2.5 -Eigenschaften bleiben erhalten, da ich die Aktoren mit der originalen Herstellerfirmware betreibe
    • alle zukünftigen Shelly2.5 -Aktualisierungen/ -updates werden nutzbar sein
    • Volle Shelly-App-Bedienbarkeit parallel zur Homematic-Automatisierung
    • Als manueller Schalter können markenunabhängig alle vorhandenen Schalter (weiter) genutzt werden
    • Betrieb als lokale Lösung oder über Shelly-Cloud, zusätzlich Homematic

    Folgende Funktionen habe ich auf der Homematic-Seite umgesetzt:

    • unabhängiges Schalten der 2 Schaltkanäle
    • Aktualisierung des aktuellen Schaltzustandes in frei einstellbarem Intervall, unabhängig davon, ob die Bedienung über Homematic oder Shelly-App oder Taster erfolgt
    • Optionale Überwachung des Onlinestatus (Erreichbarkeit im WLAN)


    Die Ansicht der Anbindung:

    Schaltaktor in Homematic.png

    Bild 1


    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.

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


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

    Davon werden je Shelly2 als 2-fach-Aktor 2 Tasten benötigt (siehe Bild 1):

    Schalter 1 --> für Kanal 1

    Schalter 2 --> für Kanal 2



    Die Einstellungen der Kanäle:

    Kanaleinstellungen Schalter 1:

    Einstellungen Schalter 1.png

    Schalter 1:

    Einstellung für SWITCH|CMD_SHORT:

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

    Einstellungen für SWITCH|CMD_LONG:

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

    und entsprechend für den Schalter/Kanal 2:

    Schalter 2:

    Einstellung für SWITCH|CMD_SHORT:

    Code
      wget -q -O - 'http://192.168.XXX.XXX/relay/1?turn~3doff'

    Einstellungen für SWITCH|CMD_LONG:

    Code
    wget -q -O - 'http://192.168.XXX.XXX/relay/1?turn~3don'

    IP-Adresse des Shelly2.5 jeweils anpassen !


    Damit sind die Schalter schon einsatzbereit. :)

    Was noch fehlt ist die autom. Aktualisierung des Schaltstatus und die optionalen Anzeige des Onlinestatus.

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

    Nachtrag;

    Darauf kann man seit Firmware 1.5.0 ggf. verzichten, wenn man zur Statusaktualisierung die "Actions" in den Shelly nutzt. Vor- und Nachteile wurden in diesem Thread erörtert.

    Auch die Einrichtung der Actions ist dort beschrieben. ;)


    Für die optionale Anzeige des Onlinestatus wird 1 Systemvariable benötigt, deren Name natürlich frei an eigene Ideen angepasst werden kann:

    Achtung:

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

    Die SV für den Onlinestatus:

    SV Onlinestatus.png

    Wichtig ist, beide Variablen dem entsprechenden Taster-Kanal der 16-fach Universalsteuerung zuzuweisen, damit sie dort auch angezeigt werden ! (Ob man sie dem 1. Kanal zuweist oder 2. Kanal bleibt dem eigenen Geschmack überlassen und ändert funktional nichts.)

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


    Shelly-Ping.JPGIP-Adresse des Shelly anpassen!

    Einstellungen für SWITCH|CMD_EXEC_TRUE:

    Code
    extra/timer.tcl Onlinestatus_Shelly2-5_1 1

    Einstellungen für SWITCH|CMD_EXEC_FALSE:

    Code
    extra/timer.tcl Onlinestatus_Shelly2-5_1 0

    Name der Systemvariablen jeweils anpassen! (hier: Onlinestatus_Shelly2-5_1)


    Aktualisierung Schaltstatus:

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

    Timer.png

    Aktualisierung alle 60 Sekunden (Zeit variabel)


    ... der das Programm zur Aktualisierung triggert:


    Programm.png

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

    Fehlt nur noch das Skript:

    Gemäß den Hinweisen im Skript sind anzupassen:

    IP des Shelly2.5

    CUxD-Exec-Kanal (Im Skript: CUX2801001:3)

    CUxD-Kanaladressen der Schalter (im Skript CUX40000007:1 ind CUX40000007:2)

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

    Alle Rechte vorbehalten

    ____________________________________________________________

    • Offizieller Beitrag

    Ich lege nochmal nach mit der Option, die Leistung je Kanal mit auszuwerten, anzeigen zu lassen und natürlich die Werte auch in Programmen zu verwenden.

    Dazu brauchen wir 2 Systemvariablen für die Leistungswerte Kanal 1 und Kanal 2:

    Systemvariablen Leistung.png

    Die Variablen werden wieder dem entsprechenden Kanal des Shelly-CUxD-Gerätes zugeordnet.

    Dann sieht das Ganze so aus:

    Shelly2.5 mit Leistungsmessung.png


    In das Programm zur Statusaktualisierung fügen wir nun eine 2. DANN Zeile zur Aktualisierung der Leistungsdaten ein:

    Erweitertes Programm.png

    Es fehlt noch das neue Skript für die 2. DANN-Zeile:

    Schon habt Ihr auch die Leistung in jedem Kanal verfügbar! :)

    Viel Spaß damit. ;)

    Nachtrag:

    gmt94 hat mir ein Skript zur Verbrauchsaktualisierung zugesandt, mit der Bitte, es hier zu veröffentlichen.

    Vielen Dank dafür. :thumbup:

    Die Ermittlung des Gesamtenergieverbrauchs des Shelly 2.5 erfolgt analog zum Shelly 1PM. Daher habe ich die hier schon veröffentlichen Scripte von 66er benutzt und es für den 2.5 abgeändert.

    Was ihr nun noch braucht sind:

    - 2 Systemvariablen in meinen Script sind das Shelly_Verbrauch_Licht_FlurEG und Shelly_Verbrauch_Licht_FlurOG (als Zahl anlegen mit der Einheit kWh)


    Ihr könnt die Variablen natürlich benennen wie ihr möchtet. Jedoch ist es ganz wichtig diese als erstes anzulegen. Diese müssen dann zweimal im Script eingetragen werden.

    - 2x eure IP Adresse eintragen/anpassen

    - 10x eurev CUxD-Exec-Kanal eintragen/anpassen


    Wie auch schon bei den ganzen anderen Anleitungen hier im Forum das Script dann in ein Dann Programm stecken, welches über den Cux-Timer getriggert wird.


    Der bitte komme ich gerne nach. ;):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).

    © 2019 Stefan K. (alias 66er)

    Alle Rechte vorbehalten

  • Hab mein ersten 2.5er nach deiner Anleitung problemlos einbinden können.

    Schalten, Onlinestatus und Leistungskanal klappt einwandfrei.

    Der Aufbau und die Notwendigkeit der CUxD Timer, Exec etc. ist mir schon klar, allerdings verstehe ich nicht welchen Kanal der Exec ich verwenden soll, da wird ja nichts eingestellt?!?

    Hab einfach einen beliebigen meines Shelly Exec gewählt und es funktioniert, ich versteh nur nicht warum ;)

    Die Leistungsanzeige in der Shelly App zeigt Nachkommastellen an, z.B. 5,74 W. Die Variable macht daraus immer 6,00 W, Also Ausgabe als Ganzzahl ohne Nachkommastellen. Liegt das am Übertragungsprotokoll?

    Ich meine irgendwo mal einen Beitrag von dir zum Thema Aufzeichnung des Verbrauchs (quasi analog zu dem aus der Cloud) gelesen zu haben aber ich finde das Thema nicht mehr. Vielleicht kannst du mir da ja noch auf die Sprünge helfen.

    Da ich bei der Suche auch auf die ein oder andere Nachfrage zum Thema TinyMatic gestoßen bin wollte ich auch mal ein wenig Output liefern.

    Wenn man für die Steuerung (CuxD 40) das Icon von Fernbedienung auf z.B. Zwischenstecker Schaltaktor ändert lässt sich auch mit TinyMatic inkl. Rückmeldung schalten.

    Gruß

    Martin

    • Offizieller Beitrag

    Hallo bommel_030 ,

    ich habe das Thema zur besseren Auffindbarkeit mal in einen eigenen Thread abgetrennt.

    Hier geht es bitte dazu weiter. ;)

    • Offizieller Beitrag

    Als weitere Option kann man noch die im Shelly gespeicherten Gesamtverbräuche je Kanal einbinden.

    Das Thema birgt aber einige Stolperfallen, wenn man die Daten verlässlich verarbeiten will.

    Mehr dazu findet Ihr in diesen Threads:

    Shelly2.5 und die Gesamtleistung je Kanal

    Diskussion zu den Leistungsdaten

    Schönen Pfingsmontag Euch allen :)

  • Dieses Thema enthält 13 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.