Automatischer Farbwechsel bei LED Stripes

Ich steuere mit einem DMX / IP Gateway diverse RGB Stripes an. Einzelne Farbauswahl, hell dunkel usw funktioniert auch wunderbar.
Nun möchte ich aber irgendwie einen automatischen Farbwechsel realisieren. hab aber leider kein plan wie ich das realisieren kann…
vielleicht in Form eines Scripts welches wie eine art Schrittkette funktioniert uns sich am Schluss wieder selbst startet. bis ich es händisch stoppe?
oder gibt es da eine ganz einfache/andere Lösung?

gruß
martin

Hallo ,

das habe ich aus dem Forum im Einsatz ,


<?
// Installation:
//1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
//2. RGB Werte, Fade und Pause Zeiten unter $commands eintagen.
//3. Script starten.
//4. Alles so schön bunt hier!

//An-Ausschalten mit:
//1. "Ausführen" Button im Editor oder
//2. IPS_runscript (diese Script-ID) oder
//3. direktes Ändern der Variablen "Aktiv" auf true oder false


$LEDid=23707 /*[Geräte\LED Stripe\RGBW-868 (Stripe)]*/;

$commands =array( //R,G,B, Fade-Zeit, Pause
   array(255,0,0,120,0),
   array(255,120,0,120,0),
   array(255,0,255,120,0),
   array(100,255,100,120,0),
   array(50,20,255,120,0),
   array(80,182,197,120,0),
   // array(200,150,100,120,0),
   array(255,100,50,120,0)
);

if(($IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")){ //Script wird durch 'runscript' oder 'execute' gestartet?
   $aktivid = @IPS_GetVariableIDByName("Aktiv", $IPS_SELF); //Variable 'Aktiv' vorhanden?
   if($aktivid===false) { //wenn nicht:
      $aktivid = IPS_CreateVariable(0); //Variable erstellen
      IPS_SetParent($aktivid, $IPS_SELF); //Variable Ort bestimmen
      IPS_SetName($aktivid, "Aktiv"); // Variable Name bestimmen
   }
   $stepid = @IPS_GetVariableIDByName("Step", $IPS_SELF); //Das gleiche wie mit der Variablen 'Aktiv'
   if($stepid===false) {
      $stepid = IPS_CreateVariable(1);
      IPS_SetParent($stepid, $IPS_SELF);
      IPS_SetName($stepid, "Step");
   }
    $eid = @IPS_GetEventIDByName("Aktiv-Event", $IPS_SELF); //Event 'Aktiv-Event' vorhanden?
   if($eid===false) { //wenn nicht:
      $eid = IPS_CreateEvent(0); // Event erzeugen
      IPS_SetEventTrigger($eid, 1, $aktivid); // Event aktivieren
      IPS_SetParent($eid, $IPS_SELF); // Event Ort bestimmen
      IPS_SetName($eid, "Aktiv-Event"); // Event Name bestimmen
      IPS_SetEventActive($eid, true); // Event aktivieren
   }
   SetValue ($aktivid, (GetValue($aktivid) ? false:true)); //Variable 'Aktiv' toggle (Script an/aus schalten)
    }

if($IPS_SENDER == "Variable")    { // Wenn Script durch Variable getriggert:
   $aktivid = @IPS_GetVariableIDByName("Aktiv", $IPS_SELF); //ID der Variablen 'Aktiv' holen
   $aktiv=GetValue($aktivid); // Variable 'Aktiv' auslesen
    if($aktiv){ // Wenn Variable 'Aktiv' 'true' ist:
       $stepid = @IPS_GetVariableIDByName("Step", $IPS_SELF); //ID der Variablen 'Step' holen
       SetValue($stepid,0); //Wert 0 in Variable 'Step' speichern
       IPS_SetScriptTimer($IPS_SELF, 1); //Scripttimer auf 1 Sekunde setzen (Script aktivieren)
        }
    else{  // sonst:
       IPS_SetScriptTimer($IPS_SELF, 0); //Scripttimer löschen und
       PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0); //LEDs ausschalten
       }
    }

if($IPS_SENDER == "TimerEvent"){  //Wenn Scriptaufruf durch Timer:
   $stepid = @IPS_GetVariableIDByName("Step", $IPS_SELF); // ID der Variable 'Step' auslesen
   $step=GetValue($stepid); // Variable Step auslesen
    PJ_DimRGBW($LEDid,$commands[$step][0],$commands[$step][3],$commands[$step][1],$commands[$step][3],$commands[$step][2],$commands[$step][3],0,0); //Werte aus dem Array 'Command' holen und an die LEDs senden
    IPS_SetScriptTimer($IPS_SELF, ($commands[$step][3]+$commands[$step][4])); // Scripttimer neu setzen für nächsten 'Step' (Wert 3/Fadezeit + Wert 4/Pause)
    $step++; // Variable 'Step' um 1 erhöhen
    if ($step>=count($commands)){SetValue($stepid,0);} // Wenn 'Step' größer als die Anzahl der Befehlszeilen in 'command' dann vorne beginnen
    else{SetValue($stepid,$step);} // Aktuellen 'Step' abspeichern
    }
?>



Das Script habe ich auch im Einsatz - ich finde aber partout nicht den Foren-Beitrag wo ich das her habe…

Simples Random-Farb-Script für den RGBW-868 Stripe

Cool - danke!
Hab mir gestern Abend echt nen Wolf gesucht…