Repository navigation
en.Installation
Once the necessary hardware and software requirements for installing OpenCCU have been checked and met, you can proceed with the actual installation. The procedure differs depending on the hardware platform used; therefore, the installation is explained for each platform separately as a step-by-step guide in the following sections. Users of a CCU3 or ELV-Charly can alternatively install the more conservatively updated OpenCCU-LTS.
For the impatient or advanced CCU/Homematic/Linux users, the following quick start guide explains the basic steps, which can be found in a similar form in every platform-specific guide:
When using CCU3 hardware:
- Download the latest version as an
OpenCCU-X.XX.XX.YYYYMMDD-ccu3.tgzarchive from Releases (or, for OpenCCU-LTS, theOpenCCU-LTS-X.XX.XX.YYYYMMDD-ccu3.tgzarchive from OpenCCU-LTS Releases). - Log in to the WebUI of the running CCU3.
- Under
Settings → Control panel → CCU maintenance, select the downloaded*.tgzfile like a regular firmware update viaChoose File…and then start the installation viaUpload. - OpenCCU is then installed on the CCU3 hardware and ready for use.
Note
The *-ccu3.tgz archive is only required for the initial migration from the original CCU3 firmware. All later updates are performed via the update function of the WebUI or with the *-rpi3.zip archive.
When using a single-board computer (Raspberry Pi, ELV-Charly, ODROID, ASUS Tinker Board 2/2S) or a generic x86_64/aarch64 system:
- Write the appropriate image to a suitable microSD card, USB stick or SSD (at least 8 GB):
-
Raspberry Pi: The easiest way is to use the Raspberry Pi Imager: select the Raspberry Pi model used and then OpenCCU as the operating system.
-
All platforms: Download the latest version as an
OpenCCU-X.XX.XX.YYYYMMDD-ZZZ.ziparchive from Releases, extract it and write the included*.imgfile using an imaging tool (e.g. Raspberry Pi Imager via "Use custom").ZZZcorresponds to the target platform:Platform ZZZRaspberry Pi 5 rpi5Raspberry Pi 4/400/CM4 rpi4Raspberry Pi 3/3+/3 A+/CM3, Raspberry Pi Zero 2 W, ELV-Charly rpi3ODROID-N2/N2+, ODROID-C4, ODROID-C2 odroid-n2,odroid-c4,odroid-c2ASUS Tinker Board 2/2S tinkerboard2Generic x86_64 (UEFI) generic-x86_64Generic aarch64 (UEFI) generic-aarch64
-
- Insert the storage medium into the device.
- Connect a suitable Homematic / Homematic IP radio module via GPIO or USB.
- Power up the device – OpenCCU starts and boots up.
When using a virtualization environment (Proxmox VE, VMware ESXi, VirtualBox, etc.):
- Download the latest version as
OpenCCU-X.XX.XX.YYYYMMDD.ovafrom Releases (not the*-ova.zipfile, which is only required for later updates via the WebUI). For Proxmox VE, an installation script is available as an alternative; for ARM-based hypervisors, use the*-generic-aarch64.zipimage. - Import the
*.ovafile in the administration interface of the virtualization environment and adjust the basic settings of the virtual OpenCCU VM. - Connect a suitable Homematic / Homematic IP radio module via USB to the host and pass it through to the VM (or connect an
HB-RF-ETHvia the network). - Start the VM – OpenCCU boots up and is then accessible via the WebUI.
When using a container or the Home Assistant app:
-
Docker/OCI: Installation and updates via the
install-docker.shscript, see Docker Container (OCI). -
LXC: Installation and updates via the
install-lxc.shscript, see Linux Container (LXC). -
Kubernetes: Installation via the
openccuHelm chart, see Kubernetes/K8s. - Home Assistant: Installation of the "OpenCCU" app from the "OpenCCU Apps" app repository, see Home Assistant App.
In the container variants, updates are performed via the respective platform and not via the update function of the WebUI.
More detailed installation guides for all supported platforms can be found in the following sections. After the installation, the first steps after installation help with the basic setup.
The following sections describe how to install and run OpenCCU on dedicated hardware:
- CCU3
- ELV-Charly
- Raspberry Pi – Raspberry Pi 5, Raspberry Pi 4/400/CM4, Raspberry Pi 3/3+/3 A+/CM3 as well as Raspberry Pi Zero 2 W
- Hardkernel ODROID – ODROID-N2/N2+, ODROID-C4, ODROID-C2
- ASUS Tinker Board 2/2S
- Generic x86_64 – standard x86_64 systems (e.g. Intel NUC) with UEFI boot
- Generic aarch64 – standard ARM64 systems with UEFI boot
In addition to installing on real hardware, OpenCCU can be run in modern virtualization environments and used together with a suitable USB or network-based Homematic radio module:
- as a virtual machine on x86_64 hypervisors (e.g. Proxmox VE, VMware ESXi, VirtualBox, Synology VMM) using the
*.ovaarchive, which can be imported into common virtualization solutions with just a few clicks, or on ARM-based hypervisors using the*-generic-aarch64.zipimage, - as a container (Docker/OCI, LXC, Kubernetes) on amd64 or arm64 host systems,
- as an app within Home Assistant.
This is described separately for each supported platform below:
- Proxmox Virtual Environment
- Home Assistant App
- Docker Container (OCI)
- Linux Container (LXC)
- QEMU/KVM
- Kubernetes/K8s
- Synology Virtual Machine Manager
- QNAP Virtualization Station
- Unraid
- XCP-ng/XenServer
- Oracle VirtualBox
- VMware ESXi
- VMware Workstation Player
- Hyper-V
Once the basic installation on your own hardware or in a virtualization environment has been completed successfully – and if you already have another or older CCU central unit from eQ-3/ELV – the following sections show how to transfer the existing configuration.
Due to the extensive compatibility between the operating system/firmware used on the CCU3 and OpenCCU, manual adjustments are usually only necessary when switching from a CCU3 firmware to OpenCCU if you switch directly to a virtual OpenCCU system. More information on switching to a virtual OpenCCU can be found here.
If OpenCCU has been installed directly on the existing CCU3 hardware according to the installation guide, the configuration including installed CCU add-ons should have been transferred automatically – no further steps are required. If, on the other hand, you switch from the CCU3 hardware to another hardware platform (e.g. Raspberry Pi, ODROID), the system backup (*.sbk) previously exported via the CCU3 WebUI can be imported via the OpenCCU WebUI after the fresh basic installation. No further steps are necessary.
When upgrading from an older CCU2 with firmware version 2.x to OpenCCU, a few points need to be considered. Since a direct switch from a CCU2 firmware to a current OpenCCU version can cause problems, the transfer takes place in two stages via an intermediate version whose version level is closest to the latest CCU2 firmware. This also applies to LXCCU, YAHM and piVCCU2:
- Before transferring the configuration, make sure that the latest CCU2 firmware (2.59.7) is installed on the old CCU2.
- Log in to the WebUI of the old CCU2 and create a backup (
*.sbk) of the configuration underSettings → Control panel → Security → Create backupand keep it in a safe place. -
Write down all additional software packages (CCU add-ons) listed under
Settings → Control panel → Additional software, since these must be reinstalled manually in an OpenCCU-compatible version later (after transferring the configuration to OpenCCU). - Now go through the list of additional software packages/CCU add-ons under
Settings → Control panel → Additional softwareand uninstall all of them. Exceptions (do not uninstall, otherwise configuration will be lost; these can be reinstalled later in step 13): - Create another backup (
*.sbk) underSettings → Control panel → Security → Create backupand keep it temporarily. - Shut down the old CCU2 and disconnect it from power (must not run in parallel to OpenCCU!).
- Install the intermediate version 3.59.6.20211009 (released at that time under the name "RaspberryMatic") – e.g. as a temporary virtual machine using the
*.ovafile provided there or on a separate SD card – and import the backup created in step 5 (without add-ons) underSettings → Control panel → Security → Import backup. - After the restart triggered by the backup, check whether the configuration (devices, programs, system variables) has been transferred completely, and then create a new backup (
*.sbk) in the intermediate version underSettings → Control panel → Security → Create backup. - Shut down the intermediate version.
- Completely clear the browser cache of the browser used and restart the browser.
- Log in to the WebUI of the freshly installed, current OpenCCU and import the backup created in step 8 under
Settings → Control panel → Security → Import backup. - After the restart triggered by the backup, reconnect to the WebUI and check under
Settings → Control panel → Time-/position settings → NTP serverthat valid NTP servers are configured, e.g.:0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org - Go through the add-on list noted in step 3 via the WebUI and install all add-ons in their respective OpenCCU-compatible version to restore the previous functionality.
- Finally, restart OpenCCU again. Afterwards, login and WebUI with the previous credentials as well as all Homematic devices, programs, etc. should be available again. If this unexpectedly does not work, the first backup (before uninstalling the add-ons) can be restored on the old CCU2. Please note: depending on the existing programming, an increased duty cycle (i.e. radio utilization) may occur after startup. It may take > 1 h until communication errors with certain Homematic devices disappear.
Due to the very large version jump from a CCU1 to a current OpenCCU, a complete new setup is recommended (remove all Homematic devices, perform a factory reset, pair them with OpenCCU again and reconfigure them).
Note
Alternatively, you can try to first import the CCU1 system backup (*.sbk) into the last 2.x.x version 2.35.16.20180826 (released at that time under the name "RaspberryMatic") and then switch to a current OpenCCU via the intermediate version mentioned there, analogous to the upgrade from CCU2. However, experience has shown that this approach is error-prone.
If you want to switch directly from an older CCU2/CCU3 or from a hardware-based OpenCCU to a virtual OpenCCU – or generally move OpenCCU to another platform (e.g. from a Raspberry Pi to Proxmox VE or from an SD card to an SSD) – proceed as follows:
- First, make sure according to the respective basic installation guide that the new OpenCCU boots up properly and the WebUI is accessible.
- In the old installation/central unit, create and download a system backup (
*.sbk) underSettings → Control panel → Security → Create backup. - Go through the list of additional software packages/CCU add-ons under
Settings → Control panel → Additional softwareand uninstall all of them. Exceptions (do not uninstall, otherwise configuration will be lost; these can be reinstalled later in step 8): - Create another backup (
*.sbk) and keep it temporarily. - Deactivate the old CCU central unit or disconnect it from power – never run two CCU central units with an identical configuration in parallel!
- If no USB or network-based radio module (e.g.
HB-RF-USB-2,HmIP-RFUSB,HB-RF-ETH) is connected to the new OpenCCU yet, do this according to the installation guide of the respective platform. - Log in to the WebUI of the new OpenCCU and import the backup (without add-ons).
- Afterwards, reinstall all previously manually uninstalled CCU add-ons. Important: check beforehand whether the add-ons are available for the target architecture (x86_64 or aarch64). Add-ons compiled for 32-bit ARM usually continue to run on 64-bit ARM systems thanks to the integrated 32-bit support, but not on x86_64 systems.
- Finally, restart the new OpenCCU. Note: depending on the existing programming, an increased duty cycle (i.e. radio utilization) may occur after startup. It may take > 1 h until communication errors with certain Homematic devices disappear.
If you want to switch the control of your Homematic / Homematic IP devices from the now heavily outdated FHEM home automation platform directly to OpenCCU, you can use the separate Migration from FHEM quick guide in this documentation wiki.
Due to the renaming of "RaspberryMatic" to "OpenCCU" in October 2025 with version 3.83.6.20251025 – including internal changes in the firmware – the switch is not possible via the automatic update. This means: anyone who wants to "update" an existing RaspberryMatic installation to OpenCCU must do this once manually.
For installations on hardware (Raspberry Pi, CCU3, ELV-Charly, ODROID, etc.) or as a virtual machine (OVA), proceed as follows:
- Download the appropriate update archive for the platform currently used from Releases (e.g.
OpenCCU-X.XX.XX.YYYYMMDD-rpi3.zipfor CCU3/ELV-Charly/Raspberry Pi 3 orOpenCCU-X.XX.XX.YYYYMMDD-ova.zipfor virtual machines). - In the RaspberryMatic WebUI, open
Settings → Control panel → CCU maintenance → Choose File…, upload the archive and start the firmware update. - After the successful update, OpenCCU is installed. Future updates can be installed again as usual via the automatic update function.
Important
Since version 3.87.6.20260509 enlarges the root file system to 2 GB automatically during the update and all RaspberryMatic versions are older than the version 3.87.6.20260313 required for this, the update may have to be performed twice until OpenCCU is installed correctly. Be sure to create and download a backup (*.sbk) beforehand. Platforms that are no longer supported by OpenCCU (e.g. Raspberry Pi 2, ASUS Tinker Board) cannot be updated to OpenCCU.
For the container variants, the following applies:
-
Docker/OCI: Run the
install-docker.shscript again according to the installation guide. It uses the same container (ccu) and volume name (ccu_data) as before, but replaces the previous RaspberryMatic image with the OpenCCU imageghcr.io/openccu/openccu. The configuration is preserved. -
LXC: Install a new OpenCCU container according to the installation guide and transfer the configuration via a backup (
*.sbk) from the old RaspberryMatic container. -
Kubernetes: Switch to the
openccuHelm chart according to the installation guide and transfer the configuration via a backup (*.sbk).
For the Home Assistant add-on, an automatic switch from "RaspberryMatic" to the new Home Assistant app "OpenCCU" is not possible either. Therefore, the switch has to be performed manually once as follows:
Warning
Please note that, due to the renaming from "RaspberryMatic" to "OpenCCU", Home Assistant may warn that the "RaspberryMatic HA add-on" has been removed from the repository. As long as the migration to OpenCCU has not been completed, do not confirm the "Repair Issue" dialog with "Submit" or "OK", but close it via the "X" in the upper left corner.
The switch is performed manually once as follows:
- In the running RaspberryMatic add-on, create a manual backup in the CCU WebUI under
Settings → Control panel → Security → Backup managementand download it as*.sbk.NOTE If the RaspberryMatic add-on has already been uninstalled or deleted before the new OpenCCU app was set up, you can try to download the last automatic configuration backup (
*.sbk) from/backup/raspberrymaticusing the guide for downloading configuration backups from Home Assistant. - Stop the RaspberryMatic add-on, disable autostart and write down the port settings enabled in the add-on.
- Additionally install the OpenCCU app in Home Assistant.
- Enable autostart and show in sidebar for the OpenCCU app and set up the previously noted ports again in the app configuration. Important: without enabled ports, the Home Assistant integration cannot connect to OpenCCU later.
- Start the OpenCCU app and log in to the WebUI (the settings to be made will be overwritten by the backup in the next step).
- Import the previously created SBK backup under
Settings → Control panel → Security → Backup management. - In Home Assistant, write down the hostname shown in the settings of the OpenCCU app (e.g.
xxxxxx-openccu). - In Home Assistant, select
Settings → Devices & services → Homematic(IP) Local for OpenCCUand click on the gear icon to configure it. There, change the hostname fromxxxxxx-raspberrymatictoxxxxxx-openccu. The name of the hub then automatically changes to "OpenCCU". - Restart Home Assistant. If everything works, remove the old RaspberryMatic add-on (including "Delete data").
- If not all devices are found with their names afterwards, execute the action
homematicip_local.clear_cachein Home Assistant underDeveloper tools → Actionsand reload the integration.
After the successful installation or configuration transfer, the following steps are recommended for the basic setup:
-
Open the WebUI: The WebUI can be accessed in a web browser at
http://openccu/(default hostname) or via the IP address of the system. The IP address can be determined, for example, in the device overview of your router. With the Home Assistant app, the WebUI is accessed via the Home Assistant sidebar. -
Set a password: Under
Settings → User management, set a secure password for theAdminuser. Without a password, the WebUI is accessible to everyone in the local network without logging in. -
Check time and location: Under
Settings → Control panel → Time-/position settings, check the time zone, location (for astro functions) and NTP servers. - Set up backups: Create regular backups of the configuration or set up the automatic backup.
- Stay up to date: Update OpenCCU regularly. Available updates are shown on the start page of the WebUI.
Note
The WebUI and all CCU services are only accessible from local/private networks by default (see Security Advice). For remote access, do not set up a port forwarding in your router, but use a VPN instead (e.g. the integrated Tailscale).
Inhalt · Contents OpenCCU Documentation © 2015-2026 Jens Maus and OpenCCU Contributors, licensed under CC BY-SA License 4.0