Release 0.4.0
Tests / tests (requirements-test-latest.txt) (push) Successful in 1m45s
Tests / tests (requirements-test.txt) (push) Successful in 1m42s

Zones, electrical heat sources, windows with ventilation, wind exposure
and recovery, and exchange between adjacent zones, all observational.
docs/MODEL.md documents the equations, units, coefficient meanings,
priors and bounds, learning conditions, forecast assumptions, validation
method and results, and limitations. README gains a configuration guide
for zones, heat sources and windows, the new diagnostics and the
accuracy comparison against the base model. CHANGELOG has upgrade notes
(config entry version 3, rollback needs the backup, renamed Status
attributes). ROADMAP marks the Milestone 2 items now covered; AUDIT
records the design decisions and evidence. AGENTS.md lists the new
modules and the convention that new model terms start at zero and must
beat the base model out of sample before being relied on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
buzeraandClaude Opus 5.5 committed 2026-10-27 03:02:21 +02:00
1 parent dc92e2bac5
commit 17dbe76223
7 files changed
+491 -66

No files matched your search

+18 -6
View File
@@ -83,6 +83,7 @@ Favor the standard library and small dependencies. Heavy compute must not block
- Validate model identifiability, parameter stability, outlier rejection, missing observations, power outages, heater transitions within a sampling window, and multiple sensors in the same physical room.
- Weather covariates beyond temperature should be added only if they improve held-out performance; avoid treating `feels_like` as physical outdoor air temperature. Forecast values and observed values must be distinguished.
- One switch heats all rooms: optimization can trade off room comfort, but cannot independently heat a cold bathroom without influencing warmer rooms.
- Keep the base 3-parameter model as fallback and comparison. New model terms start at a zero prior, are physically bounded, report confidence, learn only when their inputs are known, and must show `improvement_vs_base` in walk-forward replays before being relied on (see docs/MODEL.md).
## Repository conventions
@@ -90,22 +91,33 @@ Expected structure (adapt only through deliberate refactoring):
```text
custom_components/heating_mpc/
__init__.py
__init__.py setup, unload, migration
manifest.json
config_flow.py
config_flow.py config, options and subentry flows (zones, heat sources, windows)
const.py
coordinator.py
physics.py
weather_sources.py
coordinator.py HA state acquisition, learning schedule, diagnostics
data_quality.py freshness checks
weather_sources.py source priorities and unit normalization
zones.py zone parsing and sensor aggregation (pure)
heat_sources.py electrical heat: baseline, response, overlap (pure)
windows.py windows, wind geometry, ventilation, events (pure)
learning.py named-feature RLS (pure)
physics.py base model, radiator lag, optimizer (pure)
zone_model.py layered zone model, compiled forecast step (pure)
evaluation.py walk-forward forecast scoring (pure)
sensor.py
binary_sensor.py
strings.json
translations/{en,ro}.json
brand/ integration icons (scripts/make_brand_icons.py)
docs/MODEL.md model equations, units, learning conditions, validation
hacs.json
tests/
tests/ offline tests; tests/ha for the HA Core harness
README.md
CHANGELOG.md
AGENTS.md
ROADMAP.md
AUDIT.md
```
- Keep pure model/optimizer logic importable and testable without Home Assistant installed.