Skip to content

fix(climate): determine hvac_action from season when active actuator carries no heating flag - #721

Merged
GreenGrassBlueOcean merged 1 commit into
v2-phase1-architecturefrom
fix/climate-season-action-determination
Oct 15, 2026
Merged

GreenGrassBlueOcean merged 1 commit into
v2-phase1-architecturefrom
fix/climate-season-action-determination

Conversation

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

Summary

Fixes a regression in HVAC action determination that caused test_replay_of_the_fancoil_probe in tests/test_f461_live_plant.py to fail when running against OWNd PR #97 (conformance run 38768716488).

Root Cause

Under upcoming OWNd (OpenWebNet-HA/OWNd#94 / OpenWebNet-HA/OWNd#97), WHAT 1/0 are decoded as hvac_season (MESSAGE_TYPE_SEASON) rather than hvac_mode. In tests/test_f461_live_plant.py::test_replay_of_the_fancoil_probe, the zone starts in cooling season (*4*0*2##), adopting HVACMode.COOL, and later switches to heating season (*4*1*2##) with the heating valve on (actuator 1).

When actuator status reports arrive for dimension 20 (*#4*2#2*20*5##), message.is_heating() and message.is_cooling() are None (only dimension 19 sets is_heating). MyHOMEClimate fell back to elif self._attr_hvac_mode == HVACMode.COOL: self._attr_hvac_action = HVACAction.COOLING, reporting cooling action while in heating season with the heating valve open.

Changes

  1. In custom_components/myhome/climate.py:
    • Import SEASON_CONDITIONING alongside SEASON_HEATING.
    • In MESSAGE_TYPE_ACTION, check self._season == SEASON_HEATING (and SEASON_CONDITIONING) before falling back to _attr_hvac_mode.
  2. Verified against both released OWNd==2.0.0b10 and OWNd PR 97 (feat/who4-consolidated-heating).

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@GreenGrassBlueOcean
GreenGrassBlueOcean merged commit c0a6190 into v2-phase1-architecture Oct 15, 2026
17 checks passed
@GreenGrassBlueOcean
GreenGrassBlueOcean deleted the fix/climate-season-action-determination branch October 15, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants