Journey event  ·  6 Sep 2026

Hub firmware: brain-owned demand mode + symmetric demand on/off proposals (prerequisite for real emit_proposal writes)

Decision 2026-09-06 (docs/DSC-BRAIN.md 'Hub demand proposals are shadow-mode'): emit_proposal stays shadow. Why real writes are wrong today: the _demand switches are owned by the h

  state copied from the tracker, never improved

  event date 2026-09-06

Event date 2026-09-06
Version found
Version fixed
Expected kit firmware
Release file
SHA-256
Served count
Source https://app.notion.com/3d32b4cda3708169a03cfaa2b89858c8

Decision 2026-09-06 (docs/DSC-BRAIN.md ‘Hub demand proposals are shadow-mode’): emit_proposal stays shadow. Why real writes are wrong today: the _demand switches are owned by the hub’s Full Auto ladder, which re-asserts them on its next tick (so a brain write is a fight, not control), and the decision loop only proposes demand_on (temp_c_low -> heater_demand, rh_pct_high -> dehumidifier_demand, …) with no demand_off, so real writes would latch appliances on with nothing to release them. What it takes: (1) hub firmware ‘brain-owned demand’ mode – while a brain heartbeat/fresh-command window is valid the ladder yields the _demand switches to native-API writes and takes them back on staleness (same failsafe philosophy as the Sonoff driver); (2) symmetric on/off proposals with hysteresis and min-cycle times in decision_loop; (3) emit_proposal writes via control_ops.call_service_proxy with restore/clear semantics and per-metric owned state; (4) Climate copy switches from ‘brain proposes, hub applies’ to ‘brain drives demand’ only when the mode is active. Until then no SPA surface may describe the brain as driving demand outputs.

All events  ·  DSC  ·  CannaLib  ·  Site  ·  Firmware releases

Empty rows are honest

A blank cell means the tracker has no value for it. Nothing on this page is filled in to look complete.