Created with Sketch.

This is release of RaspberryMatic which is a major feature release including the following new features and minor bugfixes:

Downloads License Donate

🚧 Changes:

  • updated OCCU firmware to 3.45.5 version with full compatibility to the CCU3 3.45.5 firmware which brings the following changes compared to the previous version included in RaspberryMatic:
    • updated ReGaHss logic engine R1.00.0388.0206 (Mar 28 2019) with the following changes:
      • fixed DST/non-DST switching issues in timer module which could have resulted in a segfault if a time interval over the DST switching time was created by a user.
      • implemented a new sunrise/sunset calculation routine which is fully compatible to the way sunrise/sunset is calculated on other homematic devices (e.g. HmIP-HAP, Cloud Service, etc.). Now sunset/sunrise times in the WebUI should match the times calculated throughout all homematic devices/services.
      • fixed some compiler warnings and reduced probability of potential buffer overflows in certain situations.
      • replaced more buffer overflow prone function uses with buffer overflow safe variants which should catch some known issues in the handling of large http requests.
      • fixed bug in session clearance where a logout didn’t completely invalidate all session relevant information.
      • improved login security by preventing unauthorized users from logging into WebUI and using the scripting engine at all.
      • optimized logging output in various areas so that bug reports can be more easily tracked down. Also changed some messages that were previously flagged as “error” messages to be flagged as “warnings” only now that we have that additional category.
      • fixed minor bug where for interfaces with an empty URL the init method was still tried to be executed.
      • added possibility to log warnings instead of just error messages to syslog & co. This should help to better differentiate between real problems and warning messages that are just pure informational messages.
    • fixed problem that after an update of a homematicIP device firmware the device was automatically deleted and routed in the incoming folder. Now HmIP devices should automatically get channels updated once a firmware update contains differences in the channel setup. This should also remove the requirement to manually delete and re-teach a HmIP device after its firmware was updated.
    • added AutoIP fallback support for network environments without any DHCP server.
    • changed time synchronization interval for the RF-coprocessor to “every 6 hours” rather than being executed every 30 minutes. This should slightly reduce the DutyCycle in mostly non-busy environments.
    • integrated support for new HmIP-ASIR-O (homematicIP alarm siren – outside)
    • it is possible now to react on actual valve state changes of the HmIP-eTRV/eTRV-2/eTRV-C in WebUI programs.
    • with newer firmware versions (2.0.2+) for the HmIP-eTRV/eTRV-2/eTRV-C a new “ultra-silent” mode can be set in the channel parameters which should make these devices more silent during normal operations.
    • fixed a minor bug related to delivery of UPnP-based status messages.
    • a problem was fixed when trying to delete direct connections with the HmIP-RCV-50 (virtual remote control) device.
    • the filter for the device list could not filter for “BidCos-RF/Wired” devices in the WebUI.
    • fixed problem where the switch on/off duration within easymode profiles could be switched to “not active” while other settings are already set in the WebUI.
    • fixed WebUI issue with not displaying the channel parameters for HmIP-FCI1/6 devices.
    • fixed WebUI issue with HmIP-BSL not being able to be switched in the weekly program definitions.
  • integrated some quick fixes for issues which showed up with the recent CCU 3.45.5 firmware release:
    • fix for the broken channel parameter display for HmIP heating groups.
    • fix for the broken CCU addon installation routines.
    • WebUI fix for broken off-profile display for the long keypresses in the virtual receiver switch parameter display.
  • implemented a process/service watchdog/monitoring implementation using Monit. This process watchdog automatically takes care if a service (e.g. ReGaHss) crashes and then automatically restarts it and also notifies the user of the occurred restart event using an alarm message in the WebUI. This should greatly improve service reliability (NOTE: Users of the third-party hm-watchdog CCU add-on are asked to remove this addon because this internal watchdog functionality is a replacement for it). Please note that Addon developers can add own Monit configuration files in /usr/local/etc/ with pattern monit*.cfg to add their own services to the Monit monitoring engine. Currently, this new process/service watchdog monitors the following services and events per default:
    • HomeMatic specific services:
      • ReGaHss logic engine daemon (/bin/ReGaHss)
      • HMIPServer homematicIP daemon (/opt/HMServer/HMIPServer.jar)
      • rfd BidCos-RF daemon (/bin/rfd)
      • hs485 BidCos-Wired daemon (/bin/hs485dLoader)
      • multimac daemon (/bin/multimacd)
      • LED control daemon (/bin/hss_led)
      • eq3config daemon (/bin/eq3configd)
      • ssdp UPnP daemon (/bin/ssdpd)
      • LAN gateway mode daemon (/bin/hmlangw)
    • Linux-system services:
      • lighttpd web server daemon (/usr/sbin/lighttpd)
      • cronjob daemon (/usr/sbin/crond)
      • hardware control watchdog daemon (/sbin/watchdog)
      • syslog/klog daemon (/sbin/syslogd, /sbin/klogd)
      • udev control daemon (/sbin/udevd)
      • irqbalance control daemon (/usr/sbin/irqbalance)
      • random number generator daemon (/usr/sbin/rngd)
      • dbus message bus daemon (/usr/bin/dbus-daemon)
      • network interface plug/unplug daemon (/usr/sbin/ifplugd)
      • chrony/NTP network time synchronization daemon (/usr/sbin/chronyd)
      • SSH daemon (/usr/sbin/sshd)
    • Additional alarm notifications are emitted
      • if the NTP offset time is > 1 second for more than 1 minute
      • if HTTPS certificate is about to expire in < 30 days
      • if high CPU usage (> 95%) is detected for more than 1 minute
      • if high memory usage (> 95%) is detected for more than 1 minute
      • if high system temperature (> 80 deg) is detected for more than 1 minute
      • if root filesystem (/) is running on low disk space (< 5%) for more than 1 minute
      • if user filesystem (/usr/local) is running on low disk space (< 5%) for more than 1 minute
      • if connected USB device (/media/usb1) is running on low disk space (< 5%) for more than 1 minute
      • if ethernet interface (eth0) has link down or changes link speed unexpectedly
      • if wifi interface (wlan0) has link down but should be enabled
      • if internet connection is down for more than 1 minute
  • fixed bug in restoreBackup.sh helper script which accidentally required a signature.sha256 file to be present (#560).
  • integrated a general fix for control_panel.cgi so that Add-on button column sorting is correct even if some buttons are disabled due to missing features in the various CCU generations/feature sets.
  • modified ntpdate calls to use an unprivileged port for outgoing packets, as chrony already does. This should prevent NTP packets get filtered by some snake-oil security filtering on UDP packets with same src and dst port (@hoedlmoser).
  • updated libfirewall.tcl to use correct icmpv6 types. This should solve certain errors when setting up the firewall (@libertyx82).
  • retired the additional cryptool type checking of backup archive consistency when using restoreBackup.sh script (#566).
  • performed minor optimizations to backup/restore routines where incorrect file modification times could have caused an invalid extraction/creation of a firmware or backup archive.
  • raised Linux kernel version for RaspberryPi and ASUS Tinkerboard to the new major LTS 4.19.x kernel line and also added full device tree overlay support for ASUS Tinkerboard as well as updated the RaspberryPi firmwares accordingly.
  • updated buildroot/Linux version to latest stable 2019.02 version.
  • updated java version to latest stable JAVA8 version (1.8.0_202-
  • modified default linux kernel config and added define CONFIG_DEBUG_USER. This allows to use the kernel command-line user_debug=X now to enable/disable certain segfault debugging messages in the linux kernel itself.
  • modified recovery system startup to only wait a maximum of 20 seconds while trying to mount the rootfs (e.g. if it is stored on an external USB device) so that startup should not stall endlessly.
  • fixed HMIPServer startup to start HMServer.jar in case no RF-module is installed. This should fix the typical VirtualDevices error messages if RaspberryMatic is used without any GPIO-based RF-module.
  • modified recovery system to also use chrony as the main network time synchronization daemon (NTPd).
  • modified SetInterfaceClock cronjob execution to be performed 4x per day (every 6 hours) rather than only once so that the interface clock of the used rf-module is synchronized regularly enough while not increasing the DutyCycle unnecessarily at the same time (@hoedlmoser).
  • fixed broken support for onboard-WiFi of the ASUS Tinkerboard (#380).
  • minor bugfixes and cosmetic changes.

👪 Contributors (alphabetically):

📝 Support:
For support on installation and help please visit the following (german speaking) help fora:

RaspberryMatic – Installation/Update Guide 🇩🇪
RaspberryMatic – Forum 🇩🇪

💻 Download:
The following installation archives (.zip files) can be downloaded for selected hardware platforms (including a .tgz update archive to upgrade from a CCU3 firmware to RaspberryMatic). To verify their integrity a sha256 checksum is listed as well. Please upload these zip files using the WebUI-based update mechanism available: