Skip to content

Commit b0f319d

Browse files
authored
Add Nightlight mode, extract deprecated nightlight fade from mode (#315)
1 parent a15fb0d commit b0f319d

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

src/wled/models.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class Nightlight:
1515
duration: int
1616
fade: bool
1717
on: bool
18+
mode: NightlightMode
1819
target_brightness: int
1920

2021
@staticmethod
@@ -28,9 +29,19 @@ def from_dict(data: dict[str, Any]) -> Nightlight:
2829
A Nightlight object.
2930
"""
3031
nightlight = data.get("nl", {})
32+
33+
# Handle deprecated fade property for Nightlight
34+
mode = nightlight.get("mode")
35+
fade = nightlight.get("fade", False)
36+
if mode is not None:
37+
fade = mode != NightlightMode.INSTANT
38+
if mode is None:
39+
mode = NightlightMode.FADE if fade else NightlightMode.INSTANT
40+
3141
return Nightlight(
3242
duration=nightlight.get("dur", 1),
33-
fade=nightlight.get("fade", False),
43+
fade=fade,
44+
mode=NightlightMode(mode),
3445
on=nightlight.get("on", False),
3546
target_brightness=nightlight.get("tbri", 0),
3647
)
@@ -449,3 +460,12 @@ class Live(IntEnum):
449460
OFF = 0
450461
ON = 1
451462
OFF_UNTIL_REBOOT = 2
463+
464+
465+
class NightlightMode(IntEnum):
466+
"""Enumeration representing nightlight mode from WLED."""
467+
468+
INSTANT = 0
469+
FADE = 1
470+
COLOR_FADE = 2
471+
SUNRISE = 3

0 commit comments

Comments
 (0)