Alle RGB Strips über einen Regler

Hallo .
Habe mir hier ein Script erstellt womit ich über einen Regler(HexColor) alle meine RGB Strips steuern kann.

Soweit so gut.

Nun habe ich das Problem das ich ja den angewählten Stripe erst auslese, dann den ausgelesenen Wert in den Regler schreibe damit ich die gerade aktuelle Stripe Farbe nicht verliere. Aber wenn ich das bei mir im Skript mache, kann ich nichts mehr verstellen. Auslesen und übertragen an den Regler klappt.:confused:


<?

$id_rot = 30736  /*[Licht Show\Farbwechsel\rot]*/;
$id_blau = 36414  /*[Licht Show\Farbwechsel\Blau]*/;
$id_gruen = 50486  /*[Licht Show\Farbwechsel\grün]*/;
// Das hier drüber ist nur zum testen und hat sonst keine Bedeutung

$id_regler = 45274  /*[Licht Show\Farbwechsel\Alle aussgewählten]*/;// Ist der HexColor Regler

$id_LED1 = 27506  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen]*/;//ist ProJet Stripe
$RGB_LED1 = 48025  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen\Color]*/;//ist ProJet Stripe /Variable Color

//$id_LED2 =

$id_LED3 = 35921  /*[Flur\LED - Treppe]*/;
$RGB_LED3 = 38145  /*[Flur\LED - Treppe\Color]*/;

//$id_LED4 =

$id_auswahl = 31853  /*[Licht Show\Farbwechsel\Alle aussgewählten\Welcher Raum]*/;// Ist die Raumauswahl


//Webfront-Eingabe einlesen
if ($IPS_SENDER == "WebFront") {
SetValue($IPS_VARIABLE, $IPS_VALUE);
$LED_Stripe = GetValueInteger($id_auswahl);

if ($LED_Stripe == 1){
	 $LED_Stripe = $id_LED1; //ist ProJet Stripe
	 $farbe = $RGB_LED1;     //ist ProJet Stripe /Variable Color
	 }
if ($LED_Stripe == 2){
    $LED_Stripe = $id_LED2;
    $farbe = $RGB_LED2;
}
if ($LED_Stripe == 3){
    $LED_Stripe = $id_LED3;
    $farbe = $RGB_LED3;
}
if ($LED_Stripe == 4){
    $LED_Stripe = $id_LED4;
    $farbe = $RGB_LED4;
}

GetValueInteger($farbe);
SetValue ($id_regler, $farbe); //Hier möchte ich den aktuellen Wert des LED Stripe setzen
$Color = GetValueInteger($id_regler);

    $rot   = floor($Color/65536);
    $gruen  = floor(($Color-($rot*65536))/256);
    $blau = $Color-($gruen*256)-($rot*65536);






PJ_DimRGBW($LED_Stripe,$rot,1,$gruen,1,$blau,1,0,0);


SetValue($id_rot, $rot);
SetValue($id_blau, $blau);
SetValue($id_gruen, $gruen);

}



?>

Könnte da mal Hilfe gebrauchen …

Holli

So …
Nach einer gelungenen Silvester Party habe ich mich heute noch mal
rangesetzt und alles überarbeitet. Jetzt klappt alles…:loveips:
Das erste Skript mit dem HexColor Regler (Variable Integer).


$id_rot = 42173  /*[RGB Lichter\Dummy Module\licht\rot]*/;
$id_blau = 26034  /*[RGB Lichter\Dummy Module\licht\blau]*/;
$id_gruen = 28555  /*[RGB Lichter\Dummy Module\licht\grün]*/;
// Das hier drüber ist nur zum testen und hat sonst keine Bedeutung

$id_regler = 31697  /*[RGB Lichter\Dummy Module\licht]*/;// Ist der HexColor Regler
$id_raumauswahl = 36389  /*[RGB Lichter\Dummy Module\licht\Raumauswahl]*/;

$id_LED1 = 27506  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen]*/;//ist ProJet Stripe
$RGB_LED1 = 48025  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen\Color]*/;//ist ProJet Stripe /Variable Color

//$id_LED2 =

$id_LED3 = 35921  /*[Flur\LED - Treppe]*/;
$RGB_LED3 = 38145  /*[Flur\LED - Treppe\Color]*/;

//$id_LED4 =

//Webfront-Eingabe einlesen
if ($IPS_SENDER == "WebFront") {
SetValue($IPS_VARIABLE, $IPS_VALUE);

$Color = GetValueInteger($id_regler);
$raum = GetValueInteger($id_raumauswahl);

if ($raum == 1){
     $LED_Stripe = $id_LED1; //ist ProJet Stripe
     $farbe = $RGB_LED1;     //ist ProJet Stripe /Variable Color
     }
if ($raum == 3){
    $LED_Stripe = $id_LED2;
    $farbe = $RGB_LED2;
}
if ($raum == 2){
    $LED_Stripe = $id_LED3;
    $farbe = $RGB_LED3;
}
if ($raum == 4){
    $LED_Stripe = $id_LED4;
    $farbe = $RGB_LED4;
}


    //Umrechnung zu RGB von Karlheinz
    //http://www.ip-symcon.de/forum/f18/umrechnung-variable-profil-hexcolor-14811/
    $rot   = floor($Color/65536);
    $gruen  = floor(($Color-($rot*65536))/256);
    $blau = $Color-($gruen*256)-($rot*65536);



PJ_DimRGBW($LED_Stripe,$rot,1,$gruen,1,$blau,1,0,0);


SetValue($id_rot, $rot);
SetValue($id_blau, $blau);
SetValue($id_gruen, $gruen);


}


Das Zweite mit der Raum Auswahl Variable (Integer)




$id_regler = 31697  /*[RGB Lichter\Dummy Module\licht]*/;// Ist der HexColor Regler

$id_LED1 = 27506  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen]*/;//ist ProJet Stripe
$RGB_LED1 = 48025  /*[Wohnzimmer\RGBW-868 (Stripe) Wohnen\Color]*/;//ist ProJet Stripe /Variable Color

//$id_LED2 =

$id_LED3 = 35921  /*[Flur\LED - Treppe]*/;
$RGB_LED3 = 38145  /*[Flur\LED - Treppe\Color]*/;

//$id_LED4 =

$id_auswahl = 36389  /*[RGB Lichter\Dummy Module\licht\Raumauswahl]*/;// Ist die Raumauswahl


//Webfront-Eingabe einlesen
if ($IPS_SENDER == "WebFront") {
SetValue($IPS_VARIABLE, $IPS_VALUE);
$LED_Stripe = GetValueInteger($id_auswahl);

if ($LED_Stripe == 1){
     $LED_Stripe = $id_LED1; //ist ProJet Stripe
     $farbe = $RGB_LED1;     //ist ProJet Stripe /Variable Color
     }
if ($LED_Stripe == 3){
    $LED_Stripe = $id_LED2;
    $farbe = $RGB_LED2;
}
if ($LED_Stripe == 2){
    $LED_Stripe = $id_LED3;
    $farbe = $RGB_LED3;
}
if ($LED_Stripe == 4){
    $LED_Stripe = $id_LED4;
    $farbe = $RGB_LED4;
}
$farbe1 = GetValue($farbe);
SetValue($id_regler,$farbe1);
}
else
{
$LED_Stripe = GetValueInteger($id_auswahl);

if ($LED_Stripe == 1){
     $LED_Stripe = $id_LED1; //ist ProJet Stripe
     $farbe = $RGB_LED1;     //ist ProJet Stripe /Variable Color
     }
if ($LED_Stripe == 3){
    $LED_Stripe = $id_LED2;
    $farbe = $RGB_LED2;
}
if ($LED_Stripe == 2){
    $LED_Stripe = $id_LED3;
    $farbe = $RGB_LED3;
}
if ($LED_Stripe == 4){
    $LED_Stripe = $id_LED4;
    $farbe = $RGB_LED4;
}
$farbe1 = GetValue($farbe);
SetValue($id_regler,$farbe1);
}

Jo das war`s …

Holli