|
From: <pf...@us...> - 2013-01-04 11:14:06
|
Revision: 1299
http://openautomation.svn.sourceforge.net/openautomation/?rev=1299&view=rev
Author: pfry
Date: 2013-01-04 11:13:59 +0000 (Fri, 04 Jan 2013)
Log Message:
-----------
Zusaetzliche Warnung, falls transmit und receive gleiche Adressen enthalten
Modified Paths:
--------------
wiregate/plugin/generic/Logikprozessor.pl
Modified: wiregate/plugin/generic/Logikprozessor.pl
===================================================================
--- wiregate/plugin/generic/Logikprozessor.pl 2013-01-04 09:36:28 UTC (rev 1298)
+++ wiregate/plugin/generic/Logikprozessor.pl 2013-01-04 11:13:59 UTC (rev 1299)
@@ -140,10 +140,12 @@
plugin_log($plugname, "Config err: \$logic{$t}: delay und timer festgelegt, ignoriere delay");
}
+ my $transmit=$logic{$t}{transmit};
+
# transmit-Adresse(n) abonnieren
- if(defined $logic{$t}{transmit})
+ if(defined $transmit)
{
- my $transmit=groupaddress $logic{$t}{transmit};
+ $transmit=groupaddress $transmit;
if($transmit)
{
@@ -152,7 +154,7 @@
for my $trm (@{$transmit})
{
$plugin_subscribe{$trm}{$plugname}=1;
- plugin_log($plugname, "\$logic{$t}: Transmit-GA $trm nicht in %eibgaconf gefunden") if $debug && !exists $eibgaconf{$trm};
+ plugin_log($plugname, "\$logic{$t}: Transmit-GA $trm nicht in %eibgaconf gefunden") unless exists $eibgaconf{$trm};
}
}
}
@@ -164,10 +166,13 @@
set_next_call($t, $debug);
}
+ my $receive=$logic{$t}{receive};
+
# Nun alle receive-Adressen abonnieren (eine oder mehrere)
- if(defined $logic{$t}{receive})
+ if(defined $receive)
{
- my $receive=groupaddress $logic{$t}{receive};
+ $receive=groupaddress $receive;
+ my @doubles=();
if($receive)
{
@@ -176,9 +181,17 @@
for my $rec (@{$receive})
{
$plugin_subscribe{$rec}{$plugname}=1;
- plugin_log($plugname, "\$logic{$t}: Receive-GA $rec nicht in %eibgaconf gefunden") if $debug && !exists $eibgaconf{$rec};
+ plugin_log($plugname, "\$logic{$t}: Receive-GA $rec nicht in %eibgaconf gefunden") unless exists $eibgaconf{$rec};
+
+ if($debug)
+ {
+ my $qrec=quotemeta $rec;
+ push @doubles, $rec if grep /^$qrec$/, @{$transmit};
+ }
}
}
+
+ plugin_log($plugname, "\$logic{$t}: Warnung: ".(join",", @doubles)." sowohl Receive- als auch Transmit-GA.") if $debug && @doubles;
}
# Zaehlen und Logeintrag
@@ -371,7 +384,7 @@
{
$plugin_info{$plugname.'__'.$t.'_timer'}=$systemtime+$logic{$t}{delay};
$plugin_info{$plugname.'__'.$t.'_cool'}=time()+$logic{$t}{delay}+$logic{$t}{cool} if defined $logic{$t}{cool};
- $retval.="$msg{src} $ga:$in -> \$logic{$t}{receive}(Logik) -> $transmit:$result, zu senden in ".$logic{$t}{delay}."s " if $debug;
+ $retval.="$msg{src} $ga:$in -> \$logic{$t}{receive}(Logik) -> delay ".$logic{$t}{delay}."s " if $debug;
}
else
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|