Skip to content
Baxxy13 edited this page Sep 27, 2023 · 63 revisions

Zusätzlich zur Standardfunktionalitäten die über die normale Weboberfläche (WebUI) konfiguriert werden können können in RaspberryMatic auch noch gewisse "Experten Features" genutzt werden. Bei diesen handelt es sich um zusätzliche Funktionalitäten die nicht nur via Kommandozeile aktiviert/deaktiviert werden müssen, sondern die mitunter auch aus gutem Grund nicht standardmäßig über eine Konfigurationsmöglichkeit in der WebUI verfügen.

Es ist daher bei den hier aufgelisteten Experten-Features etwas Vorsicht geboten, da diese mitunter auch negative Effekte auf die Stabilität/Verfügbarkeit haben können.

WLAN/WiFi Nutzung

Entgegen der Standardeinstellung RaspberryMatic nur via Ethernet/LAN anzubinden kann man es prinzipiell auch via WLAN mit seinem Heimnetzwerk verbinden.

Warnung: Dieser Weg wird aber ausdrücklich nicht empfohlen, da WLAN/WiFi nicht die Stabilität eines kabelgebundenen Netzwerkes erreicht und es zu Problemen beim Zugriff oder auch bei Abfragen von externen Ressourcen kommen kann. Daher sollte die Anbindung via WLAN nur erfolgen wenn es keinerlei andere Möglichkeit gibt.

RaspberryMatic unterstützt die folgende getestete WLAN Hardware:

Andere WLAN Hardware wurde nicht getestet und es könnte damit prinzipiell gewisse Probleme geben.

Hinweis: Ein paralleler Betrieb von LAN und WLAN Anschluss ist nicht möglich. D.h. man muss das Ethernet-Kabel abgezogen haben wenn RaspberryMatic hochfährt damit er das WLAN als präferiertes Netzwerk überhaupt initialisiert.

WLAN/WiFi Verbindung einrichten

Möchte man trotzdem dafür sorgen, dass sich RaspberryMatic statt mit einem kabelgebunden Netzwerk, mit einem existierenden WLAN/WiFi Router/Hotspot verbindet, kann man das genutzte Medium (z.B. die SD-Karte) an einen normalen PC anbinden und dort unter der FAT32-basierten Boot-Partition (/boot) eine Datei SetupWIFI (Groß-/Kleinschreibung beachten, keine Dateiendung!) mit den folgenden zwei Zeilen anlegen:

SSID
WLAN-Passwort

D.h. es darf nur 2 Zeilen in der Datei existieren. In der ersten steht der Name (SSID) des WLANs, in der zweiten Zeile der passende PreShared Key (WLAN-Passwort). Führt man dann einen Start von diesem Medium aus und lässt das Ethernet-Kabel abgesteckt, so erkennt RaspberryMatic automatisch beim Hochfahren die Existenz dieser Datei und versucht sich dann mit dem angegeben WLAN-Netzwerk zu verbinden.

Alternativ kann das auch bei einem bereits installierten/lauffähigen System durchgeführt werden. Statt die SetupWIFI Datei auf der /boot Partition anzulegen, kann man diese einfach unter /etc/config anlegen und führt einen normalen Neustart der Zentrale durch. Wird die Datei dann unter /etc/config gefunden, so legt RaspberryMatic auch hierbei die passende /etc/config/wpa_supplicant.conf Datei an, die dann die notwendigen Daten (SSID, WLAN-Passwort) des WLAN/WiFi Netzwerkes beinhaltet.

Bluetooth-Nutzung

TBD

LAN-Gateway Betrieb

RaspberryMatic kann man prinzipiell auch als reines BidCos LAN-Gateway betreiben und somit an eine CCU oder anderes RaspberryMatic angebunden werden um die Reichweite seiner BidCos-RF (HomeMatic) Geräte analog zu einem HM-LGW-O-TW-W-EU zu erweitern. Hierbei gilt allerdings zu beachten, das auf Grund von technischen Einschränkungen des LAN-Gateway-Protokolles damit keine Reichweitenverlängerung von homematicIP Geräten möglich ist. Lediglich für BidCos-RF (HomeMatic) Geräte lässt RaspberryMatic als "LAN-Gateway" betreiben um die Reichweite für Funkkomponenten zu vergrößern. Des Weiteren ist zu beachten, das die Funktionalität RaspberryMatic als reinen LAN-Gateway zu nutzen erst ab Firmware 3.67.10.20230114 nicht nur mit einem HM-MOD-RPI-PCB, sondern auch mit einem RPI-RF-MOD oder HmIP-RFUSB Funkmodul funktioniert. Möchte man hingegen die Reichweite von homematicIP Geräten verlängern, dann geht dies ausschließlich via der reichweitenverlängerten Eigenschaften z.B. eines HmIP-PSM oder via Einsatz eines HmIP-HAP der an RaspberryMatic angelernt dann erlaubt weiter entfernte Funkgeräte aus der homematicIP Produktlinie zu betreiben.

Hinweise

  • Der LAN-Gateway-Betrieb gilt nur für BidCos-RF (traditionelles 'homematic'), homematicIP (HmIP) wird nicht unterstützt.
  • Ein LAN Gateway sollte grundsätzlich per Netzwerk-Kabel ans Heimnetz angebunden sein, beim Betrieb via WLAN kann es zu Verbindungsstörungen kommen.
  • Wie bei einem originalen LAN-Gateway (HM-LGW-O-TW-W-EU) wird keinerlei WebUI oder ähnliches beim Hochfahren im LAN-GW Modus in Betrieb genommen.

Einrichtung

  1. Firewall für Homematic XML-RPC API via WebUI freigegeben (Systemsteuerung->Firewall konfigurieren)

  2. SSH Zugang via WebUI freischalten (Systemsteuerung->Sicherheit->SSH)

  3. Via SSH Zugang als Nutzer 'root' zur Konsole das folgende Kommando ausführen:

    touch /usr/local/HMLGW

  4. RaspberryMatic neustarten (ggf. reboot Befehl eingeben)

Danach sollte RaspberryMatic normal hochfahren, jedoch in der Ausgabezeile seiner Versionsnummer dann den String LAN-GW Mode (<IP-Adresse>) unter Angabe seiner IP-Adresse ausgeben. Diese IP-Adresse kann dann in der eigentlichen CCU bzw. im Haupt-RaspberryMatic bei der Einrichtung des LAN-Gateway angegeben werden.

Rückkehr zu "Nicht-LAN-Gateway-Betrieb"

Möchte man RaspberryMatic nicht mehr im LAN-Gateway Modus betreiben muss man lediglich via SSH/SFTP die Datei /usr/local/HMLGW wieder löschen und RaspberryMatic neustarten. Danach sollte es dann im Normalen modus hochfahren und die WebUI dann wieder verfügbar sein. Alternativ kann man auch einen Monitor+Tastatur anschließen und muss dann lediglich nach dem hochfahren ALT+F2 drücken und dort dann als root sich einloggen.

Danach kann man dann via SSH oder lokalem Login einfach folgenden Befehl eingeben und danach sollte das System dann unmittelbar wieder in den normalen Modus umbooten:

rm -f /usr/local/HMLGW && reboot

USV Client/Server (NUT)

Nennt man eine unterbrechungsfreie Stromversorgung (USV) sein Eigen kann man seit der beta5 Version von RaspberryMatic dieses entweder als sogenannten Network UPS Tools (NUT) Client mit einem NUT Server verbinden oder aber eine von NUT (http:https://networkupstools.org/) unterstützte USV direkt via USB an den RaspberryPi anschliessen. Um RaspberryMatic z.B. als NUT Client in Betrieb zu nehmen (wenn man z.B. seine USV an ein Synology NAS angeschlossen hat) kann man wie folgt vorgehen:

  1. SSH Zugang via WebUI freischalten (Systemsteuerung->Sicherheit->SSH)

  2. Via SSH Zugang als root zur Konsole die Datei /etc/config/nut/nut.conf anpassen und dort sicherstellen das der folgende Eintrag vorgenommen wurde (standardmäßig steht da none):

    MODE=netclient

  3. In der Datei /etc/config/nut/upsmon.conf sicherstellen das die MONITOR Zeile (ganz oben) aaskommentiert ist (entfernen des #) und der korrekte Eintrag zum NUT Server wie folgt steht:

    MONITOR ups@bigserver 1 <USERNAME> <PASSWORD> slave

    Hierbei sollte statt ups@bigserver so etwas wie "ups@IP-ADRESSE" stehen und statt <USERNAME> und <PASSWORD> eben Nutzername+Passwort (für ein Synology NAS muss immer Nutzername: monuser und Passwort: secret verwendet werden, d.h. es muss kein NAS nutzer oder ähnliches angelegt werden).

  4. Den NUT Dienst mittels folgendem Kommando neustarten:

    /etc/init.d/S51nut restart

Danach sollte der NUT Daemon upsmon laufen und die USV entsprechend überwachen und dann bei Ausfall der Stromes als erstes eine Alarmmeldung innerhalb des HomeMatic-Systems generieren und dann bei zu langem Ausfall auch RaspberryMatic automatisch geordnet herunterfahren.

HINWEIS: Der Betrieb auch als NUT Server (d.h. direkter Anschluss einer USV via USB) sollte prinzipiell über die Konfigurationsdateien unter /etc/config/nut möglich sein, da dies aber noch nicht ausreichend getestet wurde soll hier lediglich auf die Dokumentation zu NUT verwiesen werden da dies analog dazu möglich sein sollte die NUT Konfiguration somit auf seine eigenen Bedürfnisse anzupassen.

USB-Boot

Bei RaspberryMatic ist es mitunter möglich bei Einsatz eines RaspberryPi3 oder RaspberryPi4 das gesamte System von einem USB-Medium (Memory Stick bzw. USB Festplatte/SSD) zu betreiben. Hierzu ist es notwendig die *.img Datei statt auf einer microSD Karte auf einem USB Memory Stick oder USB Festplatte/SSD mit dem selben Imaging Tool (Etcher – https://etcher.io) auf den USB Datenträger zu kopieren und dann diesen an den RaspberryPi3/Pi4 anzuschliessen.

Bitte beachten: Die Möglichkeit von USB zu booten kann technisch bedingt momentan NUR ein RaspberryPi3 bzw. RaspberryPi4 leisten. Andere Modelle bieten diese Möglichkeit momentan nicht. Wenn ein RaspberryPi3 eingesetzt wird und dieser vorher noch NIE via USB gebootet wurde (z.B. fabrikneu) ist es trotzdem notwendig die neueste Version von RaspberryMatic ein einzelnes mal von microSD booten zu lassen. Bei diesem initialen Boot der neuen Version wird dann der RaspberryPi3 so umprogrammiert das die USB Boot Funktion aktiviert wird. Danach kann dann die microSD Karte gegen den USB Stick/Festplatte/SSD getauscht werden (sicherstellen das microSD Karte entfernt wurde!) und der RaspberryPi3 sollte dann von dem USB Medium booten und auch darauf arbeiten. Bei Betrieb des RaspberryPi3 via eines USB Mediums gilt zu beachten, dass der RaspberryPi3 lediglich über USB2.0 verfügt und dadurch die Schreib-/Lesegeschwindigkeit nicht dem entspricht welche bei Betrieb via microSD Karte geleistet werden kann. Es muss daher mit einer verminderten Schreib-/Lesegeschwindigkeit gerechnet werden.

Bei Einsatz eines RaspberryPi4 zum USB-Boot muss beachtet werden, dass dieser über eine notwendigerweise aktuelle EEPROM Firmware verfügt. Dazu kann es notwendig sein diesen RaspberryPi4 einmalig via RaspberryPiOS zu booten damit dieses EEPROM aktualisiert wird (siehe Zusatzinfos). Zusätzlich wird dann beim Booten von RaspberryMatic via USB sichergestellt das die jeweils aktuellste EEPROM Version installiert ist. Des Weiteren kann es notwendig sein, beim Booten ohne installierte SD Karte die Option sd_poll_once=on bei dtparam in der /boot/config.txt Datei zu vermerken. Dies sollte dann ausgegebene Warnungen wie mmc0: timeout waiting for hardware interrupt vermeiden. Sollte das Booten via USB mit einem RaspberryPi4 mit der aktuellen RaspberryMatic Version nicht funktionieren, kann das mitunter and fehlenden Anpassungen für die genutzte SSD liegen (siehe hierzuFinding the VID and PID of your USB SSD). Wenn dann die passende Adapter-ID dann gefunden ist können diese "quirks" Parameter in der /boot/cmdline.txt hinterlegt werden.

Weitere Hinweise zum USB-Boot:

  • die beste Performance bekommt man mit einem Pi4B und einer mittels USB3 --> SATA Adapter angeschlossenen SSD (am USB3 Port angeschlossen)
  • USB3 --> SATA Adapter mit ASM1053 / ASM1153 Chipsatz sind zu empfehlen
  • USB3 --> SATA Adapter mit JMSxxx Chipsatz sind problematisch, können aber mittels Anpassungen in der /boot/cmdline.txt (siehe oben) funktionieren
  • USB2/3 Sticks funktionieren, bringen aber keinen Vorteil und sind nicht zu empfehlen

Einschränkungen / Limitierungen beim USB-Boot:

Grundsätzlich sollte nur das USB-Bootmedium angesteckt sein. Ein weiteres USB-Medium ist nicht notwendig da alle Benutzerdaten im /usr - Bereich auf dem Bootmedium gespeichert werden. Möchte man doch ein zweites USB-Medium nutzen sollte man folgendes beachten.

  • der Pi4B bootet immer korrekt vom richtigen USB-Medium (das 2. USB-Medium darf natürlich nicht bootfähig sein)
  • der Pi3B(+) bootet nicht korrekt wenn das 2. USB-Medium mit FAT / FAT32 / NTFS formatiert ist. Mit F2FS Formatierung wird gebootet.

Tweaks für USB-Boot:

Systembedingt kann die rote Raspi-LED nicht die Aktivität (lesen/schreiben) des USB-Bootmediums (wie bei der SD-Karte) anzeigen. Man kann aber einen anderen "Trigger" für die LED wählen.

  • ist einzig das Bootmedium an USB angeschlossen bietet sich usb-host an. Per ssh setzen mit echo usb-host >/sys/class/leds/led1/trigger
  • sind mehrere USB-Geräte angeschlossen (USB-Platine, USV etc.) bietet sich activity an. Per ssh setzen mit echo activity >/sys/class/leds/led1/trigger

Zum automatischen setzen des Triggers nach Reboot kann man ein WebUI-Programm mit leerem WENN anlegen. In das DANN kommt ein Einzeilerscript: z.B. system.Exec("echo usb-host >/sys/class/leds/led1/trigger");

Monit-WatchDog Weboberfläche

In neueren RaspberryMatic Versionen ist ja ein sogenannter Software-WatchDog names "Monit" integriert der automatisch abgestürzte oder nicht mehr reagierende Prozesse neustartet um sicherzustellen das alle essentiellen CCU Dienste jederzeit problemlos funktionieren.

Normalerweise läuft dieser WatchDog völlig autark im Hintergrund und übernimmt dort die Überwachung. Zusätzlich zum Kommandozeileninterface via SSH existiert jedoch auch die Möglichkeit eine Weboberfläche hierfür anzeigen zu lassen. Um diese Oberfläche in Raspberrymatic zu aktivieren und dessen Webseite freizugeben kann man wie folgt vorgehen:

  1. Als erstes müsst ihr euch auf der Raspberrymatic per SSH einloggen.

  2. Dort erstellt man die Datei monit.cfg im Verzeichnis /usr/local/etc/.

    Am einfachsten ruft man hierfür den Editor vi über vi /usr/local/etc/monit.cfg auf.

  3. In diese Datei schreibt ihr folgenden Inhalt wenn ihr "Nutzername" und "Passwort" zum zugriff nutzen wollt:

    set httpd port 2812
        allow 192.168.x.x/24 # Dein Netz oder eine/mehrere Host IP's
        allow user:passwort # Wenn das Passwort Sonderzeichen enthält, muss es in "" gesetzt werden.
    

    oder man schreibt folgenden Inhalt für die nutzung einer verschlüsselten htpasswd datei:

    set httpd port 2812
        allow 192.168.x.x/24 # Dein Netz oder eine/mehrere Host IP's
        allow md5 /pfad/zur/htpasswd-datei
    
  4. Nach speichern und beenden von vi kehrt man zur Kommandozeile zurück.

  5. Dort lasst ihr den Monit dienst die Konfigurationsdaten neu einlesen via: monit reload

Sollte man einen Schreibfehler in der monit.cfg Datei haben, so wird euch die Kommandozeile drauf hinweisen. Man kann über vi /usr/local/etc/monit.cfg die Datei dann wieder öffnen und den Fehler beheben. Jetzt muss man noch in der Firewall den Port 2812 für den Zugriff auf die Monit Prozess-Überwachung freigeben.

Danach sollte dann er Zugriff auf die Monit Weboberfläche über folgende URL möglich sein:

http:https://ip-der-ccu:2812

HB-RF-ETH Anbindung

Mit dem HB-RF-ETH von Alexander Reinert (siehe auch Einleitung -> Voraussetzungen) ist es ab Firmware 3.55.10.20210213 möglich ein Funkmodul (RPI-RF-MOD oder HM-MOD-RPI-PCB) über das Netzwerk abgesetzt zu betreiben, z.B. mit virtualisierter RaspberryMatic oder um es vom Störnebel eines RaspberryPi/Tinkerboard, etc. entfernt zu betreiben.

Bitte beachten:

  • Das HB-RF-ETH sollte ausschließlich per verkabeltem Netzwerk betrieben werden. Ein Betrieb über WLAN/WiFi oder gar VPN kann auf Grund der zu hohen Latenzen nicht oder nicht zuverlässig funktionieren.
  • Es kann nie mehr als ein über ein HB-RF-ETH angebundenes Funkmodul genutzt werden. Es ist zwar prinzipiell möglich ein RPI-RF-MOD z.B. am GPIO und eins via HB-RF-ETH anzubinden, allerdings wird dann ein Funkmodul nur für HomeMatic (BidCos-RF) und das andere nur für homematicIP verwendet werden. D.h. eine gewünschte Reichweitenverlängerung muss wie gehabt ggf. per LAN-Gateway (HomeMatic/BidCos-RF) und/oder HAP (homematicIP) erfolgen.
  • Beim Start und im Betrieb der RaspberryMatic muss das HB-RF-ETH mit Funkmodul im Netzwerk stabil erreichbar sein. Bei Unterbrechung der Verbindung wird ein Alarm auf der RaspberryMatic generiert. Zur Wiederinbetriebnahme muss die RaspberryMatic mitunter neugestartet werden.
  • Sollte das HB-RF-ETH während der Nutzung z.B. durch einen Netzwerkausfall oder auch nur kurzzeitig nicht von der RaspberryMatic Zentrale erreichbar sein, kann eine Wiederverbindung technisch bedingt lediglich durch einen kompletten Zentralen/CCU/RaspberryMatic Neustart erfolgen. In diesem Fall muss die Zentrale also komplett neugestartet werden.

Einbinden in RaspberryMatic

  1. Dem HB-RF-ETH eine feste IP-Adresse verpassen (entweder über den Router (DHCP-Reservierung) oder direkt in der Weboberfläche des HB-RF-ETH).
  2. SSH-Zugang zur RaspberryMatic freischalten, falls noch nicht geschehen.
  3. Auf der RaspberryMatic per SSH einloggen (z.B. per Putty oder anderem SSH-Client, unter Linux oder aktuellen Windows-Versionen geht das auch einfach per ssh root@<ip-der-raspberrymatic>)
  4. Anlegen einer Datei hb_rf_eth unter /etc/config/ in der als einziger Inhalt die IPv4-Adresse des HB-RF-ETH steht. Dies kann z.B. mit folgendem Kommando direkt auf der RaspberryMatic Zentrale in einer SSH Sitzung erfolgen:
    echo 192.168.1.30 >/etc/config/hb_rf_eth
    (wenn 192.168.1.30 der IP-Adresse des HB-RF-ETH entspricht).
  5. Danach RaspberryMatic neustarten (via WebUI oder SSH mit dem Kommando reboot). Oder falls nun erst noch das Funkmodul umgebaut werden muss, RaspberryMatic herunterfahren (poweroff), Funkmodul auf das HB-RF-ETH umbauen, HB-RF-ETH in Betrieb nehmen und erst dann RaspberryMatic wieder hochfahren.

Anbindung wieder entfernen

  1. Datei /etc/config/hb_rf_eth löschen (z.B. via rm -f /etc/config/hb_rf_eth Kommando).
  2. RaspberryMatic neustarten.

Individueller Diagramm/Backup-Speicherpfad

Mit der anzulegenden Datei /etc/config/CustomStoragePath kann man das Standard-Speicherverzeichnis für Diagramme und Backups (regulär ein genutzter USB-Stick bei einem RaspberryPi bzw. /usr/local/sdcard bei USB-Boot und .ova-basierten Systemen) auf ein beliebiges Nutzerverzeichnis abändern. Lokale Verzeichnisse sind hierbei genauso möglich wie bereits gemountete Netzwerk-Verzeichnisse, z.B. von NAS Systemen.

Dazu wird in die /etc/config/CustomStoragePath der zu nutzende absolute Pfad zum Nutzerverzeichnis wie folgt eingetragen.

  • /mnt (z.B. für ein gemountetes Netzwerklaufwerk)

Wurde die Datei angelegt und mit einem passenden Verzeichnis ausgefüllt ist ein Reboot der Zentrale nötig damit die Option greift.

Hinweis: Verzeichnisse die nicht standardmäßig auf der Zentrale verfügbar sind und erst beim Hochfahren angebunden (gemountet) werden müssen (z.B. NFS, CIFS/SMB basierte Netzwerklaufwerke) bindet man idealerweise mit Hilfe der sogn. rc.prelocal Datei beim hochfahren an, damit man sie dann via CustomStoragePath daraufhin nutzen kann.

Eigene Aktionen während des Bootvorgangs

Möchte man beim Hochfahren der Zentrale zu bestimmten Zeitpunkten des Bootvorganges eigene Aktionen via Linux Shell-Kommandos ausführen (um ggf. ein NAS Verzeichnis anzubinden) gibt es die Möglichkeit über das Anlegen sogn. "rc-Skripte" eigene Shell-Kommandos auszuführen. Existieren diese rc-Skripte nicht, so wird deren Ausführung übergangen.

Die folgende Tabelle stellt hierbei die unterstützten rc-Skripte mit der Beschreibung des jeweiligen Zeitpunktes der Ausführzeit dieser Skripte dar:

# Skriptpfad Modus Ausführzeitpunkt
(1) /usr/local/etc/rc.init Normal, Lan-GW VOR der grundlegenden Initialisierung des Systems
(2) /usr/local/etc/rc.postinit Normal, Lan-GW NACH der Initialisierung des Systems
(3) /usr/local/etc/rc.prelocal Normal VOR dem Start aller zentralen HomeMatic Dienste
(4) /usr/local/etc/rc.local Normal NACH dem Start aller Addons
(5) /usr/local/etc/rc.postlocal Normal, Lan-GW NACH dem Setzen der LED's, am Ende des Bootvorganges

Bitte beachten:

  • rc.prelocal ist ab RaspberryMatic 3.59.6.20210911 verfügbar
  • rc.postlocal ist ab RaspberryMatic Snapshot 3.71.12.20230927-398374 verfügbar (offizielles Release wird nachgetragen)

Eine Besonderheit bei der Nutzung dieser rc-Skripte ist, dass deren Ausführung unterdrückt wird, sobald man die Zentrale via WebUI oder Recovery System in den "abgesicherten Modus" booten lässt. Das soll verhindern, dass ein Nutzer aus versehen in diesen selbst definierbaren Shell-Skripten Dinge ausführen lässt die es verhindern, dass die Zentrale korrekt hochfährt.

Des Weiteren ist es wichtig, dass diese Skripte/Dateien immer mit dem folgenden sogn. shell-"shebang" (#!/bin/sh) anfangen und sich syntaktisch an die sognannte ash bzw. dash shell anlehnen. D.h. die oft in der Linux-Welt übliche bash steht standardmäßig nicht zur Verfügung und folglich dürfen die auszuführenden Shell-Kommandos und die Shell-Syntax keine bash-Besonderheiten aufweisen. Auch ist es wichtig, dass diese rc-Skripte mit ausführbaren Rechten angelegt werden. D.h. nach dem Anlegen der Dateien muss man sicherstellen das mittels Kommando chmod a+rx <DATEI> die jeweilige rc-Datei vollumfänglich mit Lese+Ausführrechten ausgestattet ist. Es wird daher angeraten, diese Skripte erst innerhalb einer interaktiven SSH/Konsolen-Verbindung zu testen, damit nicht ungewollte Fehlermeldungen beim Starten der Zentrale auftreten.

Im Folgenden sollen kurze Beispiele einer gängigen Nutzung dieser rc-Skripte gegeben werden die gerade für Nutzer mit weniger Linux/Unix-Erfahrung Ansatzpunkte für eine effektive Nutzung dieser Skripte geben soll:

Anbinden eines externen NAS (NFS/CIFS) Netzwerk-Laufwerkes:

Mounten/Anbinden des NAS Pfades /fritz.nas/test/RM_B an /mnt vom NAS/CIFS Server 192.168.1.1 via /usr/local/etc/rc.prelocal Skript:

#!/bin/sh
mount -t cifs -o noserverino,vers=3.11,username=USER,password=PASS //192.168.1.1/fritz.nas/test/RM_B /mnt

Und möchte man eine NFS Freigabe (z.B. von einem Synology NAS) in ähnlicher Art und Weise anbinden, so würde das /usr/local/etc/rc.prelocal Skript wie folgt aussehen:

#!/bin/sh
mount -t nfs -o nolock,hard,intr,relatime 192.168.1.1:/volume1/Backup/Freigabe /mnt

Hinweis: Aktionen in der rc.prelocal werden beim Hochfahren unmittelbar vor dem Starten der CCU Add-Ons, vor dem Starten der zentralen HomeMatic-Dienste und mit bereits verfügbarem Netzwerk ausgeführt. Des Weiteren muss sichergestellt werden, dass das rc.prelocal Skript ausführbare Rechte besitzt (kann mittels chmod u+rx /usr/local/etc/rc.prelocal erfolgen).

Anbinden einer lokalen Partition (z.B. zusätzliche USB-SSD):

Mounten/Anbinden einer vorformatierten, lokalen Festplatte/SSD (z.B. /dev/sda4) an /mnt via /usr/local/etc/rc.postinit Skript:

#!/bin/sh
mount /dev/sda4 /mnt

Ausschalten der Onboard-LEDs (RaspberryPi, Tinkerboard):

Seit der Version 3.59.6.20211009 können die Onboard-LED's eines RaspberryPi/Tinkerboard die z.B. via Heartbeat-Modus den Status der Hardware wiedergeben direkt über "Einstellungen -> Systemsteuerung -> Erweiterte Einstellungen" deaktiviert bzw. reaktiviert werden.

Eigene Aktionen während des Herunterfahrens

Vorschau:

Möchte man beim Herunterfahren der Zentrale eigene Aktionen via Linux Shell-Kommandos ausführen (um ggf. ein NAS Verzeichnis zu trennen) gibt es die Möglichkeit über das Anlegen eines sogn. "rc-Skriptes" eigene Shell-Kommandos auszuführen. Existiert dieses rc-Skript nicht, so wird dessen Ausführung übergangen.

Die folgende Tabelle stellt hierbei das unterstützte rc-Skript mit der Beschreibung des Zeitpunktes der Ausführzeit dieses Skriptes dar:

# Skriptpfad Modus Ausführzeitpunkt
(1) /usr/local/etc/rc.shutdown Normal, Lan-GW, Safemode DIREKT zu Beginn des Herunterfahrens, NACH dem Setzen der LED's

Bitte beachten:

  • rc.shutdown ist voraussichtlich ab RaspberryMatic 3.71.12.2023xxxx verfügbar
Clone this wiki locally