2023-12-17 CCU3 RedMatic Update
Großupgrade
Für meine Hausautomatisation verwende ich eine
⎇Homematic IP CCU3 und programmiere diese mit
⎇Node-RED bzw.
⎇RedMatic. Bei RedMatic handelt es sich um eine Zusatzsoftware für die CCU3, welche die nötigen Node-RED-Komponenten und Homeatic-Nodes in einem einfach zu installierendem Paket bereitstellt. Leider handelt es sich bei dem offiziellen GitHub-Projekt um Abandonware. Das wird mir jetzt zum Problem, wo ich mein Yamaha CD-NT670D per
⎇node-red-contrib-musiccast steuern möchte, was eine neuere Node-Red Version voraussetzt, als RedMatic mitliefert.
Glücklicherweise stellt im
⎇HomeMatic-Forum der User Henke für das CCU3 Alternativbetriebssystem
⎇RaspberryMatic eine Upgrademöglichkeit bereit. (Hier eine Erklärung was RaspberryMatic ist:
https://www.verdrahtet.info/2020/02/09/ccu-oder-raspberrymatic/ )
Wem der Wechsel des Betriebssystems zu heiß ist, für den bleibt IMHO nur eine Node-RED Installation auf einem Zweitsystem. Zum Beispiel auf einem weiteren
⎇RaspberryPi. Interessant könnte hier auch der
⎇node-red-contrib-ccu Fork sein.
Hier meine Installationslogs des Upgradeprozesses:
Update von:
- CCU3 3.73.9
- RedMatic 7.2.1
- Node-Red 1.2.9
auf
- RaspberryMatic 3.73.9.20231130
- RedMatic 7.3.4
- Node-Red 3.1.3
Wechsel auf RaspberryMatic
1. In Node-Red alle Flow exportieren: ≡ > Exportieren > alle Flows > Download
2. ≡ > Einstellungen > Palette: Notieren was installiert ist
3. CCU3 Einstellungen > Systemsteuerung > Sicherheit > Backup erstellen
4. Ich weiß nicht, ob die Deinstallation von Zusatzsoftware wirklich nötig ist, aber ich habe erst gar keine Experimente gemacht und sie vorübergehend deinstalliert.
CCU3 Einstellungen > Systemsteuerung > Zusatzsoftware:
Redmatic deinstallieren
Mosquitto deinstallieren
5. CCU3 Einstellungen > Systemsteuerung > Zentralen-Wartung > Neustart
6. RaspberryMatic herunterladen
https://github.com/jens-maus/RaspberryMatic/releases
https://github.com/jens-maus/RaspberryMatic/releases/download/3.73.9.20231130/RaspberryMatic-3.73.9.20231130-ccu3.tgz
https://github.com/jens-maus/RaspberryMatic/releases/download/3.73.9.20231130/RaspberryMatic-3.73.9.20231130-ccu3.tgz.sha256
7. RaspberryMatic-3.73.9.20231130-ccu3.tgz.sha256 prüfen
8. CCU3 Einstellungen > Systemsteuerung > Zentralen-Wartung > Heruntergeladene Software auswählen: RaspberryMatic-3.73.9.20231130-ccu3.tgz
Hochladen (⌛8 Minuten), Sytem-Backup erstellen: Nein
Lizenzvertrag zustimmen > Installieren
Update starten (⌛8 Minuten)
Login-Seite neu laden. Jetzt muss links oben RaspberryMatic stehen.
mosquitto installieren
9. mosquitto 1.5.8+4 herunterladen:
https://github.com/homematic-community/ccu-addon-mosquitto
https://github.com/homematic-community/ccu-addon-mosquitto/releases/download/1.5.8%2B4/mosquitto-1.5.8+4.tar.gz
10. CCU3 Einstellungen > Systemsteuerung > Zusatzsoftware > Datei auswählen: mosquitto-1.5.8+4.tar.gz
Installieren (⌛ zwei Sekunden)
Installation starten (⌛ zwei Sekunden)
(Aus der vorangegangenen Config ist die Firewallfreigabe noch aktiv. Bei einer Erstinstallation entsprechend der Webseiten-Readme folgen.)
RedMatic 7.2.1 installieren
11. RedMatic 7.2.1 herunterladen:
https://github.com/rdmtc/RedMatic
https://github.com/rdmtc/RedMatic/releases/latest
https://github.com/rdmtc/RedMatic/releases/download/v7.2.1/redmatic-7.2.1.tar.gz
https://github.com/rdmtc/RedMatic/releases/download/v7.2.1/redmatic-7.2.1.tar.gz.sha256
12. redmatic-7.2.1.tar.gz.sha256 prüfen
13. CCU3 Einstellungen > Sysemsteuerung > Zusatzsoftware > Datei auswählen: redmatic-7.2.1.tar.gz
Installieren (⌛ mehrere Sekunden)
Installation starten (⌛4 Minuten + Neustart = 6 Minuten)
14. Node-RED Beispiel Flows löschen: ≡ > Flows > Löschen
15. Backup einspielen: ≡ > Import > select a file to import: Bei Punkt 1. exportierte flows.json wählen
Import
Some of the nodes you are importing already exist in your workspace.: View nodes...
Nicht angewählte Nodes anwählen und links replace aktivieren.

Import selected
(Letzten Beispiel Flow löschen)
16. Deploy ⏷ > Voll > deploy
17. Debuging log prüfen und ggf. korrigieren.
(Bei mir kam z.B. ein Fehler wegen fehlendem Längen- und Breitengrad des sun-position Nodes. Ansonsten lief alles wieder wie davor!)
RedMatic auf 7.3.4 updaten
18. CCU3 Einstellungen > Systemsteuerung > Sicherheit > Backup erstellen
19. CCU3 Einstellungen > Systemsteuerung > RedMatic:
Authentifizierung Admin: Keine Authentifizierung
Node-RED Prozess: Neustart > Normal
20. RedMatic 7.3.4 also Update-Flow herunterladen:
https://homematic-forum.de/forum/viewtopic.php?f=77&t=80581
flow-update RedMatic_v7_3_4-4.zip
21. Node-Red ≡ > Import > select a file to import: flow-update RedMatic_v7_3_4-4.json
Import
22. deploy
23. Flow "node.js aktualisieren" auswählen
24. Kommentare prüfen
25. In den folgenden Schritten wird die CCU3-Daten aus dem Internet laden. Wer seine CCU3 z.B. per Firewall vom Internet fern hält, muss sie jetzt temporär freigeben, sonst endet man mit einer defekten Node-Red Installation!
26. "Patch 7.3.4"-Injection klicken (⌛26 Minuten)
"Verbindung zum Server verloren..." ist normal. Warten...
27. Node-Red Seite neu laden!
28. "Update NodeRed, selten nötig"-Injection klicken (⌛ mehrere Minute)
29. CCU3 Einstellungen > Systemsteuerung > Zentralen-Wartung > Neustart
30. CCU3 Einstellungen > Systemsteuerung > RedMatic:
Authentifizierung Admin: Username/Passwort individuell (ReGaHSS (CCU WebUI User nutzen) gibt es nicht mehr.)
Node-RED Prozess: Neustart > Normal
Partition vergrößern
Vermutlich wird nun unter
CCU3 Einstellungen > Systemsteuerung > Zentralen-Wartung
angezeigt, das der Speicherplatz für Updates zu gering ist.

Betroffen ist hier die Partition /usr/local, welcher von der Ursprünglichen Installation nur 2GB zugewiesen bekam. Zum Glück handelt es sich bei dieser Partition um die letzte auf der Partitionstabelle. Und danach ist auf dem internen Speicher der CCU3 (von insgesamt 8GB) noch freier Platz. Die Partition kann also vergrößert werden.
31. CCU3 Einstellungen > Systemsteuerung > Sicherheit > SSH aktivieren
32. CCU3 Einstellungen > Systemsteuerung > Zentralen-Wartung > Neustart im abgesicherten Modus
33. ssh root@ccu3 (Benutzer: root, Passwort: Admin-Kennwort)
34. Situation prüfen:
# df -h /usr/local
Filesystem Size Used Available Use% Mounted on
/dev/mmcblk0p3 2.0G 191.9M 1.8G 10% /usr/local
Die Partition /usr/local hat nur 2GB.
# mount | grep /usr/local
/dev/mmcblk0p3 on /usr/local type ext4 (rw,noatime,nodiratime,commit=30)
Das Dateisystem ist ext4.
# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xdeedbeef
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 1 524288 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 524289 2621440 2097152 1G 83 Linux
/dev/mmcblk0p3 2621441 6815744 4194304 2G 83 Linux
Der interne Speicher (hier 7.4 GiB) hat noch Platz.
# umount /dev/mmcblk0p3
umount: can't unmount /usr/local: Device or resource busy
root@CCU3:~# lsof | grep /usr/local
1677 /opt/java-azul/bin/java 72 /usr/local/etc/config/eshlight/mapdb/storage.mapdb
1677 /opt/java-azul/bin/java 73 /usr/local/etc/config/eshlight/mapdb/storage.mapdb.p
1677 /opt/java-azul/bin/java 74 /usr/local/etc/config/eshlight/mapdb/storage.mapdb.t
35. Es wird noch auf Dateien auf der Partition zugegriffen. Dienste beenden und Partition trennen:
# cd /etc/init.d
# ./S00watchdog stop
# ./S62HMServer stop
# lsof | grep /usr/local
# umount /dev/mmcblk0p3
36. Jetzt ganz langsam und genau. Es muss die Partition /dev/mmcblk0p3 gelöscht werden, um sie dann auf demselben Startsektor neu anzulegen. Der Endsektor muss größer sein. Am einfachsten die maximale Größe (Vorauswahl) verwenden:
# fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.39.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): p
Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xdeedbeef
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 1 524288 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 524289 2621440 2097152 1G 83 Linux
/dev/mmcblk0p3 2621441 6815744 4194304 2G 83 Linux
Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (2621441-15523839, default 2623488): 2621441
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2621441-15523839, default 15523839):
Created a new partition 3 of type 'Linux' and of size 6.2 GiB.
Partition #3 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: n
Command (m for help): p
Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xdeedbeef
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 1 524288 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 524289 2621440 2097152 1G 83 Linux
/dev/mmcblk0p3 2621441 15523839 12902399 6.2G 83 Linux
Command (m for help): w
The partition table has been altered.
Syncing disks.
37. Das Dateisystem vergrößern:
# resize2fs /dev/mmcblk0p3
resize2fs 1.47.0 (5-Feb-2023)
Resizing the filesystem on /dev/mmcblk0p3 to 6451196 (1k) blocks.
The filesystem on /dev/mmcblk0p3 is now 6451196 (1k) blocks long.
Nochmal als Bildschirmfoto der SSH-Sitzung:
38. Neustarten:
# reboot
⍈Homepage