+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 29
  1. #1
    Registriert seit
    Dec 2010
    Beiträge
    48

    Lightbulb LD382 "Magic UFO" RGBW LED WIFI Controller Script

    Hallo,

    Ich hab gestern endlich meinen LED WIFI Controller bekommen, und zwar vom Typ LD382a "Magic UFO" LED WIFI Controller -- kleines rundes Ding mit vier 4A RGBW Ausgaengen:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	41WbaGBkb8L._SY300_.jpg 
Hits:	593 
Größe:	8.3 KB 
ID:	32732

    Es gibt eine ganz nette smartphone app dafuer, aber natuerlich wollte ich das sofort in Symcon einbinden... Fuer das spezifische Modul gibt es anscheinend noch nichts, also hab ich mal schnell ein rudimentaeres script dafuer angelegt -- moege es anderen Besitzern des Moduls helfen, bzw. hier auch weiterentwickelt werden.

    Basis ist die Info aus https://www.symcon.de/forum/threads/...115#post218115 -- von dort darf ich auch gleich die Anleitung uebernehmen:

    Folgende Arbeitsschritte:

    1. Dummy-Instanz anlegen. Die erzeugten Objekte in Punkt 2-4 in dieser Instanz ablegen.

    2. Integer-Variable mit Namen "HexColor" und Profil HexColor anlegen.

    3. Boolean-Variable mit Namen "ledOnOff" und Profil ~Switch anlegen.

    4. Skript vom Ende des Posts anlegen

    5. Dieses Skript den Variablen von Punkt 2 und 3 als Actionskript zuordnen.

    6. Client-Socket anlegen. Host ist die IP des Wifi-Controller, Port: 5577. Aktivieren.

    7. Im Skript die ID des Sockets eintragen.

    8. Im Webfront zwei Links auf die Variablen aus Punkt 2 und 3 anlegen. Beschriftung nach Geschmack.
    Derzeit ist nur An/Aus und RGB Farbwert setzen implementiert -- sinnvolle Erweiterungen waeren noch volle Unterstuetzung fuer RGBW-LED strips (ich hab nur RGB strips), sowie ein allgemeiner Helligkeitsschalter.

    Ich hab nur einen neuen LD382a, die aelteren Modelle haben anscheinend ein leicht anderes Protokoll -- alle Infos um das anzupassen sind hier zu finden: https://github.com/herrmannj/wifilig...2_WifiLight.pm

    Frage an die Kenner: soll der Client Socket am Ende des scripts geschlossen werden? Im Basisscript ist der code dazu vorhanden aber auch auskommentiert..?

    Hier nun das Script:

    PHP-Code:
    <?
    // simple ld382a control module
    // codes used:
    // power on       "\x71\x23\x0F"
    // power off      "\x71\x24\x0F"
    // rgb color      "\x31\xRR\xGG\xBB\x00\x00\x0F"

    if ($IPS_SENDER == "WebFront")
    {
       
    SetValue ($_IPS['VARIABLE'], $_IPS['VALUE']);
    }

    // Variablen-IDs, RGB-Gruppe und Controller-Instanz definieren
       
    $id_rgb      10148 /*[LED1Socket]*/// CHANGE to own socket ID
       
    $HexColorID  IPS_GetObjectIDByName("HexColor"IPS_GetParent($_IPS['SELF']));

       
    // RGB Socket öffnen
       
    CSCK_SetOpen($id_rgbtrue);
       
    IPS_ApplyChanges($id_rgb);

        
    // on/off
        
    if(IPS_GetName($_IPS['VARIABLE'])=="ledOnOff")
        {
           if(
    $_IPS['VALUE']==true)
               
    CSCK_SendText($id_rgbledCheckSum("\x71\x23\x0F"));
           else if(
    $_IPS['VALUE']==false)
               
    CSCK_SendText($id_rgbledCheckSum("\x71\x24\x0F"));
       }
        else
        {
            
    $ValueHEX dechex($_IPS['VALUE']);
            
    $ValueHEX substr("000000"0strlen($ValueHEX)).$ValueHEX;
            
    $RR   chr(hexdec(substr($ValueHEX02)));
            
    $GG chr(hexdec(substr($ValueHEX22)));
            
    $BB  chr(hexdec(substr($ValueHEX42)));

            
    // rgb color                            "\x31\xRR\xGG\xBB\x00\x00\x0F"
           
    CSCK_SendText($id_rgbledCheckSum("\x31".$RR.$GG.$BB."\x00\x00\x0F"));
        }
        
        
    // close socket?
       //CSCK_SetOpen($id_rgb, false);
       //IPS_ApplyChanges($id_rgb);

    function ledCheckSum($str)
    {
        
    // calc checksum: sum of ascii value of each char modulo 256
        
    $cs 0;
        foreach(
    str_split($str) as $c)
           
    $cs=$cs+ord($c);
        
    $cs $cs 256;
        return 
    $str chr($cs);
    }
    ?>

  2. #2
    Registriert seit
    Oct 2011
    Ort
    Oberding
    Beiträge
    329

    Hallo,

    kann mir hier jemand helfen den weißen Kanal, sowie Luminance und Sättigung einzubauen?

    Danke und Grüße
    Stephan

  3. #3
    Registriert seit
    Dec 2010
    Beiträge
    48

    hi,

    all die extras koennte man aus dem verlinkten post zum anderen thread entnehmen. zB von dort den luminance slider fuer den W Kanal nehmen, ebenfalls mit dem script verlinken, und dann entsprechend um das 4. byte erweitern, in etwa so (untested):

    PHP-Code:
      else
        {
    $ValueHEX dechex(GetValueID_of_RGB_Slider ));
            
    $ValueHEX substr("000000"0strlen($ValueHEX)).$ValueHEX;
            
    $RR   chr(hexdec(substr($ValueHEX02)));
            
    $GG chr(hexdec(substr($ValueHEX22)));
            
    $BB  chr(hexdec(substr($ValueHEX42)));
    $WW chr(GetValueID_of_White_Slider ));

            
    // rgb color                            "\x31\xRR\xGG\xBB\x00\x00\x0F"
           
    CSCK_SendText($id_rgbledCheckSum("\x31".$RR.$GG.$BB.$WW."\x00\x0F"));
        } 
    es ist also der RGB wert aus der richtigen ID auszulesen, dann eine extra variable ($WW) notwendig, die den weisswert ausliest, und nach RGB statt dem 00 den wert schreibt. wiegesagt ungetestet, sollte aber so klappen.

  4. #4
    Registriert seit
    Oct 2011
    Ort
    Oberding
    Beiträge
    329

    Hallo,

    vielen Dank für die Hilfe. Das mit dem dimmen des weißen Lichtes hat super funktioniert.

    Jetzt würde ich gerne noch wie in der Magic UFO App die Sättigung für RGB steuern. Leider schaffe ich es nicht dies aus dem anderen Skript in dieses zu übertragen . Tut mir leid.

    Kann mir hier vielleicht nochmal jemand helfen? Danke!!!

    Es geht da ja um diesen Teil, oder? Wie kann ich den denn umbauen??

    PHP-Code:
            // Helligkeit senden
                // Anpassung an den zulässigen Wertebereich 2-27 Dezimal
                    
    $Luminance2 round(($Luminance 9.44), 0);
                    if (
    $Luminance2 <  2$Luminance2 =  2;
                    if (
    $Luminance2 27$Luminance2 27;
               
    USCK_SendText($id_rgb$GruppeAN."\x00\x55"); // Sende Gruppe xyz AN
               
    ips_sleep(110);
               
    $Output "\x4e".chr($Luminance2)."\x55";
                
    USCK_SendText($id_rgb$Output); // Sende Helligkeit an Gruppe xyz
            // Wert in Variable Helligkeit schreiben
            
    SetValue($LuminanceID$Luminance);
            return; 

    Wäre super wenn mir jemand helfen könnte!

    Danke und Grüße
    Stephan

  5. #5
    Registriert seit
    Dec 2009
    Ort
    Calw
    Beiträge
    333

    Hallo,
    also ich habe auch ein paar von dem LD382 im Einsatz.
    Da ich nicht ganz so fit bin in php, habe ich das recht simpel bei mir gelöst.

    Hier mal ein paar Screenshots.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-IPS-01-snip_20160211204711.png 
Hits:	402 
Größe:	28.3 KB 
ID:	32983 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-IPS-02-snip_20160211204711.png 
Hits:	380 
Größe:	26.6 KB 
ID:	32984Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-IPS-03-snip_20160211204711.jpg 
Hits:	451 
Größe:	71.5 KB 
ID:	32985

    Wenn mein Ansatz für Dich interessant ist,
    kann ich alle meine verwendeten Action-Scripte hier einfügen.
    IPS V 5.3(Docker), ENO TCM 310 LAN-GW, KNX Installation, IPS-868, Pokeys57E, IPSView, IPS Z-Wave+ LAN GW, HUE, Google Home, mqtt ESP

  6. #6
    Registriert seit
    Oct 2011
    Ort
    Oberding
    Beiträge
    329

    Hallo,

    ja klar, sieht interessant aus. Ich bin auch nicht fit in PHP und habe echt Probleme ein Skript umzubauen. Ich steig da teilweise echt einfach nicht durch.

    Wäre schon interessiert an deiner Lösung und würde mich freuen wenn du diese veröffentlichen würdest.


    Danke und Gruß
    Stephan

  7. #7
    Registriert seit
    Dec 2009
    Ort
    Calw
    Beiträge
    333

    Hallo Stephan,
    hier meine Umsetzung des ganzen:
    Achtung ich verwende IPS 4.0 auf Ubuntu.
    Die Scripte liegen unter den Variablen und werden als Action-Scripte gestartet.
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	161102-IPS-Action-Script-snip_20160211225457.png 
Hits:	392 
Größe:	29.2 KB 
ID:	32991

    Die Profile müssen entsprechend erstellt werden.
    Die IP-Adresse und die ID müssen natürlich auch angepasste werden.
    Ich habe keinen Client Socket verwendet, sondern führe die Befehle direkt aus.
    So muss ich nicht ständig den Client Socket öffnen und schließen.
    Zudem habe ich den Eindruck, dass der LD382 so schneller auf Befehle reagiert.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-IPS-01-snip_20160211204711.png 
Hits:	222 
Größe:	28.3 KB 
ID:	32986

    Hier der Inhalt des "LED-Toggle-On-Off"
    PHP-Code:
    <?
    if($_IPS['SENDER'] == 'WebFront'
      {
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);  
    if (
    $_IPS["VALUE"] == true)  
    fwrite(fsockopen("tcp://192.168.0.201"5577), "\x71\x23\x0F\xA3");//Stripe An
    else
    fwrite(fsockopen("tcp://192.168.0.201"5577), "\x71\x24\x0f\xa4");//Stripe Aus
      
    }
    ?>
    Hier der Inhalt von "Farben-Auswahl"
    PHP-Code:
    <?
    if($_IPS['SENDER'] == 'WebFront')
       {
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
    if (
    $_IPS["VALUE"] == 1){fwrite(fsockopen("tcp://192.168.0.201"5577), "\x31\xff\x00\x00\x00\x00\x0f\x3f") && SetValue (30431 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Farbe]*/,16711680);}//rot
    else
    if (
    $_IPS["VALUE"] == 2){fwrite(fsockopen("tcp://192.168.0.201"5577), "\x31\x00\xff\x00\x00\x00\x0f\x3f") && SetValue (30431 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Farbe]*/,65280);}//gruen
    else
    if (
    $_IPS["VALUE"] == 3){fwrite(fsockopen("tcp://192.168.0.201"5577), "\x31\x00\x00\xff\x00\x00\x0f\x3f") && SetValue (30431 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Farbe]*/,255);}//blau
    else
    if (
    $_IPS["VALUE"] == 4){fwrite(fsockopen("tcp://192.168.0.201"5577), "\x31\x00\x00\x00\xff\x00\x0f\x3f");}//weiss
        
    }
    ?>
    Profil Farben-Fix
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-Wifi-Farben-Profil-snip_20160211224604.png 
Hits:	310 
Größe:	48.7 KB 
ID:	32987

    Hier der Inhalt von "Farbpicker"
    PHP-Code:
    <?
    SetValue
    ($_IPS['VARIABLE'], $_IPS['VALUE']); // Speichert den vom Picker gesendeten Wert in der angelegten Variable

    //Picker Umwandlung und Zerteilung in HEX Farben
    $r = (($_IPS['VALUE'] >> 16) & 0xFF);
    $g = (($_IPS['VALUE'] >> 8) & 0xFF);
    $b = (($_IPS['VALUE'] >> 0) & 0xFF);

    $sigdez 49+$r+$g+$b+15;//Signatur Berechnung Dezimal
    $sighex dechex($sigdez);//Signatur Umrechnung Dezimal zu Hex
    $signatur substr($sighex, -2); //Nur letzte 2 Zeichen verwenden
    $signatur1 hexdec($signatur); //Signatur Umrechnung Hex zu Dezimal

    //Sendet Dezimal Werte an Client Socket
    fwrite(fsockopen("tcp://192.168.0.201"5577), chr(49) . chr($r) . chr($g) . chr($b) . chr(00) . chr(00) . chr(15) . chr($signatur1));
    ?>
    Profil für Farbe (Farbpicker)
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-Farbpicker-snip_20160211224845.png 
Hits:	193 
Größe:	45.4 KB 
ID:	32988

    Hier der Inhalt von "Programm"
    PHP-Code:
    <?
    $speed 
    GetValue (16388 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Speed]*/);
    $p1 37//Seven Color Cross Fade
    $p2 40//Blue Gradual Change
    $p3 39//Green Gradual Change
    $p4 42//Cyan Gradual Change
    $p5 44//White Gradual Change
    $p6 46//Red, Blue, Cross Fade
    $p7 47//Green, Blue Cross Fade
    $p8 45//Red,Green Cross Fade

    $sigdez1 97+$p1+$speed+15//Signatur Berechnung Dezimal
    $sighex1 dechex($sigdez1); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz1 substr($sighex1, -2); //Nur letzte 2 Zeichen verwenden
    $signatur1 hexdec($sigkurz1); //Signatur Umrechnung Hex zu Dezimal

    $sigdez2 97+$p2+$speed+15//Signatur Berechnung Dezimal
    $sighex2 dechex($sigdez2); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz2 substr($sighex2, -2); //Nur letzte 2 Zeichen verwenden
    $signatur2 hexdec($sigkurz2); //Signatur Umrechnung Hex zu Dezimal

    $sigdez3 97+$p3+$speed+15//Signatur Berechnung Dezimal
    $sighex3 dechex($sigdez3); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz3 substr($sighex3, -2); //Nur letzte 2 Zeichen verwenden
    $signatur3 hexdec($sigkurz3); //Signatur Umrechnung Hex zu Dezimal

    $sigdez4 97+$p4+$speed+15//Signatur Berechnung Dezimal
    $sighex4 dechex($sigdez4); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz4 substr($sighex4, -2); //Nur letzte 2 Zeichen verwenden
    $signatur4 hexdec($sigkurz4); //Signatur Umrechnung Hex zu Dezimal

    $sigdez5 97+$p5+$speed+15//Signatur Berechnung Dezimal
    $sighex5 dechex($sigdez5); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz5 substr($sighex5, -2); //Nur letzte 2 Zeichen verwenden
    $signatur5 hexdec($sigkurz5); //Signatur Umrechnung Hex zu Dezimal

    $sigdez6 97+$p6+$speed+15//Signatur Berechnung Dezimal
    $sighex6 dechex($sigdez6); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz6 substr($sighex6, -2); //Nur letzte 2 Zeichen verwenden
    $signatur6 hexdec($sigkurz6); //Signatur Umrechnung Hex zu Dezimal

    $sigdez7 97+$p7+$speed+15//Signatur Berechnung Dezimal
    $sighex7 dechex($sigdez7); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz7 substr($sighex7, -2); //Nur letzte 2 Zeichen verwenden
    $signatur7 hexdec($sigkurz7); //Signatur Umrechnung Hex zu Dezimal

    $sigdez8 97+$p8+$speed+15//Signatur Berechnung Dezimal
    $sighex8 dechex($sigdez8); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz8 substr($sighex8, -2); //Nur letzte 2 Zeichen verwenden
    $signatur8 hexdec($sigkurz8); //Signatur Umrechnung Hex zu Dezimal

    if($_IPS['SENDER'] == 'WebFront'
      { 
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
    if (
    $_IPS["VALUE"] == 1){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p1) . chr($speed) . chr(15) . chr($signatur1));}//Seven Color Cross Fade
    else
    if (
    $_IPS["VALUE"] == 2){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p2) . chr($speed) . chr(15) . chr($signatur2));}//Blue Gradual Change
    else
    if (
    $_IPS["VALUE"] == 3){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p3) . chr($speed) . chr(15) . chr($signatur3));}//Green Gradual Change
    else
    if (
    $_IPS["VALUE"] == 4){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p4) . chr($speed) . chr(15) . chr($signatur4));}//Cyan Gradual Change 
    else
    if (
    $_IPS["VALUE"] == 5){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p5) . chr($speed) . chr(15) . chr($signatur5));}//White Gradual Change
     
    else
    if (
    $_IPS["VALUE"] == 6){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p6) . chr($speed) . chr(15) . chr($signatur6));}//Red, Blue, Cross Fade
     
    else
    if (
    $_IPS["VALUE"] == 7){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p7) . chr($speed) . chr(15) . chr($signatur7));}//Green, Blue Cross Fade
    else
    if (
    $_IPS["VALUE"] == 8){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p8) . chr($speed) . chr(15) . chr($signatur8));}//Red,Green Cross Fade 
       
    }
    ?>
    Profil für Programm
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	160211-IPS-Profil-Programm-snip_20160211225051.png 
Hits:	262 
Größe:	55.0 KB 
ID:	32989

    Hier der Inhalt von "speed"
    PHP-Code:
    <?
    SetValue
    ($_IPS['VARIABLE'], $_IPS['VALUE']);
    $speed GetValue (16388 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Speed]*/);
    $p1 37//Seven Color Cross Fade
    $p2 40//Blue Gradual Change
    $p3 39//Green Gradual Change
    $p4 42//Cyan Gradual Change
    $p5 44//White Gradual Change
    $p6 46//Red, Blue, Cross Fade
    $p7 47//Green, Blue Cross Fade
    $p8 45//Red,Green Cross Fade

    $sigdez1 97+$p1+$speed+15//Signatur Berechnung Dezimal
    $sighex1 dechex($sigdez1); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz1 substr($sighex1, -2); //Nur letzte 2 Zeichen verwenden
    $signatur1 hexdec($sigkurz1); //Signatur Umrechnung Hex zu Dezimal

    $sigdez2 97+$p2+$speed+15//Signatur Berechnung Dezimal
    $sighex2 dechex($sigdez2); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz2 substr($sighex2, -2); //Nur letzte 2 Zeichen verwenden
    $signatur2 hexdec($sigkurz2); //Signatur Umrechnung Hex zu Dezimal

    $sigdez3 97+$p3+$speed+15//Signatur Berechnung Dezimal
    $sighex3 dechex($sigdez3); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz3 substr($sighex3, -2); //Nur letzte 2 Zeichen verwenden
    $signatur3 hexdec($sigkurz3); //Signatur Umrechnung Hex zu Dezimal

    $sigdez4 97+$p4+$speed+15//Signatur Berechnung Dezimal
    $sighex4 dechex($sigdez4); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz4 substr($sighex4, -2); //Nur letzte 2 Zeichen verwenden
    $signatur4 hexdec($sigkurz4); //Signatur Umrechnung Hex zu Dezimal

    $sigdez5 97+$p5+$speed+15//Signatur Berechnung Dezimal
    $sighex5 dechex($sigdez5); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz5 substr($sighex5, -2); //Nur letzte 2 Zeichen verwenden
    $signatur5 hexdec($sigkurz5); //Signatur Umrechnung Hex zu Dezimal

    $sigdez6 97+$p6+$speed+15//Signatur Berechnung Dezimal
    $sighex6 dechex($sigdez6); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz6 substr($sighex6, -2); //Nur letzte 2 Zeichen verwenden
    $signatur6 hexdec($sigkurz6); //Signatur Umrechnung Hex zu Dezimal

    $sigdez7 97+$p7+$speed+15//Signatur Berechnung Dezimal
    $sighex7 dechex($sigdez7); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz7 substr($sighex7, -2); //Nur letzte 2 Zeichen verwenden
    $signatur7 hexdec($sigkurz7); //Signatur Umrechnung Hex zu Dezimal

    $sigdez8 97+$p8+$speed+15//Signatur Berechnung Dezimal
    $sighex8 dechex($sigdez8); //Signatur Umrechnung Dezimal zu Hex
    $sigkurz8 substr($sighex8, -2); //Nur letzte 2 Zeichen verwenden
    $signatur8 hexdec($sigkurz8); //Signatur Umrechnung Hex zu Dezimal

    $prog GetValue (24047 /*[Native-Geraete\Wifi-Controller-LD382A\LED-Stripe-TV-Schrank-Wohnzimmer-EG\Programm]*/);
    if (
    $prog == 1){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p1) . chr($speed) . chr(15) . chr($signatur1));}//Seven Color Cross Fade
    else
    if (
    $prog == 2){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p2) . chr($speed) . chr(15) . chr($signatur2));}//Blue Gradual Change
    else
    if (
    $prog == 3){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p3) . chr($speed) . chr(15) . chr($signatur3));}//Green Gradual Change
    else
    if (
    $prog == 4){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p4) . chr($speed) . chr(15) . chr($signatur4));}//Cyan Gradual Change
    else
    if (
    $prog == 5){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p5) . chr($speed) . chr(15) . chr($signatur5));}//White Gradual Change
    else
    if (
    $prog == 6){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p6) . chr($speed) . chr(15) . chr($signatur6));}//Red, Blue, Cross Fade
    else
    if (
    $prog == 7){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p7) . chr($speed) . chr(15) . chr($signatur7));}//Green, Blue Cross Fade
    else
    if (
    $prog == 8){fwrite(fsockopen("tcp://192.168.0.201"5577), chr(97) . chr($p8) . chr($speed) . chr(15) . chr($signatur8));}//Red,Green Cross Fade
    ?>
    Profil für Speed
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	161102-IPS-Profil-Speed-snip_20160211225241.png 
Hits:	227 
Größe:	43.9 KB 
ID:	32990

    Ich hoffe Du kannst mit meinem Ansatz was anfangen.
    Das ist alles nicht besonders elegant, besser habe ich es aber nicht hin bekommen
    und letztlich ist alles drin was mir wichtig war.
    Falls Fragen hast melde Dich einfach noch mal hier.

    Gruss
    Giuseppe
    Geändert von drdigital (13.02.16 um 11:05 Uhr)
    IPS V 5.3(Docker), ENO TCM 310 LAN-GW, KNX Installation, IPS-868, Pokeys57E, IPSView, IPS Z-Wave+ LAN GW, HUE, Google Home, mqtt ESP

  8. #8
    Registriert seit
    Dec 2010
    Beiträge
    48

    Hallo,

    Eine einfache Gesamthelligkeit laesst sich umsetzen, indem man den Faktor des Sliders mit den Einzelwerten multipliziert -- dazu muss der maximale Sliderwert 1 ergeben; also falls Slider 0-100 dann / 100, bei 0-255 eben durch 255 dividieren.

    Dies einfach jeweils fuer RGBW so in etwa (untested):

    PHP-Code:
    $brightness GetValueID_of_Brightness_Slider ) / 255.0// oder 100.0, je nachdem was der maximalwert ist
    $RR   chr(hexdec(substr($ValueHEX02))*$brightness);
    $GG chr(hexdec(substr($ValueHEX22))*$brightness);
    $BB  chr(hexdec(substr($ValueHEX42))*$brightness);
    $WW chr(GetValueID_of_White_Slider )*$brightness); 
    lg tom

  9. #9
    Registriert seit
    Oct 2011
    Ort
    Oberding
    Beiträge
    329

    Hallo Guiseppe,

    vielen Dank für deine Skripte, werde ich definitiv nutzen!

    Bin leider erst heute ein wenig zum testen gekommen. Deshalb auch erst jetzt der Dank!


    @Obstler42
    Vielen Dank, mit deinem Ansatz kann ich jetzt alle 4 Kanäle dimmen!


    Da ich das Ufo für meine Auquarienbeleuchtung nutzen möchte, ist das wirkl
    ich Klasse. Ich würde gerne über einen Zeitraum von sagen wir 30 Minuten, von 0 auf 90% hoch dimmen. Kennt hier jemand eine Lösung?


    Danke und Grüße
    Stephan

  10. #10
    Registriert seit
    Dec 2009
    Ort
    Calw
    Beiträge
    333

    Hallo Stephan,
    ich würde einen Script Timer starten, der alle 20 Sekunden +1% hoch dimmt.
    Wie man die Signatur berechnet kannst ja aus meinen Sripts entnehmen.

    Gruß
    Giuseppe
    IPS V 5.3(Docker), ENO TCM 310 LAN-GW, KNX Installation, IPS-868, Pokeys57E, IPSView, IPS Z-Wave+ LAN GW, HUE, Google Home, mqtt ESP

Ähnliche Themen

  1. IWY WLAN LED Birnen inkl. WiFi Controller
    Von Fraunhofer im Forum Beleuchtung / Lichttechnik
    Antworten: 2
    Letzter Beitrag: 09.03.14, 01:29
  2. "Mehrzweck-LED-Abtaster"
    Von sokkederheld im Forum Bastel-Ecke
    Antworten: 21
    Letzter Beitrag: 17.01.13, 11:38
  3. Antworten: 1
    Letzter Beitrag: 06.10.06, 10:21

Stichworte