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 %