mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Per SAP 10.2 spec page 171 Table 4e "Heating system controls" — boiler
systems with radiators (Group 1):
2110: "Time and temperature zone control by arrangement of plumbing
and electrical services" → type 3
2111: "TRVs and bypass" → type 2
2112: "Time and temperature zone control by device in PCDB" → type 3
2113: "Room thermostat and TRVs" → type 2
`_CONTROL_TYPE_BY_CODE` previously bucketed 2111 + 2113 with the type 3
codes, but neither lodges any time-zone control — they're TRV-class
controls (closer to programmer + room thermostat). The misclassification
propagated through SAP 10.2 Table 9 to swap the elsewhere-zone
off-period pattern from (7, 8) to (9, 8) — i.e. the spec's "heating
0700-0900 and 1800-2300" pattern (footnote b) instead of "heating
0700-0900 and 1600-2300" (footnote a). Under-counted MIT by ~0.67 °C
across the year, dropping space-heating demand and over-predicting SAP:
- cert 0652-3022-1205-2826-1200: +1.93 → -1e-5
- cert 6835-3920-2509-0933-5226: +0.72 → +0.015
Cohort-2 outcome (38 certs, Summary path):
exact (<1e-4): 21 → **22** (+1: cert 0652 closes)
≤±0.07: 13 → **14** (+1: cert 6835 moves from ±0.5..1)
±0.5..1: 2 → **1** (-1: cert 6835 closes out)
±1..5: 1 → **0** (-1: cert 0652 closes out)
No cohort-1 regressions (all certs there use codes 2106 / 2206;
neither uses 2111/2113).
Pyright net-zero (cert_to_inputs.py 35→35, test 13→13).
Tests: 704 pass (existing control-type test extended; +2 new
assertions for codes 2111/2113), 10 expected fails unchanged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| addresses | ||
| data_transformation | ||
| epc | ||
| sap10_calculator | ||
| sap10_ml | ||
| tasks | ||
| postcode.py | ||