MasseR
0e5d76901d
Bound note header parsing
2026-10-02 15:13:04 +03:00
MasseR
773f3b550f
Review notes docs
2026-10-02 14:47:46 +03:00
MasseR
4664e71493
Review note push
2026-10-02 14:45:17 +03:00
MasseR
e7adb3e88b
Latest review note
2026-10-02 14:41:26 +03:00
MasseR
2e2960c159
Review note script
2026-10-02 14:36:46 +03:00
MasseR
627f813859
Spec: verification wording matches scan-based latest
2026-10-02 14:31:49 +03:00
MasseR
e750e0e687
Spec: latest scans notes by branch and round
2026-10-02 14:29:56 +03:00
MasseR
63210afc7b
Track superpowers specs, ignore plans
2026-10-02 14:23:40 +03:00
MasseR
7ec491d383
Review notes protocol design
2026-10-02 14:22:24 +03:00
MasseR
4f1277aa45
Worktrees
2026-10-02 12:29:56 +03:00
MasseR
3908d5a3a6
REVIEW guidelines
2026-10-02 12:28:23 +03:00
MasseR
5416e9b708
Safer default
2026-10-01 21:57:47 +03:00
MasseR
38d575d716
I don't need these log lines anymore
2026-10-01 21:16:23 +03:00
MasseR
6bcab1a0d8
Update tests
2026-09-30 15:01:17 +03:00
MasseR
cceddad037
Capped based on light level
2026-09-30 14:27:50 +03:00
MasseR
c75fc1a7b9
Logging and really not working light restoration
2026-09-30 13:46:16 +03:00
MasseR
1098be227d
Push to journalctl
2026-09-30 12:33:31 +03:00
MasseR
a427acd6ed
Fix warnings
2026-09-30 09:05:48 +03:00
MasseR
aee34f4e14
Make flag-decision tests fail fast and assert the outbound metric
2026-09-30 08:57:40 +03:00
MasseR
526710ef71
Simplify channelHassEval now that the writer owns the flag decision
2026-09-30 08:56:07 +03:00
MasseR
c2425e8fb0
Move handler flag check from bus to writer with skip logging
2026-09-30 08:06:59 +03:00
MasseR
a7a11e96b7
Complete rename vocabulary (childrenBedroomButton, toIkeaRemoteAction)
2026-09-30 00:21:24 +03:00
MasseR
adce7c8427
Split Controller.hs into vertical submodules behind umbrella re-export
2026-09-30 00:07:31 +03:00
MasseR
9e00aeb6a2
Rename entity-list and snapshot helpers for consistency
2026-09-29 23:52:46 +03:00
MasseR
b643fe55b1
Rename switch to switchService to avoid AFRP name conflict
2026-09-29 23:47:58 +03:00
MasseR
138b62c54a
Rename IkeaController to IkeaRemoteAction, fix brightness typo
2026-09-29 23:44:56 +03:00
MasseR
889091d321
Regenerate default.nix (data-default was missing from the derivation)
2026-09-29 23:40:20 +03:00
MasseR
c2426dec3d
Unify per-room Lights enums into shared LightingMode
2026-09-29 23:38:43 +03:00
MasseR
ad023a1ba2
Rename light observation layer (LightStatus, lightSignal, brightness, temperature)
2026-09-29 23:19:34 +03:00
MasseR
7ce994e814
Rename light command layer (Light, LightSettings, BrightnessSettings)
2026-09-29 23:14:07 +03:00
MasseR
fefeae6301
Store a custom snapshot of lights
2026-09-29 22:51:37 +03:00
MasseR
fcaccfdeb0
Faster transition
2026-09-29 20:42:14 +03:00
MasseR
73d4255fd7
Update tests
2026-09-29 20:01:03 +03:00
MasseR
7ad36d8ccb
More transition stuff
2026-09-29 19:48:16 +03:00
MasseR
f4c82df968
Scene transitions
2026-09-29 18:05:51 +03:00
MasseR
219f75c0e4
Remove the debug line
...
I thought I already had..?
2026-09-29 11:35:24 +03:00
MasseR
7ed846d0fc
Fix the ambience mode
2026-09-29 11:33:56 +03:00
MasseR
53c36a81de
Trial age
2026-09-25 13:55:29 +03:00
MasseR
1bf2258167
Merge branch 'runtime-flags': runtime handler toggling
2026-09-25 13:17:08 +03:00
MasseR
4d8cb8dc36
Log and return 500 when handler flag persistence fails
2026-09-25 13:14:25 +03:00
MasseR
1697d55ad5
Drop build-time controller flag, run all controllers, consolidate paths
2026-09-25 13:10:26 +03:00
MasseR
bd1402ab3a
Add REST endpoints for handler flags
2026-09-25 13:09:25 +03:00
MasseR
c412435172
Gate CallService by handler flags on the Bus
2026-09-25 13:07:40 +03:00
MasseR
3b08988e30
Route Flags load warnings to stderr
2026-09-25 13:02:14 +03:00
MasseR
44497173de
Add Flags module for runtime handler toggling
2026-09-25 13:01:44 +03:00
MasseR
894d8f8436
Add requestHandler field to Request
2026-09-25 12:59:14 +03:00
MasseR
d6f785662b
Logging in http
2026-09-25 12:10:24 +03:00
MasseR
5d16bf4ade
Move http to separate module
2026-09-25 11:54:36 +03:00
MasseR
05bd609c7e
Replace scotty with servant
2026-09-25 11:48:42 +03:00
MasseR
7fc07c1883
Plant lights
2026-09-25 10:31:06 +03:00
MasseR
a7becaf2d4
Use scenes instead of stateful applications of adaptive sleep mode
2026-09-25 09:55:48 +03:00
MasseR
9c47bbcb42
More
2026-09-24 20:27:11 +03:00
MasseR
6063aafe8b
Toggle adaptive mode
2026-09-24 20:21:33 +03:00
MasseR
fafc7111bb
The center button also disables sleep mode
2026-09-24 10:07:02 +03:00
MasseR
69cac934ec
Fix tests
2026-09-24 10:06:20 +03:00
MasseR
b2a74cbee4
Sleep mode in the bedroom
2026-09-24 09:48:35 +03:00
MasseR
769ab43fd2
Untested three-state for dinner table
2026-09-24 08:17:22 +03:00
MasseR
15f3fe7c9e
Hups
2026-09-21 18:59:32 +03:00
MasseR
416a9484a5
Listen on 0.0.0.0 to be usable by tailscale
2026-09-21 08:11:49 +03:00
MasseR
e3bc25ce54
Quick buttons
2026-09-17 11:48:22 +03:00
MasseR
036473ab81
Don't catch async exceptions
2026-09-17 11:05:27 +03:00
MasseR
27f271691c
Hallway lights automation
2026-09-17 09:57:12 +03:00
MasseR
73d546395b
Fix the bad use of async
...
Propagate errors with `mapConcurrently_`
2026-09-16 14:54:36 +03:00
MasseR
a969730de1
Update tests
2026-09-16 14:52:39 +03:00
MasseR
213f9d5d2a
More graphs
2026-09-16 14:42:31 +03:00
MasseR
2cb8035ef4
Increase the backoff
2026-09-16 12:51:58 +03:00
MasseR
1ec8c7211f
Render ratelimiter
2026-09-16 12:32:32 +03:00
MasseR
3d7f6cb3c6
Fix supervisor and proper rate limiting
2026-09-16 12:28:48 +03:00
MasseR
64561718a5
Bedroom spec and partially fix writing
...
LLM had done "rate limiting" via deduplicating outbound calls. But the
ordering matters..
2026-09-16 10:52:10 +03:00
MasseR
7570711768
Enable bedroom presence controller
2026-09-16 09:56:12 +03:00
MasseR
7c2cfde814
Livingroom lights
2026-09-16 09:47:49 +03:00
MasseR
9fda48f589
runtime: reject out-of-range HA_METRICS_PORT values
2026-09-15 22:27:20 +03:00
MasseR
319104641b
runtime: start the metrics graph server worker
2026-09-15 22:09:45 +03:00
MasseR
9861266c1e
graphing: serve rrdtool graphs over http
2026-09-15 22:06:25 +03:00
MasseR
0893862f3a
graphing: add pure graph table, ranges, and argv builders
2026-09-15 22:01:13 +03:00
MasseR
6078a64d00
Merge branch 'feature/trigger-service-metrics'
2026-09-15 17:31:06 +03:00
MasseR
7d08acec9d
runtime: count only trigger event frames and harden metrics tests
2026-09-15 17:25:31 +03:00
MasseR
2a477b4977
runtime: increment trigger/service counters on the bus
2026-09-15 16:34:35 +03:00
MasseR
09479b5c48
metrics: register inbound-trigger and outbound-service counters
2026-09-15 16:26:09 +03:00
MasseR
a19e5afd5e
metrics: detect rrd schema mismatch and recreate with backup
2026-09-15 16:20:37 +03:00
MasseR
af46776bb0
Enable bedroom buttons
2026-09-15 16:03:28 +03:00
MasseR
d1bdd2eb67
Dinner presence
2026-09-15 10:49:12 +03:00
MasseR
0f7c6ff98a
Control the kitchen lights
2026-09-14 14:45:45 +03:00
MasseR
aaba917a9b
Test the SerializeUTCTime property
2026-09-12 20:25:24 +03:00
MasseR
a3dd63f26c
Update tests
2026-09-12 20:18:13 +03:00
MasseR
b20320c779
Explicit state
2026-09-12 20:09:42 +03:00
MasseR
e16010bf2f
Backport serializable arrow
2026-09-12 16:27:12 +03:00
MasseR
1f786815e6
Laws
2026-09-12 12:25:02 +03:00
MasseR
54ef6b5cc3
Merge branch 'mem-leak'
2026-09-08 08:00:13 +03:00
MasseR
1edb2ac5a2
Fix memory memory leak
...
- Tuple to strict pair
- Self-recursive loops with more knot tying <- this was the thing
2026-09-08 07:58:50 +03:00
MasseR
d3518e8ff2
Fix: rrdtool DS names must be <= 19 chars
...
sanitizeName now keeps the first 15 chars plus a 3-hex hash suffix
for names longer than 19 chars (rrdtool's hard limit on DS name
length). The previous replace-dots-only version produced names up to
31 chars, which rrdtool rejected with 'invalid DS format'.
2026-09-07 23:09:42 +03:00
MasseR
e30a28c9ef
Merge feat/ekg-rrd-metrics: ekg-core RTS metrics -> rrd export
2026-09-07 21:44:56 +03:00
MasseR
f7849ac889
defaultMain: wire metricsAction worker and enable -with-rtsopts=-T
2026-09-07 21:37:17 +03:00
MasseR
0a4b7dbb01
Add metricsAction: supervised loop sampling ekg store to rrd via rrdtool
2026-09-07 21:34:15 +03:00
MasseR
88af6a3139
Add Metrics module: pure rrdtool argv builders for ekg samples
2026-09-07 21:30:42 +03:00
MasseR
055c02d0f2
flake: add rrdtool to devShell and wrap the shipped binary with HA_RRDTOOL
2026-09-07 21:24:42 +03:00
MasseR
7b6b529120
Merge feat/outbound-rate-limiting: drop excess outbound calls
2026-08-25 19:46:13 +03:00
MasseR
ef4811f89b
Drop redundant UUID import from ConnectionSpec
2026-08-25 19:39:40 +03:00
MasseR
9fadbae777
writerAction: drain, dedupe, and rate-limit outbound calls
2026-08-25 19:37:57 +03:00
MasseR
3f5aa4735c
Add dedupeBatch: collapse outbound calls per target
2026-08-25 19:33:44 +03:00