Shelly EM in Homematic einbinden - mit der Originalfirmware

    • Offizieller Beitrag

    Ausnahmsweise habe ich mal die Einbindung des Shelly EM in die Homematic-Welt übernommen.

    Mit freundlicher Genehmigung von 66er übernehme ich die gewohnte Anleitungstextformatierung mit der technologischen Reihenfolge. (Stefan, ausdrücklichen Dank nochmal an dieser Stelle!)

    Hallo Homematic-Freunde,

    um den Shelly EM 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:

    • alle Shelly EM -Eigenschaften bleiben erhalten, da ich die Aktoren mit der originalen Herstellerfirmware betreibe
    • alle zukünftigen Shelly EM -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
    • Optionale Überwachung des Onlinestatus (Erreichbarkeit im WLAN)
    • Optionale Überwachung der Leistungsanzeige in W
    • Optionale Überwachung der Spannungsanzeige in V  
    • Optionale Überwachung der Blindleistungsanzeige in Var
    • Optionale Überwachung der bezogenen Energie in Wh neu!
    • Optionale Überwachung der ins Netz eingespeisten Energie in Wh (Counter) neu!

     

    Die Ansicht der Anbindung:

    Ansicht der Anbindung.png

    Bild 1

    ShellyEM_Status.png

    Bild 1.1 nur Kanal 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!)

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

    CUxD (40) als Schalter.png

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


    Die Einstellungen der Kanäle:

    Der Shelly EM besitzt zwei Messkanäle an denen zwei Messwandler angeschlossen werden können.

    Achtung!: Es ist aber nur ein Relais/Schaltausgang zum Ansteuern eines externen Relais integriert. Bei der Erstellung von Szenen oder Actions ist die richtige Kanalauswahl zu beachten!

    Einstellen der Kanäle.png

    SWITCH|CMD_EXEC: Häkchen setzen !

    Einstellung für SWITCH|CMD_SHORT:

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

    Einstellungen für SWITCH|CMD_LONG:

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

    IP-Adresse des Shelly EM jeweils anpassen !

    Damit ist der Shelly EM schon einsatzbereit und das externe Relais kann ein- und ausgeschalten werden. :)


    ____________________________________________________________

    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 SparkyMaster

    • Offizieller Beitrag

    Aktualisierung des Schaltstatus:

    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.


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

    CUxD Timer.png

    Aktualisierung alle 60 Sekunden (Zeit variabel)

    ... der das Programm zur Aktualisierung triggert:

    Programm Aktualisierung.png

    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 EM

    CUxD-Exec-Kanal

    CUxD-Kanal des Shelly EM


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

    ____________________________________________________________

    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 SparkyMaster

    • Offizieller Beitrag

    Optionale Anzeigen:

    1.) aktuelle Leistungsanzeige:

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

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

    Systemvariable Leistung.png

    Die Variablen werden dem entsprechenden Kanal des Shelly-CUxD-Gerätes zugeordnet. Dadurch werden 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:

    Systemvariable Onlinestatus.png

    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 EM überwacht werden. Natürlich kann auch ein freier Kanal eines schon vorhandenen CUxD-Ping genutzt werden.


    CUxD Ping.png

    IP anpassen!

    Einstellungen für SWITCH|CMD_EXEC_TRUE:

    Code
    extra/timer.tcl Onlinestatus_ShellyEM_Photovoltaik 1


    Einstellungen für SWITCH|CMD_EXEC_FALSE:

    Code
    extra/timer.tcl Onlinestatus_ShellyEM_Photovoltaik 0

    Name der Systemvariablen jeweils anpassen! (hier: Onlinestatus_ShellyEM_Photovoltaik)

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


    3.) aktuelle Spannungsanzeige:

    wertet die Spannung des Shelly EM 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 Spannungswert:

    Systemvariable Spannung.png

    Die Variable 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 3. DANN Zeile zur Aktualisierung der Spannungsdaten 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 Spannung aktualisiert. :)


    4.) aktuelle Blindleistungsanzeige:

    wertet die Blindleistung jedes Shelly EM-Kanals aus, zeigt sie im CUxD-Gerät an und natürlich können die Werte auch in Programmen genutzt werden.

    Dazu brauchen wir 2 Systemvariablen für die aktuellen Blindleistungswerte:

    Systemvariable Blindleistung.png

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

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

    Achtung:

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

    Das Skript dazu:

    Namen der Systemvariablen jeweils anpassen! (hier: Shelly_EM_Photovoltaik_Blindleistung1 bzw. 2)

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


    5.) aktuelle Anzeige der bezogenen Energie:

    wertet die bezogene Energie (von der EVU) jedes Shelly EM-Kanals aus, zeigt sie im CUxD-Gerät an.

    Dazu brauchen wir 2 Systemvariablen für die aktuellen Energiewerte:

    ShellyEM_SYS Bezug.png

    Die Variable 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 5. DANN Zeile zur Aktualisierung der bezogenen Energie ein.

    Achtung:

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

    Das Skript dazu:

    Namen der Systemvariablen jeweils anpassen! (hier: Shelly_EM_Photovoltaik_Energie_Bezug 1 bzw. 2)

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


    6.) aktuelle Anzeige der eingespeisten Energie:

    wertet die eingespeiste Energie (z.B. von einer Photovoltaik-Anlage) jedes Shelly EM-Kanals aus, zeigt sie im CUxD-Gerät an.

    Dazu brauchen wir 2 Systemvariablen für die aktuellen Energiewerte:

    ShellyEM_SYS Einspeisung.png

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

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

    Achtung:

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

    Das Skript dazu:

    Namen der Systemvariablen jeweils anpassen! (hier: Shelly_EM_Photovoltaik_Energie_Einspeisung 1 bzw. 2)

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


    ____________________________________________________________

    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 SparkyMaster

    • Offizieller Beitrag

    :thumbup: Sauber,

    hab's in die Übersicht aufgenommen und verlinkt. ;)

  • SparkyMaster 17. Februar 2020 um 15:06

    Hat den Titel des Themas von „SHELLY EM IN HOMEMATIC EINBINDEN - MIT DER ORIGINALFIRMWARE“ zu „Shelly EM in Homematic einbinden - mit der Originalfirmware“ geändert.
  • SparkyMaster 3. April 2024 um 12:50

    Hat das Thema geschlossen.