Shelly TRV goes Homematic - mit der Originalfirmware

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

    Alle Rechte vorbehalten!


    Entwickelt und getestet auf ShellyTRV-Firmware:

    2.1.0


    Hallo liebe Homematic-Freunde. :)

    Heute geht es um die Einbindung des Shelly TRV in die Homematic.


    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)


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

    Anders als Ihr es bisher von meinen Kopplungen kennt, liegt der Schwerpunkt beim TRV auf der Visualisierung und dem Verfügbarmachen der Werte für weitere Aktionen innerhalb der Hausautomation mit Homematic.

    Beispiel: Haben wir Soll- und Ist-Temperatur des TRV in der Homematic, so kann man auf eine zu große Unterschreitung der Solltempearatur reagieren (eMail- oder Push-Nachricht z.B.)

    Warum anders ?
    1.

    Nun, eine große Herausforderung in diesem Projekt, war die Zuverlässigkeit der Kopplung. Der TRV geht ja bekanntermaßen wie alle anderen batteriegespeisten Geräte in einen Sleepmode. Da es zumindest aktuell keine als sinnvoller Trigger heranziehbare Actions gibt, muß folglich der TRV von der Homematic bei jeder Abfrage und jedem Sendbefehl vorher zuverlässig geweckt werden.

    2.

    Seine eigentliche Aufgabe erledigt der Shelly TRV vollkommen selbstständig! Ein Eingriff durch Homematic ist eigentllch gar nicht nötig, aber machbar.

    3. Unter Anderem auch wegen der Kombination aus Aufwecken und Abfragen hat das Skript eine relativ lange Laufzeit. (CCU2-User beachten bitte unbedingt diesen Hinweis. ) Daher sollte das Aktualisierungsintervall sehr bedacht gewählt werden! Eine Heizung ist ja etwas Anderes als z.B. eine dimmbare Beleuchtung. Es muß nicht permanent etwas verändert werden!


    Die Kopplung hat folgende Möglichkeiten:

    • Spiegeln einzeln auswählbarer Werte in Homematic.
      Diese werden in Systemvariablen geschrieben und können beliebig in Programmen weiterverarbeitet werden.
    • Überwachung ob die letzte Abfrage erfolgreich war, optional
    • Alle notwendigen Systemvariablen werden automatisiert erstellt und dem passenden Schaltkanal zugeordnet, daher sehr leicht einzurichten
    • optional setzen von vordefinierten Temperaturen mit Tastendruck
    • Restrict-Login

    Das Ganze sieht dann im aktuellen, maximalen Endausbau so aus:

    TRV in CCU V3.PNG

    techn. Voraussetzungen:

    • kompatibel mit den Homematic-Systemen CCU2*, CCU3, Charly, sowie allen Ablegern wie RaspberryMatic

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

    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2022 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!)


    Für den ShellyTRV benötigen wir (mindestens) 1 Kanal eines ggf. vorhandenen oder neu anzulegenden

    CUxD Gerätetyps (40) 16 Kanal Universalsteuerung als Taster:

    CUxD-Gerät anlegen.PNG

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

    Damit können maximal 16 Shelly TRV abgebildet werden.

    (bei Nutzung von max. 1Kanal, sprich max. 2 möglichen Schaltfunktionen)


    Solltemperatur manuell mit Homematic-Tastendruck ändern:

    Hinweis:

    Auch diese Option verlangt der CCUx Laufzeit ab, deshalb sollte bei Nutzung dieser Möglichkeit die Häufigkeit der Änderungen sehr bedacht gewählt werden. Mit jedem Tastendruck muß immer der Shelly TRV zunächst geweckt und anschließend der Befehl übertragen werden.

    Die Kanalbeschriftung oben im ersten Bild wurde nicht zufällig gewählt.

    Kanalbeschriftung.PNG


    Das "18 -- 20" soll die Belegung der Tasten wiedergeben: kurz=18 Grad und lang=20 Grad

    (Natürlich ist das nur ein Beispiel, beschriften kann jeder nach eigenem Gusto. ;) ) Wichtig ist aber, später im Setup des Skriptes genau diesen Namen zu verwenden!

    1.) Haken setzen bei "SWITCH|CMD_EXEC"

    2.) Eintrag für "SWITCHCMD_SHORT":

    jeweils IP-Adresse des Shelly und Solltemperatur anpassen!

    Zitat


    wget -q -O - 'ping -w 20 192.168.2.151' wget -q -O - 'http://192.168.2.151/thermostat/0/?target_t~3d18'

    2.) Eintrag für "SWITCHCMD_LONG":

    jeweils IP-Adresse des Shelly und Solltemperatur anpassen!

    Zitat


    wget -q -O - 'ping -w 20 192.168.2.151' wget -q -O - 'http://192.168.2.151/thermostat/0/?target_t~3d20'

    Und hier als unformatierter Code:

    Code
    wget -q -O - 'ping -w 20 192.168.2.151' wget -q -O - 'http://192.168.2.151/thermostat/0/?target_t~3d18'
    
    wget -q -O - 'ping -w 20 192.168.2.151' wget -q -O - 'http://192.168.2.151/thermostat/0/?target_t~3d20'

    (Achtung: Es dürfen keine Leerzeichen (pro Befehls-Zeile gelöscht werden!)


    Das Ganze sollte also jetzt so aussehen:

    TRV CUxD Einstellungen.PNG

    Damit funktioniert schon mal das Setzen der Solltemperatur für den Shelly TRV . :)

    Hinweis:

    Natürlich sind auch andere Befehle hier denk- und einsetzbar. Bei Bedarf könnte man auch weiter CUxD-Kanäle mit Befehlen für den TRV belegen.

    Ich erinnere aber an den möglichst sparsamen Umgang mit dieser Möglichkeit. um die Systemlast der CCU gering zu halten und Eure übrigen Funktionen nicht zu stark zu verzögern!


    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

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

    Alle Rechte vorbehalten!


    Rückmeldung des Shelly TRV via Actions:

    Da der TRV in der aktuellen Firmware keine trigger-relevanten Actions anbietet ...

    Actions.PNG

    ... werden aktuell keine Einstellungen für die Kopplung im TRV benötigt!

    Ich erwähne das nur, damit nicht der Eindruck entsteht, ich hätte hier etwas vergessen. ;)

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

    Alle Rechte vorbehalten!


    Werte-Aktualisierung:

    Wie Ihr es schon aus anderen Kopplungen kennt, erfolgt die Aktualisierung wieder über ein zeitgesteuertes Programm.

    Ob Ihr als Trigger das interne Zeitmodul oder einen CUxD-Timer nutzt, bleibt Euch überlassen.

    Je nach Anzahl der eingesetzten TRV und abhängig von der Gesamtlast Eurer Homematic-Installation empfehle ich, nicht öfter als stündlich zu aktualisieren.

    Der Programmscreenshot zeigt die Aktualisierung eines Shelly TRV.

    Für weitere Shelly TRV braucht Ihr kein zusätzliches Programm anzulegen, sondern Ihr erweitert einfach den DANN-Zweig um jeweils eine Zeile pro zusätzlichem TRV mit dem zugehörigen Skript. ;)

    Als Mindestabstand (= "verzögert um") empfehle ich Euch 3 bis 5 Minuten !

    Das Programm (Variante 1):

    Programm TRV.PNG

    Nochmals der Hinweis:

    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.


    Das Programm (Variante 2):

    Wer die Tasten aktiv nutzt, egal ob manuell oder in Programmen, wird eine zeitnahe Aktualisierung brauchen, um zu erkennen, ob der Befehl auch beim TRV angekommen ist.

    Für diejenigen gibt es eine 2. Variante des Aktualisierungsprogramms, die den Wert kurz nach Drücken der Taste holt. Bitte beachten: Diese Variante benötigt 1 Programm je Shelly TRV!

    Programm Variante 2.PNG

    Nach einigen Minuten sollte der Wert aktualisiert sein, vorausgesetzt, der Shelly TRV wurde erreicht.

    Viel Spass damit. :)

    __________________________________________________________________________________

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

    Alle Rechte vorbehalten!

  • ©2022 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!

    Im eingestellten Intervall werden nun entsprechend den aktivierten Feature die Daten des TRV aktualisiert. :)


    Changelog:

    V1.2.0 | 16.01.2022

    - Systemvariable mit Informationen zum Firmwarestand zugefügt.

    V1.1.0 | 09.01.2022

    - Systemvariable für den Ventilstand auf Userwunsch zugefügt


    V1.0.1 | 08.01.2022

    - Einheiten der Temperaturvariablen korrigiert

    Bitte beachten:

    Damit die Korrektur wirksam wird, müssen die alten, bereits existierenden Variablen gelöscht werden.

    - überflüssige Code-Zeile entfernt.

    Danke SparkyMaster für Deine Hinweise. :thumbup:

    V1.0.0 | 07.01.2022
    Erstpublizierung


    ____________________________________________________________

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

    An dieser Stelle nochmals Dank an MichaelN aus dem Homematic-Forum für die freundliche Zustimmung, sein Skript "Json universell auslesen" in meine Shelly-Skripte einbauen zu dürfen.

    © 2021 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.