Wie schon hier beschrieben ein Patch der die $plugin_subscribe Funktion - das Abonnieren von Gruppenadressen - erweitert.
In den Plugins kann man jetzt diese Möglichkeiten der Abonnierung nutzen:
Hier der Patch:
Grüße
In den Plugins kann man jetzt diese Möglichkeiten der Abonnierung nutzen:
Code:
$plugin_subscribe $plugin_subscribe_read $plugin_subscribe_write
- $plugin_subscribe - abonniert das Plugin auf jede Art von Telegrammen
- $plugin_subscribe_read - abonniert das Plugin nur bei Read-Telegrammen
- $plugin_subscribe_write - abonniert das Plugin nur bei Write-Telegrammen
Hier der Patch:
Code:
--- wiregated.pl.orig 2013-04-15 17:48:44.000000000 +0200
+++ wiregated.pl 2013-04-15 17:50:39.000000000 +0200
@@ -958,6 +958,8 @@
my %plugin_info;
my %plugin_subscribe;
+my %plugin_subscribe_write;
+my %plugin_subscribe_read;
my $plugin_initflag=0;
my %plugin_socket_subscribe;
@@ -1099,6 +1101,24 @@
check_generic_plugins($k,\%msg);
}
}
+ # check subscribed plugin for READ
+ if ($plugin_subscribe_read{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Read") {
+ #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
+ for my $k ( keys %{$plugin_subscribe_read{ $msg{'dst'} }} ) {
+ LOGGER('DEBUG',"Running Plugin $k subscribed for READ to $msg{'dst'}");
+ $thr_eiblisten_timeout = time(); # set timeout
+ check_generic_plugins($k,\%msg);
+ }
+ }
+ # check subscribed plugin for WRITE
+ if ($plugin_subscribe_write{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Write") {
+ #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
+ for my $k ( keys %{$plugin_subscribe_write{ $msg{'dst'} }} ) {
+ LOGGER('DEBUG',"Running Plugin $k subscribed for WRITE to $msg{'dst'}");
+ $thr_eiblisten_timeout = time(); # set timeout
+ check_generic_plugins($k,\%msg);
+ }
+ }
} elsif ($msglen==414) {

