From a45820d8fb81f9126664109bc147b395064df9f5 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 00:28:27 +0100 Subject: [PATCH 1/6] airhumidifier_miot: Fix typo in model name --- miio/airhumidifier_miot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miio/airhumidifier_miot.py b/miio/airhumidifier_miot.py index 4f8434457..21e629c9d 100644 --- a/miio/airhumidifier_miot.py +++ b/miio/airhumidifier_miot.py @@ -248,7 +248,7 @@ def clean_mode(self) -> bool: return self.data["clean_mode"] -SMARTMI_EVAPORATIVE_HUMIDIFIER_2 = "zhimi.humidfier.ca4" +SMARTMI_EVAPORATIVE_HUMIDIFIER_2 = "zhimi.humidifier.ca4" SUPPORTED_MODELS = [SMARTMI_EVAPORATIVE_HUMIDIFIER_2] From 6f76a11bfac146ce102985880bfba79755ce7a2e Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 00:29:12 +0100 Subject: [PATCH 2/6] airpurifier{_miot}: add missing model information based on feedback & from homeassistant --- miio/airpurifier.py | 9 +++++++++ miio/airpurifier_miot.py | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/miio/airpurifier.py b/miio/airpurifier.py index e774402c0..60fb7d9ea 100644 --- a/miio/airpurifier.py +++ b/miio/airpurifier.py @@ -14,11 +14,20 @@ SUPPORTED_MODELS = [ + "zhimi.airpurifier.v1", + "zhimi.airpurifier.v2", "zhimi.airpurifier.v3", + "zhimi.airpurifier.v5", "zhimi.airpurifier.v6", "zhimi.airpurifier.v7", "zhimi.airpurifier.m1", "zhimi.airpurifier.m2", + "zhimi.airpurifier.ma1", + "zhimi.airpurifier.ma2", + "zhimi.airpurifier.sa1", + "zhimi.airpurifier.sa2", + "zhimi.airpurifier.mc1", + "zhimi.airpurifier.mc2", ] diff --git a/miio/airpurifier_miot.py b/miio/airpurifier_miot.py index 1f082fa0f..39243568f 100644 --- a/miio/airpurifier_miot.py +++ b/miio/airpurifier_miot.py @@ -9,6 +9,12 @@ from .exceptions import DeviceException from .miot_device import DeviceStatus, MiotDevice +SUPPORTED_MODELS = [ + "zhimi.airpurifier.ma4", # airpurifier 3 + "zhimi.airpurifier.mb3", # airpurifier 3h + "zhimi.airpurifier.va1", # airpurifier proh +] + _LOGGER = logging.getLogger(__name__) _MAPPING = { # Air Purifier (siid=2) @@ -364,6 +370,7 @@ class AirPurifierMiot(BasicAirPurifierMiot): """Main class representing the air purifier which uses MIoT protocol.""" mapping = _MAPPING + _supported_models = SUPPORTED_MODELS @command( default_output=format_output( @@ -460,6 +467,7 @@ class AirPurifierMB4(BasicAirPurifierMiot): """Main class representing the air purifier which uses MIoT protocol.""" mapping = _MODEL_AIRPURIFIER_MB4 + _supported_models = ["zhimi.airpurifier.mb4"] # airpurifier 3c @command( default_output=format_output( From 43537037a211b195ba1d0f900a48a3946f94d753 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 01:07:24 +0100 Subject: [PATCH 3/6] philips_bulb: add philips.light.candle{1,2}, adjust supported models --- miio/philips_bulb.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/miio/philips_bulb.py b/miio/philips_bulb.py index 954a5762a..49889c06f 100644 --- a/miio/philips_bulb.py +++ b/miio/philips_bulb.py @@ -13,6 +13,8 @@ MODEL_PHILIPS_LIGHT_BULB = "philips.light.bulb" MODEL_PHILIPS_LIGHT_HBULB = "philips.light.hbulb" MODEL_PHILIPS_ZHIRUI_DOWNLIGHT = "philips.light.downlight" +MODEL_PHILIPS_CANDLE = "philips.light.candle" +MODEL_PHILIPS_CANDLE2 = "philips.light.candle2" AVAILABLE_PROPERTIES_COMMON = ["power", "dv"] AVAILABLE_PROPERTIES_COLORTEMP = AVAILABLE_PROPERTIES_COMMON + ["bright", "cct", "snm"] @@ -21,6 +23,8 @@ MODEL_PHILIPS_LIGHT_HBULB: AVAILABLE_PROPERTIES_COMMON + ["bri"], MODEL_PHILIPS_LIGHT_BULB: AVAILABLE_PROPERTIES_COLORTEMP, MODEL_PHILIPS_ZHIRUI_DOWNLIGHT: AVAILABLE_PROPERTIES_COLORTEMP, + MODEL_PHILIPS_CANDLE: AVAILABLE_PROPERTIES_COLORTEMP, + MODEL_PHILIPS_CANDLE2: AVAILABLE_PROPERTIES_COLORTEMP, } @@ -71,7 +75,7 @@ def delay_off_countdown(self) -> int: class PhilipsWhiteBulb(Device): """Main class representing Xiaomi Philips White LED Ball Lamp.""" - _supported_models = list(AVAILABLE_PROPERTIES.keys()) + _supported_models = [MODEL_PHILIPS_LIGHT_HBULB] @command( default_output=format_output( @@ -130,8 +134,9 @@ def delay_off(self, seconds: int): class PhilipsBulb(PhilipsWhiteBulb): + """Support for philips bulbs that support color temperature and scenes.""" - _supported_models = [MODEL_PHILIPS_ZHIRUI_DOWNLIGHT] + _supported_models = list(AVAILABLE_PROPERTIES.keys()) @command( click.argument("level", type=int), From 5b602e54c86aec05e22c41481ca22cd73946e28b Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 17:06:19 +0100 Subject: [PATCH 4/6] roborock: add roborock.vacuum.m1s --- miio/integrations/vacuum/roborock/vacuum.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/miio/integrations/vacuum/roborock/vacuum.py b/miio/integrations/vacuum/roborock/vacuum.py index 578af69f8..9a3fa3add 100644 --- a/miio/integrations/vacuum/roborock/vacuum.py +++ b/miio/integrations/vacuum/roborock/vacuum.py @@ -133,6 +133,7 @@ class CarpetCleaningMode(enum.Enum): ROCKROBO_S7 = "roborock.vacuum.a15" ROCKROBO_S6_MAXV = "roborock.vacuum.a10" ROCKROBO_E2 = "roborock.vacuum.e2" +ROCKROBO_1S = "roborock.vacuum.m1s" SUPPORTED_MODELS = [ ROCKROBO_V1, @@ -146,6 +147,7 @@ class CarpetCleaningMode(enum.Enum): ROCKROBO_S7, ROCKROBO_S6_MAXV, ROCKROBO_E2, + ROCKROBO_1S, ] From bb2dd3708743caaf66b36812a8058972d1a2b722 Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 17:11:20 +0100 Subject: [PATCH 5/6] viomivacuum: add viomi.vacuum.v8 that should be compatible --- miio/integrations/vacuum/viomi/viomivacuum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miio/integrations/vacuum/viomi/viomivacuum.py b/miio/integrations/vacuum/viomi/viomivacuum.py index 7192b1062..4c289fb47 100644 --- a/miio/integrations/vacuum/viomi/viomivacuum.py +++ b/miio/integrations/vacuum/viomi/viomivacuum.py @@ -62,7 +62,7 @@ _LOGGER = logging.getLogger(__name__) -SUPPORTED_MODELS = ["viomi.vacuum.v7"] +SUPPORTED_MODELS = ["viomi.vacuum.v7", "viomi.vacuum.v8"] ERROR_CODES = { 0: "Sleeping and not charging", From 36b0665b81e6c89c0331a31c64fe105897c33fdd Mon Sep 17 00:00:00 2001 From: Teemu Rytilahti Date: Mon, 13 Dec 2021 17:30:21 +0100 Subject: [PATCH 6/6] philips_bulb: as most known devices seem to support cct, let's default to it if no model is given --- miio/philips_bulb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miio/philips_bulb.py b/miio/philips_bulb.py index 49889c06f..f441fb264 100644 --- a/miio/philips_bulb.py +++ b/miio/philips_bulb.py @@ -91,7 +91,7 @@ def status(self) -> PhilipsBulbStatus: """Retrieve properties.""" properties = AVAILABLE_PROPERTIES.get( - self.model, AVAILABLE_PROPERTIES[MODEL_PHILIPS_LIGHT_HBULB] + self.model, AVAILABLE_PROPERTIES[MODEL_PHILIPS_LIGHT_BULB] ) values = self.get_properties(properties)