fix(P5): dogfood round 2 — presence is a sensor, 9.001 soft, passive-range rule

- DPT 1.018 occupancy: category sensor (was diagnostics; the name always says
  sensor and the table fought it into a fake conflict).
- 9.001 temperature is SOFT: room temperature defaults to hvac, but a weather-
  named temperature re-domains to sensor without a fabricated conflict.
- illuminance terms: "освещённость"/"illuminance" are sensor words and must not
  be swallowed by the greedy lighting prefix "освещ".
- passive-range rule: a measurement inside a Sensors/Energy/Diagnostics main
  takes that main's domain; a COMMAND is never retyped by a passive range.

Deliberately NOT tuned further: remaining real-project findings (Minsk 10/685,
Razdory 75/3646, demo 2/239) are defensible mixed-main observations a reviewer
should see once — zeroing them out would overfit one integrator's idiosyncrasy.
13/13 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Nikolay1
2026-07-15 11:33:20 +02:00
co-authored by Claude Opus 4.8
parent 3c086fe228
commit ccfedbdeca
4 changed files with 29 additions and 8 deletions
+7 -1
View File
@@ -48,7 +48,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
**DPT 1.010 start/stop is soft** (ventilation timers use it too, not just shutters); terms learned:
Cyrillic **а/с**, **сплит**, **вытяжк**, **яркост** (RU only — EN "brightness" also means weather
lux), meteo/weather (sensor now outranks hvac so "Метеостанция - Температура" is a sensor, not an
HVAC actuator). Real-project noise after the round: Minsk 1 outlier / 685 GAs, demo 2 / 239.
HVAC actuator). Round 2: presence **1.018 is a sensor** (was diagnostics — its name always says so
and the table fought it); **9.001 temperature is soft** (room temp defaults to hvac, a weather-named
temp re-domains to sensor without a fake conflict); **illuminance** terms ("освещённость" ≠
"освещение"); and a **passive-range rule** — a measurement inside a Sensors/Energy/Diagnostics main
takes that domain, while a command is never retyped by a passive range. Real-project noise after
both rounds: demo 2 outliers / 239 GAs (the two central macros), Minsk 10 / 685 (all defensible —
a genuinely mixed water/energy main), Razdory 75 / 3646 (~2%).
### Added