|
From: <sw...@us...> - 2011-08-06 12:32:38
|
Revision: 394
http://openautomation.svn.sourceforge.net/openautomation/?rev=394&view=rev
Author: swiss1
Date: 2011-08-06 12:32:32 +0000 (Sat, 06 Aug 2011)
Log Message:
-----------
Eine wetere Textausgabe f?\195?\188r "wann" wurde hinzugef?\195?\188gt, Ein BUG wurde behoben. Version 0.4 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 11:23:45 UTC (rev 393)
+++ wiregate/plugin/generic/chumby_weckzeit.pl 2011-08-06 12:32:32 UTC (rev 394)
@@ -1,5 +1,5 @@
# Plugin zum auslesen der Weckzeit aus dem Chumby
-# Version 0.3 BETA 06.08.2011
+# Version 0.4 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!
@@ -12,11 +12,22 @@
my $chumby_ip = "192.168.1.7"; #Hier die IP-Adresse des Chumby eintragen.
+#
+#Hier die beschreibung der Parameter:
+#Nichtben\xF6tigte Parameter einfach auf '' setzen. z.B. text_ga => ''
+#
+#
+# $weckzeit{ '' } Hier muss der genaue Name der Weckzeit aus dem Chumby eingetragen werden
+# text_zeit_ga => '10/1/0' Hier kann man eine GA eintragen um die Weckzeit als 14Byte-text an den BUS zu senden.
+# text_wann_ga => '10/1/1' Hier kann man eine GA eintragen um die g\xFCltigkeit der Weckzeit (wann) als 14Byte-Text an den BUS zu senden.
+# ga_aktiv => '10/1/1' ier kann man eine GA eintragen um den Status (inaktiv/aktiv) als 1Bit (0/1) an den BUS zu senden
+#
+
#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', };
+$weckzeit{ '' } = { text_zeit_ga => '10/1/0', text_wann_ga => '10/1/1', ga_aktiv => '10/1/2', };
+$weckzeit{ 'test' } = { text_zeit_ga => '10/2/0', text_wann_ga => '10/2/1', ga_aktiv => '10/2/2', };
+$weckzeit{ 'test_1' } = { text_zeit_ga => '10/3/0', text_wann_ga => '10/3/1', ga_aktiv => '10/3/2', };
######################
@@ -27,9 +38,22 @@
# Zyklischer Aufruf nach restart und alle 30 sek.
use XML::Simple;
+use LWP::Simple;
use Encode qw(encode decode);
# use open ":utf8";
+my %uebersetzungstabelle = ("daily" => "T\xE4glich",
+ "weekend" => "Wochenends",
+ "weekday" => "Mo - Fr",
+ "sunday" => "Sonntags",
+ "monday" => "Montags",
+ "tuesday" => "Dienstags",
+ "wednesday" => "Mittwochs",
+ "thursday" => "Donnerstags",
+ "friday" => "Freitags",
+ "saturday" => "Sammstags",);
+
+
my $command = "ping -c 2 -w 2 ".$chumby_ip;
my $status = `$command`;
if($status =~ /bytes from/) {
@@ -40,13 +64,18 @@
while ((my $key) = each %{$alarms}) {
if (exists $weckzeit{$key}){
- if ($weckzeit{$key}{text_ga} ne ''){
+ if ($weckzeit{$key}{text_zeit_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);
+
+ knx_write($weckzeit{$key}{text_zeit_ga},$zeit,16);
}
+ if ($weckzeit{$key}{text_wann_ga} ne ''){
+ my $text_wann = $uebersetzungstabelle{$alarms->{$key}->{when}} . " um ";
+ knx_write($weckzeit{$key}{text_wann_ga},$text_wann,16);
+ }
if ($weckzeit{$key}{ga_aktiv} ne ''){
knx_write($weckzeit{$key}{ga_aktiv},$alarms->{$key}->{enabled},1.001);
}
@@ -56,5 +85,3 @@
}elsif($status =~ /0 received/) {
return "Ein Fehler ist beim Testen der IP $chumby_ip aufgetreten";
}
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|