WELCOME preset — a narrow purple Chase that runs one ~8-second lap around the shelf when bedroom presence trips. Gated behind both the ambient and floor-plan toggles, so it can never fire when Pulse Ambient is off.The bedroom strip's 300 addressable LEDs wrap the shelf frame and map the apartment. Rooms, presence, and countdowns each hold their own place on the perimeter — and the right-hand edge fills as a returning guest's phone climbs back into Wi-Fi range.
This runs the actual signal maths the system uses — the percentage below is computed live in the page by the same formula Home Assistant evaluates. Eight beats, from an empty flat to a guest settled on the sofa. Step it manually if you'd rather read than watch.
devices.js so Pulse reports the identical number the router's Connected-devices page shows.house_pulse_known label, Pulse counts it as company and tracks its signal climbing. A person who has never been here is invisible to it. The trick isn't detection; it's reading a signal the router was already publishing.| Zone | Segments | Reads | How it looks |
|---|---|---|---|
| Bottom band | seg 0 · 0–84 | The old whole-strip status, kept as a familiar anchor. | quiet company entry alert |
| Top span | seg 3–10 · 164–248 | The rooms, in walk order. Entry at the door corner, bedroom above the arrival gauge. | Amber breathe base · presence · living glows on media · storage flickers like a candle · all-red on alert |
| Left vertical | seg 11 · 248–300 | The entry / alert countdown. Door side. | Copper bar draining over 15 min; red & fast over ~45 s on alert. Fills from the mid-air end. |
| Right vertical | seg 2 · 92–164 | Best signal % among untrusted clients — someone inbound. | A violet bar that rises with the signal. |
| Right base | seg 1 · 84–92 | Untrusted devices on the network right now. | One violet pixel per unknown client, up to 8. |
The floor-plan layer merged to main as #31. What followed was mostly the system telling me where it was wrong — and one case where it had been silently wrong for a full night.
WELCOME preset — a narrow purple Chase that runs one ~8-second lap around the shelf when bedroom presence trips. Gated behind both the ambient and floor-plan toggles, so it can never fire when Pulse Ambient is off.binary_sensor.living_room_media_active joins the elsewhere group. The signals counter was also over-counting: sustained door-open was inflating it without being a real status driver.house_pulse_known trust label. Network company therefore stayed off all night while a guest was on the LAN — a silent false negative with no error anywhere. Fixed by tightening the rule: household gets owner_* and the trust label; frequent guests get guest_<name> and never the trust label.device_tracker.wiimmini_4222 is an Adam Audio monitor — a speaker brand, permanent house gear, and correctly trusted. The person's phones must stay untrusted for the guest path to work at all. Two things sharing a name, needing opposite labels: exactly the kind of distinction that has to be written down before it bites again.Two layers with one seam. The semantic layer that decides status, timers and presence is untouched by any of this. A new render layer only paints — and it never remembers what it drew, so there is no stale state to get stuck in.
house_pulse_status, the entry and alert timers, presence and motion sensors, arriving-signal and unknown-client counts. These already existed and still drive everything.
A rollback flag, three WLED presets, a reconciler and a handful of automations. Everything routes through script.pulse_strip_render_all, which repaints every segment from current state each time it's called.
Rendering happens while ambient listening is on. Elsewhere in the flat, the strip has nothing to say and stays out of it.
Presence trips a single purple lap around the shelf, then the map takes over.
Leave the bedroom and it collapses to one segment and restores whatever the strip was before. No residue.
Pull power and the controller boots dark. A Home Assistant restart mid-render reconciles itself back to the right picture.
Flip Pulse Strip Floorplan off and the next listen shows the classic single-colour tint — exactly like before.
A missed write to a gauge corrects itself on the next tick or the next reconcile. No drift.
The render path, the reconciler, the gauge maths and the race fix are verified from here, and the force-status console now covers every colour state from the sofa. What's left is the part software can't check: whether the map matches the actual flat.
rev flag.pulse-strip-map.json, not the design spec — the spec predates calibration and describes 11 segments. The real strip has a bottom run, so the map is 12. Regenerate from the map.