Shelly UNI zur Batterieüberwachung in Homematic einbinden - mit der Originalfirmware

    • Offizieller Beitrag
    • Autor


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

    Getestet auf Shelly-UNI-Firmware:

    1.9.0 | 1.9.3


    Hallo liebe Homematic-Freunde. :)

    Heute geht es um die Einbindung des Shelly Uni., als Überwachung einer Spannung, z.B. Batterie.

    Anwendungsszenario:

    Eine Insel-PV, die eine 12V-Batterie lädt. Bei Batterieunterspannung schaltet Schaltkanal 1 und bei Überspannung Schaltkanal 2 des Shelly-UNI (eingestellt in den entsprechenden Actions im Shelly).

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

    Was habe ich nun aktuell realisiert:

    • Ein- und Ausschalten beider Schaltkanäle inkl. Rückmeldung, wenn über die App oder per Schalter geschaltet wird
    • Schaltkanal-Nutzung von Kanal 1 und/oder 2 frei konfigurierbar, d.h. wird z.B. nur 1 Kanal genutzt, braucht Ihr auch nur 1 CUxD-Schalt-Kanal
    • Spannungsanzeige des Messkanals, mit Offset
    • Überwachung des Onlinestatus, kein CUxD-Ping-Device nötig
    • Jede Funktion einzeln aktivierbar / deaktivierbar, daher shr individuell anpassbar.
    • Alle notwendigen Systemvariablen werden automatisiert erstellt, daher sehr leicht einzurichten


    Das Ganze sieht z.B. als Favorit angelegt mit allen Optionen dann so aus:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    (Favoritenansicht)


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

    • Offizieller Beitrag
    • Autor

    ©2020 Stefan K. (alias 66er)

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

    -> Anleitung: CUxD-Exec-Device erstellen

    Für die Kopplung des Shelly-UNI braucht Ihr je nach Nutzung 1 - 2 Kanäle einer CUxD (40) 16-Kanal Universalsteuerung als Schalter, Diese Kanäle können in einem bereits existierenden CUxD-Device belegt werden, oder Ihr legt ein Neues an.

    Systemvariablen braucht Ihr nicht anlegen!

    Diese werden entsprechend Euren Eintragungen im Setup des Skriptes (siehe weiter unten) automatisch erzeugt und für Eure Übersicht in der Spalte "Beschreibung" auch entsprechend gekennzeichnet:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Nach dem ersten Durchlauf der Aktualisierung sind die für Euer individuelles Setup benötigten Variablen angelegt und können über "bearbeiten" und "Kanal" dem gewünschten Schaltkanal zugeordnet werden.

    Hinweis:

    Wenn Ihr im Setup des Skriptes beide Schaltkanäle auf "N" gesetzt habt, weil Ihr z.B. nur den Spannungswert braucht, so steht dieser ab dem 2. Durchlauf in der Variablen zur Verfügung. ;)

    Nach der Zuordnung sieht das ganze dann z.B. so aus:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    In genutzten Schaltkanälen sind folgende Einstellungen zu machen:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Einstellungen SWITCH|CMD_SHORT für Schaltkanal 1 des Shelly-UNI

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

    Einstellungen SWITCH|CMD_LONG für Schaltkanal 1 des Shelly-UNI

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

    Gegebenfall im 2 Schaltkanal:

    Einstellungen SWITCH|CMD_SHORT für Schaltkanal 2 des Shelly-UNI

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

    Einstellungen SWITCH|CMD_LONG für Schaltkanal 2 des Shelly-UNI

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

    Jeweils die IP des Shelly-UNI anpassen!

    Somit könnt Ihr mit Homematic die Schaltkanäle des Shelly-UNI bedienen. :)

    • Offizieller Beitrag
    • Autor

    Nun hauchen wir der Kopplung Leben ein.

    Dazu benötigen wir ein Aktualisierungsprogramm:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Statt des Zeitmoduls könnt Ihr natürlich je nach Gusto auch einen CUxD-Timer zur Auslösung der Werteaktualisierung nehmen.

    So oder so werden die Werte und Schaltzustände im eingestellten Intervall aktualisiert.;)

    Hier noch das Skript, in dem Ihr das Setup mit Euren eigenen Daten anpassen müßt!


    Nun werden alle ausgewählten Feature im Intervall des Aktualisierungsprogramm in der Homematic aktualisiert. :thumbup:

    Um eine direkte Rückmeldung über den Schaltstatus der Schaltkanäle des Shelly-UNI zu bekommen, wenn diese auf Shelly-Seite geschaltet werden, kann man wie immer die Actions nutzen:

    Eintrag in OUTPUT SWITCHED ON URL:

    Code
    http://192.168.x.x:8181/66er.exe?Antwort=dom.GetObject("CuxD.CUX4000001:7.SET_STATE").State(1)

    Eintrag in OUTPUT SWITCHED OFF URL:

    Code
    http://192.168.x.x:8181/66er.exe?Antwort=dom.GetObject("CuxD.CUX4000001:7.SET_STATE").State(0)

    IP der CCU und CUxD-Adresse des Schaltkanals jeweils anpassen!


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

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

    • Offizieller Beitrag
    • Autor

    Neue Skriptversion V1.1.0

    Changelog:

    Variable für Offset hinzugefügt um das Messergebnis justieren zu können