Skip to content

webui: support the HmIP-RFUSB stick as central radio module - #210

Merged
jens-maus merged 1 commit into
mainfrom
jens-maus/migrate-0155-webui-add-hmip-rfusb-support
Oct 16, 2026
Merged

jens-maus merged 1 commit into
mainfrom
jens-maus/migrate-0155-webui-add-hmip-rfusb-support

Conversation

@jens-maus

@jens-maus jens-maus commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Original OpenCCU rootfs patch: 0155
Original filename: 0155-WebUI-Add-HmIP-RFUSB-Support.patch
Original patch: ``''https://github.com/OpenCCU/OpenCCU/blob/687f3c7d336289960db59cfc686aea0ecf9cb0dc/buildroot-external/package/openccu-base/rootfs-patches/0155-WebUI-Add-HmIP-RFUSB-Support.patch''''
Original changes: OpenCCU/OpenCCU@6c9cc9f31 (HmIP-RFUSB as Advanced IP Routing gateway)

OpenCCU supports the HmIP-RFUSB stick as the central radio module. The WebUI handles it like the HmIP-CCU3 and RPI-RF-MOD radio modules. This applies the patch:

  • src/webui/www/config/easymodes/etc/hmipChannelConfigDialogs.tcl: no channel parameters to set for HmIP-RFUSB.
  • src/webui/rega/www/esp/datapointconfigurator.fn: the CoPro maintenance control for HmIP-RFUSB channels.
  • src/webui/rega/www/esp/functions.fn: show the maintenance channel of HmIP-RFUSB like the other radio modules.
  • src/webui/www/tools/js/model/devicetypelist.js and src/webui/www_source/webui/js/model/devicetypelist.js (the webui.js part): HmIP-RFUSB in the list of device types without user settings.
  • src/webui/www_source/config/devdescr/copro_usb_hmip-rfusb.tcl (new, the DEV_* part of webui.js): device description of HmIP-RFUSB with the CCU3 images, a copy of copro_rpi-rf-mod.tcl. create_devdescr_js.tcl processes the files sorted by name; the name is chosen so that the entries follow RPI-RF-MOD in webui.js exactly as in the patch.
  • src/webui/www/webui/js/lang/{de,en}/translate.lang.deviceDescription.js: HmIP-CCU3, RPI-RF-MOD and the new HmIP-RFUSB are named "Homematic IP Zentrale" / "Homematic IP Central Control Unit".

Line endings, encodings and the missing/added final newlines follow the patch, including the whitespace-only last line of www/tools/js/model/devicetypelist.js. The root www/ copies are unused legacy files and are left unchanged.

One intended difference: DEVDB.tcl

create_devdescr_js.tcl generates both webui.js (devdescr.js) and www/config/devdescr/DEVDB.tcl from the config/devdescr/*.tcl files. The rootfs patch only edited the generated webui.js, so the Tcl device database used by ic_deviceparameters.cgi, ic_seldevice.cgi, ic_selchannel.cgi and ic_ifacecmd.cgi (DEV_getImagePath etc.) did not know HmIP-RFUSB. With the native description it now does: DEVDB.tcl gains HmIP-RFUSB in DEV_LIST, DEV_DESCRIPTION, DEV_PATHS (CCU3 images) and DEV_HIGHLIGHT (empty), like RPI-RF-MOD. All other entries are unchanged (compared by loading both files in Tcl); the textual order of the dumped Tcl arrays differs because of the added key.

Validation

  • The patch applies to this repository's sources with zero fuzz (functions.fn with an offset of 2 lines); git diff --check (with cr-at-eol) only reports the whitespace-only last line taken over from the patch.
  • OpenCCU scripts/base-patch-migration.py validate with the canonical Buildroot 2026.08 git4 archive of this branch (e0ae1223, sha256 a620c9b0d8d9ba569e6d8d32081670cbf50ab5460cca428a62fe6bfbc4b69d9b) and --skip-patch 0155, on OpenCCU master 687f3c7d3 (current pin 935847b1, equal to main): PASS (the other 48 rootfs patches apply with zero fuzz).
  • compare against a validation of the current pin 935847b1 with all 49 patches: 4665 of 4666 entries identical, including webui.js; the only difference is www/config/devdescr/DEVDB.tcl as described above.

OpenCCU cleanup PR (removing patch 0155 and updating the pin): OpenCCU/OpenCCU#4456


Generated by Claude Code

Summary by CodeRabbit

  • New Features
    • Added support for HmIP-RFUSB in the device list and displayed it as a Homematic IP Central Control Unit.
    • Updated maintenance-channel handling for HmIP-RFUSB to match other supported central control devices.
    • HmIP-RFUSB devices are now protected from deletion.

Generated by Claude Code

This applies OpenCCU rootfs patch 0155-WebUI-Add-HmIP-RFUSB-Support.patch:

- Treat the HmIP-RFUSB like the HmIP-CCU3 and RPI-RF-MOD radio modules:
  no channel parameters, the CoPro maintenance control, its channels
  shown in the device list and its type in the list of device types
  without user settings (devicetypelist.js).
- Add a device description for HmIP-RFUSB with the CCU3 images
  (config/devdescr/copro_usb_hmip-rfusb.tcl).
- Name HmIP-CCU3, RPI-RF-MOD and HmIP-RFUSB "Homematic IP Zentrale" /
  "Homematic IP Central Control Unit" in the device descriptions.
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1557ffdb-fd80-46cf-b994-e39bde544cf5
📥 Commits

Reviewing files that changed from the base of the PR and between 2b84089 and e0ae122.

📒 Files selected for processing: 8
  • src/webui/rega/www/esp/datapointconfigurator.fn
  • src/webui/rega/www/esp/functions.fn
  • src/webui/www/config/easymodes/etc/hmipChannelConfigDialogs.tcl
  • src/webui/www/tools/js/model/devicetypelist.js
  • src/webui/www/webui/js/lang/de/translate.lang.deviceDescription.js
  • src/webui/www/webui/js/lang/en/translate.lang.deviceDescription.js
  • src/webui/www_source/config/devdescr/copro_usb_hmip-rfusb.tcl
  • src/webui/www_source/webui/js/model/devicetypelist.js

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The changes add HmIP-RFUSB device metadata and labels, mark it as undeletable, and include it in existing maintenance-channel handling.

Changes: HmIP-RFUSB device support

Layer / File(s) Summary
Device identity and undeletable status
src/webui/www_source/config/devdescr/copro_usb_hmip-rfusb.tcl, src/webui/www/webui/js/lang/{de,en}/translate.lang.deviceDescription.js, src/webui/www/{tools,webui}/js/model/devicetypelist.js
Adds the HmIP-RFUSB device description and localized labels. Adds HmIP-RFUSB to the undeletable device-type lists. The existing HmIP-CCU3 and RPI-RF-MOD labels are also updated.
Maintenance-channel handling
src/webui/rega/www/esp/{datapointconfigurator.fn,functions.fn}, src/webui/www/config/easymodes/etc/hmipChannelConfigDialogs.tcl
Includes HmIP-RFUSB in maintenance-control selection and visibility exceptions. Its maintenance dialog displays the no-parameters message.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to e0ae1

The RFUSB description and maintenance support are added, and the generated device database is retained in the package. No concrete merge-blocking issue is established; confirm the maintenance behavior with the device’s actual channel metadata during normal validation.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: WebUI support for the HmIP-RFUSB stick as a central radio module.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4 files. (4 skipped: 4 unsupported.)

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • 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.

@jens-maus
jens-maus merged commit a4a4a70 into main Oct 16, 2026
5 checks passed
@jens-maus
jens-maus deleted the jens-maus/migrate-0155-webui-add-hmip-rfusb-support branch October 16, 2026 16:42
jens-maus added a commit to OpenCCU/OpenCCU that referenced this pull request Oct 16, 2026
This removes OpenCCU rootfs patch 0155-WebUI-Add-HmIP-RFUSB-Support.patch, now that OpenCCU/OpenCCU-Base#210 is merged.
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