Created with Sketch.

This is release of RaspberryMatic which is a major feature release including the following changes:

Downloads License Donate

🚧 Changes:

CCU/HomeMatic service changes:

  • major update of OCCU firmware to 3.53.30-1 version with full compatibility to the CCU3 3.53.30 firmware which comes with the following changes:
    • Integration of HmIP-WRC2 (Homematic IP Wandtaster – flach)
    • Integration of HmIPW-WRC2 (Homematic IP Wired Wandtaster – 2-fach)
    • Integration of HmIPW-BRC2 (Homematic IP Wired Wandtaster fΓΌr Markenschalter – 2-fach)
    • Integration of HmIP-DRSI1 (Homematic IP Schaltaktor fΓΌr Hutschienenmontage)
    • Major Update for improved homematicIP LAN routing functionality:
      With the following LAN-routing changes it is now possible to connect up to two HmIP-HAP and/or HmIPW-DRAP systems to a single CCU. This allows to enhance the overall homematicIP device reachability and even have distributed HmIP-Wired installations in one house combined:

      • Integration of Homematic IP Access Point (HmIP-HAP) as a homematic IP LAN gateway:
        It is now possible to connect a Homematic IP Access Point (HmIP-HAP) as a “Homematic IP LAN Gateway” to a CCU. For this a firmware update for HmIP-HAP is integrated into the CCU firmware and can be applied via Systemsteuerung > Access Points mit inkompatibler Firmware now.
      • Major firmware update for Homematic IP Wired Access Points (HmIPW-DRAP):
        Due to major improvements in HmIP LAN Routing a HmIPW-DRAP with firmware version < 2.1 have to be forcefully updated. For this a new wizard had been added to the WebUI which will guide users to the firmware update process for a HmIPW-DRAP.
    • HmIPW-DRAP and HmIP-HAP devices will now be added as normal devices and are accessible via Einstellungen > GerΓ€te and Status und Bedienung.
    • With the device firmware version >= 1.6.0 for the HmIPW-DRBL4 and HmIP-DRBLI4 it is now possible to switch outputs so that in case of switched connections/installations they can be swapped via software accordingly. In addition, the new firmware also allows to dynamically switch between shutter and blind mode without having to manually adapt direct connections anymore.
    • The virtual HmIP remote control device had been renamed to HmIP-RCV-1.
      Please note: This change could require to adapt own scripts/programs to use the new naming in case the virtual remote control channels had been previously accessed via names.
    • Improvements of the service messages for HmIP-FALx integrated.
    • The filtering of parameters in the legacyAPI of HmIPServer is now also for events possible.
    • The multicast-routing can now be disabled for certain devices (e.g. HmIP-PSM).
    • On a fresh/clean CCU installation, the WebUI auto-login feature is now disabled per default.
    • Added a new button under Systemsteuerung to explicitly search for and update incompatible firmware versions (< 2.1.0) for HmIP-HAP and HmIPW-DRAP devices.
    • HmIP RF actors should now be faster available after a fresh CCU reboot.
    • A warning message had been added to the device detail display in case a device is part of a heating group and should be configured within the group settings instead.
    • The maximum alarm time for a HmIP-ASIR was changed to 600s.
    • Direct connections for the virtual remote control (HmIP-RCV-50) were not displayed in the WebUI.
    • It is now possible to switch between “Auto” and “Manu” mode for linked heating devices in WebUI programs.
    • It is now possible to add direct connections for a HmIP-ASIR/-O/B1/-2 to sensors of type CONDITION_SWITCH_TRANSMITTER (e.g. HmIP-SLO).
    • If a lot of rooms/functions were added, the “OK” button of filter dialogs could not be reached anymore. These dialogs can now be moved using a mouse event in the WebUI.
    • Fixed the sorting direction in the WebUI system protocol which changed with each update of the system protocol view.
    • A parser error was fixed in the XMLRPC interface of the LegacyAPI of the HMIPServer component if within a struct empty strings with string tags were provided.
    • Fixed a problem that in case a backup of a CCU2 was restored the virtual remote control device disappeared.
    • Some channels of devices were classified as “Fensterkontakt”. This had been changed to plain “Kontakt” now.
    • The misleading description for the device config parameter “Zyklische Statusmeldung” were adapted to be more easily understandable.
    • Under certain circumstances, the status value for LOWBAT channel parameters were delivered with a wrong datatype for channel 0 of virtual group devices.
    • The minimal value for the device config parameter “Filterzeitraum” of sensors were changed to 500ms because smaller values could lead to the devices not working correctly anymore.
    • The maximal value for the device config parameter “Entkalkungsfahrt” for HmIP(W)-FALxCx devices were changed to 24 days.
    • Fixed incorrect service messages that could appear in some rare cases when using HmIP(W)-FALx-Cx devices.

    In addition, the following changes upon the CCU3 3.53.30 Firmware had been integrated in OCCU 3.53.30-1:

    • updated ReGaHss logic engine R1.00.0388.0223 (Aug 27 2020) version with the following changes:
      • fixed an issue in system.Exec() where upon executing a system command that waits for stdin input could block ReGaHss execution endlessly. In addition, system.Exec() accepts an additional 4th parameter now to specify the content of stdin. This 4th optional parameter can be be e.g. used to supply information to the command execution in case a non background command is being executed (#847).
      • implemented an additional optional parameter to dom.GetObject() which will take the desired object type (e.g. OT_DEVICE, OT_CHANNEL, etc.) of a request object name or id and only return the object in question if the object type is also matched. This should allow to workaround the issue that if there are two objects with the same name but different object types, that the object can still be retrieved via dom.GetObject() which were not possible before (#876).
      • fixed issue with break and continue statements which could not be used after a nested foreach() or while() loop and only worked within the first level of a loop (#878).
      • fixed issue that the .ToFloat() function was only allowed for variables of type string while others like .ToInteger() were allowed for all vtXXX object types. This change should, thus, allow to more generally use the var datatype and always use .ToFloat() without having to forcefully convert the variable to a string type before (#883).
      • fixed a bunch of incorrect case sensitive string comparison checks to actually perform case insensitive matches because, e.g. the RFCs of HTTP protocol defines them to be case-insensitive. This should make all the HTTP related interfaces more tolerable according to the specs.
      • implemented the possibility to send RemoteApi requests also UTF-8 encoded using a Content-Type: xxx; charset=utf8 request header. If found ReGa will automatically convert the content then to ISO-8859-1 internally before using it. This should help to send RemoteApi calls using the tclrega.exe interface easier in case only utf8 encoding is possible.
      • fixed the request header parsing to actually only parse the potential header part of the request because otherwise the request content could have influenced header option evaluation.
      • fixed some severe buffer overflow issues in the internal string format routines which were mainly used by the remote API xml output functionality and which under certain circumstances could result in invalid xml output being returned (#870).
      • fixed the delayed State() functionality to also work with OT_CHANNEL and OT_PROGRAM objects which were just outputting error messages and not executing the specified delayed State() change.
  • updated NEOserver package to latest 2.5.6 version.
  • integrated full support for HB-RF-USB-2 adapter PCB to connect a RPI-RF-MOD or HM-MOD-RPI-PCB via USB to a RaspberryPi/TinkerBoard or virtual OVA based RaspberryMatic system. Many thanks go to @alexreinert for developing this nice adapter PCB and for the ongoing support in integrating it nicely into RaspberryMatic.
  • fixed an issue in the main S11InitRFHardware startup script which didn’t query/store all RF module related information correctly which in fact could end up in using an incorrect BidCos RF module address on a fresh/clean installation (#900).

WebUI changes:

  • updated 0073-WebUI-AstroDelays WebUI patch to use somewhat more verbose text phrases in the time module config window so that the Offset/Duration setting should become more obvious to standard users. Thanks to Ralf Penzler for the suggested text phrases.
  • simplified the 0076-WebUI-Fix-SuperCharScriptUse WebUI bugfix patch to use string concatenation to solve the ^ char issue rather than using a meta string to search+replace the ^ char in the WebUI script editor (#225).
  • updated 0075-WebUI-Fix-HTMLinUserFavorites WebUI patch to not use the .Trim() workaround anymore since the latest ReGa correctly works with ^^ strings again.
  • fixed 0034-WebUI-Addon-Config WebUI patch to be applicable for all supported occu platforms and not just the older arm-gnueabihf platform.
  • Added 0077-WebUI-NegateCondition to implement a combobox-driven condition negate possibility (#884, @jp112sdl).
  • improved 0026-WebUI-Fix-CacheControl WebUI patch by removing the not required “AvoidBrowserCache” URL parameter handling since this WebUI patch should have fixed all Browser Cache related issues from previous WebUI versions and the “AvoidBrowserCache” url parameter was just a workaround.
  • integrated a first version of a new WebUI Patch (0079-WebUI-Fix-SideIncNotePad) adding a fix for being able to use a = characters in device parameter strings (often used by CUxD). Previously the = character could not be used because the corresponding regular expression to split an URL parameter like CMD=A=B failed because the regexp was splitting it into CMD=A and B rather than in CMD and B. With the patch of ic_common.tcl this issue should be fixed now (#888).
  • integrated a new WebUI fix patch (0079-WebUI-Fix-SideIncNotePad) to fix the accidentally removed notepad image and possibility in then branches of WebUI programs (#908).
  • fixed neoserver addon package to allow to uninstall the neoserver completely again (#894).
  • updated integrated codemirror js editor to latest stable 5.56.0 version.

Operating system changes:

  • added basic support for the ArgonONE RaspberryPi case and Argon FAN HAT by adding a dedicated fan control daemon and basically supporting the power button on the ArgonONE case (#863, thanks to @Bono1969 for providing the test hardware).
    PLEASE NOTE: Some hardware versions of the ArgonONE/FAN HAT seem to have issues in I2C communication resulting in not correctly being recognized upon startup of RaspberryMatic.
  • added include extraconfig.txt to /boot/config.txt so that users can put own config options to a /boot/extraconfig.txt file instead of having to modify the main config.txt file.
  • added basic support for the Raspberry Pi PoE HAT for the rpi3 and rpi4 target so that an installed Raspberry Pi PoE HAT will automatically control the fan (thanks to ESPe71 for providing the necessary PoE Hat test hardware).
  • right after triggering a unclean shutdown alarm we remove the uncleanShutdown status file so that monit won’t complain all the time.
  • reverted the removal of hdmi_force_hotplug=1 from raspberrypi4 config.txt to get HDMI port activation running again.
  • added support for intel NUC10 systems by directly using the intel provided e1000e network driver version 3.8.4 which comes with support for the I219-V chipset the intel NUC10 generation uses for their ethernet network. In addition, the linux-firmware package was updated to 20200721 version which comes with updated intel iwlwifi firmwares for the intel NUC10 generation hardware. Thus adding full hardware support for the intel NUC10 hardware.
  • we always make sure to use start.elf/fixup.dat rather than letting the rpi bootloader decide on its own which one to take (any potentially the wrong one). This should make the whole raspberrypi bootup more reliable.
  • we put all rpi-firmware overlays in the bootfs partition since we have enough space there and to potentially fix issues when the rpi bootloader might automatically load an overlay which then might not exist.
  • updated generic_raw_uart driver to latest version available while excluding all HB-RF-ETH related kernel drivers from being integrated as they are not ready for integration yet.
  • updated buildroot/Linux environment to latest 2020.08 version.
  • updated Linux kernel versions to new major LTS 5.4.x version (5.4.63) for all supported platforms.
  • updated Raspberry Pi kernel+firmware to latest 1.20200819 version
  • updated Java8 Azul version to latest 8.0.265 LTS update.
  • updated wireguard-linux-compat to 1.0.20200729

πŸ‘ͺ Contributors (alphabetically):

πŸ“ Support:

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

RaspberryMatic – Installation/Update/Documentation πŸ‡©πŸ‡ͺ
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: