Skip to content

fix(core): suppress sync false positives and fix boiler status during DHW production - #190

Open
StefanoPierini wants to merge 1 commit into
Alexwijn:releases/thermo-novafrom
StefanoPierini:fix-dhw-sync-and-status
Open

StefanoPierini wants to merge 1 commit into
Alexwijn:releases/thermo-novafrom
StefanoPierini:fix-dhw-sync-and-status

Conversation

@StefanoPierini

Copy link
Copy Markdown

Summary of Changes

This PR addresses synchronization false alarms and improper boiler status classification during domestic hot water (DHW) production:

  1. Suppress Sync False Alarms during DHW:

    • During hot water production, many boilers (EMS, OpenTherm, etc.) raise the primary flow temperature to 65–75°C and suspend central heating (heatingactive: off).
    • This caused control_setpoint_synchro, relative_modulation_synchro, and central_heating_synchro sensors to enter problem state due to setpoint mismatch.
    • Suppressed synchronization problem states when hot_water_active is true.
  2. Fix Boiler Status Evaluation:

    • In status.py, state.hot_water_active is now evaluated before checking central_heating.
    • Previously, when a boiler temporarily suspended central heating to service hot water, the evaluator returned BoilerStatus.OFF instead of BoilerStatus.HEATING_HOT_WATER.

NOTE: I had only the opportunity to test the code with a single EMS boiler.

… DHW production

- Suppress false-positive mismatch alarms on SatControlSetpointSyncSensor, SatRelativeModulationSyncSensor and SatCentralHeatingSyncSensor while hot_water_active is True.
- In DeviceStatusEvaluator, evaluate state.hot_water_active before checking central_heating, correctly classifying boiler status as HEATING_HOT_WATER instead of OFF when DHW has heating priority.
@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review: 1
  • master

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5c1ca0c5-300f-4ec4-b562-a8899885afb7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant