The RaspberryMatic project is a collaborate effort to provide a Linux/buildroot-based HomeMatic compatible distribution for embedded devices like the RaspberryPi. It is based on the Open-Central-Control-Unit-SDK (OCCU) provided by eQ-3 as part of the HomeMatic home automation platform. The RaspberryMatic distribution is provided as a full microSD card image that can be directly flashed and then used in a RaspberryPi as the main operating system for controlling all kind of HomeMatic compatible devices with full compatibility to a CCU2 device directly sold by eQ-3.
- Fully HomeMatic CCU system compliant supporting latest OCCU software releases
- Full BidCos-RF (HomeMatic), Wired (HomeMatic-Wired) and HmIP-RF (HomeMatic-IP) compatibility
- Self-contained SD card image primarily targeted for RaspberryPi hardware
- Up to date Buildroot 2016.XX Linux environment
- Linux kernel v4.4.x with hard-float support for RaspberryPi2/3 platform
- Real-Time Linux kernel support (
PREEMPT_RT
) to minimize latencies and improve CCU operation properties - Read-only root file system to minimize write operations on SD card
- Auto-resizing
/usr/local
partition to use the full space of the SD card - Direct support for RTC clock modules (PiFace Shim RTC, DS3231)
- Hardware WatchDog support automatically rebooting the system upon hardware problems
- Direct CloudMatic (meine-homematic.de) support
- Build Environment creates a dedicated cross compiler (
arm-linux-gcc
) to compile third-party applications
- HmIP-RF devices have to be reteached after Config restore from CCU2 (Limitation of HmIP)
- Updates require complete Backup/Reinstall/Restore procedure
- Special HomeMatic CCU Addon packages required (CCU2 versions don't work)
- No WiFi or Bluetooth support (yet) with RaspberryPi3 or by using external USB-based hardware (WiFi-stick, etc.)
- RaspberryPi3 or RaspberryPi2
- microSD card (2GB minimum)
- HomeMatic-RF GPIO radio module (HM-MOD-RPI-PCB)
The CCU platform allows to enhance the functionality of a CCU by installing so-called Addon packages. For RaspberryMatic, standard CCU-Addon packages won't work because included binaries have to be recompiled for the hard-float buildroot environment RaspberryMatic uses. Here is a list of well-known already compatible Addon packages (please note that this list might be incomplete):
- CUxD
- XML-API
- hm_pdetect
- Email-Addon
- CUxD-Highcharts
- HQ-WebUI
- DB-Access
- QuickAccess
- Script-Parser
- WebMatic
- Sonos Player
- hm2mqtt
- CCU-Historian
- Watchdog
- homeputer CL Studio
The installation of RaspberryMatic is quite straight forward as it is delivered as a full SD card image that can be directly flashed onto a microSD card and put into the corresponding RaspberryPi. As such the installation consists of the following basic steps:
- Download latest release archive (
RaspberryMatic-X.XX.XX.YYYYMMDD.zip
) from here - Unarchive zip file resulting in an SD card image (
RaspberryMatic-X.XX.XX.YYYYMMDD.img
) - Based on your operating system use a Flash-tool to copy the image onto your microSD card:
- Linux:
sudo dd if=RaspberryMatic-X.XX.XX.YYYYMMDD.img of=/dev/sdX bs=4096
- macOS: Use ApplePiBaker
- Windows: Use Win32DiskImager
- Make sure you have the HM-MOD-RPI-PCB radio modul installed on the GPIO of your RaspberryPi
- Install microSD in your RaspberryPi and start it
- Wait until bootup process is finished and use a web browser to connect to http://homematic-raspi/
As the RaspberryMatic project is an open source based project everyone is invited to contribute to this project. Please note, however, that functionality within the corresponding eQ-3 OCCU binaries can not be modified as the main HomeMatic services (rfd, ReGaHSS, HMServer, etc.) are provided in binary format by the OCCU project and not compiled from sources.
Building your own RaspberryMatic sd card image is a very straight forward process using this build environment – given that you have sufficient Linux/Unix knowledge and you know what you are actually doing. But if you know what you are doing and which host tools are required to actually be able to run a RaspberryMatic build, it should be as simple as:
$ git clone https://github.com/jens-maus/RaspberryMatic
$ cd RaspberryMatic
$ make dist
After a successfull build of RaspberryMatic a dedicated cross compiler (arm-linux-gcc
) should be available within the build-raspberrypi3
path. You can use this GCC-based cross compiler to compile all kind of third party applications which can then be run within RaspberryMatic:
$ cd HelloWorld
$ <path-to-RaspberryMatic-build>/build-raspberrypi3/host/usr/bin/arm-linux-gcc -o HelloWorld HelloWorld.c
The RaspberryMatic build environment itself – the files found in this git repository – as well as the RaspberryMatic sd card images are licensed under the conditions of the Apache License 2.0. Please note, however, that the buildroot distribution RaspberryMatic is using is licensed under the GPLv2 license instead. Furthermore, the eQ-3 OCCU software RaspberryMatic is using to provide HomeMatic-based services is licensed under the (HMSL).
- Jens Maus
- Wolfgang Willinghöfer