Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin inaktiv setzen

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

    [wiregate] Plugin inaktiv setzen

    Hallo,

    ich habe da mal eine kurze Frage bei den Plugins. Gibt es eine Möglichkeit ein Plugin inaktiv zu setzen, so dass es nicht mehr ausgeführt wird ohne es gleich zu löschen?

    Grüße
    Jascha

    #2
    der wiregated.pl sucht mit folgendem Pattern nach (aktiven) Plugins:
    Code:
    my @plugins = grep !/[\~\#]$/ && !-d $_, </etc/wiregate/plugin/generic/*>;
    D.h. ein einfaches Umbenennen reicht, damit es nicht mehr benutzt wird.

    Ich nutze z.B. in einem solchen Fall ".plugin-name.pl"

    Kommentar


      #3
      oder in die erste Zeile des Plugins
      Code:
      return;
      Umgezogen? Ja! ... Fertig? Nein!
      Baustelle 2.0 !

      Kommentar


        #4
        Das mit return; klingt schonmal gut aber nur zum reinen Verständnis: Wo kann ich das Plugin umbenennen? Ändere ich den Namen unter Plugin hat das irgendwie keine Auswirkung.

        Grüße

        Kommentar


          #5
          Ändern: per z.B. (Win)SCP. Das Webif verwendet AFAIR denselben "Filter" um Backup-Kopien von diversen Editoren (mit ~ am Anfang) oder versteckte (.) auszublenden.

          Ansonsten wie bereits beschrieben: "return;" in der ersten Zeile tuts auch..
          Nur der Vollständigkeit halber: aufgerufen und kompiliert wirds damit immernoch, aber das spielt keine Rolle weil wir hier über eine handvoll ms sprechen..

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

          Kommentar


            #6
            Alternative (wenn man das ganze über die Visu steuern möchte ohne jedes Mal den Editor zu bemühen) wäre folgender Baustein, den inzwischen die meisten meiner Plugins vorweg haben:
            Code:
             my $ga_Plugin_Hauptschalter = '14/0/12'; #1bit Trigger fuer aktivierung/deaktivierung Plugin, 1=Aktivieren
            my $show_debug = 1;
             # relevante GA's abonnieren
            $plugin_subscribe{$ga_Plugin_Hauptschalter}{$plugname} = 1;
             my $busActive = !(!keys %msg); # true if script was called due to bus traffic
             if( !$busActive ) { # unnecesary during bus traffic
              if( not exists $plugin_info{ $plugname . '_' . '_Hauptschalter' } ) {
                $plugin_info{ $plugname . '_' . '_Hauptschalter' } = 1;
              }
            }
             # Verhalten bei Aufruf durch Busaktivität 
            if( $busActive ) {
              # Response-Telegramme ignorieren - sollten nur vom Plugin selbst kommen...
              if( $msg{'apci'} eq 'A_GroupValue_Response' ) { return; }
              # Read-Telegramme beantworten - erfolgt hier auch bei deaktiviertem Plugin. Bitte mindestens für den Hauptschalter...
              if( $msg{'apci'} eq 'A_GroupValue_Read' ) {
                if( $msg{'dst'} eq $ga_Plugin_Hauptschalter) {
                  my $value = $plugin_info{ $plugname . '_' . '_Hauptschalter' };
                  knx_write( $msg{'dst'}, $value, 1, 1 ); # send response
                }
              # Diesen Teil mehrfach einfuegen für jede GA die beantwortet werden soll
              #    elsif( $msg{'dst'} eq $ga_ANTWORT) {
              #    knx_write( $msg{'dst'}, $ANTWORT, DPT, 1 ); # send response
              #  }
              }
              # Write-Telegramme verarbeiten - erfolgt hier auch bei deaktiviertem Plugin. Bitte mindestens für den Hauptschalter...
              elsif( $msg{'apci'} eq 'A_GroupValue_Write') {
                if( $msg{'dst'} eq $ga_Plugin_Hauptschalter) {
                  $plugin_info{ $plugname . '_' . '_Hauptschalter' } = $msg{'data'};
                }
              }
            }
             # Plugin ohne weitere Aktion beenden wenn Hauptschalter aus
            if ($plugin_info{ $plugname . '_' . '_Hauptschalter' } == 0) {
              if($show_debug > 0){ plugin_log($plugname,"Deaktiviert ueber Hauptschalter-GA."); }
              $plugin_info{$plugname.'_cycle'} = 86400;
              return('deaktiviert');
            }
            else { $plugin_info{$plugname.'_cycle'} = 300; }
             # Ab hier der Hauptteil des Plugins....
            Endlich umgezogen. Fertig? Noch lange nicht... ;-)

            Kommentar

            Lädt...
            X