Skip to content

Add device config for Fröling BWP300PV#160

Open
itsh-neumeier wants to merge 1 commit intotimlaing:mainfrom
itsh-neumeier:main
Open

Add device config for Fröling BWP300PV#160
itsh-neumeier wants to merge 1 commit intotimlaing:mainfrom
itsh-neumeier:main

Conversation

@itsh-neumeier
Copy link
Copy Markdown
Contributor

Adds a new device configuration for the Fröling BWP300PV domestic hot water heat pump (Austrian manufacturer Fröling). The BWP300PV is an OEM model of the German company 1EcoDesign.

Adds a new device configuration for the Fröling BWP300PV domestic hot water heat pump (Austrian manufacturer Fröling).
The BWP300PV is an OEM model of the German company 1EcoDesign.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 24, 2026

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • New Features
    • Added support for Fröling BWP300 PV heat pump systems via Modbus local gateway. Monitor system status, sensors, and temperature readings in real-time. Configure heating parameters, temperature setpoints, schedules, language preferences, and operational modes. Full integration for comprehensive device control and diagnostics.

Walkthrough

This pull request introduces a new YAML configuration file for the Fröling BWP300 PV Modbus local gateway device. The configuration defines input and holding register mappings for 71 sensors, binary sensors, temperature controls, scheduling parameters, and operational modes to Home Assistant entities.

Changes

Cohort / File(s) Summary
Fröling Device Configuration
custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml
New comprehensive Modbus device configuration with 571 lines defining register mappings for input sensors (binary states, temperatures, diagnostics, alarms), holding registers for setpoints, scheduling, language selection, defrost modes, fan controls, and system operational parameters.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A new heating heart joins the fray,
Fröling's registers mapped just right today,
Temperature whispers and control commands flow,
From modbus to Home Assistant's warm glow. ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add device config for Fröling BWP300PV' clearly and concisely summarizes the main change: introducing a new device configuration file for a specific heat pump model.
Description check ✅ Passed The description is directly relevant to the changeset, providing context about the device being configured and its manufacturer details, which aligns with the new configuration file being added.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (2)
custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml (2)

174-181: multiplier: 1 is redundant on fw_version.

A multiplier of 1 is a no-op; omitting it simplifies the entry and matches the style of other non-scaled registers in this file.

♻️ Proposed cleanup
  fw_version:
    name: "FW Version"
    icon: mdi:chip
    address: 119
-   multiplier: 1
    precision: 0
    entity_category: diagnostic
    entity_registry_enabled_default: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml`
around lines 174 - 181, The fw_version register entry includes a redundant
multiplier: 1; remove the multiplier property from the fw_version block (the
YAML map keyed by fw_version) so the entry matches other non-scaled registers
and stays concise, leaving name, icon, address, precision, entity_category, and
entity_registry_enabled_default intact.

571-571: Remove development artefact comment # Icons ergänzt.

This inline note is a leftover from authoring and adds no value in the shipped config.

♻️ Proposed cleanup
-   entity_registry_enabled_default: true  # Icons ergänzt
+   entity_registry_enabled_default: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml`
at line 571, Remove the development artefact comment from the YAML entry by
deleting the inline comment text "# Icons ergänzt" on the
entity_registry_enabled_default line so the line reads only
"entity_registry_enabled_default: true"; ensure you only remove the comment and
do not alter the key name or its boolean value (reference:
entity_registry_enabled_default).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml`:
- Line 286: The displayed "name" value contains a typo: change the YAML entry
where name is set to "Betriebsmodus: Standart" to "Betriebsmodus: Standard";
locate the name key in the Fröling_BWP300PV.yaml configuration and update the
string (preserving the Umlaut in "Betriebsmodus") so the UI shows the corrected
spelling.
- Line 139: Replace the misspelled YAML entity key "holyday_remaining_days" with
the correct spelling "holiday_remaining_days" wherever it appears in this device
config (the key name under the Fröling_BWP300PV configuration); update any
corresponding references or mappings that use the "holyday_remaining_days"
identifier so they now point to "holiday_remaining_days" to avoid breaking
entity IDs in Home Assistant.
- Around line 401-404: Update the German plural forms in the YAML list entries:
locate the entries currently set to "2 Woche" and "3 Woche" and change them to
"2 Wochen" and "3 Wochen" respectively so the plural inflection is correct for
the keys labeled 2 and 3 in the Fröling_BWP300PV configuration.
- Around line 115-137: The comment above the status.flags block is misleading:
it says "BIT-POSITIONEN (0..15)" but the mapping uses bitmask values
(1,2,4,8,...). Update the comment to state these are bitmask values (e.g.,
"BITMASK VALUES (2^n) / bit positions 0..15 represented as 1,2,4,...") and then
verify whether the bitmask for value 16 (the 4th bit) should exist; if it was
omitted accidentally, add an entry "16: <label>" under the status.flags mapping,
otherwise confirm intentionally omitted and document that in the comment. Ensure
you modify the status.flags block (not other keys) to keep labels and
entity_registry_enabled_default unchanged.
- Around line 149-165: The alarm flags in the "alarm" register use sequential
integers (0,1,2...) but the framework expects bitmask values like the "status"
register; update the keys under the alarm mapping (symbol: alarm) to bitmask
values (1, 2, 4, 8, 16, 32, 64, 128, 256) matching the convention used by status
so the bitwise checks work correctly, and verify entity_registry_enabled_default
and address remain unchanged.
- Around line 139-147: The entity holyday_remaining_days declares device_class:
duration but uses an invalid unit_of_measurement "Tag/e"; update the
unit_of_measurement for holyday_remaining_days to the Home Assistant-approved
duration unit "d" so it matches device_class: duration and avoids validation
warnings.

---

Nitpick comments:
In `@custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml`:
- Around line 174-181: The fw_version register entry includes a redundant
multiplier: 1; remove the multiplier property from the fw_version block (the
YAML map keyed by fw_version) so the entry matches other non-scaled registers
and stays concise, leaving name, icon, address, precision, entity_category, and
entity_registry_enabled_default intact.
- Line 571: Remove the development artefact comment from the YAML entry by
deleting the inline comment text "# Icons ergänzt" on the
entity_registry_enabled_default line so the line reads only
"entity_registry_enabled_default: true"; ensure you only remove the comment and
do not alter the key name or its boolean value (reference:
entity_registry_enabled_default).

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 43afc0a and f4079f6.

📒 Files selected for processing (1)
  • custom_components/modbus_local_gateway/device_configs/Fröling_BWP300PV.yaml

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