|
From: <pf...@us...> - 2012-05-19 21:44:58
|
Revision: 831
http://openautomation.svn.sourceforge.net/openautomation/?rev=831&view=rev
Author: pfry
Date: 2012-05-19 21:44:51 +0000 (Sat, 19 May 2012)
Log Message:
-----------
Auf read-Telegramme wird nun mit response gantwortet
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-18 22:00:58 UTC (rev 830)
+++ wiregate/plugin/generic/Logikprozessor.pl 2012-05-19 21:44:51 UTC (rev 831)
@@ -165,8 +165,7 @@
if($event=~/bus/)
{
- # Bustraffic bedienen - nur Schreibzugriffe der iButtons interessieren
- return unless $msg{apci}=~/A_GroupValue_(Write|Read)/;
+ return if $msg{apci} eq "A_GroupValue_Response";
my $ga=$msg{dst};
my $in=$msg{value};
@@ -214,13 +213,13 @@
if(defined $result)
{
$retval.="$ga:Lesetelegramm -> \$logic{$t}{transmit}(memory) -> $ga:$result gesendet. " if $debug;
- knx_write($ga, $result);
+ knx_write($ga, $result, undef, 0x40); # response, DPT aus eibga.conf
}
next;
}
elsif(!$receive_ga) # Receive geht vor - bei Timer-Logiken ist receive_ga immer 0
{
- if(defined $in) # Write-Telegramm: das waren moeglicherweise wir selbst, also nicht antworten
+ if(defined $in) # Write/Response-Telegramm: das waren moeglicherweise wir selbst, also nicht antworten
{
$plugin_info{$plugname.'_'.$t.'_result'}=$in; # einfach Input ablegen
}
@@ -232,6 +231,7 @@
}
}
+ next unless $msg{apci} eq "A_GroupValue_Write" && $receive_ga;
# Wir wissen ab hier: Es liegt ein Write-Telegramm auf einer der receive-Adressen vor
# Nebenbei berechnen wir noch zwei Flags, die Zirkelkommunikation verhindern sollen
Modified: wiregate/plugin/generic/conf.d/Logikprozessor.conf
===================================================================
--- wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-05-18 22:00:58 UTC (rev 830)
+++ wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-05-19 21:44:51 UTC (rev 831)
@@ -103,8 +103,8 @@
# * Jeder Eintrag MUSS eine Spezifikation time=>... (Varianten siehe Beispiel oben) enthalten.
# * Jeder Eintrag DARF zusaetzliche, die Geltungstage einschraenkende Klauseln wie year, month, day_of_year,
# day_of_month, calendar_week, day_of_week (Mo...So oder Mon...Sun oder 1...7) und date (Format 'MM/DD') enthalten.
- # Solche Eintr\xE4ge duerfen Einzelwerte sein (year=>2012), Bereiche (day_of_month=>'8-14') oder auch wieder Listen
- # von Werten/Bereichen.
+ # Solche Eintr\xE4ge duerfen Einzelwerte sein (year=>2012), Bereiche (day_of_month=>'8-14', date=>'02/12-03/15')
+ # oder auch wieder Listen von Werten/Bereichen.
# * Jeder Eintrag DARF zusaetzliche binaere (0 oder 1) Einschraenkungen enthalten: weekend, weekday,
# holiday und workingday (=weder holiday noch weekend). holiday beruecksichtigt dabei Neujahr, 1. Mai,
# 3. Oktober, Weihnachten/Ostern/Pfingsten, Christi Himmelfahrt und Fronleichnam als Feiertage.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|