Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1416 +/- ##
==========================================
- Coverage 99.89% 99.89% -0.01%
==========================================
Files 6 6
Lines 997 986 -11
Branches 139 139
==========================================
- Hits 996 985 -11
Partials 1 1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
There was a problem hiding this comment.
Pull request overview
Removes third heating circuit (HC3) support from the python-bsblan async client to align multi-circuit handling with devices that only expose HC1/HC2, and updates HC2 parameter IDs to match the real device spec.
Changes:
- Drop HC3 sections/parameter mappings and limit circuit validation/discovery to HC1–HC2.
- Correct HC2 parameter IDs (notably
current_temperatureandroom1_thermostat_mode) across constants, fixtures, and examples. - Update tests to reflect the two-circuit model and remove HC3-specific scenarios.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/bsblan/constants.py |
Reduces supported circuits to 2, removes HC3 mappings/sections, updates HC2 parameter IDs. |
src/bsblan/bsblan.py |
Removes HC3 from required sections and updates multi-circuit logic/comments to be HC2-only. |
tests/test_initialization.py |
Updates initialization expectations to exclude HC3 sections. |
tests/test_hotwater_state.py |
Adjusts test API config to exclude HC3 sections. |
tests/test_constants.py |
Updates required API config sections to match two-circuit support. |
tests/test_circuit.py |
Removes HC3 tests and tightens invalid-circuit assertions to reject circuit 3. |
tests/test_api_validation.py |
Removes HC3 sections from validation cache tests. |
tests/fixtures/state_circuit2.json |
Updates fixture keys to corrected HC2 parameter IDs. |
examples/speed_test.py |
Removes triple-circuit benchmark suite and updates HC2 param list/IDs. |
|
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.



This pull request removes all support for a third heating circuit (HC3) from the codebase, limiting multi-circuit handling to only two heating circuits (HC1 and HC2). It updates constants, API configuration, parameter mappings, tests, and example scripts accordingly. Additionally, it corrects parameter IDs for HC2 to match the actual device specification.
Key changes:
Removal of HC3 (Third Heating Circuit) Support
src/bsblan/constants.py,src/bsblan/bsblan.py,examples/speed_test.py, andtests/test_circuit.py. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]Update of HC2 Parameter IDs
"8741"→"8770","8750"→"8779"in both code and test fixtures). [1] [2] [3] [4]Constants and API Configuration Adjustments
Test Suite Cleanup
Documentation and Example Updates
This change simplifies the codebase and ensures alignment with actual device capabilities, reducing maintenance overhead and potential confusion regarding unsupported third-circuit features.