Commit graph

74 commits

Author SHA1 Message Date
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
a741938f89 Stop propagating parse errors throughout the tests 2026-01-04 12:08:10 +01:00
5219abfb4b Fix incorrect namespaces 2026-01-04 12:08:10 +01:00
109ebde64a Write the first test 2026-01-04 12:08:10 +01:00
7ea6e49001 Introduce decodeMqttApplicationMessage 2026-01-04 12:08:10 +01:00
fc069edf31 Implement FakeHome 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
12d0ecf0e6 Be a bit more diligent with task creation 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
915d01e086 Introduce mqttMessageToReceivedZigbeeEvent
To make it more obvious that both cases in mainAsync
just handle events.
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
7ccc523c43 Introduce the handleEvent function in Program
We'll add a second reference to it later.
2026-01-03 18:33:31 +01:00
118dc03fdc Transform onZigbeeEventReceived to onEventReceived
We'll add different events later.
2026-01-03 18:22:34 +01:00
f2864ffc47 Add .editorconfig 2026-01-01 19:24:42 +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
1c3e14479a Connect before sending the first messages 2025-01-06 21:02:04 +01:00