mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
36_LaCrosse.pm: added readings for UniversalSensor
git-svn-id: https://svn.fhem.de/fhem/trunk@15891 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
c68389f5c3
commit
b19c2f8963
@ -168,7 +168,7 @@ sub LaCrosse_Parse($$) {
|
|||||||
my ($hash, $msg) = @_;
|
my ($hash, $msg) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
my( @bytes, $addr, $typeNumber, $typeName, $battery_new, $battery_low, $error, $type, $channel, $temperature, $humidity, $windDirection, $windSpeed, $windGust, $rain, $pressure, $gas, $debug );
|
my( @bytes, $addr, $typeNumber, $typeName, $battery_new, $battery_low, $error, $type, $channel, $temperature, $humidity, $windDirection, $windSpeed, $windGust, $rain, $pressure, $gas1, $gas2, $lux, $version, $voltage, $debug );
|
||||||
$temperature = 0xFFFF;
|
$temperature = 0xFFFF;
|
||||||
$humidity = 0xFF;
|
$humidity = 0xFF;
|
||||||
$windDirection = 0xFFFF;
|
$windDirection = 0xFFFF;
|
||||||
@ -176,7 +176,11 @@ sub LaCrosse_Parse($$) {
|
|||||||
$windGust = 0xFFFF;
|
$windGust = 0xFFFF;
|
||||||
$rain = 0xFFFF;
|
$rain = 0xFFFF;
|
||||||
$pressure = 0xFFFF;
|
$pressure = 0xFFFF;
|
||||||
$gas = 0xFFFFFF;
|
$gas1 = 0xFFFFFF;
|
||||||
|
$gas2 = 0xFFFFFF;
|
||||||
|
$lux = 0xFFFFFF;
|
||||||
|
$version = 0xFF;
|
||||||
|
$voltage = 0xFF;
|
||||||
$debug = 0xFFFFFF;
|
$debug = 0xFFFFFF;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
@ -265,6 +269,9 @@ sub LaCrosse_Parse($$) {
|
|||||||
elsif($typeNumber == 4) {
|
elsif($typeNumber == 4) {
|
||||||
$typeName = "LaCrosseGateway";
|
$typeName = "LaCrosseGateway";
|
||||||
}
|
}
|
||||||
|
elsif($typeNumber == 5) {
|
||||||
|
$typeName = "UniversalSensor";
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
$typeName = "unknown";
|
$typeName = "unknown";
|
||||||
}
|
}
|
||||||
@ -319,11 +326,27 @@ sub LaCrosse_Parse($$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(@bytes > 18 && $bytes[16] != 0xFF) {
|
if(@bytes > 18 && $bytes[16] != 0xFF) {
|
||||||
$gas = $bytes[16] * 65536 + $bytes[17] * 256 + $bytes[18];
|
$gas1 = $bytes[16] * 65536 + $bytes[17] * 256 + $bytes[18];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(@bytes > 21 && $bytes[19] != 0xFF) {
|
if(@bytes > 21 && $bytes[19] != 0xFF) {
|
||||||
$debug = $bytes[19] * 65536 + $bytes[20] * 256 + $bytes[21];
|
$gas2 = $bytes[19] * 65536 + $bytes[20] * 256 + $bytes[21];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(@bytes > 24 && $bytes[22] != 0xFF) {
|
||||||
|
$lux = $bytes[22] * 65536 + $bytes[23] * 256 + $bytes[24];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(@bytes > 25 && $bytes[25] != 0xFF) {
|
||||||
|
$version = $bytes[25] / 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(@bytes > 26 && $bytes[26] != 0xFF) {
|
||||||
|
$voltage = $bytes[26] / 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(@bytes > 29 && $bytes[27] != 0xFF) {
|
||||||
|
$debug = $bytes[27] * 65536 + $bytes[28] * 256 + $bytes[29];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -542,8 +565,24 @@ sub LaCrosse_Parse($$) {
|
|||||||
readingsBulkUpdate($rhash, "pressure", $pressure );
|
readingsBulkUpdate($rhash, "pressure", $pressure );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($typeNumber > 0 && $gas != 0xFFFFFF) {
|
if ($typeNumber > 0 && $gas1 != 0xFFFFFF) {
|
||||||
readingsBulkUpdate($rhash, "gas", $gas );
|
readingsBulkUpdate($rhash, "gas1", $gas1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($typeNumber > 0 && $gas2 != 0xFFFFFF) {
|
||||||
|
readingsBulkUpdate($rhash, "gas2", $gas2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($typeNumber == 5 && $lux != 0xFFFFFF) {
|
||||||
|
readingsBulkUpdate($rhash, "lux", $lux );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($typeNumber == 5 && $version != 0xFF) {
|
||||||
|
readingsBulkUpdate($rhash, "version", $version );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($typeNumber = 5 && $voltage != 0xFF) {
|
||||||
|
readingsBulkUpdate($rhash, "voltage", $voltage );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($typeNumber > 0 && $debug != 0xFFFFFF) {
|
if ($typeNumber > 0 && $debug != 0xFFFFFF) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user