From 5cdf4220eeb67b5a5837e70f2cba153e68f86888 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Fri, 30 Sep 2022 18:41:38 +0200 Subject: [PATCH] Fjaraskupan stop on 0 percentage (#79367) * Make sure fan turns off on 0 percentage * Remember old percentage --- homeassistant/components/fjaraskupan/fan.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/fjaraskupan/fan.py b/homeassistant/components/fjaraskupan/fan.py index c037966f0ef..c856a94fa07 100644 --- a/homeassistant/components/fjaraskupan/fan.py +++ b/homeassistant/components/fjaraskupan/fan.py @@ -82,11 +82,18 @@ class Fan(CoordinatorEntity[Coordinator], FanEntity): async def async_set_percentage(self, percentage: int) -> None: """Set speed.""" - new_speed = percentage_to_ordered_list_item( - ORDERED_NAMED_FAN_SPEEDS, percentage - ) + + # Proactively update percentage to mange successive increases + self._percentage = percentage + async with self.coordinator.async_connect_and_update() as device: - await device.send_fan_speed(int(new_speed)) + if percentage == 0: + await device.send_command(COMMAND_STOP_FAN) + else: + new_speed = percentage_to_ordered_list_item( + ORDERED_NAMED_FAN_SPEEDS, percentage + ) + await device.send_fan_speed(int(new_speed)) async def async_turn_on( self,