feat: add manual E-Heater assist switch (R4) and refine sanitize binary sensors - #28
Closed
tazomatalax wants to merge 6 commits into
Closed
feat: add manual E-Heater assist switch (R4) and refine sanitize binary sensors#28tazomatalax wants to merge 6 commits into
tazomatalax wants to merge 6 commits into
Conversation
…en Electric Booster (R108 & 8)
…rdcoded default heater_assist_trigger_register defaulted to register 4 in the coordinator whenever a profile didn't set it, and apply_profile_to_config() never copied the key out of a profile's registers block at all - so the new switch was being created on every install regardless of profile, including models where register 4 has never been validated. - coordinator.py: drop the hardcoded `4` fallback, matching every other optional diagnostic register (defaults to None) - profile_manager.py: wire heater_assist_trigger_register through apply_profile_to_config() and save_profile(), same as heater_assist_register/sanitize_state_register - switch.py: require both heater_assist_trigger_register and heater_assist_register before creating the switch, since it's the write-side of a state R108 reports - binary_sensor.py: keep the original unique_id suffixes for the two pre-existing sensors so current EcoSpring installs don't get orphaned entities from the R108/R109 refinements in this PR Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
tazomatalax
force-pushed
the
feat/e-heater-support
branch
2 times, most recently
from
July 31, 2026 08:46
8e35947 to
2586b82
Compare
tazomatalax
force-pushed
the
feat/e-heater-support
branch
from
July 31, 2026 08:49
2586b82 to
4d5546d
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 of Changes
Resolves #25 by adding support for triggering the manual E-Heater booster element and refining diagnostic binary sensors for EcoSpring / Chromagen / Midea HWS units.
1. Manual E-Heater Assist Trigger (Register 4)
1to Register 4 triggers the manual E-Heater element.MideaHeaterAssistSwitch(Manual Heater Assist) linked to Register 4.0is rejected with Modbus Exception Code 3 (Illegal Data Value), operating identically to the Sanitize register (R3). It automatically self-clears back to0when target setpoint temperature is met.2. Refined Diagnostic Binary Sensors
v & 8(Bit 3 active when the booster element relay is energised). This prevents standby values like2(delayed sanitize) from falsely showing the booster element as running.Sanitize Cycle Active: Triggers whenR109 = 32(immediate/active disinfection).Sanitize Cycle Scheduled: Triggers whenR109 = 33(scheduled/pending weekly disinfection).3. Model Configuration Updates
"heater_assist_trigger_register": 4toecospring_hp300.json.