- Offizieller Beitrag
©2020 Stefan K. (alias 66er) - ausführlicher Hinweis dazu am Ende der Anleitung
Hallo Homematic-Freunde,
in dieser Anleitung geht es um das Schalten von Duo-Lampengruppen mit Homematic.
Heute habe ich in eine Küchenlampe 3 Shelly Duo-GU10 eingebaut. Und damit bin ich auf ein Problem im Zusammenspiel von Homematic und der Shelly-REST-API gestossen.
Aber keine Sorge: schon gelöst.
Da jedes Leuchtmittel eine eigene IP-Adresse hat und somit in Homematic ein eigenes Gerät ist, könnte man "homematicstandard" im Programm nur nacheinander mit jeweils 1 Sekunde verzögert ein- bzw. ausschalten.
Für mein Empfinden nicht sehr schön, man ist gewohnt, dass alle Leuchtmittel gleichzeitig reagieren.
Über jeweils 1 Skript für das EIN- und Ausschalten lässt sich genau das erreichen.
Statt die einzelnen Leuchtmittel im Programm einzuschalten, wird einfach das Skript gestartet, dass zwar ebenso die http-Requests sequentiell ausliefert, aber eben deutlich schneller und daher entsteht der Eindruck, sie schalten gleichzeitig.
Wie seit geraumer Zeit üblich, muß im Skript nur der Bereich "Setup" von Euch angepasst werden.
Die Skripte sind in der aktuellen Version auf max. 6 Leuchtmittel ausgelegt.
Einschalten:
!Skript V1.1.0 zur GruppenEINschaltung von Shelly Duo und Duo-GU10 mit Originalfirmware (c)2020 by 66er (alias Stefan K.)
!Raumbezeichnung Küche links (nur zur Orientierung, ggf anpassen)
!**** SETUP ******** SETUP ******** SETUP ******** SETUP ***
! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!
! Setup CUxD-Exec-Kanal
var exec = "CUxD.CUX2801001:8"; ! Adresse und Kanal des CUxD-Exec-Device anpassen
!Setup der Shelly Duo bzw. Duo-GU10 IP-Adressen, Farbton und Helligkeit
string duo1='http://192.168.1.156/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
string duo2='http://192.168.1.157/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
string duo3='http://192.168.1.158/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
string duo4='http://192.168.x.xxx/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und FarbtonIP anpassen
string duo5='http://192.168.x.xxx/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
string duo6='http://192.168.x.xxx/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
!Setup Anzahl der zu schaltenden Shelly Duo bzw. Duo-GU10
var anzahl = "3" ; ! erlaubt sind die Zahlen 1 bis 6
!****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******
!*****Ab hier NICHTS MEHR ÄNDERN *****
! Shelly einschalten
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo1#"'");
if ((anzahl) == 1) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo2#"'");
if ((anzahl) == 2) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo3#"'");
if ((anzahl) == 3) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo4#"'");
if ((anzahl) == 4) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo5#"'");
if ((anzahl) == 5) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo6#"'");
! Ende Skript
Alles anzeigen
Mit den Werten des Skriptes werden die Leuchtmitte kaltweiß und mit voller Helligkeit eingeschaltet.
Zitatstring duo1='http://192.168.1.156/light/0?turn=on&white=100&brightness=100'; !IP, Helligkeit und Farbton anpassen
Durch Verändern der markierten Werte lassen sich Weißton und Helligkeit anpassen.
Ausschalten:
!Skript V1.2.0 zur GruppenAUSschaltung von Shelly Duo und Duo-GU10 mit Originalfirmware (c)2020 by 66er (alias Stefan K.)
!Raumbezeichnung Küche links (nur zur Orientierung, ggf anpassen)
!**** SETUP ******** SETUP ******** SETUP ******** SETUP ***
! ACHTUNG: Beim Anpassen der Adressen keine "" löschen!
! Setup CUxD-Exec-Kanal
var exec = "CUxD.CUX2801001:8"; ! Adresse und Kanal des CUxD-Exec-Device anpassen
!Setup der Shelly Duo bzw. Duo-GU10 IP-Adressen
string duo1='http://192.168.1.156/light/0?turn=off'; !IP anpassen
string duo2='http://192.168.1.157/light/0?turn=off'; !IP anpassen
string duo3='http://192.168.1.158/light/0?turn=off'; !IP anpassen
string duo4='http://192.168.x.xxx/light/0?turn=off'; !IP anpassen
string duo5='http://192.168.x.xxx/light/0?turn=off'; !IP anpassen
string duo6='http://192.168.x.xxx/light/0?turn=off'; !IP anpassen
!Setup Anzahl der zu schaltenden Shelly Duo bzw. Duo-GU10
var anzahl = "3" ; ! erlaubt sind die Zahlen 1 bis 6
!****ENDE SETUP ********ENDE SETUP ********ENDE SETUP ******
!*****Ab hier NICHTS MEHR ÄNDERN *****
! Shelly ausschalten
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo1#"'");
if ((anzahl) == 1) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo2#"'");
if ((anzahl) == 2) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo3#"'");
if ((anzahl) == 3) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo4#"'");
if ((anzahl) == 4) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo5#"'");
if ((anzahl) == 5) { quit; };
dom.GetObject(""#exec#".CMD_EXEC").State("wget -q -O - '"#duo6#"'");
! Ende Skript
Alles anzeigen
Triggern kann man das natürlich individuell per Zeit oder Taster. Hier ein Beispielprogramm:
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 Stefan K. (alias 66er)
Alle Rechte vorbehalten