Some fixes

git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@1322 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
pahenning
2012-03-06 16:30:04 +00:00
parent 9b11cb129e
commit 007f413cda
4 changed files with 63 additions and 29 deletions

View File

@@ -14,9 +14,10 @@
#
# Prof. Dr. Peter A. Henning, 2012
#
# Version 1.04 - March, 2012
# Version 1.05 - March, 2012
#
# Setup bus device in fhem.cfg as
#
# define <name> OWAD [<model>] <ROM_ID> [interval]
#
# where <name> may be replaced by any name string
@@ -27,6 +28,15 @@
# without Family ID, e.g. A2D90D000800
# [interval] is an optional query interval in seconds
#
# get <name> id => FAM_ID.ROM_ID.CRC
# get <name> present => 1 if device present, 0 if not
# get <name> interval => query interval
# get <name> reading => measurement for all channels
# get <name> alarm => alarm measurement settings for all channels
# get <name> status => alarm and i/o status for all channels
#
# set <name> interval => set period for measurement
#
# Additional attributes are defined in fhem.cfg per channel, where <channel>=A,B,C,D
#
# attr <name> <channel>Name <string> = a name for the channel
@@ -152,7 +162,7 @@ sub OWAD_Define ($$) {
# e.g.: define flow OWAD 525715020000 300
my @a = split("[ \t][ \t]*", $def);
my ($name,$model,$id,$interval,$scale,$ret);
my ($name,$model,$fam,$id,$crc,$interval,$scale,$ret);
#-- default
$name = $a[0];
@@ -182,7 +192,7 @@ sub OWAD_Define ($$) {
#-- 1-Wire ROM identifier in the form "FF.XXXXXXXXXXXX.YY"
# YY must be determined from id
my $crc = sprintf("%02x",OWX_CRC("20.".$id."00"));
$crc = sprintf("%02x",OWX_CRC("20.".$id."00"));
#-- Define device internals
$hash->{INTERVAL} = $interval;
@@ -589,8 +599,8 @@ sub OWAD_Set($@) {
#-- set new timer interval
if($key eq "interval") {
# check value
return "OWAD: Set with short interval, must be > 10"
if(int($value) < 10);
return "OWAD: Set with short interval, must be > 1"
if(int($value) < 1);
# update timer
$hash->{INTERVAL} = $value;
RemoveInternalTimer($hash);