From bd2ea9a148f26110d3f0c2d2bc243ce7b9419262 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 18 May 2026 13:39:00 +0200 Subject: [PATCH] Group sequential executor jobs in roomba vacuum (#171078) --- homeassistant/components/roomba/vacuum.py | 30 +++++++++++------------ 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/roomba/vacuum.py b/homeassistant/components/roomba/vacuum.py index ea470072731..a7f7551b687 100644 --- a/homeassistant/components/roomba/vacuum.py +++ b/homeassistant/components/roomba/vacuum.py @@ -304,14 +304,13 @@ class RoombaVacuumCarpetBoost(RoombaVacuum): else: _LOGGER.error("No such fan speed available: %s", fan_speed) return + # The set_preference method does only accept string values - await self.hass.async_add_executor_job( - self.vacuum.set_preference, "carpetBoost", str(carpet_boost) - ) - # pylint: disable-next=home-assistant-sequential-executor-jobs - await self.hass.async_add_executor_job( - self.vacuum.set_preference, "vacHigh", str(high_perf) - ) + def _set_fan_speed_preferences() -> None: + self.vacuum.set_preference("carpetBoost", str(carpet_boost)) + self.vacuum.set_preference("vacHigh", str(high_perf)) + + await self.hass.async_add_executor_job(_set_fan_speed_preferences) class BraavaJet(IRobotVacuum): @@ -387,15 +386,14 @@ class BraavaJet(IRobotVacuum): overlap = OVERLAP_DEEP else: overlap = OVERLAP_EXTENDED - await self.hass.async_add_executor_job( - self.vacuum.set_preference, "rankOverlap", overlap - ) - # pylint: disable-next=home-assistant-sequential-executor-jobs - await self.hass.async_add_executor_job( - self.vacuum.set_preference, - "padWetness", - {"disposable": spray, "reusable": spray}, - ) + + def _set_mop_preferences() -> None: + self.vacuum.set_preference("rankOverlap", overlap) + self.vacuum.set_preference( + "padWetness", {"disposable": spray, "reusable": spray} + ) + + await self.hass.async_add_executor_job(_set_mop_preferences) @property def extra_state_attributes(self) -> dict[str, Any]: