Add flow-rate-aware zone scheduling#95
Draft
lnagel wants to merge 2 commits into
Draft
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #95 +/- ##
==========================================
- Coverage 96.61% 93.46% -3.16%
==========================================
Files 20 21 +1
Lines 1715 1791 +76
Branches 257 281 +24
==========================================
+ Hits 1657 1674 +17
- Misses 36 91 +55
- Partials 22 26 +4
|
Add per-zone nominal flow rate configuration and two flow-rate constraints to the heating controller: - Flow constraint (max): Limits how many zones can be ON simultaneously by capping aggregate flow rate. TURN_ON candidates are prioritized by remaining quota (front-loading high-demand zones). Zones already ON are never preempted, and a single zone is never starved. - Flow minimum gating: Suppresses the boiler heat request when aggregate flow from active zones is below a configured minimum threshold (latent heat mode), allowing residual heat to be used before firing the boiler. Both thresholds are optional and configurable via a new "Flow Scheduling" options menu step. Per-zone nominal flow rate is configurable in zone entity settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace string literals with CONF_NOMINAL_FLOW_RATE, CONF_OPTIMAL_FLOW_RATE_MIN, and CONF_OPTIMAL_FLOW_RATE_MAX constants in config_flow.py and coordinator.py for consistency and typo prevention. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b1d0c2f to
8114562
Compare
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.
Summary
nominal_flow_rateconfiguration (L/min) for flow-rate-aware schedulingoptimal_flow_rate_minandoptimal_flow_rate_maxbounds via a new "Flow Scheduling" options menucore/scheduler.pywithapply_flow_constraint()to cap aggregate flow by demoting TURN_ON actions to STAY_OFF when the budget is exceeded (front-loading zones with highest remaining quota)Test plan
apply_flow_constraint()covering: unconstrained pass-through, budget capping, starvation prevention, zones without flow rate🤖 Generated with Claude Code