This is release 3.79.6.20250118 of RaspberryMatic which is a maintenance release with the following bugfixes and feature changes:
Hier klicken für deutschsprachige 🇩🇪🇦🇹🇨🇭 Version des ChangeLogs/Diskussionsbeitrag
🚧 Changes:
For all changes, see the full commit log.
CCU/HomeMatic service changes:
- bdb417c5b - updated OCCU version to 3.79.6-9 which comes with the following changes:
- update
ReGaHss
logic engine to versionR1.00.0388.0248 (Jan 9 2025)
:- fix operator= hierarchy issues resulting in e.g. favorites management being broken recently (cf. #2975).
- fix default exec block timeout limit not being set correctly. Now a blocking
system.Exec()
call should be perfectly terminated after the default (10 seconds) of blocking. - implemented a
system.Exec()
child execution time monitoring where upon using blocking calls (catching stdout/stderr, no & at the command end) the blocking time duration is monitored and if the used command blocks more than 3 seconds a warning log output is produced with a repeated interval of 1 second. In addition, upon reaching a maximum blocking time (default 10000 ms) the exec child is forcefully killed so that the main process is not blocked for a too long time. Note, that the default maximum block time can be globally modified via a newsystem.MaxExecBlockTime()
script command which takes the time limit in milliseconds. Furthermore, with everysystem.Exec()
execution a user can explicitly override the default by specifying the time limit in milliseconds as the fifth command parameter. Last, not least if such an explicit time limit is specified forsystem.Exec()
as the fifth parameter even non-blockingsystem.Exec()
calls will forcefully kill its exec child so that this new monitor+kill functionality can now be used instead of potentially having to put a "timeout XX" statement before suchsystem.Exec()
executions which otherwise could take forever, thus blocking system resources for a too long time. system.Exec()
calls will now properly detach all file descriptors uponexecl()
execution so that upon a vanishing parent the children won't block any network ports or other file descriptors. This should make the exec calls more independent from the main ReGaHss process.- reworked
system.Exec()
to usesetsid()
to promote the generated exec childs as dedicated process group leaders with an own PGID group id. This makes it possible to kill the exec child based on its PGID to ensure all of its potential children are killed as well then. - fix
/bin/hm_deldev
execution to not block any parent file descriptors upon termination by setting all fds toCLOEXEC
. - optimize rega startup procedure to make sure hm_startup execution won't block any parent process file descriptors by setting
CLOEXEC
on all fds upon execution ofexecl()
. Furthermore signal catching now usessigwait()
instead of a suboptimal while/sleep combination. - fix operator= overload hierarchy to be GCC13 compatible and slightly reworked some operator= methods to not use pointers but references like the other operator= methods.
- upon reaching the maximum parallel http connections we print warning and error messages rather than just info syslog messages so that users are informed way earlier that they are having too many parallel HTTP listeners or too many blocking http sessions.
- rework
ExecProcess()
to usefreopen()
for stdout/stderr redirection to to better comply with common standards. In addition, standard logging output routines are used to output potential error output to syslog correctly.
- update
- 27c107722 - increase number of cycles from 5 to 20 for all homematic relevant service port restart jobs in the monit configuration. This should increase the max time from 65 seconds to 260 seconds before a service (e.g. ReGaHss) is forced restarted due to being assumed to be dead. This change should help large installations with lots of devices and functions/rooms to not exceed waiting limits and thus risk to get ReGaHss force restarted. (cf. #2975 (comment))
- ac4bd0978 - fix file/dir exclude statements in
createBackup.sh
which resulted intmp
andlost+found
being part of a backup, which should not have been the case. - c1af612e6 - bump default
HttpListenerMaxConnections
value inrega.conf
to 24 so that busy systems can handle more parallel http requests in ReGaHss. - 2816d267c - add external port definitions for haus-bus.de device communication (5855/udp) and webui admin port (8911/tcp) (#2940).
WebUI changes:
- ce3947eb7 - Add new 0196-WebUI-Fix-FilterOfTwoColumnControlPages WebUI patch which enhances the device, functions and room status display page to correctly synchronize the two columns if a filter is set/unset (#2973, #2974, @Weseler485)
- 6071b81c9 - add new 0195-WebUI-Fix-MissingDimmerDefinition WebUI patch to fix missing channel (ch) variable definitions in certain easymode dimmer receiver files which resulted in undefined variable exceptions (#2961).
- 1ad619812 - revise 0186-WebUI-Fix-HmIPW-DRI16_DRI32-Channel WebUI bugfix patch to address a regression with HmIP-MOD-RC8 requiring the original operating mode settings (#2736).
- 50ab94875 - add fix to 0119-WebUI-Fix-ProofAndSetValue WebUI patch which ensures that for METER_CONSTANT_ENERGY (HmIP-ESI+ES-LED) the min/max value is not using a float value (#2937).
Operating system changes:
- ff3ab66d8 - modify default dhcp client options in busybox config so that no "-R" option is used to release the IP address. Furthermore, the checkDHCP script has been synchronized to carry the same dhcp options.
- f50d30d24 - turn wifi power saving mode off per default in case wifi is used. (cf. https://www.heise.de/select/ct/2025/2/2405112065799406298).
- 8b99c1c20 - update rpi-eeprom to pieeprom-2024-12-07.bin (bcm2711) and pieeprom-2025-01-14.bin (bcm2712).
- 72898fbca - update qemu guest agent to latest 9.2.0
- a1ba9c462 - update buildroot to latest 2024.11.1
- e48727f81 - bump upstream kernel from 6.6.x to 6.12.x for all platforms excluding all RaspberryPis where the upstream kernel is still based on kernel 6.6.x. This includes introduction of own 6.12.x kernel configs and two required upstream patches to bump strace to latest 6.12 version compatible with kernel 6.12. Furthermore, a new linux-tools-hyperv-fix upstream buildroot patch will fix the changed sources of the hyperv fbcopy tool compiled for the OVA platform builds.
- cd7cf8e8e - update upstream kernel to 6.12.9
- 121f6b60a - Add another kernel 6.11 compatibility patch for
generic_raw_uart
to define theraw_uart_driver##_remove()
function with a void return to comply with kernel changes in 6.11. - d72fdc546 - Add all BCM2712 device trees to RPi 5 platform image so that other/newer rpi5 variants (compute module 5, etc.) will have proper device trees (cf. home-assistant/operating-system#3782)
- c917d6e2f - fix chrony init startup filename to use "chronyd" so that with buildroot 2024.11 the buildroo's own init file is correctly removed again.
- 0239cd18f - add new buildroot upstream patch to downgrade nodejs from v22 to v20 because the v22 version does not seem to build cleanly with opensslv3 resulting in compiler errors due to missing
RAND_STATUS
function definitions. - 75283404b - make sure to run logrotate 4 times per day instead of just once during night and also create a maximum of two rotated copies per logfile so that on a busy system logfiles won't overrun the /var filesystem (refs #2970)
- 4cf982f68 - add kernel 6.11 and 6.12 patches to get generic_raw_uart compiled for kernel 6.11+ onwards.
- c05497002 - add 0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch to get eq3_char_loop compiled for kernel 6.12+ onwards.
- 2e2e1eb0c - rename tailscale package to tailscale-bin to make it does not conflict with buildroot's own upcoming tailscale package with 2024.11.
- 1863e8b53 - update tailscale to 1.78.1 (#2963)
- bcf7eaf5c - Remove Z3FOLD option from kernel config of all targets (refs home-assistant/operating-system#3755)
- df7f55c01 - Disable UAS via usb-storage.quirks on RPi for JMicron JMS583 (152d:a583) (refs home-assistant/operating-system@a042dc0)
- 250415af2 - Enable Cypress M8 USB serial driver for all targets (refs home-assistant/operating-system#3693)
- 954335c06 - globally enable TCPMSS netfilter kernel option to address potential issues with wireguard support on different platforms. This refs home-assistant/operating-system#3739
- d6818f7a6 - bump rpi-firmware version to latest 1.20241126 to comply with rpi kernel bump.
- 1b3efc8b1 - update rpi kernel to dd2394360860d15146c96635796a75b05bb32b61 (6.6.62) version to be in line what RPiOS uses lately.
- 8b501e368 - add new 0019-brcmfmac_sdio-firmware-update buildroot upstream patch to update the BCM43455 SDIO firmware fixing some 'brcmf_set_channel:' errors (cf. home-assistant/operating-system#3719).
- 178c1342a - fix issues in healthcheck and console output for HA proxy addon.
- 0cc873538 - catch case if /sys/fs/cgroup/memory.max is set to max and also get memory info via /proc/meminfo and not via free cmd for more reliability.
- 5c0cddb6a - use /sys/fs/cgroup/memory.max as maximum memory metric instead of the output of the free command in case RaspberryMatic is used in a memory limiting container environment so that HMIPServer won't consume and overly amount of host memory.
- ea55154a1 - add ha-proxy monit monitoring for HA addon platform.
- 2c62786e1 - remove rpi5-initial-support.patch for U-Boot because changes have already been integrated in 2024.10 version of U-Boot.
- c290c2b70 - update U-Boot to latest 2024.10 version for all supported platforms.
👪 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):
-
RaspberryPi5 Model B – (installation):
📦 RaspberryMatic-3.79.6.20250118-rpi5.zip
SHA256: eeddd86697115f7c31579b600f424e778e132c25f40910547d60353a542045fb -
RaspberryPi4 Model B, RaspberryPi Compute Module 4, RaspberryPi 400 – (installation):
📦 RaspberryMatic-3.79.6.20250118-rpi4.zip
SHA256: edbb995b415bdd2b843d022c0734ff67c9f6d3d55df31a5346b4b0fa84459677 -
CCU3, ELV-Charly, RaspberryPi3 Model B+, RaspberryPi3 Model B, RaspberryPi3 Model A+, RaspberryPi Compute Module 3, RaspberryPi Compute Module 3 lite, RaspberryPi Zero 2 W – (installation):
📦 RaspberryMatic-3.79.6.20250118-rpi3.zip
SHA256: 884ae3659a4534ae3264fa9f63daa82d7969c37e544b0f2993b2ac5bafb1e2a1
📦 RaspberryMatic-3.79.6.20250118-ccu3.tgz (only for initial CCU3 Firmware -> RaspberryMatic Upgrade)
SHA256: 3c67b1e97c93b2988e98349f67f1ab4db7f7857ad42bc1f19a203fe962c685f3 -
RaspberryPi2 Model B – (installation):
📦 RaspberryMatic-3.79.6.20250118-rpi2.zip
SHA256: b83aadbada2e1c5bfc280107a49381e0d3f0cea56febbff8a4b88a776e098484 -
RaspberryPi Zero W, RaspberryPi Zero, RaspberryPi Compute Module 1, RaspberryPi1 (A+/B+) – (installation):
📦 RaspberryMatic-3.79.6.20250118-rpi0.zip
SHA256: 70340d6d46321474646e597577ce2f85632590f815b49aa67b9c0f9e499269d8 -
TinkerBoard S, TinkerBoard – (installation):
📦 RaspberryMatic-3.79.6.20250118-tinkerboard.zip
SHA256: cdc588123802a91d3c2a293b2914b6f617e56d987ca1ae5067e0eeb48ab447bc -
ODROID-N2/N2+/C4/C2 – (installation):
📦 RaspberryMatic-3.79.6.20250118-odroid-n2.zip
SHA256: 5164cff5488ed94c963c63e528bed4768b4432ff9390dca64970b4655f18a3d7
📦 RaspberryMatic-3.79.6.20250118-odroid-c4.zip
SHA256: 1938500bb2d1c7a79b08fa4a2bf6a5a2b3360f56e0db768072de64067bcfa89e
📦 RaspberryMatic-3.79.6.20250118-odroid-c2.zip
SHA256: a9dcd772f7bfb0c03f468743a4f2d51190f914d2e59281f358dcd43412fbeec0 -
Generic-x86_64 – (installation):
📦 RaspberryMatic-3.79.6.20250118-generic-x86_64.zip
SHA256: b6c8feb8730bfd68777cbdec827a6b543900471a44d1856a1449ac2ad1cab9c1 -
Open Virtual Appliance (OVA) – (ProxmoxVE, VirtualBox, ESXi, Synology, QNAP, Workstation Player, QEmu, UNRAID, HyperV):
📦 RaspberryMatic-3.79.6.20250118-ova.zip
SHA256: 6b9700a4ed6aef67d42b27f0622cf49f008a8bbbbbeb47828015dc25fbd680ae
📦 RaspberryMatic-3.79.6.20250118.ova (only for initial OVA installation)
SHA256: a68193a79b97cfda91261db53c03604a5a31f6f43e59edfa1bf24a9c9fa1476a -
Docker / Open Container Initiative (OCI) – virtual appliance (installation):
📦 RaspberryMatic-3.79.6.20250118-oci_amd64.tgz (amd64/x86_64)
SHA256: abb61ed9c29f7fbee66143b220e050073da45529dd9aab55756ed9083acc40bb
📦 RaspberryMatic-3.79.6.20250118-oci_arm64.tgz (arm64/aarch64)
SHA256: bdb2fbf5903d8f02f3402f8100edd85b7b80e6664f7d2288646c60e591ed76df
📦 RaspberryMatic-3.79.6.20250118-oci_arm.tgz (arm/armhf)
SHA256: d8046c55f6e95d26d142e3a7bed3dbc7638660b0c4ad2da32fa4f41c49ecdf48 -
LXC Container – virtual appliance (installation):
📦 RaspberryMatic-3.79.6.20250118-lxc_amd64.tar.xz (amd64/x86_64)
SHA256: 8223bc5ee4ca1c0c311b3f4ba758995bbd12a4e14863eb0e4bf56a60593fd7c0
📦 RaspberryMatic-3.79.6.20250118-lxc_arm64.tar.xz (arm64/aarch64)
SHA256: c06163d7556a661d60682bff0428a88e81223569a4265bf317561de922684af2
📦 RaspberryMatic-3.79.6.20250118-lxc_arm.tar.xz (arm/armhf)
SHA256: 12e7f35225367f43011b1105b6bfa6689b179a294196b0545765438d5a13b993 -
Generic-aarch64 Appliance – (ProxmoxVE):
📦 RaspberryMatic-3.79.6.20250118-generic-aarch64.zip
SHA256: 6015b14c831c21439a717e3857164e399b4933f796365a9e4d7edcba56da4c1b -
Kubernetes / K8s – virtual appliance:
see install documentation -
Home Assistant Add-on – virtual appliance:
see install documentation