ShellyMotion2 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 ShellyMotion2-Firmware:

    V2.1.7 und V2.1.8


    Hallo liebe Homematic-Freunde. :)

    Heute geht es um die Einbindung des ShellyMotion2 in die Homematic.

    Diese Kopplung ermöglicht uns Homematicern, ein virtuelles Abbild des ShellyMotion2 in der Homematic-Welt zur Verfügung zu haben und somit alle Informationen als Trigger für Programme in der Homematic zur Verfügung zu haben.

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

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

    Hier schon mal ein Bild der maximalen, realisierten Integration :


    Gerät in CUxD V2.PNG

    __________________________________________________________________________________

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

    Kopplungs-Features:

    Folgende Funktionen wurden auf der Homematic-Seite aktuell umgesetzt:

    • Bewegungserkennung
    • Tamper-Zustand (Vibrationserkennung)
    • Letzter Abfragezustand (Online / Offline)
    • Aktualisierung der Batteriekapazität in %
    • Aktualisierung des Sensorstatus (Melder aktiv / inaktiv)
    • Aktualisierung der Lichtverhältnisse (Dämmerung)
    • Aktualisierung des aktuellen Helligkeitszustandes in lx


    • alle Funktionen einzeln aktivier-/abschaltbar (ausser Bewegungserkennung)
    • alle Systemvariablen werden der Funktionenauswahl entsprechend automatisch angelegt und dem Kanal zugewiesen

    Die Umsetzung:

    Wir brauchen je ShellyMotion2 1 Kanal eines vorhandenen oder neu anzulegenden

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

    CuxD-Gerät.PNG


    Wie schon geschrieben nutzen wir je ShellyMotion2 1 Kanal, können also mit dem angelegten Gerät maximal 16 ShellyMotion2 virtuell darstellen.

    Nach dem Erstellen sieht der Kanal für den ShellyMotion2 dann so aus:

    Kanalansicht.PNG

    Und mit nur 2 Actions-Eintragungen im Shelly Motion2 erwecken wir unseren ShellyMotion2 in der Homematic zum Leben. :)


    Für die erkannte Bewegung nutzen wir wenn die Übertragung permanent (Unabhängig von der Helligkeit) gewünscht ist:

    Action Motion detected.PNG

    Natürlich kann man optional hier zeitliche Einschränkungen setzen. ;)

    Der Code:

    Code
     http://192.168.1.93:8181/66er.exe?Antwort=dom.GetObject("CUxD.CUX4000019:1.SET_STATE").State(1)

    IP der CCU und Adresse des CUxD-Kanals in der URL anpassen!

    Alternativ kann man je nach Verwendung auch die Actions "Motion detected in dark" oder "... in twilight" usw. verwenden

    Um den Bewegungsalarm zurückzusetzen, nutzen wir die Action "END OF MOTION DETECTED":

    End Motion.PNG

    Der Code:

    Code
    http://192.168.1.93:8181/66er.exe?Antwort=dom.GetObject("CUxD.CUX4000019:1.SET_STATE").State(0)

    IP der CCU und Adresse des CUxD-Kanals in der URL anpassen!


    Damit ist Bewegungsmelder nun schon in Funktion. :) :thumbup:

    Hierfür braucht man kein Aktualisierungsprgramm und kein Skript zu nutzen (wird später in der Anleitung kommen) ;)


    Tamperalarm (Erschütterung):

    Um diese Variable zu steuern, können wir uns ebenfalls der vorh. Webhooks bedienen:

    Action Tamperalarm.PNG

    Es gilt grundsätzlich das Gleiche wie beim Alarm.

    Code für Tamperalarm-Auslösung:

    Code
    http://192.168.1.93:8181/66er.exe?Antwort=dom.GetObject("ShellyMotion2_Test_Vibration").State(1)

    Code für Tamperalarm-Ende:

    Code
    http://192.168.1.93:8181/66er.exe?Antwort=dom.GetObject("ShellyMotion2_Test_Vibration").State(0)

    Jeweils IP der CCU und Variablennamen in der URL anpassen!

    Nach dem Anlegen der Variablen steht damit auch der Erschütterungsalarm in der Homematic zur Verfügung. :) :thumbup:

    Wer keine weiteren Werte aus dem ShellyMotion2 in die Homematic bringen möchte, kann die Variable für den Tamperalarm

    • entweder von Hand anlegen und dem Kanal zuweisen
    • oder das später folgende Skript-Setup konfigurieren und einmalig unter "Skript testen" ausführen.

    Händisch ist die Variable so anzulegen:

    Variable Tamper.PNG

    Somit nächster Schritt erledigt. :)


    __________________________________________________________________________________

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

    Programm:

    Nun brauchen wir noch ein Programm, welches das Skript enthält und ausführt, um die Variablen anzulegen und die Werte (, die nicht per Actions gesetzt werden, ) zu aktualisieren.

    Programm.PNG


    Zum Schluß fehlt jetzt noch das Skript:

    (Bitte nur den Bereich "SETUP" anpassen und sonst Nichts ändern!)

    Empfehlung:

    Die Variable für den letzten Onlinestatus muß nicht unbedingt angelegt werden. Die Prüfung selbst sollte aber unbedingt aktiv sein, um Verzögerungen im Gesamtablauf der Homematic zu vermeiden!


    Viel Spass damit. :) :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).


    © 2022 Stefan K. (alias 66er)

    Alle Rechte vorbehalten


    ____________________________________________________________

    Dir gefällt die Anleitung? Du möchtest den dahinterstehenden Aufwand mit einem kleinen "Danke" honorieren?

    Ich freue mich über jedes Danke Paypal (Geld an einen Freund senden): der-66er@web.de

    Vielen Dank. :) :thumbup:

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

    Alle Rechte vorbehalten!


    Changelog :


    V1.1.0 | 13.08.2022

    Erstpublizierung