Fix fan speed level when off and derive smart fan module from common fan interface (#957)

Picked this up while updating the [Fan platform
PR](https://github.com/home-assistant/core/pull/116605) for HA. The
smart fan module was not correctly deriving from the common interface
and the speed_level is reported as >0 when off.
This commit is contained in:
Steven B
2024-06-06 14:18:34 +01:00
committed by GitHub
parent 39fc21a124
commit 40e40522f9
2 changed files with 8 additions and 2 deletions

View File

@@ -5,13 +5,14 @@ from __future__ import annotations
from typing import TYPE_CHECKING
from ...feature import Feature
from ...interfaces.fan import Fan as FanInterface
from ..smartmodule import SmartModule
if TYPE_CHECKING:
from ..smartdevice import SmartDevice
class Fan(SmartModule):
class Fan(SmartModule, FanInterface):
"""Implementation of fan_control module."""
REQUIRED_COMPONENT = "fan_control"
@@ -54,7 +55,7 @@ class Fan(SmartModule):
@property
def fan_speed_level(self) -> int:
"""Return fan speed level."""
return self.data["fan_speed_level"]
return 0 if self.data["device_on"] is False else self.data["fan_speed_level"]
async def set_fan_speed_level(self, level: int):
"""Set fan speed level, 0 for off, 1-4 for on."""