- Offizieller Beitrag Autor
Hallo Stefan,
obwohl ich alle Shellys perfekt nach Deiner Anleitung einbinden konnte, habe ich doch ein kleines Problem.
Die Gesamthelligkeit lässt sich nicht ändern! Ich kann je Farbe die einzelnen Regler verschieben mit jeweiliger Helligkeitsänderung, nur nicht die Gesamthelligkeit.
Ich hänge mal meine "Einbindung" in Bildern an, vielleicht siehst Du den Fehler sofort!?
Code
!Skript zur Farbaktualisierung ShellyRGBW2 mit Originalfirmware (by 66er V1.1)
!Schlafzimmer (nur zur Orientierung, ggf anpassen)
!****Abfrage des ShellyRGBW2 *****
!In der folgenden Zeile IP des ShellyRGBW2 anpassen!
var url = "http://192.168.178.26/status";
!In den folgenden Zeilen die CUxD-Exec-Kanal anpassen (hier:CUX2801001:5)
dom.GetObject("CUxD.CUX2801001:5.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:5.CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject("CUxD.CUX2801001:5.CMD_RETS").State();
string t = dom.GetObject("CUxD.CUX2801001:5.CMD_RETS").State();
dom.GetObject("CUxD.CUX2801001:5.CMD_SETS").State("0");
!WriteLine(Antwort);
!WriteLine(t);
!****Auswertung des Antwortstrings für rot ****
!In diesem Abschnitt NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"red"')) {
string r = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(r);
real r1= r.ToFloat();
! WriteLine(r1);
real r2=r1/255;
! WriteLine(r2);
}
}
!**** Wert R im Multi-Dim setzen****
!CUxD-Geräteadresse UND Kanal des Multi.DIM-Device anpassen (hier: CUX2802001:2)
dom.GetObject("CUxD.CUX2802001:2.SET_STATE").State(r2);
!****Auswertung des Antwortstrings für grün ****
!In diesem Abschnitt NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"green"')) {
string g = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(g);
real g1= g.ToFloat();
! WriteLine(g1);
real g2=g1/255;
! WriteLine(g2);
}
}
!**** Wert G im Multi-Dim setzen****
!CUxD-Geräteadresse UND Kanal des Multi.DIM-Device anpassen (hier: CUX2802001:3)
dom.GetObject("CUxD.CUX2802001:3.SET_STATE").State(g2);
!****Auswertung des Antwortstrings für blau ****
!In diesem Abschnitt NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"blue"')) {
string b = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(b);
real b1= b.ToFloat();
! WriteLine(b1);
real b2=b1/255;
! WriteLine(b2);
}
}
!**** Wert B im Multi-Dim setzen****
!CUxD-Geräteadresse UND Kanal des Multi.DIM-Device anpassen (hier: CUX2802001:4)
dom.GetObject("CUxD.CUX2802001:4.SET_STATE").State(b2);
!****Auswertung des Antwortstrings für weiss ****
!In diesem Abschnitt NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"white"')) {
string w = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(e);
real w1= w.ToFloat();
! WriteLine(w1);
real w2=w1/255;
! WriteLine(w2);
}
}
!**** Wert W im Multi-Dim setzen****
!CUxD-Geräteadresse UND Kanal des Multi.DIM-Device anpassen (hier: CUX2802001:5)
dom.GetObject("CUxD.CUX2802001:5.SET_STATE").State(w2);
!****Auswertung des Antwortstrings für die Helligkeit der Farben ****
!In diesem Abschnitt NICHTS ändern
string s;
foreach (s,t.Split (",")) {
if (s.LTrim ("{").StartsWith ('"gain"')) {
string h = (s.StrValueByIndex (":",1).RTrim ("}"));
! WriteLine(h);
real h1= h.ToFloat();
! WriteLine(h1);
real h2=h1/100;
! WriteLine(h2);
!**** Wert Helligkeit im Multi-Dim setzen****
!CUxD-Geräteadresse UND Kanal des Multi.DIM-Device anpassen (hier: CUX2802001:6)
dom.GetObject("CUxD.CUX2802001:6.SET_STATE").State(h2);
}
}
!Ende Skript
Alles anzeigen