36_LaCrosse.pm: added WS 1080

git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@9714 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
hcs-svn
2015-10-29 10:14:13 +00:00
parent 88c7f33416
commit dd6d0cfc2e

View File

@@ -23,12 +23,12 @@ sub LaCrosse_Initialize($) {
$hash->{ParseFn} = "LaCrosse_Parse"; $hash->{ParseFn} = "LaCrosse_Parse";
###$hash->{AttrFn} = "LaCrosse_Attr"; ###$hash->{AttrFn} = "LaCrosse_Attr";
$hash->{AttrList} = "IODev" $hash->{AttrList} = "IODev"
." ignore:1,0" ." ignore:1,0"
." doAverage:1,0" ." doAverage:1,0"
." doDewpoint:1,0" ." doDewpoint:1,0"
." filterThreshold" ." filterThreshold"
." resolution" ." resolution"
." $readingFnAttributes"; ." $readingFnAttributes";
$hash->{AutoCreate} = { "LaCrosse.*" => { autocreateThreshold => "2:120", FILTER => "%NAME" }}; $hash->{AutoCreate} = { "LaCrosse.*" => { autocreateThreshold => "2:120", FILTER => "%NAME" }};
@@ -257,6 +257,9 @@ sub LaCrosse_Parse($$) {
elsif($typeNumber == 2) { elsif($typeNumber == 2) {
$typeName = "NodeSensor"; $typeName = "NodeSensor";
} }
elsif($typeNumber == 3) {
$typeName = "WS1080";
}
else { else {
$typeName = "unknown"; $typeName = "unknown";
} }
@@ -306,7 +309,7 @@ sub LaCrosse_Parse($$) {
} }
if(@bytes > 15 && $bytes[14] != 0xFF) { if(@bytes > 15 && $bytes[14] != 0xFF) {
$pressure = $bytes[14] * 256 + $bytes[15]; $pressure = $bytes[14] * 256 + $bytes[15];
} }
} }
@@ -407,9 +410,9 @@ sub LaCrosse_Parse($$) {
# Check filterThreshold # Check filterThreshold
if(!defined($rhash->{"previousT$channel"}) if(!defined($rhash->{"previousT$channel"})
|| (defined($rhash->{"previousT$channel"}) || (defined($rhash->{"previousT$channel"})
&& abs($rhash->{"previousH$channel"} - $humidity) <= AttrVal( $rname, "filterThreshold", 10 ) && abs($rhash->{"previousH$channel"} - $humidity) <= AttrVal( $rname, "filterThreshold", 10 )
&& abs($rhash->{"previousT$channel"} - $temperature) <= AttrVal( $rname, "filterThreshold", 10 ) )) { && abs($rhash->{"previousT$channel"} - $temperature) <= AttrVal( $rname, "filterThreshold", 10 ) )) {
# Calculate average # Calculate average
if (AttrVal( $rname, "doAverage", 0 ) && defined($rhash->{"previousT$channel"}) && $temperature != 0xFFFF) { if (AttrVal( $rname, "doAverage", 0 ) && defined($rhash->{"previousT$channel"}) && $temperature != 0xFFFF) {