Add Namron 4512783 thermostat quirk - #5288
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #5288 +/- ##
==========================================
+ Coverage 92.60% 92.92% +0.31%
==========================================
Files 424 425 +1
Lines 14667 14708 +41
==========================================
+ Hits 13582 13667 +85
+ Misses 1085 1041 -44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds first-party support for the Namron 4512783 floor-heating thermostat by introducing a V2 quirk that replaces the standard Thermostat cluster with a custom cluster defining the device’s verified private attributes (explicitly using standard/non-manufacturer ZCL framing via manufacturer_code=None). The PR also adds a dedicated test suite validating entity discovery, enum options, startup reads, value scaling, and write framing.
Changes:
- Added
NamronThermostatClusterwith private Thermostat attributes and aQuirkBuilderdefinition exposing the intended switches/sensors/enums/numbers. - Added
zhaquirks.namronpackage initializer to ensure module discovery/import. - Added tests covering entity creation, startup read behavior, scaling, and non-manufacturer ZCL write framing.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
zhaquirks/namron/namron_4512783.py |
New V2 quirk and custom Thermostat cluster defining private attributes and exposed entities for the Namron 4512783. |
zhaquirks/namron/__init__.py |
Introduces the Namron package marker for module discovery. |
tests/test_namron.py |
Adds coverage for entity discovery/config, enum options, scaling, startup reads, and standard (non-manufacturer-specific) write framing. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Proposed change
Add a V2 quirk for the Namron 4512783 floor-heating thermostat.
The quirk defines the verified private Thermostat cluster attributes and exposes controls or status entities for:
The private attributes are read at startup because the device does not reliably report them. Hardware reads and writes confirmed that these attributes use standard ZCL framing, so their definitions explicitly suppress manufacturer-specific framing with
manufacturer_code=None.This supersedes #4576, which was closed without merging. Ambiguous or unverified fields from that earlier implementation, including cluster
0xE002, are deliberately excluded.Additional information
1.13.0x06selects regulator mode.0x02means 30 seconds.4843 passed, 2 xfailed.Device diagnostics
Redacted Home Assistant ZHA device diagnostics
Checklist
pre-commitchecks pass / the code has been formatted using Black