+ Antworten
Ergebnis 1 bis 3 von 3
  1. #1
    Registriert seit
    Mar 2015
    Ort
    Eggermühlen
    Beiträge
    29

    Unhappy RGBW dimmen - Wago DMX

    Moin Moin,

    ich habe eine kleines Problem.
    Ich besitze ein Wago 750-881 mit einer RS485 Karte die als DMX-Controller arbeitet.
    Im Wago Programm werden nur die Känale angegeben für die Farben RGBW.
    Der Wert wird als Byte außen angeschrieben.

    Im IPS möchte ich jetzt gerne einzelne Fest Farbwerte einstellen . ( Kein Problem klappt auch)
    Als weiteres soll mit einen Farbpicker gearbeitet werden für eine Individuelle Auswahl. ( Klappt auch mehr oder weniger )
    Nun sollen die Werte aber auch gedimmt werden.
    Da fängt mein Problem an.
    Runter dimmen kann ich immer aber ich komme nicht wieder auf den Ursprungswert zurück.
    Ich muss erst wieder die Farbe anwählen damit wieder der Grundwert hergestellt ist, dann kann ich auch wieder runterdimmen.

    Wenn ich nachher zu Hause bin Stelle ich auch mal einen derzeitigen Code ein.

    Aber vielleicht kennt einer schon eine Lösung

    Besten Dank

  2. #2
    Registriert seit
    Mar 2015
    Ort
    Eggermühlen
    Beiträge
    29

    Also das ist derzeit noch ein Test-Skript

    PHP-Code:
    <?
    SetValue
    ($_IPS['VARIABLE'], $_IPS['VALUE']);

    $va_hex dechex(getvalue(47232 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\RgbStrip]*/));
    $dim GetValue(36735 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\Helligkeit]*/);

    IF ( 
    $_IPS['VARIABLE'] == 35424 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\Farben_Re]*/)
    {
    /*Rot*/
     
    IF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     0;
    $Blau     0;
    }                        
    /*Blau*/
     
    IF ( $_IPS['VALUE'] == ){
    $Rot     0;
    $Gruen     0;
    $Blau     255;
    }
    /*Grün*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     0;
    $Gruen     255;
    $Blau     0;
    }
    /*Gelb*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     255;
    $Blau     0;
    }
    /*PINK*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     0;
    $Blau     93;
    }
    /*WEIß*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     255;
    $Blau     255;
    }
    }

    IF ( 
    $_IPS['VARIABLE'] == 47232 )
    {
       if(
    strlen($va_hex) == 6) {
          
    $Rot hexdec(substr($va_hex,0,2));
          
    $Gruen hexdec(substr($va_hex,2,2));
          
    $Blau hexdec(substr($va_hex,4,2));
       } 
       if(
    strlen($va_hex) == 4){
          
    $Gruen hexdec(substr($va_hex,0,2));
          
    $Blau hexdec(substr($va_hex,2,2));
          
    $Rot 0;
       }
        if(
    strlen($va_hex) == 2){
          
    $Blau hexdec(substr($va_hex,0,2));
          
    $Rot 0;
          
    $Gruen 0;
       }
         if(
    strlen($va_hex) == 1){
          
    $Blau 0;
          
    $Rot 0;
          
    $Gruen 0;
       }
       }
       
       
    $la strlen($va_hex);

    /* Grundwert vorm Dimmen herstellen*/

    $rdim round$Rot  *     ( $dim 100 ));
    $gdim round$Gruen * ( $dim 100 ));
    $bdim round$Blau  * ( $dim 100 ));






    SetValue(47232 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\RgbStrip]*/$bdim $gdim 256 $rdim 65536);

    ModBus_WriteRegisterDWord(28442 /*[Zimmer\Wohnzimmer\Modbus Variablen\Strip_WZ_DE_RE_RO]*/$rdim $gdim 256 $bdim 65536);

    ModBus_WriteRegisterWord(23106 /*[Zimmer\Wohnzimmer\Modbus Variablen\Strip_WZ_DE_RE_BL]*/,$bdim);

    ModBus_WriteRegisterWord(35385 /*[Zimmer\Wohnzimmer\Modbus Variablen\Strip_WZ_DE_RE_GR]*/,$gdim);


    echo 
    "$la \n ";
    echo 
    "$va_hex \n ";
    echo 
    "$Rot \n ";
    echo 
    "$Gruen \n ";
    echo 
    "$Blau \n ";
    echo 
    "$rdim \n ";
    echo 
    "$gdim \n ";
    echo 
    "$bdim \n ";






    ?>
    Geändert von n0b0dy90 (06.11.18 um 18:30 Uhr)

  3. #3
    Registriert seit
    Mar 2015
    Ort
    Eggermühlen
    Beiträge
    29

    Habe es nun nochmal überarbeitet......

    PHP-Code:
    <?

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

    $Farbwahl     35424 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\Farben_Re]*/;
    $Dimmer        36735 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\Helligkeit]*/;
    $Farbrad    47232 /*[Zimmer\Wohnzimmer\Strip_Decke_Rechts\RgbStrip]*/;
    $Modbus_var    28442 /*[Zimmer\Wohnzimmer\Modbus Variablen\Strip_WZ_DE_RE_RO]*/;

    $va_hex dechex(getvalue($Farbrad));
    $dim GetValue($Dimmer);


    IF ( 
    $_IPS['VARIABLE'] == $Farbwahl )
    {
    /*Rot*/
     
    IF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     0;
    $Blau     0;
    }                        
    /*Blau*/
     
    IF ( $_IPS['VALUE'] == ){
    $Rot     0;
    $Gruen     0;
    $Blau     255;
    }
    /*Grün*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     0;
    $Gruen     255;
    $Blau     0;
    }
    /*Gelb*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     255;
    $Blau     0;
    }
    /*PINK*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     0;
    $Blau     93;
    }
    /*WEIß*/
    iF ( $_IPS['VALUE'] == ){
    $Rot     255;
    $Gruen     255;
    $Blau     255;
    }

        
    $Rot round$Rot  *     ( $dim 100 ));
        
    $Gruen round$Gruen * ( $dim 100 ));
        
    $Blau round$Blau  * ( $dim 100 ));

    SetValue($Farbrad$Blau $Gruen 256 $Rot 65536);
    ModBus_WriteRegisterDWord($Modbus_var$Blau $Gruen 256 $Rot 65536);
    }

    IF ( 
    $_IPS['VARIABLE'] == $Farbrad )
    {
       if(
    strlen($va_hex) == 6) {
          
    $Rot hexdec(substr($va_hex,0,2));
          
    $Gruen hexdec(substr($va_hex,2,2));
          
    $Blau hexdec(substr($va_hex,4,2));
       } 
       if(
    strlen($va_hex) == 4){
          
    $Gruen hexdec(substr($va_hex,0,2));
          
    $Blau hexdec(substr($va_hex,2,2));
          
    $Rot 0;
       }
        if(
    strlen($va_hex) == 2){
          
    $Blau hexdec(substr($va_hex,0,2));
          
    $Rot 0;
          
    $Gruen 0;
       }
         if(
    strlen($va_hex) == 1){
          
    $Blau 0;
          
    $Rot 0;
          
    $Gruen 0;
       }

           
    SetValue($Dimmer,100);
          
    SetValue($Farbrad$Blau $Gruen 256 $Rot 65536);
        
    ModBus_WriteRegisterDWord($Modbus_var$Blau $Gruen 256 $Rot 65536);
       }
       
       
       
     IF (
    $_IPS['VARIABLE'] == $Dimmer )

        if(
    strlen($va_hex) == 6) {
          
    $Rot hexdec(substr($va_hex,0,2));
          
    $Gruen hexdec(substr($va_hex,2,2));
          
    $Blau hexdec(substr($va_hex,4,2));
       } 
       if(
    strlen($va_hex) == 4){
          
    $Gruen hexdec(substr($va_hex,0,2));
          
    $Blau hexdec(substr($va_hex,2,2));
          
    $Rot 0;
       }
        if(
    strlen($va_hex) == 2){
          
    $Blau hexdec(substr($va_hex,0,2));
          
    $Rot 0;
          
    $Gruen 0;
       }
         if(
    strlen($va_hex) == 1){
          
    $Blau 0;
          
    $Rot 0;
          
    $Gruen 0;
       }
       
           
    $Rot round$Rot  *     ( $dim 100 ));
        
    $Gruen round$Gruen * ( $dim 100 ));
        
    $Blau round$Blau  * ( $dim 100 ));

        
    SetValue($Farbrad$Blau $Gruen 256 $Rot 65536);
        
    ModBus_WriteRegisterDWord($Modbus_var$Blau $Gruen 256 $Rot 65536);
    }
      


    /*
    $la = strlen($va_hex);
    echo "$la \n ";
    echo "$va_hex \n ";
    echo "$Rot \n ";
    echo "$Gruen \n ";
    echo "$Blau \n ";
    echo "$rdim \n ";
    echo "$gdim \n ";
    echo "$bdim \n ";
    */





    ?>

Ähnliche Themen

  1. RGBW dimmen, Lichtfarbe analog Glühbirne
    Von Buzz2912 im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 2
    Letzter Beitrag: 25.12.16, 10:12
  2. Antworten: 0
    Letzter Beitrag: 02.11.16, 12:06
  3. Dmx RGB-Dimmer einzelne warmweiß LED Streifen dimmen
    Von Thomic13 im Forum Beleuchtung / Lichttechnik
    Antworten: 6
    Letzter Beitrag: 04.08.14, 22:12
  4. (DMX) HV Halogen flackert beim Dimmen
    Von Mephisto im Forum Beleuchtung / Lichttechnik
    Antworten: 3
    Letzter Beitrag: 19.11.10, 16:45