|
From: <sw...@us...> - 2011-08-06 11:23:53
|
Revision: 393
http://openautomation.svn.sourceforge.net/openautomation/?rev=393&view=rev
Author: swiss1
Date: 2011-08-06 11:23:45 +0000 (Sat, 06 Aug 2011)
Log Message:
-----------
Plugin f?\195?\188r zuk?\195?\188nftige Erweiterungen angepasst. ein paar kleine BUG's behoben. Versoin 0.3 BETA
Modified Paths:
--------------
wiregate/plugin/generic/chumby_weckzeit.pl
Modified: wiregate/plugin/generic/chumby_weckzeit.pl
===================================================================
--- wiregate/plugin/generic/chumby_weckzeit.pl 2011-08-06 09:28:01 UTC (rev 392)
+++ wiregate/plugin/generic/chumby_weckzeit.pl 2011-08-06 11:23:45 UTC (rev 393)
@@ -1,5 +1,5 @@
# Plugin zum auslesen der Weckzeit aus dem Chumby
-# Version 0.2 BETA 06.08.2011
+# Version 0.3 BETA 06.08.2011
# Copyright: swiss (http://knx-user-forum.de/members/swiss.html)
# License: GPL (v2)
# Aufbau m\xF6glichst so, dass man unterhalb der Einstellungen nichts ver\xE4ndern muss!
@@ -8,18 +8,15 @@
####################
###Einstellungen:###
####################
+my %weckzeit;
my $chumby_ip = "192.168.1.7"; #Hier die IP-Adresse des Chumby eintragen.
-#Pro Weckzeit die als TEXT auf den BUS gesendet werden soll, muss ein entsprechender Eintrag angelegt werden. z.B ('test_1' => '10/1/2',)
-my %weckzeit_ga = (
- '' => '10/1/0', #Hier den genauen Namen der Weckzeit und die GA eintragen (14Byte-Text)
- 'test' => '10/1/1',
- 'test_1' => '10/1/2',
- 'test_2' => '10/1/3',
-
- );
+#Pro Weckzeit die auf den BUS gesendet werden soll, muss ein entsprechender Eintrag angelegt werden. z.B $weckzeit_ga{ 'test' } = { text_ga => '10/2/0', ga_aktiv => '10/2/1', ga_alarm => '10/2/2', };
+$weckzeit{ '' } = { text_ga => '10/1/0', ga_aktiv => '10/1/1', };
+$weckzeit{ 'test' } = { text_ga => '10/2/0', ga_aktiv => '10/2/1', };
+$weckzeit{ 'test_1' } = { text_ga => '', ga_aktiv => '10/3/1', };
######################
@@ -42,13 +39,22 @@
my $alarms = XMLin($xml)->{alarm};
while ((my $key) = each %{$alarms}) {
- my $zeitdez = $alarms->{$key}->{time} / 60;
- my $minuten = $alarms->{$key}->{time} % 60;
- my $stunde = int $zeitdez;
- my $zeit = $stunde . ":" . $minuten;
- knx_write($weckzeit_ga{$key},$zeit,16);
+ if (exists $weckzeit{$key}){
+ if ($weckzeit{$key}{text_ga} ne ''){
+ my $zeitdez = $alarms->{$key}->{time} / 60;
+ my $minuten = $alarms->{$key}->{time} % 60;
+ my $stunde = int $zeitdez;
+ my $zeit = $stunde . ":" . $minuten;
+ knx_write($weckzeit{$key}{text_ga},$zeit,16);
+ }
+ if ($weckzeit{$key}{ga_aktiv} ne ''){
+ knx_write($weckzeit{$key}{ga_aktiv},$alarms->{$key}->{enabled},1.001);
+ }
+ }
}
return "Status OK";
}elsif($status =~ /0 received/) {
return "Ein Fehler ist beim Testen der IP $chumby_ip aufgetreten";
-}
\ No newline at end of file
+}
+
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|