Commit graph

43 commits

Author SHA1 Message Date
9104fac638 Remove the remoteControlledLights helper value 2026-01-17 17:07:08 +01:00
0bf13d4c6f Make generateZigbeeCommandsToFixLight accept whole state 2026-01-17 16:35:45 +01:00
998e3a94fc Remember if the alarm is on 2026-01-17 16:31:34 +01:00
b55e48ab22 Get rid of partOfDayChanged 2026-01-17 16:12:16 +01:00
bc421bc1a7 Introduce generateZigbeeCommandsForDifference 2026-01-17 16:07:12 +01:00
9fa7037f0e Rename some stuff 2026-01-17 15:59:11 +01:00
e422f03217 Move functions to module level 2026-01-17 15:54:31 +01:00
1e6788ac48 Simplify even more 2026-01-17 15:48:47 +01:00
9de9aefcdf Simplify a bit 2026-01-17 15:37:11 +01:00
45210c30d4 Use state to steer color and brightness 2026-01-17 15:35:27 +01:00
437e5bf25d Store more state 2026-01-17 15:33:30 +01:00
78b57258c1 Rewrite construction of newLightToState 2026-01-17 15:23:13 +01:00
4d8fc44bee Naively move construction of lightToState to first TimeChanged 2026-01-17 12:01:07 +01:00
78a692bd43 Move some types 2026-01-17 11:40:31 +01:00
6e4c89c436 Fix room on one of the lamps 2026-01-14 19:56:15 +01:00
0d21e81b82 Introduce a global remoteControlledLights value 2026-01-14 19:55:58 +01:00
2950b21488 Implement the 'Left' button on the remote 2026-01-14 19:53:15 +01:00
a4b11e1ffa Change start of day to 6.00am 2026-01-10 21:09:44 +01:00
2f6e46960f Spam a bit less 2026-01-10 21:04:50 +01:00
fd103125e3 Automatically turn on lights at dawn 2026-01-06 09:36:42 +01:00
c1d9029a73 Demonstrate and fix some odd behaviour with some bulbs 2026-01-05 23:21:46 +01:00
10d858817d Turn on lights before changing brightness and color 2026-01-05 23:10:26 +01:00
2443468eb4 Fix the bug by keeping state 2026-01-05 22:49:41 +01:00
e792a57cb4 Improve error for unknown topics 2026-01-05 22:07:09 +01:00
838bbb79a3 Add naive remote control implementation 2026-01-05 21:53:48 +01:00
89a8c599c7 Strongly type the device FriendlyName 2026-01-05 19:19:04 +01:00
9531dee52b Stop requiring the initial time in NightLightStateMachine
We're only fooling ourselves if we think that it's ready *right* after
construction anyway. After all, the initial state of the lights won't be
updated when the state machine is constructed.
2026-01-04 20:16:58 +01:00
c7c5de9e21 State -> NightLightStateMachine 2026-01-04 12:10:06 +01:00
bd550bfcd9 Encapsulate State to make it impossible to read
This was NightLightStateMachine's purpose, but it fits equally well
in the actual production code.
2026-01-04 12:09:07 +01:00
83b716a509 Reorganize types to prepare for unit testing 2026-01-04 12:08:10 +01:00
5219abfb4b Fix incorrect namespaces 2026-01-04 12:08:10 +01:00
27c6646237 Put a full Message in ReceivedZigbeeEvent
We'll need the topic later.
2026-01-04 12:08:10 +01:00
10e26a4866 Turn Message into a record type 2026-01-04 12:08:10 +01:00
ab6e123efc ZigbeeCommand -> Message
There isn't really anything specifically Zigbee about this type.
2026-01-04 12:08:10 +01:00
c377ec25dc Introduce the Models module in order to make others internal 2026-01-04 12:08:10 +01:00
ae66114ca1 Make the onEventReceived type more explicit 2026-01-04 12:08:10 +01:00
31e9312731 Make the PartsOfDay module internal 2026-01-04 12:08:10 +01:00
506cf0c848 Accept TimeChanged events instead of PartOfDayChanged events 2026-01-04 12:08:06 +01:00
e226d092d8 Introduce a State object instead of passing in partOfDay
We'll have some more complicated use cases for this later.
2026-01-03 18:58:10 +01:00
eebd72f40c Turn PartOfDayChanged into an event 2026-01-03 18:34:08 +01:00
118dc03fdc Transform onZigbeeEventReceived to onEventReceived
We'll add different events later.
2026-01-03 18:22:34 +01:00
9b6420b8a8 Make the day start at 5.30am instead 2026-01-01 18:54:12 +01:00
284fdc1261 Initial commit 2025-11-14 20:44:57 +01:00