|
From: <pf...@us...> - 2012-05-10 20:01:17
|
Revision: 807
http://openautomation.svn.sourceforge.net/openautomation/?rev=807&view=rev
Author: pfry
Date: 2012-05-10 20:01:11 +0000 (Thu, 10 May 2012)
Log Message:
-----------
Nochmal Zirkelschluesse.
Modified Paths:
--------------
wiregate/plugin/generic/Logikprozessor.pl
wiregate/plugin/generic/conf.d/Logikprozessor.conf
Modified: wiregate/plugin/generic/Logikprozessor.pl
===================================================================
--- wiregate/plugin/generic/Logikprozessor.pl 2012-05-10 16:20:49 UTC (rev 806)
+++ wiregate/plugin/generic/Logikprozessor.pl 2012-05-10 20:01:11 UTC (rev 807)
@@ -239,14 +239,7 @@
my $result=execute_logic($t, $receive, $ga, $in);
# Zirkelaufruf ausschliessen
- if($sender_is_wiregate && $in == $result)
- {
- # kommt transmit-GA unter den receive-GAs vor?
- # Wenn transmit_ga gesetzt ist, ist das schon mal der Fall
- next if $transmit_ga;
- next if !ref $receive && ($transmit eq $receive);
- next if ref $receive && grep /^$transmit$/, @{$receive};
- }
+ next if $sender_is_wiregate && $transmit_ga && $in == $result;
# In bestimmten Sonderfaellen nichts schicken
unless(defined $result) # Resultat undef => nichts senden
Modified: wiregate/plugin/generic/conf.d/Logikprozessor.conf
===================================================================
--- wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-05-10 16:20:49 UTC (rev 806)
+++ wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-05-10 20:01:11 UTC (rev 807)
@@ -93,72 +93,4 @@
);
-# In meinem (Fry) speziellen GA-Schema kann ich mir die obige Einzelkonfiguration sparen, weil aus meinem
-# GA-Namensschema mit sprechenden Kuerzeln alle Zuweisungen folgen; das Konfigurationshash wird in folgender
-# Schleife automatisch erzeugt.
-%logic=(
- wecker => { debug=>1, transmit=>'LI_SZ_Decke_1', timer=>{ time=>'22:23', day_of_month=>[(7..14)], day_of_week=>'Mi' }, translate => 1 },
- wecker2 => { debug=>1, transmit=>'LI_SZ_Decke_1', timer=>{ time=>'22:24', day_of_month=>[(7..14)], day_of_week=>'Mi' }, translate => 0 },
- lichtaus => { debug=>1, receive=>'LD_SZ_Decke_1', transmit=>'LD_SZ_Decke_1', translate => 0 },
-# temperatur => { receive=>['KR_E_Fermax_Oeffner','TA_A2'], transmit=>'WA_Temperatur',
-# translate => sub { return if $input->[0]; $input->[1]; },
-# },
-);
-# Memory-Funktion f\xFCr alle Aktoren, die kein KO fuer die Abfrage des eingestellten Wertes anbieten
-for my $rec (grep /^(LD|JP|JW)_\S*$/, keys %eibgaconf)
-{
- $logic{$rec.'_mem'}={ transmit=>$rec, transmit_only_on_request=>1 };
-}
-
-# Wenn unter 3% gedimmt wird -> ausschalten
-for my $rec (grep /^LD_\S*$/, keys %eibgaconf)
-{
- my $trm=$rec; $trm=~s/^LD/LI/;
- $logic{$rec.'_off'}={ receive=>$rec, transmit=>$trm, translate => sub { $input<3 ? 0 : undef; } };
-}
-
-# Szenenbestaetigung: LEDs der Taster blinken nach Szenenspeicherung, diese 1s spaeter wieder ausschalten
-for my $rec (grep /^ZC_\S*$/, keys %eibgaconf)
-{
- $logic{$rec.'_led_off'}={ debug=>1, receive=>$rec, transmit=>$rec, delay=>1, translate=>0 };
-}
-
-# nachts gedaempftes Licht. Auf einen Einschaltbefehl bei Nacht direkt einen Dimmwert hinterherschicken
-for my $rec (grep /^LI_\S*$/, keys %eibgaconf)
-{
- my $trm=$rec; $trm=~s/^LI/LK/;
- $logic{$rec.'_dim'}={ receive=>$rec, transmit=>$trm,
- translate => sub { return undef unless $input;
- return 3 if $night;
- return 50; }
- };
-}
-
-# Umwandlung relativer Dimmwerte in absolute Dimmwerte
-#for my $rec (grep /^LR_\S*$/, keys %eibgaconf)
-#{
-# next unless $eibgaconf{$rec}{name}=~/Dali/;
-# $rec=$eibgaconf{$rec}{short};
-# my $trm=$rec; $trm=~s/^LR/LK/;
-#
-# $logic{$rec}={
-# receive=>$rec, transmit=>$trm,
-# translate => sub { my ($state,$input)=@_; limit(0,(1+0.2*$input)*$state+5*$input,100); }
-# };
-#}
-
-# Umwandlung von Schaltbefehlen in absolute Dimmwerte
-#for my $rec (grep /^LI_\S*$/, keys %eibgaconf)
-#{
-# next unless $eibgaconf{$rec}{name}=~/Dali/;
-# $rec=$eibgaconf{$rec}{short};
-# my $trm=$rec; $trm=~s/^LI/LK/;
-#
-# $logic{$rec}={
-# receive=>$rec, transmit=>$trm,
-# translate => sub { my ($state,$input)=@_; 100*(1-$input); }
-# };
-#}
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|