tangled
alpha
login
or
join now
zzstoatzz.io
/
solux
0
fork
atom
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
dimmer and warmer - max bri 70, ct 350-500
zzstoatzz.io
1 month ago
b5cfd58b
1d3a1e60
+11
-11
1 changed file
expand all
collapse all
unified
split
src
solux
controller.py
+11
-11
src/solux/controller.py
···
28
28
29
29
30
30
# lighting phases anchored to sun position
31
31
-
# brightness capped at 120 - never too bright
31
31
+
# dim and warm - ct scale: 153=cool/6500K, 500=warm/2000K
32
32
PHASES: list[Phase] = [
33
33
Phase(
34
34
name="dawn",
35
35
get_start=lambda s: s.dawn,
36
36
-
state=LightState(bri=40, ct=400),
36
36
+
state=LightState(bri=25, ct=450),
37
37
),
38
38
Phase(
39
39
name="sunrise",
40
40
get_start=lambda s: s.sunrise,
41
41
-
state=LightState(bri=80, ct=300),
41
41
+
state=LightState(bri=50, ct=400),
42
42
),
43
43
Phase(
44
44
name="morning",
45
45
get_start=lambda s: s.sunrise + timedelta(hours=1),
46
46
-
state=LightState(bri=120, ct=220),
46
46
+
state=LightState(bri=70, ct=370),
47
47
),
48
48
Phase(
49
49
name="midday",
50
50
get_start=lambda s: s.noon,
51
51
-
state=LightState(bri=120, ct=200),
51
51
+
state=LightState(bri=70, ct=350),
52
52
),
53
53
Phase(
54
54
name="afternoon",
55
55
get_start=lambda s: s.noon + timedelta(hours=3),
56
56
-
state=LightState(bri=100, ct=280),
56
56
+
state=LightState(bri=60, ct=380),
57
57
),
58
58
Phase(
59
59
name="golden_hour",
60
60
get_start=lambda s: s.sunset - timedelta(hours=1),
61
61
-
state=LightState(bri=80, ct=370),
61
61
+
state=LightState(bri=50, ct=420),
62
62
),
63
63
Phase(
64
64
name="sunset",
65
65
get_start=lambda s: s.sunset,
66
66
-
state=LightState(bri=60, ct=420),
66
66
+
state=LightState(bri=40, ct=450),
67
67
),
68
68
Phase(
69
69
name="dusk",
70
70
get_start=lambda s: s.dusk,
71
71
-
state=LightState(bri=40, ct=470),
71
71
+
state=LightState(bri=30, ct=480),
72
72
),
73
73
Phase(
74
74
name="evening",
75
75
get_start=lambda s: s.dusk + timedelta(hours=1),
76
76
-
state=LightState(bri=30, ct=500),
76
76
+
state=LightState(bri=20, ct=500),
77
77
),
78
78
Phase(
79
79
name="night",
80
80
get_start=lambda s: s.dusk + timedelta(hours=3),
81
81
-
state=LightState(bri=15, ct=500),
81
81
+
state=LightState(bri=10, ct=500),
82
82
),
83
83
]
84
84