Skip to content

🏠 A lightweight, Linux/buildroot-based distribution for running a HomeMatic CCU on embedded devices like the RaspberryPi...

License

Notifications You must be signed in to change notification settings

drose28357/RaspberryMatic

 
 

Repository files navigation

RaspberryMatic

Release Downloads Issues Code Climate License Donate

The RaspberryMatic project is a collaborate effort to provide a lightweight, 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.

Features

  • 100% HomeMatic CCU system compliant using latest OCCU software releases
  • Full BidCos-RF (HomeMatic), Wired (HomeMatic-Wired) and HmIP-RF (HomeMatic-IP) compatibility
  • Integration of latest beta versions of WebUI (ReGaHss)
  • Self-contained SD card image primarily targeted for RaspberryPi hardware
  • Up to date Buildroot Linux environment
  • Latest 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
  • Supports onboard WiFi and Bluetooth of RaspberryPi3 hardware as well as third-party USB WiFi/Bluetooth sticks
  • Supports Network UPS Tools (NUT) setup including USB connection of UPS as well as NUT server use (e.g. via Synology NAS Network UPS functionality)
  • Supports to be used a pure LAN Gateway (HM-LGW-O-TW-W-EU) with disabled WebUI and other typical CCU functionalities.
  • Support to be used without any GPIO-based RF module and just connect it to a LAN Gateway (HM-LGW-O-TW-W-EU)
  • IPv6 support and default HTTPS enabled WebUI support
  • Auto-resizing /usr/local partition to use the full capacity of the SD card
  • Direct support for RTC clock modules (PiFace Shim RTC, DS3231, DS1307)
  • Hardware WatchDog support automatically rebooting the system upon hardware/lockup problems
  • Direct CloudMatic (meine-homematic.de) support
  • Dedicated Build Environment using a cross compiler (arm-linux-gcc) to compile third-party applications

Limitations

  • No web-based configuration for setting up WiFi or Bluetooth support (work in progress)

Requirements

Compatible Third-Party Addons

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):

Installation

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:

  1. Download latest release archive (RaspberryMatic-X.XX.XX.YYYYMMDD.zip):
    • wget https://github.com/jens-maus/RaspberryMatic/releases/download/X.XX.XX.YYYYMMDD/RaspberryMatic-X.XX.XX.YYYYMMDD.zip
  2. Unarchive zip file resulting in an SD card image (RaspberryMatic-X.XX.XX.YYYYMMDD.img), e.g.:
    • unzip RaspberryMatic-X.XX.XX.YYYYMMDD.zip
  3. Check sha256 checksum to check integrity of SD card image, e.g.:
    • sha256sum -c RaspberryMatic-X.XX.XX.YYYYMMDD.img.sha256
  4. Based on your operating system use a Flash-tool to copy the image onto your microSD card:
  5. Make sure you have the HM-MOD-RPI-PCB radio modul installed on the GPIO of your RaspberryPi
  6. Install microSD in your RaspberryPi and start it
  7. Wait until bootup process is finished and use a web browser to connect to http://homematic-raspi/

Documentation

Documentation (e.g. how to port your HomeMatic configuration from a CCU2 to RaspberryMatic) and installation support is currently limited to using a mostly german language speaking fora with the following links pointing to the relevant sections of the fora where you can find documentation and help about RaspberryMatic:

Contributions

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.

Development

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
[wait up to 1h]
$ make install of=/dev/sdX

Using the generated cross compiler

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-raspmatic_rpi/host/usr/bin/arm-linux-gcc -o HelloWorld HelloWorld.c

A valid alternative for building RaspberryMatic ARM-hardfloat compatible binaries is to use the linaro based Linux cross compiler suite supplied here.

License

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).

Authors

  • Jens Maus
  • Wolfgang Willinghöfer

About

🏠 A lightweight, Linux/buildroot-based distribution for running a HomeMatic CCU on embedded devices like the RaspberryPi...

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 96.9%
  • JavaScript 3.1%