fix(heating): keep dimension 7 write echoes typeless in OWNEvent - #62
Merged
GreenGrassBlueOcean merged 1 commit intoSep 25, 2026
Conversation
- Skip the dimension 7 branch in OWNHeatingEvent when _message_type is 'DIMENSION_WRITING', ensuring write echoes (*OpenWebNet-HA#4*Z*OpenWebNet-HA#7*...##) remain typeless when parsed via OWNEvent.parse or direct OWNHeatingEvent construction, agreeing with OWNMessage.parse. - Add test_dimension_7_write_echo_stays_typeless_across_entry_points verifying consistent typeless behavior across entry points. - Clarify comments and docstrings in tests/test_heating.py to explicitly distinguish real bus capture fixtures from synthetic edge cases (unknown codes, missing state, malformed temperatures, and ScenarioDevices templates).
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
fedem95
approved these changes
Sep 25, 2026
fedem95
left a comment
Contributor
There was a problem hiding this comment.
Both points from #60 are in, thanks.*#4*2*#7*1*1*0170## and *#4*2*#7*2*3*## now stay typeless through OWNEvent.parse too, while OWNMessage.parse still gives the readable OWNHeatingCommand, and the real dimension 7 status *#4*2*7*1*1*0170## still decodes to heating setpoint 17.0 °C on both. The test comments now separate the #429 captures from the synthetic cases.
Approving.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #60 addressing review remarks from @fedem95 (#60 (review)).
Summary of changes
Keep DIMENSION 7 write echoes typeless across entry points:
OWNHeatingEvent, skip the dimension 7 block when_message_type == "DIMENSION_WRITING".*#4*2*#7*1*1*0170##),OWNEvent.parseand directOWNHeatingEventconstruction now stay typeless (message_type is None, with unsetzone_context,zone_state, andset_temperature), agreeing withOWNMessage.parsewhich returns anOWNHeatingCommand.test_dimension_7_write_echo_stays_typeless_across_entry_pointsto verify this behavior across both entry points and direct construction.Clarify test fixture provenance comments:
tests/test_heating.pyto explicitly distinguish verbatim bus capture frames (from xtimmy86x and TheDarkWizard in MyHOME#429) from synthetic edge cases (unknown context/state codes, missing state, malformed temperatures, and ScenarioDevices write templates).Verification
ruff,mypy, andscripts/verify_library_standards.pyclean.