Release 0.3.0
First part of Milestone 1: Forecast Error sensors scoring the thermal model against reality, forecast trajectories, Learning Progress and Last Sample sensors, rejected-sample and poll-outcome counters, plus lint and rollback-contract tests. README explains forecast accuracy, the 30-minute learning wait after a restart and where Developer Tools now lives. ROADMAP marks the items now backed by tests; AUDIT records the evaluation design and evidence. Still observation-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d2bd398a0f
commit
e59c08f586
5 files changed
+122
-12
No files matched your search
@@ -1,4 +1,4 @@
|
||||
# Heating MPC 0.2.3 — custom integration for Home Assistant OS
|
||||
# Heating MPC 0.3.0 — custom integration for Home Assistant OS
|
||||
|
||||
**Experimental, observation-only (shadow mode).** It **never** changes the Generic Thermostat, the physical relay, the boiler's setpoint, `heat/off`, or Comfort/Away/Sleep. No Docker add-on, MQTT or InfluxDB connection is needed.
|
||||
|
||||
@@ -55,6 +55,12 @@ Entities (entity IDs may vary):
|
||||
ON/OFF plan). These assume the MPC's plan is executed; while Generic Thermostat
|
||||
controls the relay they are **counterfactual**.
|
||||
- `binary_sensor.heating_mpc_proposed_heat` — **hypothetical** heating demand (unavailable until ready).
|
||||
- **Heating MPC Learning Progress** — how close the least trained room is to being
|
||||
used for forecasts (100 % = ready); attributes show the sample counts and what is
|
||||
required.
|
||||
- **Heating MPC Last Sample** — what the last poll did for learning (for example
|
||||
*Learned*, *Relay switched*, *Waiting for radiators to settle*); its history shows
|
||||
when learning happens.
|
||||
- **Heating MPC Forecast Error 15/30/60/120 min** — how far the thermal model's
|
||||
forecasts were from what actually happened (see *Forecast accuracy*).
|
||||
|
||||
@@ -71,6 +77,21 @@ Entities (entity IDs may vary):
|
||||
|
||||
## Diagnostics
|
||||
|
||||
Start with **Learning Progress** and **Last Sample**. For details, open the
|
||||
**Heating MPC Status** entity's attributes. In recent Home Assistant versions
|
||||
Developer Tools is at the bottom of **Settings** (or press Cmd/Ctrl+K and type
|
||||
"developer"); its **States** tab lists every attribute.
|
||||
|
||||
**Why learning starts about 30 minutes after a restart.** The model learns how
|
||||
much the radiators warm each room, so it needs to know how warm the radiators are.
|
||||
It estimates this from when the relay last switched (20-minute time constant).
|
||||
After a Home Assistant restart that time is unknown, so learning waits until the
|
||||
estimate is within 10 % (*Waiting for radiators to settle*), about 32 minutes.
|
||||
Forecasts continue meanwhile. Reloading the integration usually does not cause this
|
||||
wait, because the relay's last change is still known. *Ready* then needs 200
|
||||
accepted samples (about 17 hours) per room, including 30 with the relay ON and 30
|
||||
with it OFF, which can take a few days depending on how often the boiler runs.
|
||||
|
||||
The **Heating MPC Status** entity's state is one of `waiting_for_sensors`,
|
||||
`learning`, `paused` (thermostat not in `heat`), `waiting_for_target`,
|
||||
`invalid_weights`, `ready`, `inputs_changed` or `prediction_error`. Proposed heat
|
||||
|
||||
Reference in new issue
Block a user