piVCCU is a project to install the original Homematic CCU2 firmware inside a virtualized container (lxc) on ARM based single board computers.
- Option to run CCU2 and other software parallel on one device
- Usage of original CCU2 firmware (and not OCCU)
- As compatible as possible with original CCU2
- Full Homematic and Homematic IP support on all supported platforms
- Support for backup/restore between piVCCU and original CCU2 without modification
- Easy to install and update with apt
- Support not only on Raspberry
Keeping this project running is very expensive, e.g. I have to buy a lot of different test devices. If you like to support this project, please consider sending me a donation via PayPal.
- Supported Single Board Computer
- Raspberry Pi 2 or 3 running Raspbian Jessie or Stretch
- Asus Tinkerboard running Armbian with Mainline kernel
- Orange Pi One, Plus, Plus 2 or Plus 2E running Armbian with Mainline kernel (Experimental)
WARNING:The Orange Pi has a rotated GPIO socket. See Manual installation instructions for more information.
- Properly installed HM-MOD-RPI-PCB
You can find pre-prepared sd card images here. They are identical to the original distribution lite or server images but have piVCCU already installed like it is described below. Login to Raspbian based images using user 'pi' and password 'raspberry'. Login to Armbian based images using user 'root' and password '1234'.
Use the normal apt based update mechanism:
sudo apt update && sudo apt upgrade
-
Original CCU2
Just restore a normal system backup using the CCU web interface
-
RaspberryMatic
- Restore a normal system backup using the CCU web interface
- Reinstall all addons using the CCU web interface
-
YAHM
- Create full backup of your SD card
- Create system backup using CCU web interface
- Remove YAHM on the host (or use a plain new sd card image)
sudo lxc-stop -n yahm sudo rm -f /etc/bash_completion.d/yahm_completion sudo rm -f /etc/init.d/hm-mod-rpi-pcb sudo rm -rf /opt/YAHM sudo rm -rf /var/lib/lxc/yahm sudo sed -i /boot/config.txt -e '/dtoverlay=pi3-miniuart-bt/d' sudo sed -i /boot/config.txt -e '/dtoverlay=pi3-miniuart-bt-overlay/d' sudo sed -i /boot/config.txt -e '/enable_uart=1/d' sudo sed -i /boot/config.txt -e '/force_turbo=1/d' sudo sed -i /etc/modules -e '/#*eq3_char_loop/d' sudo sed -i /etc/modules -e '/#*bcm2835_raw_uart/d'
- Install piVCCU as described above
- Restore the system backup using the CCU web interface
- Remove YAHM specific configuration stuff (this needs to done, even if you used a new sd card image and after every restore of a YAHM backup)
sudo systemctl stop pivccu.service sudo rm -f /var/lib/piVCCU/userfs/etc/config/no-coprocessor-update sudo sed -i /var/lib/piVCCU/userfs/etc/config/rfd.conf -e 's/Improved Coprocessor Initialization = false/Improved Coprocessor Initialization = true/' sudo sed -i /var/lib/piVCCU/userfs/etc/config/multimacd.conf -e 's/bcm2835-raw-uart/mxs_auart_raw.0/' sudo systemctl start pivccu.service
- You can find available devices on the host using
sudo pivccu-device listavailable
- Create a hook script on the host
bash -c 'echo "#!/bin/bash" > /etc/piVCCU/post-start.sh' sudo chmod +x /etc/piVCCU/post-start.sh
- For each device add an entry to this hook file, e.g. here for
/dev/ttyUSB0
bash -c 'echo "pivccu-device add /dev/ttyUSB0" >> /etc/piVCCU/post-start.sh'
- The devices will now be available inside the container, just use them like it is described in the CUxD documentation
If you like to build the .deb package by yourself
- Use Ubuntu 16.04 as build system
- Install prequisites tbd
- Clone source
- create_*.sh are the scripts to build the deb packages
- Deploy the .deb files to an apt repository e.g. using reprepro
piVCCU itself – the source files found in this git repository – are licensed under the conditions of the Apache License 2.0. The kernel module source files (folder kernel) and the generated kernel .deb files (raspberrypi-kernel-pivccu) licensed under the GPLv2 license instead. The generated CCU container .deb files (pivccu) are containing the original CCU2 firmware, containing multiple different licenses. Please refer to eQ-3 for more information.