From a96b30a4a1221b6a2b417555326ffd128262bdd8 Mon Sep 17 00:00:00 2001 From: moises <> Date: Thu, 30 Aug 2018 20:15:10 +0000 Subject: [PATCH] 72_XiaomiDevice: vacuum events git-svn-id: https://svn.fhem.de/fhem/trunk@17236 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 +- fhem/FHEM/72_XiaomiDevice.pm | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 61656f4d0..4384be997 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,6 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. - - feature: 72_XiaomiDevice: resume zoned cleanup + - feature: 72_XiaomiDevice: vacuum events, resume zoned cleanup - feature: 51_MOBILEALERTS: Added MA10120PRO - feature: 51_MOBILEALERTS: Added TFA30.3060.01.IT - change: 89_FULLY: Set start URL and bug fixes diff --git a/fhem/FHEM/72_XiaomiDevice.pm b/fhem/FHEM/72_XiaomiDevice.pm index b8747205e..d2b2fc844 100755 --- a/fhem/FHEM/72_XiaomiDevice.pm +++ b/fhem/FHEM/72_XiaomiDevice.pm @@ -1582,7 +1582,7 @@ sub XiaomiDevice_GetUpdate($) if( defined($attr{$name}) && defined($attr{$name}{subType}) && $attr{$name}{subType} eq "VacuumCleaner") { $hash->{helper}{packet}{$packetid} = "get_status"; - XiaomiDevice_WriteJSON($hash, '{"id":'.$packetid.',"method":"get_status","params":[""]}' ); + XiaomiDevice_WriteJSON($hash, '{"id":'.$packetid.',"method":"get_prop","params":["get_status"]}' ); } elsif( defined($attr{$name}) && defined($attr{$name}{subType}) && $attr{$name}{subType} eq "AirPurifier") { @@ -2247,6 +2247,10 @@ sub XiaomiDevice_ParseJSON($$) return undef if(ref($json->{result}) ne "ARRAY"); return undef if(ref($json->{result}[0]) ne "HASH"); + if (defined($json->{result}[0]{events})) { + readingsSingleUpdate( $hash, "event", $json->{result}[0]{events}[0], 1 ) if(defined($json->{result}[0]{events}[0])); + } + my $laststate = ReadingsVal($name, "state","-"); if(($laststate ne "Docked" && $laststate ne "Charging") && defined($json->{result}[0]{state}) && $json->{result}[0]{state} eq "8") { @@ -3158,6 +3162,10 @@ sub XiaomiDevice_DbLog_splitFn($) {
Error code

+
  • event (VacuumCleaner) +
    + Last event (e.g., bin_full)
    +

  • consumables_X (VacuumCleaner)
    Consumables time remaining in %