Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions homeassistant/components/isy994/light.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ def setup_platform(
class ISYLightDevice(ISYDevice, Light):
"""Representation of an ISY994 light device."""

def __init__(self, node) -> None:
"""Initialize the ISY994 light device."""
super().__init__(node)
self._last_brightness = self.brightness

@property
def is_on(self) -> bool:
"""Get whether the ISY994 light is on."""
Expand All @@ -38,12 +43,21 @@ def brightness(self) -> float:

def turn_off(self, **kwargs) -> None:
"""Send the turn off command to the ISY994 light device."""
self._last_brightness = self.brightness
if not self._node.off():
_LOGGER.debug("Unable to turn off light")

def on_update(self, event: object) -> None:
"""Save brightness in the update event from the ISY994 Node."""
if not self.is_unknown() and self.value != 0:
self._last_brightness = self.value
super().on_update(event)

# pylint: disable=arguments-differ
def turn_on(self, brightness=None, **kwargs) -> None:
"""Send the turn on command to the ISY994 light device."""
if brightness is None and self._last_brightness is not None:
brightness = self._last_brightness
if not self._node.on(val=brightness):
_LOGGER.debug("Unable to turn on light")

Expand Down