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( {