|
From: <pf...@us...> - 2012-04-15 13:56:41
|
Revision: 757
http://openautomation.svn.sourceforge.net/openautomation/?rev=757&view=rev
Author: pfry
Date: 2012-04-15 13:56:35 +0000 (Sun, 15 Apr 2012)
Log Message:
-----------
DPT 7.005 : Zeitdauer in Stunden, Minuten, Sekunden
z.B. knx_write('1/2/73',4323,7.005);
die Angabe 4323 ist in Sekunden.
Modified Paths:
--------------
wiregate/plugin/generic/Ansagen.pl
Modified: wiregate/plugin/generic/Ansagen.pl
===================================================================
--- wiregate/plugin/generic/Ansagen.pl 2012-04-15 13:16:14 UTC (rev 756)
+++ wiregate/plugin/generic/Ansagen.pl 2012-04-15 13:56:35 UTC (rev 757)
@@ -138,6 +138,26 @@
return "Unbekanntes Datumsformat $val";
}
}
+ when(7.005) # Zeitdauer
+ {
+ $val=-$val if $val<0;
+ my $h=floor($val/3600);
+ $val-=3600*$h;
+ my $m=floor($val/60);
+ $val-=60*$m;
+ if($h)
+ {
+ push(@statement, number(\@speech, $h));
+ push(@statement, 'Zeiten/Stunden.wav');
+ }
+ if($h || $m)
+ {
+ push(@statement, number(\@speech, $m));
+ push(@statement, 'Zeiten/Minuten.wav');
+ }
+ push(@statement, number(\@speech, $val));
+ push(@statement, 'Zeiten/Sekunden.wav');
+ }
when(10.001) # Uhrzeit
{
if($val=~/^(Mo|Di|Mi|Do|Fr|Sa|So)\s+([0-9][0-9])\:([0-9][0-9])/)
@@ -158,8 +178,10 @@
return "Unbekanntes Uhrzeitformat $msg{value}";
}
}
- when(1.017) {} # kein Datenzusatz
- default { return "Datentyp $dpt nicht implementiert"; }
+ when(1.017) # Trigger, kein Datenzusatz
+ {}
+ default # kein Datenzusatz, aber mit Logeintrag
+ { return "Datentyp $dpt nicht implementiert"; }
}
# Das komplette Statement in die Ausgabe geben
speak($channel, $name, @statement);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|