← Builds
Activerunning the house

Home mood engine

A color rotation runs all day, interpolated minute by minute. Working, a meeting, TV, music, talking, exercise and rest each pull it toward a different palette by a bounded amount.

Runs on
A Compute Module 5 in the house
Split
One service decides and may not touch a light. Another applies and re-checks.
Context lifetime
120 seconds. After that it holds instead of guessing.
Model use
One call a day, to read the calendar.
Tests
151

Today, so far

One full day, clockwise, starting where the engine starts its own. Each band is the color the lights were holding, and a thinner band is a dimmer one.

reading the house…

Deciding and applying are separate

One service decides what the house should look like and has no ability to change a light. A second applies that decision and re-checks it. Telemetry shows what was asked for next to what the device reported, and mismatches retry three times.

A cloud service returning OK is not proof a bulb changed, so a fixture that does not confirm is listed as held rather than quietly dropped.

Failure behavior

If the context is stale or the deciding service is unreachable, the lights hold. There is no fallback to a fixed evening rule.

Every light carries an auto-or-manual flag. Set one to manual anywhere else and it keeps its state while the rest follow the plan.

What the model does

One call a day, to read the calendar, and nothing else. A failed attempt spends the day's allowance rather than retrying.

Heart rate

A watch feeds heart rate in, and it does one thing: when live and resting readings are both fresh, the gap adds up to eight points of brightness. Variability is shown as evidence and not used to guess at a mood.

The ring above reads from a separate endpoint that emits color bands and nothing else. The engine's own telemetry carries a great deal more and stays on the home network.