Installation HomeAssistant - OpenCCU/OpenCCU GitHub Wiki
You can install OpenCCU as a Home Assistant App. In this mode, OpenCCU runs as a lightweight virtual appliance (Docker‑based) inside Home Assistant OS or within a Home Assistant Supervised setup. As with hardware installations, Home Assistant OS can itself run on various systems—from a Raspberry Pi to an Generic x86_64 or as a virtual appliance under Proxmox VE or other similar virtualization environments.
Running OpenCCU as HA-App embeds the full CCU functionality directly into Home Assistant and let it run alongside other HA integrations (e.g., Philips Hue, Sonos). It also benefits from HAOS features such as snapshots.
Note
If you already have a working OpenCCU on seperate hardware or in a VM (e.g. under Proxmox VE) and you only want Homematic / Homematic IP devices to appear in Home Assistant, follow the Home Assistant Integration guide and also consider using the dedicated OpenCCU Proxy HA-App to make the OpenCCU WebUI available from within Home Assistant UI.
Important
Because Home Assistant Apps (due to Docker-based technology limitations) cannot route Multicast UDP traffic between networks, the normal OpenCCU App cannot teach‑in or use a HmIPW‑DRAP (HomematicIP Wired) or a HmIP‑HAP (as an HmIP range extender) device since these devices rely on Multicast UDP network communication functionality. However, if HmIP‑HAP/HmIPW‑DRAP connectivity is mandatory in your case and you still want to use OpenCCU as a direct integrated App within Home Assistant, you have to use the dedicated OpenCCU HAP/DRAP-Helper App.
Depending on your platform, perform the following preparations before installing the HA add‑on.
-
Install / verify HAOS ≥ 7.3
Make sure you run Home Assistant OS 7.3 or newer. Downloads: https://github.com/home-assistant/operating-system/releases -
Enable GPIO support (only for GPIO‑attached RF modules)
Required only if you plan to use anRPI‑RF‑MODorHM‑MOD‑RPI‑PCBon GPIO. Not required when usingHB‑RF‑USB,HB‑RF‑USB‑2,HB‑RF‑ETH,HmIP‑RFUSB, orHmIP‑RFUSB‑TK.- Access the boot partition (
/mnt/boot) to edit the configuration:
Mount the card/SSD in a PC, or use SSH to the host, or attach monitor+keyboard for a console login. -
Raspberry Pi — edit
/mnt/boot/config.txtand uncomment the following lines:# Enable GPIO support for RPI-RF-MOD/HM-MOD-RPI-PCB enable_uart=1 dtparam=i2c_arm=on dtoverlay=miniuart-bt dtoverlay=rpi-rf-mod
-
Tinker Board / ODROID — edit
/mnt/boot/haos-config.txtand uncomment:# Enable GPIO support for RPI-RF-MOD/HM-MOD-RPI-PCB overlays=rpi-rf-mod
- Reboot the HAOS host to apply changes.
- Access the boot partition (
Important
Due to the tighter coupling with the host OS and direct hardware access from containers, a Supervised setup is recommended for experienced users only.
If you run Home Assistant Supervised on a Linux host, prepare the system to support RPI‑RF‑MOD, HM‑MOD‑RPI‑PCB, HmIP‑RFUSB/HmIP‑RFUSB‑TK as well as the HB‑RF‑USB, HB‑RF‑USB‑2, or HB‑RF‑ETH adapters.
-
Install piVCCU kernel modules
sudo apt install wget ca-certificates build-essential bison flex libssl-dev gpg wget -qO - https://apt.pivccu.de/piVCCU/public.key | sudo gpg --dearmor -o /usr/share/keyrings/pivccu-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/pivccu-archive-keyring.gpg] https://apt.pivccu.de/piVCCU stable main" | sudo tee /etc/apt/sources.list.d/pivccu.list sudo apt update sudo apt install raspberrypi-kernel-headers pivccu-modules-dkms
-
Raspberry Pi with GPIO‑attached RF module (skip if you use
HB‑RF‑USB/‑2,HB‑RF‑ETH, orHmIP‑RFUSB/‑TK):- Install device‑tree patches:
sudo apt install pivccu-modules-raspberrypi
- Disable Bluetooth:
sudo bash -c 'cat <<EOT >>/boot/config.txt dtoverlay=pi3-disable-bt EOT' systemctl is-active --quiet hciuart.service && sudo systemctl disable hciuart.service
- Disable serial console:
sudo sed -i /boot/cmdline.txt -e "s/console=\(serial0\|ttyAMA0\),[0-9]\+ //"
- Install device‑tree patches:
-
Load
eq3_char_loopat bootecho eq3_char_loop | sudo tee /etc/modules-load.d/eq3_char_loop.conf sudo service pivccu-dkms start sudo modprobe eq3_char_loop
-
Supervisor / kernel caveats
-
cgroup v2: If Supervisor logs show
Can't set cgroup permission on the host for addon_XXXX_openccu, switch to cgroup v1 by adding to/etc/default/grub:Then runGRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.unified_cgroup_hierarchy=false"sudo update-grub. On Raspberry Pi, addsystemd.unified_cgroup_hierarchy=falseto/boot/cmdline.txt. Other boards require the equivalent bootloader setting. -
RT scheduler limit (
CONFIG_RT_GROUP_SCHED=y): If addons receive no real‑time runtime (breakingmultimacd), disable the limit:sudo sysctl -w kernel.sched_rt_runtime_us=-1 echo "kernel.sched_rt_runtime_us = -1" | sudo tee /etc/sysctl.d/10-disable-rt-group-limit.conf
-
cgroup v2: If Supervisor logs show
Important
If you already run a virtualization environment such as Proxmox VE with Home Assistant OS as a VM, it is best practice to install OpenCCU as a full-fledged virtual machine rather than as an add-on within Home Assistant. Running OpenCCU as a Home Assistant add-on comes with limitations and administrative overhead that can unnecessarily complicate the maintenance of OpenCCU. If you have a virtualization environment, install OpenCCU as a separate VM alongside your Home Assistant OS VM, and then use the Homematic(IP) Local for OpenCCU integration within Home Assistant to connect to the OpenCCU VM.
Prerequisite: a working Home Assistant OS or Supervised installation.
-
Open the Add‑on Store
In the HA UI (http://homeassistant.local:8123/), go to
Configuration → Addons, Backups & Supervisor → Add‑on Store
and click the ⋮ menu (top‑right) → Repositories.

-
Add the OpenCCU repository
Add this URL as an extra add‑on repository:
https://github.com/OpenCCU/OpenCCU

-
Open the OpenCCU add‑on
Close the “Manage add‑on repositories” dialog, scroll to the section “Home Assistant OpenCCU Add‑on”, and select “OpenCCU CCU”.

-
Install the add‑on
Click INSTALL to install the OpenCCU add‑on.

-
Pin to sidebar & start
After installation, enable Show in sidebar for quick access to the CCU WebUI, then click START. You can follow the startup progress in the Log tab (hostname, CPU/RAM usage).

-
Expose additional API ports (optional)
To make CCU XML‑RPC / scripting APIs reachable from other hosts, open the Configuration tab of the add‑on and configure the desired ports.

-
Open the CCU WebUI
Click the new OpenCCU entry in the HA sidebar to launch the standard CCU WebUI.

Once the add‑on is running, you can import an existing configuration, teach‑in devices (depending on your RF/wired hardware), and use OpenCCU as you would on dedicated hardware.
To make your Homematic / Homematic IP devices available as HA entities, add the integration in HA after the add‑on is working. Follow the step‑by‑step instructions in Home Assistant Integration.
Because of Docker-related networking limitations in Home Assistant Apps, the OpenCCU HA-App cannot communicate with a HmIP‑HAP as a range extender or with a HmIPW‑DRAP as a HomematicIP Wired gateway. However, if you still require support for these devices, there is a dedicated OpenCCU HAP/DRAP-Helper HA-App that you can install alongside the normal OpenCCU HA-App. When kept running in parallel to the normal OpenCCU HA-App, this HAP/DRAP-Helper App will ensure that the running OpenCCU App Docker container gets a dedicated LAN IPv4 address assigned and routing tables setup so that the OpenCCU HA-App will be able to communicat with a HmIP-HAP or HmIPW-DRAP device.
To setup this special OpenCCU HAP/DRAP-Helper App, please perform the following steps:
- Install and start the regular "OpenCCU" HA-App (see OpenCCU HA-App installation
- Additionally install the OpenCCU HAP/DRAP-Helper HA-App from the same repository.
- Set the "OpenCCU IP" config option in the HAP/DRAP-Helper App to a free, dedicated and static IPv4 address of your LAN.
- Ensure to disable the "Protection Mode" for this helper app.
- Enable "Start on boot" in the helper app configuration and also enable the WatchDog functionality to ensure that the Helper-App will be automatically restarted.
- Start the OpenCCU HAP/DRAP-Helper HA-App to keep it running.
- Start the normal OpenCCU HA-App and check the Log of the Helper-App to see if it can correctly assign the IPv4 address.
- Try to access the OpenCCU HA-App WebUI via the specified IPv4 address (e.g.
http://<IP-ADDRESS>/) and adjust the OpenCCU firewall in the WebUI as needed. Note, that OpenCCU App port settings no longer apply; the App now connects directly to your LAN via the setup IPv4 address.
After these steps, the OpenCCU HA-App should be able to correctly communicate with your teached-in HmIP-HAP or HmIPW-DRAP devices.
If you need more guidance on installing the add‑on:
