Skip to content

Introduce wxx_base.yaml as the shared base for WPL and WPE variants - #366

Open
adrai wants to merge 1 commit into
kr0ner:masterfrom
adrai:restructure/model-specific-blocks
Open

adrai wants to merge 1 commit into
kr0ner:masterfrom
adrai:restructure/model-specific-blocks

Conversation

@adrai

@adrai adrai commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Related: #363

Reworked after review: instead of duplicating blocks into the three WPL manifests, this introduces a shared base layer, modelled on the existing txx_base.yaml / thz_base.yaml layering.

  • wxx_base.yaml (new) carries everything common to the WPL and WPE models
  • wpl_base.yaml now includes it and keeps only the WPL specific parts: the Manager BETRIEBS_STATUS binaries with their callback, and the four DHW energy counters
  • wpl13.yaml / wpl17.yaml / wpl23.yaml are untouched, they still include wpl_base.yaml

Why those two blocks are WPL specific, both verified on a WPE-I 08 HK 230 Premium:

  1. The WPE-I HK models have no integrated DHW. The controller answers the WW properties with the 0x8000 "not available" marker.
  2. The Manager BETRIEBS_STATUS word always reads 0 on this machine. The panel showed Heizkreispumpe 2 running while all twelve binaries stayed off. The WPE-I publishes its status in two other words, see Add support for WPE-I (brine/water, no DHW) #367.

No behaviour change for the existing models. I diffed the fully resolved esphome config output for wpl13, wpl17 and wpl23 before and after this change: identical in all three cases (264, 476 and 266 entries respectively). The README hierarchy diagram is updated to match.

Tested with ESPHome 2026.6.5: config validated for all nine model manifests, and wpl17, wpl23, thz504 and thz304 compiled.

@github-actions

Copy link
Copy Markdown

Hello! This is an automated message regarding your pull request. We've noticed that this PR has been inactive for a while, with no updates or activity in the last 30 days. If no further updates or responses are provided within the next 7 days, this pull request will be closed as stale. If you're still actively working on this PR, please leave a comment to let us know. We're happy to keep it open and review your changes. Otherwise, feel free to reopen the PR if you have more work to contribute in the future. Thank you for your understanding and contributions!

@github-actions github-actions Bot added the Stale label Aug 18, 2026
@adrai

adrai commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

not stale

@kr0ner kr0ner removed the Stale label Aug 18, 2026
@github-actions

Copy link
Copy Markdown

Hello! This is an automated message regarding your pull request. We've noticed that this PR has been inactive for a while, with no updates or activity in the last 30 days. If no further updates or responses are provided within the next 7 days, this pull request will be closed as stale. If you're still actively working on this PR, please leave a comment to let us know. We're happy to keep it open and review your changes. Otherwise, feel free to reopen the PR if you have more work to contribute in the future. Thank you for your understanding and contributions!

@github-actions github-actions Bot added the Stale label Sep 17, 2026
@adrai

adrai commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

no, please don't close this....

@kr0ner kr0ner removed the Stale label Sep 17, 2026

@kr0ner kr0ner left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

instead of duplicating the content, we should create a wxx_base.yaml (analog to the txx_base.yaml), that carries the common parts for WPL_XXX and WPE-XXX and adjust the inheritance

address kr0ner#363

The WPM family is not limited to the WPL models. The WPE-I speaks the
same protocol but has no integrated DHW, and its Manager does not serve
the BETRIEBS_STATUS word (verified on a WPE-I 08 HK 230 Premium, where
the panel showed Heizkreispumpe 2 running while all twelve binaries
stayed off).

Split wpl_base.yaml the same way txx_base.yaml and thz_base.yaml are
layered:
- wxx_base.yaml carries everything common to WPL and WPE
- wpl_base.yaml includes it and adds the WPL specific parts, namely the
  Manager BETRIEBS_STATUS binaries and the four DHW energy counters

No behavior change for wpl13, wpl17 and wpl23: they keep including
wpl_base.yaml and end up with exactly the same entities as before.
@adrai
adrai force-pushed the restructure/model-specific-blocks branch from be2a709 to 4c1a851 Compare September 17, 2026 19:49
@adrai adrai changed the title Move DHW energy counters and Manager status binaries from wpl_base into the WPL variants Introduce wxx_base.yaml as the shared base for WPL and WPE variants Sep 17, 2026
@adrai

adrai commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

Thanks, that layering is much better than what I had. Reworked along your suggestion, modelled on txx_base.yaml/thz_base.yaml: wxx_base.yaml carries everything common to WPL and WPE, wpl_base.yaml includes it and keeps the WPL specific parts (the Manager BETRIEBS_STATUS binaries and the four DHW energy counters), and wpl13/wpl17/wpl23 are untouched.

Those two blocks are WPL specific because the WPE-I has no integrated DHW, and its Manager does not serve the BETRIEBS_STATUS word at all: on my machine the panel showed Heizkreispumpe 2 running while all twelve binaries stayed off.

No behaviour change for the existing models. I diffed the fully resolved esphome config output for wpl13, wpl17 and wpl23 before and after and it is identical in all three (264, 476 and 266 entries). The README hierarchy diagram is updated too.

@adrai
adrai marked this pull request as ready for review September 17, 2026 19:52
Copilot AI lite review requested due to automatic review settings September 17, 2026 19:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Moderate issues remain with model-specific blocks and unverified sensor mappings.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Introduces wxx_base.yaml as a shared configuration layer for WPL/WPE variants and updates the documented hierarchy.

Changes:

  • Extracts shared configuration into yaml/wxx_base.yaml.
  • Updates yaml/wpl_base.yaml to consume the shared base.
  • Revises the README hierarchy documentation.
File summaries
File Summary
yaml/wxx_base.yaml Adds shared WXX configuration; refrigerant sensors with unverified mappings should remain model-specific.
yaml/wpl_base.yaml Consumes the shared base, but DHW energy and Manager status blocks still require relocation.
README.md Updates the configuration hierarchy diagram.
Review details

Suppressed comments (1)

yaml/wxx_base.yaml:44

  • These refrigerant-circuit sensors are being promoted into the WXX layer, but the PR description explicitly says the WPE-I readings for VERDAMPFERTEMP, RUECKLAUFTEMP, VORLAUFTEMP, VERDICHTER_EINTRITTSTEMP, and HEISSGAS_TEMP are still known to map incorrectly. A WPE manifest consuming this shared base would expose those incorrect values; keep unresolved model-specific sensors out of wxx_base.yaml until their mappings are verified.
  VERDAMPFERTEMP:                        !include { file: templates/wp_temperature.yaml, vars: { property: "VERDAMPFERTEMP"     , target: "Heizmodul"  }}
  RUECKLAUFISTTEMP:                      !include { file: templates/wp_temperature.yaml, vars: { property: "RUECKLAUFISTTEMP"   , update_interval: $interval_medium , target: "MFG" }}
  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread yaml/wpl_base.yaml
Comment thread yaml/wpl_base.yaml
@adrai
adrai requested a review from kr0ner September 17, 2026 20:14
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.

3 participants