Do not return empty string for custom light effect name (#1491)

This commit is contained in:
Steven B. 2025-01-29 18:49:06 +00:00 committed by GitHub
parent 09e73faca3
commit 82fbe1226e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 21 deletions

View File

@ -51,6 +51,7 @@ class LightEffect(Module, ABC):
"""Interface to represent a light effect module."""
LIGHT_EFFECTS_OFF = "Off"
LIGHT_EFFECTS_UNNAMED_CUSTOM = "Custom"
def _initialize_features(self) -> None:
"""Initialize features."""
@ -77,7 +78,7 @@ class LightEffect(Module, ABC):
@property
@abstractmethod
def effect(self) -> str:
"""Return effect state or name."""
"""Return effect name."""
@property
@abstractmethod

View File

@ -12,20 +12,11 @@ class LightEffect(IotModule, LightEffectInterface):
@property
def effect(self) -> str:
"""Return effect state.
Example:
{'brightness': 50,
'custom': 0,
'enable': 0,
'id': '',
'name': ''}
"""
"""Return effect name."""
eff = self.data["lighting_effect_state"]
name = eff["name"]
if eff["enable"]:
return name
return name or self.LIGHT_EFFECTS_UNNAMED_CUSTOM
return self.LIGHT_EFFECTS_OFF
@property

View File

@ -37,20 +37,14 @@ class LightStripEffect(SmartModule, SmartLightEffect):
@property
def effect(self) -> str:
"""Return effect state.
Example:
{'brightness': 50,
'custom': 0,
'enable': 0,
'id': '',
'name': ''}
"""
"""Return effect name."""
eff = self.data["lighting_effect"]
name = eff["name"]
# When devices are unpaired effect name is softAP which is not in our list
if eff["enable"] and name in self._effect_list:
return name
if eff["enable"] and eff["custom"]:
return name or self.LIGHT_EFFECTS_UNNAMED_CUSTOM
return self.LIGHT_EFFECTS_OFF
@property