ich habe ein H801 Controller für meine RGBCCT LED Stripes. Der Controller ist Tasmota geflasht und lässt sich über die Weboberfläche als auch über den Colorpicker in der OH Sitemap gut ansteuern.
Nun würde ich gerne ein Item erstellen, das ich aus der Sitemap heraus aktivieren kann.
Sobald das Item aktiv geschaltet ist, soll eine Rule aktiviert werden die sämtliche Farbverläufe durchtaktet und an den H801 Controller via MQTT sendet.
So sieht mein Skript momentan aus (es funktioniert jedoch nicht wie gewünscht, bzw. es tut nichts)
Ich würde gerne mit diesem Skript den Rot Kanal inkrementieren. Später würde ich gerne eine Abfolge von Inkrementieren/Dekrementieren von Farbkanälen machen, sodass ich am Ende über die Zeit einen Regenbogen Farbverlauf erhalte.
Code: Alles auswählen
import java.awt.Color
import java.util.List
// system startup rule
rule "System_started wz"
when
System started
then
// initial set switch
if (wzstripe.state === NULL) wzstripe.sendCommand(OFF)
if (wz_string_color.state === NULL) wz_string_color.sendCommand('0,0,0')
end
// colorpicker rule: manages colorpicker changes
rule "WZ_Colorfade"
when
Item wz_activate_colorfade received command
then
var Rn = 0 // Rot
var Gn = 0 // Grün
var Bn = 0 // Blau
var output = ''
// Rotkanal wird inkrementiert
for (let i = 0; i < 255; i++) {
output = (i as Number).intValue + "," + (Gn as Number).intValue + "," + (Bn as Number).intValue // String aus Farbwerten zusammensetzen
wz_string_color.sendCommand(output) // Erzeugter String wird geschrieben
java.lang.Thread.sleep(100); // 100ms schlafen legen
}
end