+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 31
  1. #1
    Registriert seit
    Oct 2008
    Ort
    Schloss Holte Stk.
    Beiträge
    404

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

    Hallo,

    wer es mal auf die schnelle schön bunt haben will:

    PHP-Code:
    <?

    // Installation:
    //1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
    //2. Script mit dem Ausühren-Button oder Runscript starten.
    //3. 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=32126 /*[RGBW-868 (Stripe)]*/;
    $fade=7//Fadetime / Zeit bis zur nächsten Farbe in Sek.

    if(($IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")or($IPS_SENDER == "WebFront")){
       
    $aktivid = @IPS_GetVariableIDByName("Aktiv"$IPS_SELF);
       if(
    $aktivid===false) {
          
    $aktivid IPS_CreateVariable(0);
          
    IPS_SetParent($aktivid$IPS_SELF);
          
    IPS_SetName($aktivid"Aktiv");
       }
        
    $eid = @IPS_GetEventIDByName("Aktiv-Event"$IPS_SELF);
       if(
    $eid===false) {
          
    $eid IPS_CreateEvent(0);
          
    IPS_SetEventTrigger($eid1$aktivid);
          
    IPS_SetParent($eid$IPS_SELF);
          
    IPS_SetName($eid"Aktiv-Event");
          
    IPS_SetEventActive($eidtrue);
       }
       
    SetValue ($aktivid, (GetValue($aktivid) ? false:true));
        }

    if(
    $IPS_SENDER == "Variable")    {
       
    $aktivid = @IPS_GetVariableIDByName("Aktiv"$IPS_SELF);
       
    $aktiv=GetValue($aktivid);
        if(
    $aktiv){
           
    IPS_SetScriptTimer($IPS_SELF1);
            }
        else{
           
    IPS_SetScriptTimer($IPS_SELF0);
           
    PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
           }
        }

    if(
    $IPS_SENDER == "TimerEvent"){
        
    $rot=rand(0,255);$gruen=rand(0,255);$blau=rand(0,255);
        
    PJ_DimRGBW($LEDid,$rot,$fade,$gruen,$fade,$blau,$fade,0,0);
        
    IPS_SetScriptTimer($IPS_SELF$fade);
        }

    ?>

    Hier noch eine 'extendet' Version mit Dimmzeit und Helligkeitseinstellung im Objektbaum .
    PHP-Code:
    <?

    // Installation:
    //1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
    //2. Script mit dem Ausühren-Button oder Runscript starten.
    //3. Es ist 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

    //Zu Hell? Helligkeit im Objektbaum einstellbar (1-255)
    //Dimmzeit im Objektbaum einstellbar

    $LEDid=32126 /*[RGBW-868 (Stripe)]*/;


    if((
    $IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")or($IPS_SENDER == "WebFront")){
       
    $aktivid =LEDCreateVariableByName($IPS_SELF"Aktiv"0);
        
    $maxlumid=LEDCreateVariableByName($IPS_SELF"Helligkeit (1-255)"1);
        
    $fadetimeid=LEDCreateVariableByName($IPS_SELF"Dimmzeit (Sek.)"1);
        
    $eid = @IPS_GetEventIDByName("Aktiv-Event"$IPS_SELF);
       if(
    $eid===false) {
          
    $eid IPS_CreateEvent(0);
          
    IPS_SetEventTrigger($eid1$aktivid);
          
    IPS_SetParent($eid$IPS_SELF);
          
    IPS_SetName($eid"Aktiv-Event");
          
    IPS_SetEventActive($eidtrue);
       }
       
    SetValue ($aktivid, (GetValue($aktivid) ? false:true));
        }

    if(
    $IPS_SENDER == "Variable")    {
       
    $aktivid = @IPS_GetVariableIDByName("Aktiv"$IPS_SELF);
       
    $aktiv=GetValue($aktivid);
        if(
    $aktiv){
           
    IPS_SetScriptTimer($IPS_SELF1);
            }
        else{
           
    IPS_SetScriptTimer($IPS_SELF0);
           
    PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
           }
        }

    if(
    $IPS_SENDER == "TimerEvent"){
       
    $maxlumid=LEDCreateVariableByName($IPS_SELF"Helligkeit (1-255)"1);
        
    $fadetimeid=LEDCreateVariableByName($IPS_SELF"Dimmzeit (Sek.)"1);
        
    $maxlum=GetValue($maxlumid);
        if ((
    $maxlum>=256)or($maxlum<=0)){
            
    $maxlum=255;
            
    SetValue($maxlumid,$maxlum);
            }
       
    $fade=GetValue($fadetimeid);
        if (
    $fade<=0){
            
    $fade=10;
            
    SetValue($fadetimeid,$fade);
            }
        
    PJ_DimRGBW($LEDid,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,0,0);
        
    IPS_SetScriptTimer($IPS_SELF$fade);
        }

    function 
    LEDCreateVariableByName($id$name$type)    {  //Variablen auslesen bzw. erstellen
       
    $vid = @IPS_GetVariableIDByName($name$id);
       if(
    $vid===false) {
          
    $vid IPS_CreateVariable($type);
          
    IPS_SetParent($vid$id);
          
    IPS_SetName($vid$name);
       }
       return 
    $vid;
    }
    ?>
    Bunte Grüße
    Smudo
    Geändert von Smudo (03.06.11 um 12:39 Uhr)
    Mir egal wer dein Vater ist. So lange ich hier angel, geht hier keiner übers Wasser.
    IPS, aktuelle Version an LCN, IR-Trans und verschiedenen anderen per Netzwerk und seriell angebundenen Geräten auf Windows 10 64

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Danke - perfekt - aber was macht das erste Skript anders

    [Edit]
    Lesen sollte man können: Random
    [/Edit]

    MST
    Geändert von steiner (17.11.10 um 12:10 Uhr)
    under construction: www.Webfront.Info

  3. #3
    Registriert seit
    Apr 2007
    Ort
    04769 Mügeln
    Beiträge
    62

    Thumbs up Danke

    Hallo Smudo,

    einfach perfekt. Habe die Skripte ausprobiert und Sie laufen!!!!

    Danke

    Lutz

  4. #4
    Registriert seit
    May 2010
    Ort
    Fulda
    Beiträge
    129

    Thumbs up Danke

    Hallo Smudo,
    super Script.
    Danke.

    mfg.
    Jürgen

  5. #5
    Registriert seit
    Apr 2010
    Ort
    Obergoesgen / Jakarta
    Beiträge
    7

    Standard Perfekt

    Herzlichen Dank an Smudo und Steiner!

    Funktioniert perfekt!

  6. #6
    Registriert seit
    Feb 2007
    Ort
    Zwickau
    Beiträge
    5,486

    Habe das Script heute mal probiert, bei manchen Farbwerten ist bei mir ein Flackern warzunehmen. Origanal RGB Starter Set von Steiner im Einsatz. Jemand eine Idee?
    MfG Thomas

    Eaton Xcomfort|FS20|1-Wire|Axis WebCams|WMRS200 Wetterstation|Funksystem-868|Gas und Wasserzähler per S0 1-Wire|E-Zähler per OKK+seriell2LAN Adapter|Amazon Alexa|
    Visu auf: 10"Touchscr.|Apple iPod Touch|Apple iPhone|Apple iPad|IPS V5.x|Dashboard|WebFront|iFront


  7. #7
    Registriert seit
    Oct 2008
    Ort
    Schloss Holte Stk.
    Beiträge
    404

    Beim manuellen Rumprobieren mit den unterschiedlichen Werten und Fadezeiten hab ich auch schon mal gedacht, daß es kurz mal geflackert hat.
    Wenn das Script aber so gleichmäßig vor sich hin läuft, und das tut es im Moment eigentlich dauernd , hab ich noch nichts derartiges bemerkt.
    Vielleicht bei bestimmten Fadezeiten?
    Mir egal wer dein Vater ist. So lange ich hier angel, geht hier keiner übers Wasser.
    IPS, aktuelle Version an LCN, IR-Trans und verschiedenen anderen per Netzwerk und seriell angebundenen Geräten auf Windows 10 64

  8. #8
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,454

    Erstmal Danke an Smudo für die Scripte.
    Mir sind die Random Scripte etwas zu "weiß". Das kommt davon dass meist alle drei RGB Ausgänge angesteuert werden. Wie müsste der Dim_RGBW aussehen wenn nur jeweils zwei Ausgänge angesteuert werden? Natürlich wieder durch einen rand Befehl. Hat jemand eine Idee?
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  9. #9
    Registriert seit
    Oct 2008
    Ort
    Schloss Holte Stk.
    Beiträge
    404

    Könnte in etwa so aussehen:

    PHP-Code:
    <?
    //return;
    // Installation:
    //1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
    //2. Script mit dem Ausühren-Button oder Runscript starten.
    //3. Es ist 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

    //Zu Hell? Helligkeit im Objektbaum einstellbar (1-255)
    //Dimmzeit im Objektbaum einstellbar

    $LEDid=32126 /*[RGBW-868 (Stripe)]*/;
    $kanaele=3//1 -> 1 Kanal / 2 -> Max 2 Kanäle / 3 -> Max 3 Kanäle / 4 -> immer 2 Kanäle / 5 -> immer 3 Kanäle
    $minlum=0;

    if((
    $IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")or($IPS_SENDER == "WebFront")){
       
    $aktivid =CreateVariableByName($IPS_SELF"Aktiv"0);
        
    $maxlumid=CreateVariableByName($IPS_SELF"Helligkeit (1-255)"1);
        
    $fadetimeid=CreateVariableByName($IPS_SELF"Dimmzeit (Sek.)"1);
        
    $eid = @IPS_GetEventIDByName("Aktiv-Event"$IPS_SELF);
       if(
    $eid===false) {
          
    $eid IPS_CreateEvent(0);
          
    IPS_SetEventTrigger($eid1$aktivid);
          
    IPS_SetParent($eid$IPS_SELF);
          
    IPS_SetName($eid"Aktiv-Event");
          
    IPS_SetEventActive($eidtrue);
       }
       
    SetValue ($aktivid, (GetValue($aktivid) ? false:true));
        }

    if(
    $IPS_SENDER == "Variable")    {
       
    $aktivid = @IPS_GetVariableIDByName("Aktiv"$IPS_SELF);
       
    $aktiv=GetValue($aktivid);
        if(
    $aktiv){
           
    IPS_SetScriptTimer($IPS_SELF1);
            }
        else{
           
    IPS_SetScriptTimer($IPS_SELF0);
           
    PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
           }
        }

    if(
    $IPS_SENDER == "TimerEvent"){
        
    $aktiv=GetValue(@IPS_GetVariableIDByName("Aktiv"$IPS_SELF));
        if (
    $aktiv==false){
           
    IPS_SetScriptTimer($IPS_SELF0);
           
    PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
           return;
           }
       
    $maxlumid=CreateVariableByName($IPS_SELF"Helligkeit (1-255)"1);
        
    $fadetimeid=CreateVariableByName($IPS_SELF"Dimmzeit (Sek.)"1);
        
    $maxlum=GetValue($maxlumid);
        if ((
    $maxlum>=256)or($maxlum<=0)){
            
    $maxlum=255;
            
    SetValue($maxlumid,$maxlum);
            }
       
    $fade=GetValue($fadetimeid);
        if (
    $fade<=0){
            
    $fade=10;
            
    SetValue($fadetimeid,$fade);
            }
        switch (
    $kanaele)
            {
            case 
    "1":
            
    $colors=rand(1,3);
            break;
            case 
    "2":
            
    $colors=rand(1,6);
            break;
            case 
    "3":
            
    $colors=rand(1,7);
            break;
            case 
    "4":
            
    $colors=rand(4,6);
            break;
            case 
    "5":
            
    $colors=7;
            break;
            }

        switch (
    $colors)
            {
            case 
    "1":
            
    $r=rand($minlum,$maxlum);$g=0;$b=0;
            break;
            case 
    "2":
            
    $r=0;$g=rand($minlum,$maxlum);$b=0;
            break;
            case 
    "3":
            
    $r=0;$g=0;$b=rand($minlum,$maxlum);
            break;
          case 
    "4":
            
    $r=rand($minlum,$maxlum);$g=rand($minlum,$maxlum);$b=0;
            break;
            case 
    "5":
            
    $r=rand($minlum,$maxlum);$g=0;$b=rand($minlum,$maxlum);
            break;
            case 
    "6":
            
    $r=0;$g=rand($minlum,$maxlum);$b=rand($minlum,$maxlum);
            break;
            case 
    "7":
            
    $r=rand($minlum,$maxlum);$g=rand($minlum,$maxlum);$b=rand($minlum,$maxlum);
            break;
            }

        
    PJ_DimRGBW($LEDid,$r,$fade,$g,$fade,$b,$fade,0,0);
        
    IPS_SetScriptTimer($IPS_SELF$fade);
        }

    function 
    CreateVariableByName($id$name$type)    {  //Variablen auslesen bzw. erstellen
       
    $vid = @IPS_GetVariableIDByName($name$id);
       if(
    $vid===false) {
          
    $vid IPS_CreateVariable($type);
          
    IPS_SetParent($vid$id);
          
    IPS_SetName($vid$name);
       }
       return 
    $vid;
    }
    ?>
    Grüße
    Smudo
    Geändert von Smudo (03.06.11 um 12:39 Uhr)
    Mir egal wer dein Vater ist. So lange ich hier angel, geht hier keiner übers Wasser.
    IPS, aktuelle Version an LCN, IR-Trans und verschiedenen anderen per Netzwerk und seriell angebundenen Geräten auf Windows 10 64

  10. #10
    Registriert seit
    Jan 2011
    Ort
    Uetendorf, Bern, CH
    Beiträge
    1,106

    perfekte Scripts. Wenn ich die Helligkeit runterschraube, leuchten die LED's nicht mehr. Sind da bestimmte Werte einzuhalten?
    Geändert von SmartHomeSchweiz (31.05.11 um 07:38 Uhr)
    mfG Jürg
    IPS V.5.0,Homematic(CCU2,Lanadapter),1-Wire,Pokeys,FS20,Fritzbox 7390,Fingerprint Bio-Gate,RaspberryPi's, Sonos

Ähnliche Themen

  1. Software oder Script ?
    Von guyabano im Forum Allgemeine Diskussion
    Antworten: 30
    Letzter Beitrag: 21.12.05, 13:14