Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
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?
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.
Ä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..
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... ;-)
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar