|
From: <pf...@us...> - 2012-11-13 09:58:42
|
Revision: 1137
http://openautomation.svn.sourceforge.net/openautomation/?rev=1137&view=rev
Author: pfry
Date: 2012-11-13 09:58:33 +0000 (Tue, 13 Nov 2012)
Log Message:
-----------
kleine Fixes
Modified Paths:
--------------
wiregate/plugin/generic/Logikprozessor.pl
Modified: wiregate/plugin/generic/Logikprozessor.pl
===================================================================
--- wiregate/plugin/generic/Logikprozessor.pl 2012-11-13 08:41:32 UTC (rev 1136)
+++ wiregate/plugin/generic/Logikprozessor.pl 2012-11-13 09:58:33 UTC (rev 1137)
@@ -144,16 +144,13 @@
}
# transmit-Adresse abonnieren
- if (defined($logic{$t}{transmit}))
+ if (defined $logic{$t}{transmit})
{
- my $transmit=groupaddress $logic{$t}{transmit};
- $plugin_subscribe{$transmit}{$plugname}=1;
- plugin_log($plugname, "\$logic{$t}: Transmit-GA $transmit nicht in %eibgaconf gefunden") if $debug && !exists $eibgaconf{$transmit};
- }
+ my $transmit=groupaddress $logic{$t}{transmit};
+ $plugin_subscribe{$transmit}{$plugname}=1;
+ plugin_log($plugname, "\$logic{$t}: Transmit-GA $transmit nicht in %eibgaconf gefunden") if $debug && !exists $eibgaconf{$transmit};
+ }
- # Zaehlen und Logeintrag
- $count++;
-
# Timer-Logiken reagieren nicht auf Bustraffic auf den receive-Adressen
# fuer Timer-Logiken: ersten Call berechnen
if($logic{$t}{timer})
@@ -162,17 +159,24 @@
}
# Nun alle receive-Adressen abonnieren (eine oder mehrere)
- my $receive=groupaddress $logic{$t}{receive};
+ if(defined $logic{$t}{receive})
+ {
+ my $receive=groupaddress $logic{$t}{receive};
- next unless $receive;
-
- $receive=[$receive] unless ref $receive;
+ if($receive)
+ {
+ $receive=[$receive] unless ref $receive;
+
+ 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};
+ }
+ }
+ }
- 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};
- }
+ # Zaehlen und Logeintrag
+ $count++;
}
# plugin_log($plugname, "Initialisierungsblock beendet");
@@ -187,7 +191,7 @@
# Berechnung und Senden beim Startup des Logikprozessors
my $result=execute_logic($t, undef, undef);
- if(defined $result && defined $logic{$t}{transmit} && length($logic{$t}{transmit}))
+ if(defined $result && defined $logic{$t}{transmit})
{
my $ga=groupaddress $logic{$t}{transmit};
knx_write($ga, $result); # DPT aus eibga.conf
@@ -329,7 +333,7 @@
}
else
{
- if(defined $result && defined $transmit && length($transmit))
+ if(defined $result && defined $transmit)
{
knx_write($transmit, $result);
$retval.="$msg{src} $ga:$in -> \$logic{$t}{receive}(Logik) -> $transmit:$result gesendet " if $debug;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|