-fix: check 'cmd' wrong, must define befor

This commit is contained in:
2017-10-30 07:35:20 +01:00
parent 9caee3a95f
commit d19108559b
3 changed files with 7 additions and 6 deletions

View File

@@ -51,7 +51,7 @@ use SetExtensions;
sub XiaomiSmartHome_Notify($$);
sub XiaomiSmartHome_updateSingleReading($$);
my $iv="\x17\x99\x6d\x09\x3d\x28\xdd\xb3\xba\x69\x5a\x2e\x6f\x58\x56\x2e";
my $version = "1.12";
my $version = "1.14";
my %XiaomiSmartHome_gets = (
"getDevices" => ["get_id_list", '^.+get_id_list_ack' ],

View File

@@ -26,7 +26,7 @@ use strict;
use warnings;
use Math::Round qw/nearest/;
my $version = "1.13";
my $version = "1.14";
sub XiaomiSmartHome_Device_updateSReading($);
@@ -201,6 +201,7 @@ sub XiaomiSmartHome_Device_Read($$$){
}
my $sid = $decoded->{'sid'};
my $model = $decoded->{'model'};
my $cmd = $decoded->{'cmd'};
Log3 $name, 5, "$name: DEV_Read> SID: " . $hash->{SID} . " " . $hash->{TYPE};
my $data = eval{decode_json($decoded->{data})};
if ($@) {
@@ -208,7 +209,7 @@ sub XiaomiSmartHome_Device_Read($$$){
return;
}
readingsBeginUpdate( $hash );
if ($data->{cmd} ne 'heartbeat'){
if ($cmd ne 'heartbeat'){
if (defined $data->{status}){
Log3 $name, 3, "$name: DEV_Read>" . " Name: " . $hash->{NAME} . " SID: " . $sid . " Type: " . $hash->{MODEL} . " Status: " . $data->{status};
readingsBulkUpdate($hash, "state", "$data->{status}", 1 );
@@ -341,7 +342,7 @@ sub XiaomiSmartHome_Device_Read($$$){
}
#curtain end
}
if ($decoded->{'cmd'} eq 'heartbeat'){
if ($cmd eq 'heartbeat'){
readingsBulkUpdate($hash, 'heartbeat', $decoded->{'sid'} , 1 );
}

View File

@@ -1,2 +1,2 @@
UPD 2017-10-24_08:55:31 36922 FHEM/71_XiaomiSmartHome.pm
UPD 2017-10-24_08:44:58 25216 FHEM/71_XiaomiSmartHome_Device.pm
UPD 2017-10-30_07:30:44 36922 FHEM/71_XiaomiSmartHome.pm
UPD 2017-10-30_07:30:27 25216 FHEM/71_XiaomiSmartHome_Device.pm