Ankündigung

Einklappen
Keine Ankündigung bisher.

RGB Sequenzer Dali

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] RGB Sequenzer Dali

    Lange habe ich gesucht und doch nix gefunden.
    Daher hab ich mich mal selbst an die Arbeit gemacht.
    Hier mal mein erstes Plugin.

    RGB Sequenzer für Dali Gateway.

    Meine Tests liefen gut. Einige Feinheiten müssten allerdings noch geändert werden.
    Bei mir werkelt übrigens ein ABB Dali Gateway.
    Es sollte aber auch mit jedem anderen laufen. Sollte
    die Dimmzeit von 0-100% um von 100-0% nicht per GA einstellbar sein,
    Muss diese natürlich dem Delay des Plugins angepasst werden.
    Sieht sonst komisch aus.

    Schaut es Euch mal an und sagt mir ob ich was ändern sollte / muss.


    Hier mal der Code:
    Code:
    #!/usr/bin/perl -w
    
    ###RGB Sequenzer###
    ##v1.0
    ##evilg
    
    
    my $delay = 10;            #Einstellen der Fadingtime
    my $ga_fadespeed = "7/6/0";    #GA zum einstellen der Fadingtime im DaliGateway (Das Gateway sollte das unterstützen, sonst muss die DimmZeit der Fadingtime händisch im Gateway gesetzt werden.
    my $ga_start = "7/1/3";        #Start GA
    my $ga_rot = "7/2/0";        #GA für Gruppe Rot
    my $ga_gruen = "7/2/1";        #GA für Gruppe Grün
    my $ga_blau = "7/2/2";        #GA für Gruppe Blau
    my $an = "255";            #Max Dimmwert An
    my $aus = "0";            #Min Dimmwert Aus
    
    
    $plugin_info{$plugname.'_cycle'} = 0; # nur bei Telegramm aufrufen
    $plugin_subscribe{$ga_start}{$plugname} = 1;
    
    if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $ga_start)
    {
    
      my $step1 = knx_read($ga_start,15,1);
      if ($step1 == 1) 
        {
        knx_write($ga_fadespeed,0,4);    #Fadespeed zum Ausschalten auf 0 setzen
        knx_write($ga_rot,$aus,5);        #Zum Start alles Aus
        knx_write($ga_blau,$aus,5);        #Zum Start alles Aus
        knx_write($ga_gruen,$aus,5);    #Zum Start alles Aus
        knx_write($ga_fadespeed,$delay,4);     #Fadespeed senden
       
        Rgb:                 #Wiederholungsmarke
        
        $plugin_info{$plugname.'_last'} = time;
        $plugin_info{$plugname.'_cycle'} = $delay;  
        $plugin_info{$plugname.'_step1_active'} = 1;
        plugin_log($plugname,"step1 aktiv. Weiter in $delay Sekunden");
        knx_write($ga_gruen,$aus,5);
        knx_write($ga_rot,$an,5);
        }
    }
    
        else
    
        {
        if ($plugin_info{$plugname.'_step1_active'} == 1)
        {
        knx_write($ga_gruen,$an,5);
        knx_write($ga_blau,$aus,5);                          
        $plugin_info{$plugname.'_step1_active'} = 0; 
        plugin_log($plugname,"Pause von $delay Sekunden ausgeführt");
        $plugin_info{$plugname.'_last'} = time;
        $plugin_info{$plugname.'_cycle'} = $delay;
             my $step2 = "1";
            if ($step2 == 1) 
          {
           
            $plugin_info{$plugname.'_last'} = time;
            $plugin_info{$plugname.'_cycle'} = $delay;  
            $plugin_info{$plugname.'_step2_active'} = 1;
            plugin_log($plugname,"step2 aktiv. Weiter in $delay Sekunden");
          }
    
        }
        else
    
        {
            if ($plugin_info{$plugname.'_step2_active'} == 1)
                {
                knx_write($ga_blau,$an,5);
                knx_write($ga_rot,$aus,5);
                my $step2 = "0";                         
                $plugin_info{$plugname.'_step2_active'} = 0; 
                plugin_log($plugname,"Pause von $delay Sekunden ausgeführt");
                $plugin_info{$plugname.'_last'} = time;
                $plugin_info{$plugname.'_cycle'} = $delay;
                
                
                
                     my $step3 = "1";
                    if ($step3 == 1) 
                      {
           
                    $plugin_info{$plugname.'_last'} = time;
                    $plugin_info{$plugname.'_cycle'} = $delay;  
                    $plugin_info{$plugname.'_step3_active'} = 1;
                    plugin_log($plugname,"step3 aktiv. Weiter in $delay Sekunden");
                      }
                 
                }
            
                else
    
            {    
                
                    if ($plugin_info{$plugname.'_step3_active'} == 1)
                    {
                    knx_write($ga_gruen,$aus,5);
                    knx_write($ga_rot,$an,5); 
                    my $step3 = "0";                        
                    $plugin_info{$plugname.'_step3_active'} = 0; 
                    plugin_log($plugname,"Pause von $delay Sekunden ausgeführt");
                    
                    $plugin_info{$plugname.'_last'} = time;
                    $plugin_info{$plugname.'_cycle'} = $delay;
                    
                    goto Rgb;    #Sprung zum Anfang
                        
                    }
                }    
       
    }
      
    
    }
    return;
    Bin für jede Kritik Offen :-)

    Viel Spaß

    #2
    Sequenz Verlauf

    Hier mal noch der Sequenz Verlauf.
    Sorry wegen der schlechten Qualität. Wir
    Haben grad kein Internet auf der Arbeit.
    Ich hätte bei Interesse noch ein Video. Muss aber mal schauen wie ich
    das hochladen kann.
    Angehängte Dateien

    Kommentar


      #3
      Guter Ansatz!

      Durch das ausführen des Fadings im GW ist der mögliche Nachteil von aufrufzyklen des Plugins auch weg/nicht direkt sichtbar
      Meine Siemens können Sequenzen&Szenen, wenn mir mal langweilig ist werde ich das als Vorlage nehmen den (auch nicht immer ganz so schnellen HS-Sequenzer) zu ersetzen..

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        Habe ein kleines Problem festgestellt.
        Nach einer weile startet sich das Plugin selber.


        Leider konnte ich noch nicht definiern ob das in einem bestimmten intervall ausgeführt wird.

        Wo ist mein fehler?

        Kommentar

        Lädt...
        X