RGB LED Controller Module

Hallo,

hab grad nochmal den Download aktualisiert.
Dimmen sollte nun auch schon stabiler laufen.
Außerdem hab ich noch einige Debug Messages eingebaut. Bei Problemen bitte ins Log sehen oder mir senden.

LG

Frage

welcher Port muss eingestellt werden ?

Port 5577

Gruß,
Peter

Moin EmJay,
spiele gerade mit deinem Modul und ich muss sagen, es ist schon echt top. Ich schmeisse gerade sehr viel meiner alten, umständlichen Skripte raus. Danke dafür!

Ist es von deiner Seite geplant, eine Variable im Modul bereit zu stellen, die die aktuelle Farbe als HEX-Wert enthält inkl. dem HEX-RGB Profil von IPS?
Die könnte dann gleich ins Webfront verlinkt werden.

Ebenso wäre ein einfacher SWITCH ON/OFF in dem Modul, der direkt verlinkt werden könnte super.

Wenn nicht, würde ich dies gerne als FEATURE-Reuest anmelden! :wink:

Gruß und Danke,
Peter

Danke

jetzt funkt es auch bei mir

Weist Du auch die WEB Zugangsdaten ?

Probier mal admln und nimda oder admin und 88888888.

Gruß,
Peter

Danke,
admln und nimda hat gefunkt

Hallo Peter,

Danke für Deine Rückmeldung! Ich nehme an, das Modul läuft nun schon recht stabil oder? Ich konnte beim Test übers Wochenende keine gravierenden Probleme feststellen. Habe aber den Eindruck, dass der Controller Befehle manchmal „übersieht“ - das heißt aus dem Debug Log geht hervor, dass ein entsprechendes Kommando raus ging, der Controller hat aber nicht reagiert. Ähnliches auch schon beobachtet?

Die Verwendung von Standardaktionen für Switch und HexRGB ist eine gute Idee! Ich gehe der Sache nach - im Moment ist mir noch nicht klar wie es gemacht wird…

LG

Hallo EmJay,

habe ebenfalls am Wochenende getestet, bei mir läuft alles ohne Probleme.

Kann ich bestätigen.

Modul läuft bisher ohne weitere Zwischenfälle.

Eins wurmt mich allerdings noch.

Ich bekomme es einfach nicht hin mit einem IPS Slider die RGB Werte syncron zu dimmen (Mit Einem Regler ohne die Farbwerte zu verlieren. Also z.B. Organge sauber rauf und runter dimmen.).
Habe es schon mit Berechnung der Differenz über Prozentwerte versucht, doch es will mir nicht gelingen.
Mir fehlt hier irgendwie der mathematische Ansatz.

Hat das eventuell jemand hinbekommen ?

Bye

gmop

Hallo,

gerade eine neue Version eingestellt. Die gewünschten Standardaktionen sind nun integriert. Dafür gibt es 2 neue Statusvariablen Switch und HexColor.

Vielleicht hilft das auch dir gmop?

LG

Moin EmJay,

vielen Dank… TOP !!! Funzt soweit alles bei mir !!

Danke…
Peter

Hallo EmJay,

funktioniert 1 A. Genial !!!

Danke dafür

Andreas

Guten Abend…

habe mal noch etwas mit der Helligkeit rum probiert.
Zuverlässig ist leider etwas anderes. (Bei der ersten Änderung des Sliders wird die Farbe halbwegs beibehalten. Nach dem 2. Mal summieren sich die Farbwerte und es kommt ein Wirwar heraus :frowning:

Anbei mal mein bisheriges Ergebniss.

Eventuell hat jemand noch eine Idee wie man das ganze zuverlässiger gestalten kann.
Ich kann mir nicht vorstellen das das nicht sauber umsetzbar ist, da es über die App (Magic Color) ja auch sauber funktioniert.

<?

SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

$diff = $_IPS['VALUE'];

$r = GetValue(38998 /*[Scripte\xHome Light / Power\RGB Stripe\LW12Controller\Red]*/ );
$g = GetValue(43397 /*[Scripte\xHome Light / Power\RGB Stripe\LW12Controller\Green]*/ );
$b = GetValue(45026 /*[Scripte\xHome Light / Power\RGB Stripe\LW12Controller\Blue]*/ );
$hex = rgb2hex($r, $g, $b);

// Funktion RGB nach HEX
function rgb2hex($r, $g=-1, $b=-1) {
    if (is_array($r) && sizeof($r) == 3)
      list($r, $g, $b) = $r;
    $r = intval($r);
    $g = intval($g);
    $b = intval($b);
    $r = dechex($r<0?0:($r>255?255:$r));
    $g = dechex($g<0?0:($g>255?255:$g));
    $b = dechex($b<0?0:($b>255?255:$b));
    $color = (strlen($r) < 2?'0':'').$r;
    $color .= (strlen($g) < 2?'0':'').$g;
    $color .= (strlen($b) < 2?'0':'').$b;
    return $color;
}

// Funktion Brithness
function hex_color_mod($hex, $diff) {
 $rgb = str_split(trim($hex, '# '), 2);
 foreach ($rgb as &$hex) {
 $dec = hexdec($hex);
  if ($diff >= 0) {
   $dec += $diff;
  }
  else {
   $dec -= abs($diff);
  }
  $dec = max(0, min(255, $dec));
  $hex = str_pad(dechex($dec), 2, '0', STR_PAD_LEFT);
  }
  return '#'.implode($rgb);
}

$rgbdec = hexdec(hex_color_mod($hex, $diff));

$rn = (($rgbdec >> 16) & 0xFF);
$gn = (($rgbdec >> 8) & 0xFF);
$bn = (($rgbdec >> 0) & 0xFF);

LW12_DimRGB(15922 /*[Scripte\xHome Light / Power\RGB Stripe\LW12Controller]*/, $rn, 0, $gn, 0, $bn, 0);


?>

-Only FYI-

Ich hatte das Modul auch mal „nur“ als Socket eingebunden und 2-3 Dinge getestet, aber nie Produktiv genommen. Heute morgen nach den Wöchentlichen Windows Updates und Server Reboot hing der IPS Dienst und meldete irgendetwas mit der RGB*.dll. Also, Socket entfernt, dll gelöscht und neu gestartet. Siehe da, läuft wieder!

Hallo Gosef,

hast du dazu Details? Letzte Version? Wenn ich recht verstehe ist es beim Boot hängengeblieben?

Lg

Einziger Fehler im Protokoll war der:
08.12.2014 05:21:08.661 | 22075 | DEBUG | LW12Controller | Parent Error: 200

Wenn dir das etwas hilft ?! - Runter geladen hab ich das Modul ca. Anfang Dezember, ob das dann
die letzte Version ist, weist du vielleicht besser.

Nicht ganz. Der Dienst ist erst gestartet. Es funktionierte auch alles erst einwandfrei. Plötzlich bliebt der IPS Dienst allerdings hängen und ließ sich auch nicht mehr ordentlich beenden. Man musste also den Task killen. Zuerst
lief es dann wieder aber kurze Zeit später hing das ganze wieder.

System: W2k8 R2 - aktuelle Patches alle drauf.

Hatte dieses Problem ebenfalls nach dem letzten WSUS Patchday.

Modul war die Version vom 24.11.2014.
Mit der vom 19.11.2014 lief es wieder problemlos.

Hallo,

die aktuelle Version ist vom 24.11.2014. Ich nehme an, ihr hattet beide diese Version.
Das ist bedenklich, ich werde versuchen der Sache nachzugehen. Problem dabei ist allerdings, dass ich bisher kein vergleichbares Verhalten hatte. Das Modul läuft bei mir seit dem 24.11.2014 praktisch fehlerfrei.
Parent Error 200 weißt aber jedenfalls mal darauf hin, dass es ein Problem mit dem ClientSocket gab der zur Kommunikation verwendet wird. Sollte jemand weitere Details zu diesem Problem haben bitte mir zukommen lassen.

Das einzige, was ich beobachte ist manchmal ein sehr kurzes aufblitzen der LEDs wenn ich DimRGB verwende. Auch hier konnte ich die Ursache noch nicht ausmachen. Nachdem die Kommandos, die an den Controller gehen, aber alle sauber sind vermute ich schon eher ein Problem im Controller (vielleicht auch Timing).

LG