FIX missing humidity reading

FIX missing readings on sensors
This commit is contained in:
2017-03-23 18:43:32 +01:00
parent 6dc6c89342
commit 13e5daee58
2 changed files with 8 additions and 8 deletions

View File

@@ -25,7 +25,7 @@ package main;
use strict; use strict;
use warnings; use warnings;
my $version = "0.05"; my $version = "0.06";
sub XiaomiSmartHome_Device_updateSReading($); sub XiaomiSmartHome_Device_updateSReading($);
##################################### #####################################
@@ -82,28 +82,28 @@ sub XiaomiSmartHome_Device_Read($$$){
readingsSingleUpdate($hash, "no_motion", "0", 1 ); readingsSingleUpdate($hash, "no_motion", "0", 1 );
} }
} }
elsif(defined $data->{no_motion}){ if(defined $data->{no_motion}){
Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " NO_motion: " . $data->{no_motion}; Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " NO_motion: " . $data->{no_motion};
readingsSingleUpdate($hash, "no_motion", "$data->{no_motion}", 1 ); readingsSingleUpdate($hash, "no_motion", "$data->{no_motion}", 1 );
} }
elsif(defined $data->{voltage}){ if(defined $data->{voltage}){
Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Voltage: " . $data->{voltage}; Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Voltage: " . $data->{voltage};
readingsSingleUpdate($hash, "voltage", "$data->{voltage}", 1 ); readingsSingleUpdate($hash, "voltage", "$data->{voltage}", 1 );
} }
elsif(defined $data->{temperature}){ if(defined $data->{temperature}){
my $temp = $data->{temperature}; my $temp = $data->{temperature};
$temp =~ s/(^[-+]?\d+?(?=(?>(?:\d{2})+)(?!\d))|\G\d{2}(?=\d))/$1./g; $temp =~ s/(^[-+]?\d+?(?=(?>(?:\d{2})+)(?!\d))|\G\d{2}(?=\d))/$1./g;
Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Temperature: " . $temp; Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Temperature: " . $temp;
readingsSingleUpdate($hash, "temperature", "$temp", 1 ); readingsSingleUpdate($hash, "temperature", "$temp", 1 );
} }
elsif(defined $data->{humidity}){ if(defined $data->{humidity}){
my $hum = $data->{humidity}; my $hum = $data->{humidity};
$hum =~ s/(^[-+]?\d+?(?=(?>(?:\d{2})+)(?!\d))|\G\d{2}(?=\d))/$1./g; $hum =~ s/(^[-+]?\d+?(?=(?>(?:\d{2})+)(?!\d))|\G\d{2}(?=\d))/$1./g;
Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Humidity: " . $hum; Log3 $name, 3, "$name>" . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Humidity: " . $hum;
readingsSingleUpdate($hash, "humidity", "$hum", 1 ); readingsSingleUpdate($hash, "humidity", "$hum", 1 );
} }
elsif ($decoded->{'cmd'} eq 'heartbeat'){ if ($decoded->{'cmd'} eq 'heartbeat'){
readingsSingleUpdate($hash, $decoded->{'sid'}, 'heartbeat', 1 ); readingsSingleUpdate($hash, 'heartbeat', $decoded->{'sid'} , 1 );
} }
XiaomiSmartHome_Device_update($hash); XiaomiSmartHome_Device_update($hash);
return $hash->{NAME}; return $hash->{NAME};

View File

@@ -1,2 +1,2 @@
UPD 2017-03-22_18:48:03 14910 FHEM/71_XiaomiSmartHome.pm UPD 2017-03-22_18:48:03 14910 FHEM/71_XiaomiSmartHome.pm
UPD 2017-03-22_18:18:22 7905 FHEM/71_XiaomiSmartHome_Device.pm UPD 2017-03-23_18:32:10 7891 FHEM/71_XiaomiSmartHome_Device.pm