Created with Sketch.

This is release of RaspberryMatic which is a MAJOR release with lots bugfixes and feature changes including the following changes:

Downloads License Donate

Hier klicken fΓΌr deutsche πŸ‡©πŸ‡ͺ Version des ChangeLogs/Diskussionsbeitrag

🚧 Changes:

Major changes:

  • implemented support to install RaspberryMatic as a full-fledged add-on under Home Assistant. RaspberryMatic can now be installed as an Add-on under Home Assistant OS, allowing to run other integrations and add-ons in parallel rather than exclusively using a single system for RaspberryMatic only (cf. documentation, #1087).
    Please note: The Home Assistant add-on implementation of RaspberryMatic is still in beta quality. Furthermore, due to the restrictive docker-based nature of Home Assistant, some of the features require additional operating system modules which are not yet available. This currently limits the HomeMatic/homematicIP connectivity to the use of the HmIP-RFUSB, HM-LGW-O-TW-W-EU, HM-CFG-USB-2, HM-CFG-LAN and HMW-LGW-O-DR-GS-EU gateway hardware. Support for e.g. the GPIO-based RF modules (RPI-RF-MOD, HM-MOD-RPI-PCB) is currently under development (see #1087).
  • implemented basic support to run RaspberryMatic in Docker or Open Container Initiative (OCI) based environments. Now, RaspberryMatic can run in existing amd64, aarch64 or armhf environments (e.g. Linux, Windows, etc.) on which Docker can be installed and used to run virtual appliances (cf. documentation, #786, @angelnu).
  • added basic support for installing the new RaspberryMatic docker implementation in Kubernetes/K8s driven environments including integration of the respective Helm Charts on ArtifactHub for installing it in a package manager type of fashion. (cf. documentation, @angelnu).
  • Added support for the HB-RF-ETH adapter PCB allowing to connect a RPI-RF-MOD/HM-MOD-RPI-PCB via Ethernet/LAN to RaspberryMatic (cf. https://homematic-forum.de/forum/viewtopic.php?f=76&t=60150). This PCB – kindly developed by @alexreinert – allows to put the required HomeMatic/homematicIP RF module somewhere in the local network and connect it to RaspberryMatic via its ip address. For the basic setup in RaspberryMatic, a new config file (/etc/config/hb_rf_eth) have to be created containing the local ip address of the running HB-RF-ETH. After reboot RaspberryMatic should then automatically try to connect to the HB-RF-ETH using it as the respective RF module gateway (#873).
    Please note: Support for the HB-RF-ETH is still experimental. Due to development dependencies, the kernel driver and the firmware of the HB-RF-ETH have a strong dependency. Therefore, any future firmware update applied to the HB-RF-ETH should be carefully cross-checked to the used RaspberryMatic version and the used kernel driver version. Thus, the hb-rf-eth kernel driver in this version is based on 1.14, which is known to be compatible up to HB-RF-ETH firmware version 1.2.9.

CCU/HomeMatic service changes:

  • updated OCCU version to 3.55.10-2 integrating full compatibility to the CCU3 3.55.10 firmware which comes with the following minor changes:
    • some config parameters of HomeMatic or homematicIP devices could not be edited correctly.
    • correction of the default config values of the HmIP-SCTH230.
  • integrated support for the HB-RF-ETH in the Monit-Watchdog. Now a WatchDog alarm will be automatically raised as soon as the HB-RF-ETH is identified as not running for more than 13 seconds.
  • enabled Adapter.Local.Device.Enabled in case a RPI-RF-MOD is used. This will bring up an additional device for the RF module which will allow to show up the DutyCycle and CarrierSense parameters.
  • added a Carrier Sense monitoring. Now, if an RPI-RF-MOD, HmIP-CCU3 or HmIP-HAP device is found to be present its CARRIER_SENSE_LEVEL parameter is queried and in case it reaches >80% a warning is added to the syslog. Furthermore, if the carrier sense level reaches >= 98% a “CarrierSense-Alarm” is triggered so that users are notified.
  • updated generic_raw_uart package to lastest master commit.
  • updated detect_radio_module tool to latest version potentially fixing issue in recognition of modules.
  • fixed /bin/hm_autoconf to use latin1/iso-8859-1 encoding to be more compatible to ReGaHss internals.
  • modified the DutyCycle display and monitoring by adding support to show the DutyCycle of HmIP-HAP gateways on the main start page and also adapted the used progress bar class with a more reliable class displaying the bar with correct values and to display DC bars for up to 15 gateways. Furthermore, DC alarms will also be triggered now for the HmIP-HAP and also the availability of HmIPW-DRAP gateways will now be monitored and an alarm will be triggered in case an associated HmIPW-DRAP is not reachable anymore (#1019, #605, @jp112sdl).
  • fixed the multimacd Monit-WatchDog check to use /var/etc/multimacd.conf rather than /dev/eq3loop.
  • implemented a new mechanisms to set a custom storage path for e.g. storing the diagrams and nightly backup in a user configurable path. Now users can set an own path in /etc/config/CustomStoragePath which should be used as a storage. This should allow to specify, e.g. a network path or a path on an external storage drive, which is not as problematic as storing this regularly changed data on a microSD card device. Thus, by configuring this custom storage path, no external USB media is necessary anymore (#914).

WebUI changes:

  • modified 0088-WebUI-Fix-MissingJSONMethods WebUI Bugfix Patch to include another missing JSON method file (/www/api/methods/ccu/getversion.tcl) which prevented the CCU.getVersion JSON API method to work correctly (#1123).
  • modified 0097-WebUI-SetSysvarValueByUser WebUI patch and integrated a fix when trying to modify the content of system variables so that the reserved ' and \ characters are properly stripped now. (#1111, @jp112sdl).
  • modified 0001-RaspberryMatic WebUI patch to not use top.window.location.href but use window.location.href instead. This should allow to have the RaspberryMatic WebUI more easily embedded in framed environments on other pages.
  • added new 0110-WebUI-Fix-cp_software-Typo WebUI bugfix patch fixing a typo in cp_software.cgi (cf. eq-3/occu#110).
  • added new 0109-WebUI-Fix-SystemLanguageDefaultNames WebUI bugfix patch which fixes issues with just internally used ${...} placeholders being exported to the external APIs (e.g. XML-RPC, JSON-RPC, ReGa-scripting, etc.). This issue is known as “Klarnamenbug” and is now fixed by letting users select a global “system language” that is then used once to rename these internal placeholders (rooms, functions, system variables) to the user selected system language (#1070, @jp112sdl).
  • modified 0001-RaspberryMatic and 0012-WebUI-RecoveryButton WebUI patches to disable unnecessary WebUI features if running in a Docker/OCI environment (#1093).
  • modified 0039-WebUI-Fix-Style-Glitches WebUI patch to use a <br/> in the “Baumstruktur ΓΆffnen” Button for a more smooth display.
  • added new 0108-WebUI-ShowInvisibleHmIPChannelsInPrograms WebUI patch which allows to select non-visible HmIP channels in programs (in the condition and activity part) to be more in line to the official WebUI documentation.
  • added new 0107-WebUI-Fix-rgbw.fn-CheckMetaDataIsNotNULL WebUI bugfix patch which fixes ScriptRuntimeError messages when showing the config elements of RGB color chooser elements (#1052, @jp112sdl).
  • added new 0106-WebUI-Improvement-TreatOPERATOR_NONEasOPERATOR_OR WebUI patch which allows to correctly edit WebUI programs of internal system programs as well (#462, @jp112sdl).
  • added new 0105-WebUI-Fix-DeviceInBoxHmIPOnly WebUI bugfix patch which fixes false error messages when only using a HmIP-RFUSB, thus only having HmIP teach-in mode available. There, the teach-in mode always complained about not being able to start
    the old BidCos-RF (HomeMatic) mode (#372).
  • added new 0104-WebUI-Add-AssignFunctionAndRoomToHmRFChan0 WebUI patch which will display all channel :0 maintenane channels per default to allow to assign it to rooms and functions more easily (#976, @jp112sdl).
  • added new 0102-WebUI-Fix-TrailingNewLineInFirewallIPTextarea WebUI Bugfix Patch which ensures that within the IP address text area whitespaces are trimmed accordingly (#1038, @jp112sdl).
  • added new 0101-WebUI-Fix-JSON-describe WebUI Bugfix Patch fixing an issue with malformed JSON being returned with system.describe (#1037).

Operating system changes:

  • optimized fancontrol() in /opt/argononed/argononed.sh according to suggestions provided (#1116).
  • integrated a new Monit WatchDog check which will regularly check any existing /sys/block/<diskid>/device/life_time entry
    and raise a watchdog alarm in case the life time value exceeds 90%. This check should come handy on systems with onboard or external eMMC storage solutions (e.g. ASUS Tinkerboard) and will regularly monitor the health status of the eMMC wear leveling.
  • updated Monit to latest stable 5.27.2 to integrate important bugfixes (#1114).
  • updated RaspberryPi kernel+firmware to latest kernel 5.4.83 LTS version.
  • updated linux kernel versions of intelNUC, OVA and Tinkerboard platform to latest 5.4.94 LTS version.
  • updated rpi-eeprom buildroot package to include pieeprom-2021-01-16.bin for RaspberryPi4 type platforms.
  • updated e1000e package to use latest 3.8.7 version.
  • updated JAVA version latest LTS version.
  • updated buildroot/Linux environment to latest 2020.11.2 version.
  • added /etc/profile.d/node-path.sh to have NODE_PATH setup correctly upon login so that nodejs executions find all third-party modules correctly.
  • users can now also put a SetupWIFI file in /etc/config to get the WiFi connection setup done semi-automatically upon boot-up.
  • fixed all shell scripts so that the shellcheck linter check hopefully won’t complain anymore.
  • enable memory and CPU hotplugging for ova platform. Similar to home-assistant/operating-system#1156 we use an udev rule to set the CPU online. For memory, we let the kernel bring memory online automatically.
  • added own S13irqbalance to let it create /run/irqbalance, thus prevent a warning message in syslog.
  • added missing CONFIG_PID_FILE_PATH which prevented crond special times features (@yearly, @monthly, etc.) from working correctly.
  • add CONFIG_X86_INTEL_LPSS=y to intelnuc config to ensure proper eMMC support (cf. home-assistant/operating-system#1112)
  • added a fix for ensuring that a RaspberryPi400 boots properly in 64bit mode when using a USB media (cf. home-assistant/operating-system#1134)
  • replaced the ova platform only check for placing the diagram and backup files in the old /usr/local/sdcard directory (e.g. on the local directory) with a check for non-mcc (SD card) medias in general. This should enable USB-booted RaspberryMatic versions to automatically use /usr/local/sdcard rather than forcing users to insert an USB drive for storing diagrams and daily backups (#1026).
  • we make sure that the HM_LED_XXX trigger variables are never empty so that a “write error” should never happen in case the rootfs device trigger can not be correctly identified (#1028).
  • removed CONFIG_PGTABLE_MAPPING because it is retired in newer kernel versions because it may cause problems (cf. home-assistant/operating-system#1132).
  • made sure to have the disk-activity LED trigger available on all platforms.
  • make sure that root:root is the owner:group of /usr/local/etc and other dirs relevant for secure SSH execution (cf. https://homematic-forum.de/forum/viewtopic.php?p=630194#p630121).
  • added usb-host LED trigger support to kernel defconfig to potentially allow to use this to monitor usb device activity (#1028).

For full changes, see the full commit log.

πŸ‘ͺ Contributors (alphabetically):

πŸ“ Support:

For support on installation and help please visit the following web pages:

RaspberryMatic – Documentation πŸ‡ΊπŸ‡Έ
RaspberryMatic – Discussions πŸ‡ΊπŸ‡Έ
RaspberryMatic – Dokumentation πŸ‡©πŸ‡ͺ
RaspberryMatic – Forum πŸ‡©πŸ‡ͺ

πŸ“¦ Download:

The following installation archives can be downloaded for different hardware platforms. To verify their integrity a sha256 checksum is provided as well. You can either upload these files using the WebUI-based update mechanism or unarchive them to e.g. flash the included *.img files on a fresh installation media (e.g. microSD card):