From 0558c633622088786a775bd0b62b239a78415f20 Mon Sep 17 00:00:00 2001 From: Teemu R Date: Sat, 8 Jan 2022 01:06:05 +0100 Subject: [PATCH] airpurifier_miot: force aqi update prior fetching data (#1282) * airpurifier_miot: force aqi update prior fetching data * use better name for aqi sensor update duration, bump the duration to five seconds * Add explanation why we adjust the update duration for mb3 --- miio/airpurifier_miot.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/miio/airpurifier_miot.py b/miio/airpurifier_miot.py index 9a2e41bdb..b5d427d2a 100644 --- a/miio/airpurifier_miot.py +++ b/miio/airpurifier_miot.py @@ -51,6 +51,7 @@ # AQI (siid=13) "purify_volume": {"siid": 13, "piid": 1}, "average_aqi": {"siid": 13, "piid": 2}, + "aqi_realtime_update_duration": {"siid": 13, "piid": 9}, # RFID (siid=14) "filter_rfid_tag": {"siid": 14, "piid": 1}, "filter_rfid_product_id": {"siid": 14, "piid": 3}, @@ -406,6 +407,11 @@ class AirPurifierMiot(BasicAirPurifierMiot): ) def status(self) -> AirPurifierMiotStatus: """Retrieve properties.""" + # Some devices update the aqi information only every 30min. + # This forces the device to poll the sensor for 5 seconds, + # so that we get always the most recent values. See #1281. + if self.model == "zhimi.airpurifier.mb3": + self.set_property("aqi_realtime_update_duration", 5) return AirPurifierMiotStatus( {