Skip to content

Fix HVAC action mapping for eco/setback heating states#1488

Merged
liudger merged 3 commits into
liudger:mainfrom
roland3939:fix-constants
May 21, 2026
Merged

Fix HVAC action mapping for eco/setback heating states#1488
liudger merged 3 commits into
liudger:mainfrom
roland3939:fix-constants

Conversation

@roland3939
Copy link
Copy Markdown
Contributor

Summary

Correct the HVAC action category mapping for several heating circuit status values in constants.py.

Changes

This PR:

  • adds the missing ROOM_TEMPERATURE_LIMIT status (0x7A)

  • reclassifies the following statuses from HEATING to OFF:

    • DAY_ECO
    • SETBACK_REDUCED
    • SETBACK_FROST_PROTECTION
    • ROOM_TEMPERATURE_LIMIT

Motivation

These states indicate that active heating is not currently running, but they were previously categorized as HVACActionCategory.HEATING.

Mapping them to OFF results in more accurate HVAC action reporting and better reflects the actual operating state of the heating circuit.

Testing

Tested locally against a BSBLAN installation and verified that the reported HVAC action now matches the expected heating circuit behavior.

Map eco and setback heating states to OFF instead of HEATING
@roland3939
Copy link
Copy Markdown
Contributor Author

Could you please add the bugfix label to this PR? It corrects the HVAC action classification for several heating circuit states.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts HeatingCircuitStatusHVACActionCategory mapping so eco/setback-related heating circuit statuses report as OFF (not active heating), improving the accuracy of HVAC action reporting for downstream consumers.

Changes:

  • Adds missing HeatingCircuitStatus.ROOM_TEMPERATURE_LIMIT (0x7A).
  • Moves DAY_ECO, SETBACK_REDUCED, SETBACK_FROST_PROTECTION, and ROOM_TEMPERATURE_LIMIT to the OFF category mapping.

Comment thread src/bsblan/constants.py
Comment on lines +273 to +276
DAY_ECO = 0x77
SETBACK_REDUCED = 0x78
SETBACK_FROST_PROTECTION = 0x79
ROOM_TEMPERATURE_LIMIT = 0x7A
@liudger liudger added the bugfix Inconsistencies or issues which will cause a problem for users or implementers. label May 21, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.90%. Comparing base (8aa0243) to head (19de4b6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1488   +/-   ##
=======================================
  Coverage   99.90%   99.90%           
=======================================
  Files           6        6           
  Lines        1086     1087    +1     
  Branches      146      146           
=======================================
+ Hits         1085     1086    +1     
  Partials        1        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@liudger liudger merged commit 5763b43 into liudger:main May 21, 2026
14 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators May 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bugfix Inconsistencies or issues which will cause a problem for users or implementers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants