diff --git a/homeassistant/components/broadlink/const.py b/homeassistant/components/broadlink/const.py index 91d4358a077385d8bf21bb285a089a213aa5711c..41c4964c2b369372a7daf43660c8b7a856685c6f 100644 --- a/homeassistant/components/broadlink/const.py +++ b/homeassistant/components/broadlink/const.py @@ -9,6 +9,7 @@ DOMAINS_AND_TYPES = { Platform.REMOTE: {"RM4MINI", "RM4PRO", "RMMINI", "RMMINIB", "RMPRO"}, Platform.SENSOR: { "A1", + "MP1S", "RM4MINI", "RM4PRO", "RMPRO", @@ -20,6 +21,7 @@ DOMAINS_AND_TYPES = { Platform.SWITCH: { "BG1", "MP1", + "MP1S", "RM4MINI", "RM4PRO", "RMMINI", diff --git a/homeassistant/components/broadlink/manifest.json b/homeassistant/components/broadlink/manifest.json index 7fd925a2ff4b14464420e51ef4d1b4fef368c69c..bf5dfb16584c644228f7c60d923c9cbde7d23c48 100644 --- a/homeassistant/components/broadlink/manifest.json +++ b/homeassistant/components/broadlink/manifest.json @@ -38,5 +38,5 @@ "documentation": "https://www.home-assistant.io/integrations/broadlink", "iot_class": "local_polling", "loggers": ["broadlink"], - "requirements": ["broadlink==0.18.3"] + "requirements": ["broadlink==0.19.0"] } diff --git a/homeassistant/components/broadlink/remote.py b/homeassistant/components/broadlink/remote.py index f8d903c51eb76a1c6d9ff4706767dfa2f4ac755c..55368e5ff59ee2aa893b9e57dc24d9e0ccc6f9f7 100644 --- a/homeassistant/components/broadlink/remote.py +++ b/homeassistant/components/broadlink/remote.py @@ -373,7 +373,7 @@ class BroadlinkRemote(BroadlinkEntity, RemoteEntity, RestoreEntity): start_time = dt_util.utcnow() while (dt_util.utcnow() - start_time) < LEARNING_TIMEOUT: await asyncio.sleep(1) - found = await device.async_request(device.api.check_frequency) + found = await device.async_request(device.api.check_frequency)[0] if found: break else: diff --git a/homeassistant/components/broadlink/switch.py b/homeassistant/components/broadlink/switch.py index f61e726b1d576f04d6ba84c9e86380cdf7d1d5a5..9cf7e3391fa4530ac28c9b0017e7063b1a1a0868 100644 --- a/homeassistant/components/broadlink/switch.py +++ b/homeassistant/components/broadlink/switch.py @@ -129,7 +129,7 @@ async def async_setup_entry( elif device.api.type == "BG1": switches.extend(BroadlinkBG1Slot(device, slot) for slot in range(1, 3)) - elif device.api.type == "MP1": + elif device.api.type in {"MP1", "MP1S"}: switches.extend(BroadlinkMP1Slot(device, slot) for slot in range(1, 5)) async_add_entities(switches) diff --git a/homeassistant/components/broadlink/updater.py b/homeassistant/components/broadlink/updater.py index 20b241b0d89aa3425d50c69d79bddda82ffb7eb3..f678af0105fda172d0e9469961f101c4715728ef 100644 --- a/homeassistant/components/broadlink/updater.py +++ b/homeassistant/components/broadlink/updater.py @@ -21,6 +21,7 @@ def get_update_manager(device): "LB1": BroadlinkLB1UpdateManager, "LB2": BroadlinkLB1UpdateManager, "MP1": BroadlinkMP1UpdateManager, + "MP1S": BroadlinkMP1SUpdateManager, "RM4MINI": BroadlinkRMUpdateManager, "RM4PRO": BroadlinkRMUpdateManager, "RMMINI": BroadlinkRMUpdateManager, @@ -112,6 +113,16 @@ class BroadlinkMP1UpdateManager(BroadlinkUpdateManager): return await self.device.async_request(self.device.api.check_power) +class BroadlinkMP1SUpdateManager(BroadlinkUpdateManager): + """Manages updates for Broadlink MP1 devices.""" + + async def async_fetch_data(self): + """Fetch data from the device.""" + power = await self.device.async_request(self.device.api.check_power) + sensors = await self.device.async_request(self.device.api.get_state) + return {**power, **sensors} + + class BroadlinkRMUpdateManager(BroadlinkUpdateManager): """Manages updates for Broadlink remotes.""" diff --git a/requirements_all.txt b/requirements_all.txt index a9bc97d91581b39682236a8cf7fddc1da07da8be..66c36c7ac18d3980ff0ca1bec806bd9d0d0e1003 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -601,7 +601,7 @@ boto3==1.34.51 bring-api==0.5.7 # homeassistant.components.broadlink -broadlink==0.18.3 +broadlink==0.19.0 # homeassistant.components.brother brother==4.1.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 6c40bd21e84688463aee6a7f351448a21a5fb2c1..5bac0527854ad7d902387f3543995e99a59b68cc 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -512,7 +512,7 @@ boschshcpy==0.2.91 bring-api==0.5.7 # homeassistant.components.broadlink -broadlink==0.18.3 +broadlink==0.19.0 # homeassistant.components.brother brother==4.1.0