Administration - jens-maus/RaspberryMatic GitHub Wiki

Firmware Update/Upgrade

Firmware-Update via WebUI

Der wichtigste Punkt zuerst: Vor jedem Firmware Update/Upgrade ein Backup erstellen und dieses sicher verwahren.

Ein reguläres Firmware-Update/Upgrade findet analog zur CCU2 bzw. CCU3 wie folgt statt:

  1. Auf der alten RaspberryMatic Version mittels WebUI einloggen und unter Einstellungen -> Systemsteuerung -> Sicherheit -> Backup erstellen ein Backup der aktuellen Einstellungen/Konfiguration, etc. durchführen und die heruntergeladene *.sbk Datei sicher verwahren.

  2. Über Einstellungen -> Systemsteuerung -> Zentralen-Wartung -> Herunterladen kommt man auf die Download-Seite für die Updates. Dort die passende Update-Datei herunterladen.

    Achtung: Darauf achten die richtige Version für die verwendete Plattform herunterzuladen.

  3. Unter Einstellungen -> Systemsteuerung -> Zentralen-Wartung -> Heruntergeladene Software auswählen die Zip-Datei auswählen und dann darunter Hochladen drücken.

    Achtung: Sicherstellen das wirklich die *.zip Datei hochgeladen wird und kein ausgepacktes Archiv oder ähnliches.

  4. Nun kann es je nach Netzwerkanbindung bis zu 30 - 60 Minuten dauern, bis das Update auf die RaspberryMatic übertragen wurde.

    Achtung: Nicht den Browser schließen oder die Seite neu laden.

  5. Wenn das Hochladen fertig ist kann man durch Drücken von Start Update das eigentliche Update anstoßen. Auch das kann ggf. nochmal etliche Minuten dauern und kann auch mitunter mehrere Neustarts erzwingen. Hier kann man aber bei Bedarf nach einigen Minuten einen Refresh der momentan angezeigten WebUI durchführen und sollte dann zu einer Textausgabe kommen die den Status des Firmware-Updates anzeigt oder aber aufgefordert werden zu warten bis RaspberryMatic neu gestartet wurde.

  6. Nach dem Update begrüßt einen irgendwann wieder der Login-Bildschirm der WebUI. Ein weiterer Indikator für ein wieder hochgefahrenes System ist bei RaspberryPi oder Tinkerboard die grüne LED des Boards selbst (nicht des Funkmodules), die bei betriebsbereitem System im sogenannten "Heartbeat"-Modus regelmäßig blinkt. Bei NUC bzw. OVA Variante hilft ggf. ein Blick auf die Konsole.

Sollte es nach dem Update zu Darstellungs- oder Funktionsfehlern in der WebUI kommen, sollte der Browser-Cache gelöscht werden.

Vorgehen bei fehlgeschlagenem Update/Upgrade

Sollte das Firmware Update/Upgrade einmal wider erwarten schief gehen oder nicht durchgeführt werden können, so kann man das Update auch problemlos über das sogenannte "Recovery System" durchführen lassen. Dieses erreicht man in dem man den Button Einstellungen -> Systemsteuerung -> Zentralen-Wartung -> In Recovery Modus neustarten) dazu nutzt das System neustarten zu lassen. Danach sollte es dann normal via Webbrowser erreichbar sein, jedoch eine andere WebUI zeigen bei der mann dann auch die Möglichkeit hat Administrative Dinge vorzunehmen, um eben auch darüber ein Firmware Update/Upgrade durchführen zu lassen.

Sollte auch dieser Update/Upgrade-Pfad fehlschlagen, hat man in jedem Falle dann noch die Möglichkeit wie bei einer Neuinstallation (bei Raspberry Pi und Tinkerboard am Besten mit einer neuen SD-Karte, bei OVA ggf. eine neue VM erstellen) vorzugehen, um anschließend wenn RaspberryMatic hochgefahren ist, das vorher sicher verwahrte Backup über Einstellungen -> Systemsteuerung -> Sicherheit -> Backup zurückzuspielen.

Backup & Restore

Ein Backup enthält alle Nutzungs-/Konfigurationsdaten der RaspberryMatic (Programme, Einstellungen, usw.) sowie alle installierten CCU-Add-Ons. Mittels eines zurückgespielten Backups kann also schnell wieder ein funktionierender Zustand hergestellt werden.

HINWEIS: Backups sollten regelmäßig - mindestens jedoch vor und nach größeren Änderungen bzw. vor jedem Update auf eine neue Version - durchgeführt werden.

Backup

Manuelles Backup via WebUI

  1. In der WebUI anmelden

  2. Zu Einstellungen -> Systemsteuerung -> Sicherheit navigieren

  3. Auf den Button Backup erstellen drücken

    Die RaspberryMatic wird nun je nach Backup-Größe und verwendeter Hardware einige Sekunden bis etliche Minuten brauchen, um im Hintergrund das Backup zu erstellen um es dann an den Browser zu senden. Die WebUI bzw. der Browser-Tab sollte solange nicht verlassen werden.

  4. Wenn das Backup erstellt wurde, bietet es der Browser zum Download an und man kann es sicher verwahren

Manuelles Backup via Kommandozeile (SSH)

Hier sollte vorher entweder ein USB-Stick mit einem unterstützten Dateisystem eingesteckt sein oder anderweitig ein Backup-Speicher gemountet sein (z.B. ein NAS via NFS).

  1. Wenn noch nicht geschehen SSH über die WebUI Einstellungen -> Systemsteuerung -> Sicherheit aktivieren und ein Passwort setzen

  2. Anmelden als Benutzer root per SSH oder direkt auf der Konsole

  3. Mit folgendem Befehl kann ein Backup zum gemounteten Ziel erstellt werden:

    /bin/createBackup.sh <BACKUPDIR>

    Wobei <BACKUPDIR> durch den eigentlichen Pfad, z.B. /mnt/usb0, ersetzt werden muss.

Automatisches Backup (CronBackup) auf USB-Stick / NAS Laufwerk

Ist ein USB-Stick an der RaspberryMatic dauerhaft angeschlossen und mit einem unterstützten Dateisystem formatiert wie FAT32, NTFS, EXT4 oder F2FS, wird automatisch jede Nacht um 00:07 ein Backup auf dem USB-Stick erstellt und dort verwahrt. Ist diese Funktion nicht gewünscht kann man diese durch das Anlegen einer leeren Datei /etc/config/NoCronBackup dieses automatische, nächtliche Backup deaktivieren. Zusätzlich dazu kann man in einer Datei /etc/config/CronBackupPath einen alternativen Pfad angeben wo das nächtliche Backup gespeichert werden soll. Dies bietet sich z.B. dann an, wenn man sein NAS System sowieso via NFS oder CIFS an RaspberryMatic angebunden hat und dort das nächtliche Backup ablegen lassen will. Standardmäßig ist bei diesem sogenannten "CronBackup" eine Rotationszeit von 30 Tagen eingestellt. D.h. er wird nach 30 erfolgten, nächtlichen Backups dann die älteste Datei entsprechend überschreiben. Möchte man diese Zeitspanne verändern kann man dies in der Datei /etc/config/CronBackupMaxBackups hinterlegen. Das eintragen einer 0 in diese Datei wird dann dafür sorgen, dass unendlich viele Backups in dem angegebenen Pfad abgelegt werden und keine automatische Löschung durchgeführt wird.

Restore / Wiederherstellung

Restore via WebUI

  1. In der WebUI anmelden
  2. Zu Einstellungen -> Systemsteuerung -> Sicherheit navigieren
  3. Im Bereich Backup-Verwaltung über den Button Durchsuchen die gewünschte Backup-Datei auswählen
  4. Durch Klick auf Backup einspielen den Restore-Prozess beginnen, es dauert nun einen Moment bis das Backup zur RaspberryMatic übertragen wurde Zu beachten: Hat man einen eigenen "Sicherheitsschlüssel" vergeben, muss dieser nun zusätzlich eingegeben werden.
  5. Ein Klick auf System-Backup einspielen startet die RaspberryMatic neu und übernimmt das zuvor ausgewählte Backup.

Restore via Kommandozeile (SSH)

Die Backup-Datei muss dafür entweder vorher z.B. per SCP auf die RaspberryMatic kopiert werden oder auf einem direkt angeschlossenen Datenträger wie z.B. einem USB-Stick oder NFS mount vom NAS vorhanden sein.

  1. Via SSH-Zugang (Nutzer: root) einloggen
  2. Folgenden Befehl ausführen: /bin/restoreBackup.sh <PFAD_ZUM_BACKUP> also z.B. /bin/restoreBackup.sh /mnt/usb0/Raspberrymatic-3.51.6.20200621-2020-07-22-0110.sbk für ein Backup vom angeschlossenen USB-Stick.
  3. Nach erfolgtem Restore einen Neustart über das Kommando reboot durchführen

Danach sollte dann RaspberryMatic neustarten und das ausgewählte Backup entsprechend zurückgespielt worden sein.

CCU-Addons / Zusatzsoftware

Folgende CCU Addon Pakete sind für die verschiedenen Hardwareversionen von RaspberryMatic voll- oder nur mit gewissen Einschränkungen kompatibel:

Addon min.
Version
CCU3/ELV-Charly
RaspberryPi/Tinkerboard
Virtuell/OVA
intelNUC
Bemerkung
CUxD 2.3.3 ✔️ ✔️ Spezielle Version für x86 (intelNUC + Virtuell)
XML-API 1.2.0 ✔️ ✔️
hm_pdetect 1.7 ✔️ ✔️
E-Mail Addon 1.6.8c ✔️ ✔️
CUxD-Highcharts 1.4.5 ✔️ ✔️
HQ-WebUI 2.5.7 ✔️ ✔️
DB-Access 2.0b4 ✔️ ✔️
QuickAccess 2.1b3 ✔️ ✔️
Script-Parser 1.8 ✔️ ✔️
WebMatic 2.2.3 ✔️ ✔️
Sonos-Player 2.7 ✔️ ✔️
hm2mqtt 0.18d ✔️ ✔️
CCU-Historian 2.4.0 ✔️ ✔️
Philipe HUE Addon 2.1.13 ✔️ ✔️
Velux Addon 0.9.15 ✔️ ✔️
LGTV Addon 0.8.12 ✔️ ✔️
homeputer CL Studio ? ✔️
Print / ProgrammeDrucken 2.1 ✔️ ✔️
Check-MK 1.3.0 ✔️ ✔️ Check-MK Agent Plugin für das Monitoring des RaspberryMatic
hm-tools 0.5.0 ✔️ ✔️
JB-HB-Devices - ✔️ ✔️
HB-UW-Sen-THPL Universalsensor - ✔️ ✔️
HB-TM-Devices - ✔️ ✔️
RedMatic 7.1.1 ✔️ ✔️ OVA/IntelNUC Kompatibel ab 3.53.34.20201121
Redis Addon 3.2.11+0 ✔️
CCU-Jack - ✔️ ✔️ Je Plattform ein Installationspaket
Mosquitto 1.5.8+2 ✔️
HomeMatic Virtual Interface - ✔️
ioBroker Addon - ✔️
HAP-HomeMatic 0.0.11 ✔️ ?
hm-watchdog - Funktionalität wurde in RaspberryMatic integriert.

Status LED Funktion

Je nach eingesetzter Hardware (RaspberryPi, Tinkerboard, ODROID, etc.) werden die verschiedenen LEDs die auf diesen embedded Boards zu finden sind für gewisse Statusanzeigen durch RaspberryMatic mit verwendet wenn dieses auf diesen Boards direkt installiert ist. Folgende LED Funktionen werden hierbei abgebildet:

Beim Hochfahren/Runterfahren:

  • grüne LED: blinkt bei jeder Aktivität der genutzten SD-Karte bzw. dem genutzten Datenträger.
  • rote LED: blinkt in regelmäßigen Abständen. D.h. Es wird damit signalisiert das das System sich im administrativem Modus befindet.

Im korrekt hochgefahrenem System:

  • grüne LED: befindet sich im 'heartbeat' Modus. D.h. Diese blinkt mit zunehmender CPU Auslastung im sogenannten "Herzschlagmodus" entsprechend schneller bis hin zu einem dauerhaften leuchten wenn alle CPU Ressourcen aufgebraucht sind. Diese gibt die Auslastung des Systems wieder.
  • rote LED: blinkt bei jeder Aktivität mit der SD-Karte bzw. dem genutzten Datenträger.

Bei ordnungsgemäß heruntergefahrenem System:

  • grüne LED: blinkt in regelmäßigen Abständen.
  • rote LED: leuchtet dauerhaft. D.h. Korrekt heruntergefahren, Stromquelle kann entfernt werden.

Bei ordnungsgemäß hochgefahrenem Recovery-System:

  • grüne LED: blinkt bei jeder Aktivität der genutzten SD-Karte bzw. dem genutzten Datenträger.
  • grüne LED: befindet sich im 'heartbeat' Modus. D.h. Diese blinkt mit zunehmender CPU Auslastung im sogenannten "Herzschlagmodus" entsprechend schneller bis hin zu einem dauerhaften leuchten wenn alle CPU Ressourcen aufgebraucht sind. Diese gibt die Auslastung des Systems wieder.

Zusätzlich kann es noch LEDs auf dem jeweilig verwendeten Funkmodul (z.B. RPI-RF-MOD, HomeMatic LAN-Gateway) geben die auch einen entsprechenden Status - jedoch bezogen auf die HomeMatic Funktionalität - wiedergeben. Diese sind wie folgt:

RPI-RF-MOD

Blinkcode Auslöser Übliche Bedeutung
Dauerhaft gelbes Leuchten - Zentrale startet
Langsames blaues Blinken Kein Internet und Keine IP aber Netzwerk-Link vorhanden Verbindung zum Netzwerk wird aufgebaut
Schnelles gelbes Blinken Kein Internet und Keine IP und kein Netzwerk-Link vorhanden Keine Verbindung zum Netzwerk/Router
Dauerhaft blaues Leuchten - Standardbetrieb, Verbindung zum Netzwerk aufgebaut, keine Probleme
Schnelles blaues Blinken Kein Internet aber IP und Netzwerk-Link vorhanden Keine Internetverbindung
Dauerhaft rotes Leuchten Ein notwendiger Dienst (eq3configd, ReGaHss, ssdpd, HMIPServer, multimacd, rfd) ist nicht verfügbar System nicht bereit (mindestens eine Systemkomponente konnte nicht gestartet werden)
Abwechselnd blaues und gelbes Blinken Internet verfügbar aber Service-Meldung WebUI Service-Meldung (inkl. Deaktivierte) oder Gerätefirmware-Update vorhanden
Abwechselnd blaues und rotes Blinken Internet verfügbar aber Alarm-Meldung WebUI Alarm-Meldung vorhanden
Dauerhaft magentafarbenes Leuchten Recovery System erfolgreich gestartet
Langsames magentafarbenes Blinken - Recovery System startet
Schnelles magentafarbenes Blinken - Recovery System gestartet und Firmware-Update wird durchgeführt
⚠️ **GitHub.com Fallback** ⚠️