Hallo zusammen,
ich habe vor mein Heim mit KNX auszustatten und #mich für den EibPC² als Server entschieden. Das Projekt würde ich gerne zum Großteil selber umsetzen und wenn die Zeit es zulässt, dann bringe ich mir das programmieren bei. Ich hatte auch schon einige kleinere Erfolge aber jetzt beiße ich mir die Zähne aus und würde euch um eure Hilfe bitten. Ich bin kein gelernter Programmierer hatte aber ein bisschen in der Schule/Uni damit zu tun.
Zu meinem Problem. Die Lichtsteuerung erfolgt über Dali und die LED Strips sind RGBW. Ich habe ein wenig hin und her experimentiert und habe mich letztlich entschieden die R/G/B/W Kanäle jeweils über eine Gruppenadresse mit einem Byte anzusteuern. So umgehe ich Kompatibilitätsprobleme.
Gerne würde ich den Farbwahlslider aus der VISU verwenden, um einen RGBW Strip zu steuern. Mein Grundgedanke ist es eine Gruppenadresse für die RGB Kanäle im Formatl u24 für den Slider zu definieren und hier jeweils die einzelnen Werte für R, G und B per Stringcas zu extrahieren und auf die entsprechenden Gruppenadressen zu schreiben. StringRGB ist die Variable für den in der Visu ausgewählten Farbwert und RGBR, RGBG und RGBB sind die Farbwerte, welche auf die entsprechenden Gruppenadressen geschrieben werden sollen. Leider funktioniert das gar nicht! Der EibPC schreib auf die Farbkanäle immer die Werte 0, 0 und 0. Kann mir bitte jemand sagen, wo mein (Denk/Verständnisfehler) Fehler liegt? Hier der Code:
StringRGB=0u24;
RGBR=0u08;
RGBG=0u08;
RGBB=0u08;
If event("RGB-3/1/10") then {
StringRGB="RGB-3/1/10";
RGBR=stringcast(StringRGB,0,1u24);
RGBG=stringcast(StringRGB,0,2u24);
RGBB=stringcast(StringRGB,0,3u24);
write("R-3/1/1",RGBR);
write("G-3/1/2",RGBG);
write("B-3/1/3",RGBB);
}endif
ich habe vor mein Heim mit KNX auszustatten und #mich für den EibPC² als Server entschieden. Das Projekt würde ich gerne zum Großteil selber umsetzen und wenn die Zeit es zulässt, dann bringe ich mir das programmieren bei. Ich hatte auch schon einige kleinere Erfolge aber jetzt beiße ich mir die Zähne aus und würde euch um eure Hilfe bitten. Ich bin kein gelernter Programmierer hatte aber ein bisschen in der Schule/Uni damit zu tun.
Zu meinem Problem. Die Lichtsteuerung erfolgt über Dali und die LED Strips sind RGBW. Ich habe ein wenig hin und her experimentiert und habe mich letztlich entschieden die R/G/B/W Kanäle jeweils über eine Gruppenadresse mit einem Byte anzusteuern. So umgehe ich Kompatibilitätsprobleme.
Gerne würde ich den Farbwahlslider aus der VISU verwenden, um einen RGBW Strip zu steuern. Mein Grundgedanke ist es eine Gruppenadresse für die RGB Kanäle im Formatl u24 für den Slider zu definieren und hier jeweils die einzelnen Werte für R, G und B per Stringcas zu extrahieren und auf die entsprechenden Gruppenadressen zu schreiben. StringRGB ist die Variable für den in der Visu ausgewählten Farbwert und RGBR, RGBG und RGBB sind die Farbwerte, welche auf die entsprechenden Gruppenadressen geschrieben werden sollen. Leider funktioniert das gar nicht! Der EibPC schreib auf die Farbkanäle immer die Werte 0, 0 und 0. Kann mir bitte jemand sagen, wo mein (Denk/Verständnisfehler) Fehler liegt? Hier der Code:
StringRGB=0u24;
RGBR=0u08;
RGBG=0u08;
RGBB=0u08;
If event("RGB-3/1/10") then {
StringRGB="RGB-3/1/10";
RGBR=stringcast(StringRGB,0,1u24);
RGBG=stringcast(StringRGB,0,2u24);
RGBB=stringcast(StringRGB,0,3u24);
write("R-3/1/1",RGBR);
write("G-3/1/2",RGBG);
write("B-3/1/3",RGBB);
}endif
Kommentar