From eace7704a3e2332d9c11663895b457a93a552e1d Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Wed, 17 Oct 2018 19:14:51 +0200 Subject: [PATCH 1/2] Add last clean times to xiaomi vacuum The keys are the same as used by neato platform. --- homeassistant/components/vacuum/xiaomi_miio.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/homeassistant/components/vacuum/xiaomi_miio.py b/homeassistant/components/vacuum/xiaomi_miio.py index a491b69ca2f671..0b310f96a04433 100644 --- a/homeassistant/components/vacuum/xiaomi_miio.py +++ b/homeassistant/components/vacuum/xiaomi_miio.py @@ -45,6 +45,8 @@ 'Turbo': 77, 'Max': 90} +ATTR_CLEAN_START = 'clean_start' +ATTR_CLEAN_STOP = 'clean_stop' ATTR_CLEANING_TIME = 'cleaning_time' ATTR_DO_NOT_DISTURB = 'do_not_disturb' ATTR_DO_NOT_DISTURB_START = 'do_not_disturb_start' @@ -248,6 +250,10 @@ def device_state_attributes(self): ATTR_STATUS: str(self.vacuum_state.state) }) + if self.last_clean: + attrs[ATTR_CLEAN_START] = self.last_clean.start + attrs[ATTR_CLEAN_STOP] = self.last_clean.end + if self.vacuum_state.got_error: attrs[ATTR_ERROR] = self.vacuum_state.error return attrs @@ -368,6 +374,7 @@ def update(self): self.consumable_state = self._vacuum.consumable_status() self.clean_history = self._vacuum.clean_history() + self.last_clean = self._vacuum.last_clean_details() self.dnd_state = self._vacuum.dnd_status() self._available = True From 0d35d27d0b854282b136a64be2870b7bb4d5a7fb Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Sat, 17 Nov 2018 02:51:31 +0100 Subject: [PATCH 2/2] initialize last_clean --- homeassistant/components/vacuum/xiaomi_miio.py | 1 + 1 file changed, 1 insertion(+) diff --git a/homeassistant/components/vacuum/xiaomi_miio.py b/homeassistant/components/vacuum/xiaomi_miio.py index 0b310f96a04433..7b9d97850acf20 100644 --- a/homeassistant/components/vacuum/xiaomi_miio.py +++ b/homeassistant/components/vacuum/xiaomi_miio.py @@ -171,6 +171,7 @@ def __init__(self, name, vacuum): self.consumable_state = None self.clean_history = None self.dnd_state = None + self.last_clean = None @property def name(self):