NEWS
Regenbogen Script
- 
					
					
					
					
 ich hab hier zwei kleine Scripte wo einmal alle Lampen/Gruppe zeigleich die Farbewechselt und dann noch ein wo 3 Leuchten im Kreis nach einander die Farbe wechselt alle Lampen function HSVtoRGB(h, s, v) { var r, g, b, i, f, p, q, t; i = Math.floor(h * 6); f = h * 6 - i; p = v * (1 - s); q = v * (1 - f * s); t = v * (1 - (1 - f) * s); switch (i % 6) { case 0: r = v, g = t, b = p; break; case 1: r = q, g = v, b = p; break; case 2: r = p, g = v, b = t; break; case 3: r = p, g = q, b = v; break; case 4: r = t, g = p, b = v; break; case 5: r = v, g = p, b = q; break; } return { r: Math.round(r * 255), g: Math.round(g * 255), b: Math.round(b * 255) }; } function componentToHex(c) { var hex = c.toString(16); return hex.length == 1 ? "0" + hex : hex; } function rgbToHex(r, g, b) { return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b); } function sleep(ms) { return new Promise((fnResolve) => { setTimeout(() => fnResolve(), ms); }); } var speed = 100; var refreshRate = 1500; //new color every 10ms var i = 0; var loop = async function() { while (getState('0_userdata.0.Regenbogen').val == true) { await sleep(refreshRate); var color = HSVtoRGB(i, 1, 1); var hexColor = rgbToHex(color.r, color.g, color.b); setState('zigbee.0.group_4.color', hexColor) ; i += 1 / 10000 * speed; if (i > 1) { i = 0; } } }; loop();und hier wo man 3 Leuchten hat function HSVtoRGB(h, s, v) { var r, g, b, i, f, p, q, t; i = Math.floor(h * 6); f = h * 6 - i; p = v * (1 - s); q = v * (1 - f * s); t = v * (1 - (1 - f) * s); switch (i % 6) { case 0: r = v, g = t, b = p; break; case 1: r = q, g = v, b = p; break; case 2: r = p, g = v, b = t; break; case 3: r = p, g = q, b = v; break; case 4: r = t, g = p, b = v; break; case 5: r = v, g = p, b = q; break; } return { r: Math.round(r * 255), g: Math.round(g * 255), b: Math.round(b * 255) }; } function componentToHex(c) { var hex = c.toString(16); return hex.length == 1 ? "0" + hex : hex; } function rgbToHex(r, g, b) { return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b); } function sleep(ms) { return new Promise((fnResolve) => { setTimeout(() => fnResolve(), ms); }); } var speed = 150; var refreshRate = 2000; //new color every 10ms var i1 = 0; var i2 = 0.2; var i3 = 0.4; var loop = async function() { while (getState('0_userdata.0.Regenbogen').val == true) { await sleep(refreshRate); var color1 = HSVtoRGB(i1, 1, 1); var hexColor1 = rgbToHex(color1.r, color1.g, color1.b); var color2 = HSVtoRGB(i2, 1, 1); var hexColor2 = rgbToHex(color2.r, color2.g, color2.b); var color3 = HSVtoRGB(i3, 1, 1); var hexColor3 = rgbToHex(color3.r, color3.g, color3.b); setState('zigbee.0.b40ecfd053650000.color', hexColor1) ; setState('zigbee.0.b40ecfd139860000.color', hexColor2) ; setState('zigbee.0.b40ecfd080ef0000.color', hexColor3) ; i1 += 1 / 10000 * speed; if (i1 > 1) { i1 = 0; } i2 += 1 / 10000 * speed; if (i2 > 1) { i2 = 0; } i3 += 1 / 10000 * speed; if (i3 > 1) { i3 = 0; } } }; loop();
- 
					
					
					
					
 @leovandavart zumindest bei den meisten Zigbee-Leuchten (leider aktuell nicht bei den Gruppen) geht das ganze viel einfacher: 
 Es gibt den Datenpunkt hue_move. Wenn man hier eine Zahl (<>0) einträgt dann gibt die Zahl die Geschwindigkeit vor mit der die Farbe gewechselt wird. Das gilt natürlich nur für Geräte die auch per hue/sat eingestellt werden können - das sollten inzwischen aber die meisten sein.Zum anhalten einfach den Wert 0 eintragen. 
- 
					
					
					
					
 @asgothian meine haben das halt nicht und das ist daraus geworden 
- 
					
					
					
					
 @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann 
- 
					
					
					
					
 @leovandavart sagte in Regenbogen Script: @asgothian ich habe mal nachgeforscht nach dem hue/sat wert angeblich haben die das aber der zigbee adapter hat die leuchten falsch erkannt kein plan wie ich ich das richtig hinbekomme oder wie ich das anders programieren kann Du kannst die Lampen in die ausschlussliste eintragen - (eigene Seite in der Adapter Konfiguration), danach den Adapter neu starten und einen ‘State cleanup’ durchführen. Danach solltest Du die passenden datenpunkte haben. A. 
- 
					
					
					
					
 @asgothian hat nix gebracht werden immer noch mit der falschen lampe erkannt laut zigbee adapter eine e27 leuchtmittel aber es ist eine gu10 
- 
					
					
					
					
 @leovandavart poste mal die Details zu dem Gerät. (Bezeichnung, zigbee-Model usw.) A. 
- 
					
					
					
					
 @asgothian dies wird erkannt in zigbee  es ist eine ewlink gu10 smart und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan 
- 
					
					
					
					
 @leovandavart sagte in Regenbogen Script: @asgothian dies wird erkannt in zigbee  es ist eine ewlink gu10 smart und eigendlich sollte es diese sein https://www.zigbee2mqtt.io/devices/GL-S-007Z.html Lt. Der Daten die die Leuchte schickt ist die Zuordnung im Adapter korrekt. Eine Gledopto Leuchte ist es sicher nicht - das sagt auch schon der Hersteller den die Leuchte meldet (eWeLink) kann man nicht probieren eine payload zu senden ? ich muss sagen ich hab davon leider null plan Das kannst du auf verschiedene Arten versuchen. Zunächst solltest du schauen ob die Leuchte Hue überhaupt unterstützt: 
  Zunächst musst du die Leuchte auf Farbe einstellen. Dann kannst du die folgenden Schritte versuchen. Dazu öffnest du die Konfiguration des Zigbee Adapters (nicht den Tab), und wechselst auf die Entwickler Ansicht. An Stelle des gelben im Screenshot musst du deine Leuchte auswählen. 
 An Stelle des roten gehört 1 rein - der Endpunkt der den Cluster unterstützen soll
 Dann auf ausführen flicken und 30 s warten ob es im schwarzen Feld eine Meldung gibt.Diese mal posten. Wenn da success steht kannst du versuchen den currentHue auch zu beschreiben (umstellen auf Write, needs value auswählen, wert angeben (0<x<350) und schauen ob du die Farbe anpassen kannst. Mit dem Ergebnis können wir dann weiter schauen. A. 
 P.s. Willkommen im Wahnsinn von TuYa. Gleiche Dinge melden sich unterschiedlich, und unterschiedliche Dinge melden sich gleich.
 Nachtrag; TuYa und ich werden keine Freunde, da viele TuYa Geräte Support von zigbee clustern melden, diesen aber unvollständig implementieren und statt dessen am Standard vorbei einen sonder weg gehen. Insbesondere bei leuchten ist das doof.
 A.
- 
					
					
					
					
 @asgothian leider kommt immer undefined "attributes.map is not a function" aber die meldung kommt auch bei hue lampen die das untersützen 
- 
					
					
					
					
 @leovandavart sagte in Regenbogen Script: @asgothian leider kommt immer undefined "attributes.map is not a function" aber die meldung kommt auch bei hue lampen die das untersützen Mist. Das muss ich mir im Code anschauen - das kann ich aber in den nächsten 6 Wochen wahrscheinlich nicht. Wie schon oben geschrieben gehe ich davon aus das die Leuchte zwar von außen wie die gledopto als sieht, aber im inneren genau die zigbee Steuereinheit verbaut hat wie die Erwerber Leuchte. A. 
 Nachtrag: ein Issue auf github ist erstellt.A. 
- 
					
					
					
					
 @asgothian okay weiß ich erst mal bescheid 
 
		
	 
		
	