Skip to content

Einleitung

Jens Maus edited this page Jan 15, 2020 · 14 revisions

Bei RaspberryMatic handelt es sich um ein alternatives, OpenSource-basiertes Betriebssystem für die kommerziell entwickelten CCU3 bzw. ELV-Charly Zentralen zur Nutzung von HomeMatic/BidCos-RF bzw. homematicIP Hardware der Firmengruppe eQ3/ELV. RaspberryMatic hat sich zum Ziel gesetzt nicht nur den kompletten Funktionsumfang einer sogn. HomeMatic CCU SmartHome-Zentrale für eine Cloudfreie Nutzung von HomeMatic Geräten für frei erhältliche Single-Board-Computern (SBC) wie z.B. den RaspberryPi, ASUS Tinkerboard oder aber auch als virtualisierte Variante für moderne Virtualisierungsumgebungen (z.B. vmWare ESXi, Proxmox, VirtualBox) nutzbar zu machen. Es hat sich auch zum Ziel gesetzt auf verschiedenen Ebenen (WebUI, Linux-Betriebsystem, etc.) Verbesserungen bzw. Bugfixes mitzubringen die in der originalen CCU Firmware von eQ3/ELV (noch) nicht vorhanden sind.

Für die Kommunikation mit HomeMatic Geräten macht sich RaspberryMatic zu nutze, dass es seit einigen Jahren von eQ3/ELV neben USB-basierter Funk/Kommunikationshardware (HmIP-RFUSB, HM-CFG-USB) auch GPIO-basierte Funkmodule (RPI-RF-MOD, HM-MOD-RPI-PCB) gibt, die direkt auf die GPIO Schnittstelle eines SBC gesteckt werden kann und zur Kommunikation mit BidCos-RF (HmRF) und/oder homematicIP (HmIP) Komponenten genutzt werden kann. Des Weiteren können diese auch mittels geeigneter GPIO Adapterplatinen wie z.B. HB-RF-USB mittels USB angeschlossen werden und erlauben somit auch den Einsatz als virtuelle Maschine unter einer Virtualisierungsumgebung wie vmWare ESXi.

RaspberryMatic wird in Form kompletter Images (*.img bzw. *.ova) verteilt die mit geeigneten Tools (z.B. Etcher) auf eine microSD Karte, USB-Stick/Festplatte, eMMC oder aber auch als komplette virtuelle Maschine genutzt werden kann und somit als eigenständiges Betriebssystem für die Kommunikation/Steuerung/Konfiguration von HomeMatic-Komponenten zum Einsatz kommt. Es verfolgt den Ansatz einer komplett eigenständigen Distribution und benötigt keinerlei Host-Betriebssystem wie z.B. Raspbian/Debian. Dies bringt eine Reihe von Vorteilen mit sich die die Stabilität und Performance erhöht – hat jedoch auch den Nachteil das Drittsoftware (wie z.B. ioBroker, apache, mysql, etc.) nur über das integrierte "CCU-Addon" System auf dem selben System betrieben werden kann. Insofern hat RaspberryMatic den Anspruch ein vollwertiger Betriebssystemersatz einer CCU-Zentrale zu sein und nicht ein bereits existierendes Linux-System um die Funktionalität einer CCU-Zentrale zu erweitern.

Vorraussetzungen

RaspberryMatic lässt sich momentan auf folgender, kommerziell erhältlicher Kompletthardware (Rechner + HomeMatic-Kommunikationsmodul) installieren:

  • CCU3
  • ELV-Charly

oder auf folgender selbst zusammengestellter SBC/Kommunikations Hardware- bzw. unter folgenden Virtualisierungsumgebungen installieren:

  1. Hardware/Virtualisierungsumgebung:

    • Hardware:

      • RaspberryPi
      • ASUS Tinkerboard
    • Virtualisierungsumgebung:

      • vmWare ESXi 6.x
      • Proxmox Virtual Environment 6.0.4
      • Oracle VirtualBox 6.0
      • Synology Virtual Machine Manager 2.5.0
      • QNAP VirtualizationStation 3
      • vmWare Workstation Player 15.5.0
      • QEmu 4.0.0
  2. Um die Funk- bzw. Wired Kommunikation mit HomeMatic/BidCos-RF/homematicIP bzw. HomeMatic-Wired/homematicIP-Wired Geräten der Firma eQ3/ELV zu ermöglichen muss eine oder mehrere Funk/Wired-Access-Hardware an die ausgewählte Hardware/Virtualisierungsumgebung angeschlossen werden:

HomeMatic
BidCos-RF
homematicIP HomeMatic-Wired homematicIP-Wired Bemerkung
RPI-RF-MOD GPIO Radio Module HAT :heavy_check_mark: :heavy_check_mark:
HM-MOD-RPI-PCB
(Installation)
GPIO Radio Module HAT :heavy_check_mark: :heavy_check_mark:
HB-RF-USB
(Discussion)
USB Radio Module Adapter PCB :heavy_check_mark: :heavy_check_mark: RPI-RF-MOD /
HM-MOD-RPI-PCB notwendig
HmIP-RFUSB USB Radio Module Stick :heavy_check_mark:
HM-CFG-USB-2 USB Radio Module Stick :heavy_check_mark:
HM-LGW-O-TW-W-EU LAN RF-Gateway :heavy_check_mark:
HMW-LGW-O-DR-GS-EU LAN Wired-Gateway :heavy_check_mark:
HmIPW-DRAP LAN HmIP-Wired Access Point :heavy_check_mark: RPI-RF-MOD notwendig
  1. Eine microSD/USB-Stick/SSD/eMMC oder virtuelle Festplattengröße von minimal 4 GB.

Features

RaspberryMatic ist systembedingt zu der Betriebssystemsoftware einer CCU-Zentrale der Firma eQ3/ELV (CCU2/CCU3) (die den gleichen Versionsstand hat) 100% kompatibel. Dies bedeutet, das nicht nur die selben HomeMatic/homematicIP Geräte angelernt/genutzt werden können, auch verhält sich RaspberryMatic in Punkto Funktionalität und WebUI vollkommen kompatibel. Des Weiteren kann die komplette Konfiguration zwischen der Standard Betriebssystemsoftware von eQ3/ELV und RaspberryMatic ausgetauscht werden und ein Wechsel zwischen den beiden Betriebssystemen ist somit jederzeit möglich.

Darüber hinaus bringt RaspberryMatic jedoch eine ganze Reihe von Verbesserungen/Erweiterungen, neuen Features und teilweise bereits integrierten Bugfixes mit sich die entweder noch nicht in der originalen CCU Firmware von der Firma eQ3/ELV übernommen wurde oder aus kommerzieller Sicht nicht übernommen werden soll.

Ein Auszug über diese teilweise exklusiven Features die RaspberryMatic gegenüber einer CCU2/CCU3 Zentrale mit sich bringt kann hier eingesehen werden:

Verbesserte Hardwareintegration

  • Lauffähig auf allen RaspberryPi und ASUS Tinkerboard Single-Board-Computer Modellen
  • Kann als virtualisierte x86 Variante unter Virtualisierungsumgebungen wie vmWare ESXi, Proxmox, VirtualBox, Synology VMM, etc. betrieben werden.
  • Nutzung der onboard-LEDs zur Darstellung des Gesundheitsstatus des laufenden Systems sodass die grüne LED im Normalzustand im Rhythmus der Systemauslastung blinkt und die rote LED entweder beim Hochfahren regelmäßig blinkt oder einen Fehler signalisiert.
  • Entgegen der Standard-CCU können mit RaspberryMatic mehrere angeschlossene Funkmodule zu einem System kombiniert werden. So kann z.B. ein HmIP-RFUSB zusammen mit einem HM-CFG-USB-2 betrieben werden um jeweils homematicIP und HomeMatic/BidCos-RF Geräte anzusteuern und damit auch ein optimiertes DutyCycle Verhalten zu gewährleisten.
  • Eine RaspberryMatic Zentrale kann auch in Kombination mit einem HM-MOD-RPI-PCB Funkmodul zu einem reinen LAN-Gateway (HM-LGW-O-TW-W-EU) umgewandelt werden sodass dieses als zusätzliche LAN Gateway für die HomeMatic/BidCos-RF Kommunikation mit einem Haupt-CCU System genutzt werden kann.
  • Unterstützung um RaspberryMatic auch komplett ohne GPIO/USB Funkmodul zu betreiben und als reine LAN-basierte Haupt-CCU zu verwenden und somit mit BidCos-RF LAN Gateways (HM-LGW-O-TW-W-EU) in einem Netzwerk zu betreiben.
  • Unterstützung um das System auch via externer USB angeschlossener Geräte (USB-Stick, USB-SSD, etc.) zu betreiben oder auf einem etwaigen internen eMMC Speicher (z.B. ASUS Tinkerboard S) zu installieren.
  • Mögliche WLAN/WiFi Anbindung mittels der onboard WiFi Funktionalitäten eines RaspberryPi, ASUS Tinkerboard oder via extern angeschlossener USB-WLAN Sticks.
  • Mögliche Bluetooth Nutzung der onboard Bluetooth Funktionalität eines RaspberryPi, ASUS Tinkerboard oder via extern betriebener USB-Bluetooth Sticks.
  • Möglichkeit des sogenannten "USB Gadget" Betriebes um einen RaspberryPi Zero bzw. RaspberryPi Zero W via USB Kabel an ein anderes System anzuschliessen (Linux/macOS/Windows) und dieses als Ethernet-Router zu verwenden.
  • Unterstützung für die Inbetriebnahme einer unterbrechungsfreien Stromversorgung (USV) via folgender Lösungen in Betrieb zu nehmen:
  • Unterstützung für folgende sogenannte Hardware Attached on Top (HAT) Boards die auf den GPIO eines RaspberryPi/Tinkerboard gesteckt werden und folgende Zusatzfunktionalität bieten:
    • PiDesktop – Gehäuse mit HAT uns separatem Power-Button und zusätzliche RTC-Clock (PCF8563)
    • PiFace Shim RTC – RealTimeClock (RTC) HAT für RaspberryPi
    • DS3231DS3231 – RealTimeClock (RTC) HAT für RaspberryPi
    • DS1307 – RealTimeClock (RTC) HAT für RaspberryPi

Verbesserte Softwarekomponenten

  • Integration der aktuellsten Community-Versionen der Logikengine (ReGaHss) zur Bereitstellung aktuellster Bugfixes und neuer Features in der WebUI Logikschicht.
  • Zusätzlich installierte Hilfsprogramme für die Nutzung z.B. via Kommandozeile:
    • wiringPi - GPIO Bibliothek sowie Tools um direkt auf den GPIO Bus zugreifen zu können.
    • chrony - Nutzung von Chrony statt ntpd als Haupt-NTP daemon.
    • jq - JSON Parsing Werkzeug
    • ethtool - Kommandozeilen-Tool um zusätzliche Informationen über die Netzwerkanbindung zu erhalten
    • f2fs - F2FS Dateisystem zur optimierten Nutzung von angebundenen Flash-basierten USB Laufwerken.
    • triggerAlarm.tcl – Erlaubt das nutzer spezifische Auslösen von WebUI-Alarmmeldungen
    • updateAddonContig.tcl – Vereinfachtes Tool zum Hinzufügen/Entfernen zusätzliche Buttons in der WebUI-Systemsteuerung
  • Nutzung der jeweils aktuellsten Buildroot/Linux Grundbetriebssystemversion für eine optimierte Systemsicherheit.
  • Nutzung des jeweils aktuellsten Linux LTS Kernels für eine verbesserte Systemintegration.

Verbesserte WebUI-Funktionalitäten

Integration von inzwischen über 40 zusätzlichen Drittanbieter Modifikationen an der WebUI um die folgenden zusätzlichen Features/Verbesserungen zu erhalten:

  • Möglichkeit die Servicemeldungen für ausgewählte Geräte komplett zu deaktivieren/verbergen. Dies erlaubt nicht verwendete Geräte in eine Art "Ruhemodus" zu versetzen, sodass diese nicht dauernd Servicemeldungen bis zu Ihrer Wiederverwendung generieren.
  • Direkte Auflistung von wichtigen Statusmeldungen (z.B. "config pending", "unreach", etc.) innerhalb der WebUI-Geräteliste sowie direkte Darstellung der RSSI Sende/Empfangswerte der angelernten funk-basierten HomeMatic/homematicIP Geräte.
  • Zusätzliche Darstellung des Batterielevels und Ventilöffnungsgrades in der WebUI-Darstellung von Heizkörperventilaktoren (HM-CC-RT-DN, HMIP-eTRV).
  • Komplett redesignter, verbesserter Skript-Editor auf Basis von "CodeMirror" welche die folgenden Verbesserungen gegenüber dem rudimentären Skripting Editor der Standardsoftware mit sich bringt:
    • Anzeige der Liniennummern
    • Syntax-Highlighting
    • integrierte, RegEx-basierte Such&Ersetzen Funktion sowie anzeige der Matches via Scrollbalken
    • integrierte "command completion" um beim Editieren von Skripten bereits Vorschläge für Funktionsnamen zu erhalten
    • Klammer-basiertes Code-folding zur besseren Strukturierung von Skripten
    • Klammer-Hervorhebungen um die jeweilige öffnende/schliessende Klammer in einem Code Block während des Editierens hervorzuheben
    • Automatisches hinzufügen schliessende Klammerungen zur Vermeidung von Syntax Fehlern
    • Aktivierbarer Fullscreen-Modus um größere Skripte innerhalb der WebUI in einer verbesserten Ansicht zu erhalten
    • Integration zusätzlicher Tastatur-Abkürzungen (z.B. Ctrl-Q: Automatisches Folding/Unfolding)
  • Möglichkeit in WebUI Programmen in Bedingungen zusätzlich "gleich" und "ungleich" Vergleiche durchzuführen.
  • Möglichkeit direkt von der WebUI aus einen erzwungenen Bootvorgang in das Recovery-System durchzuführen ohne das die Taste des Funkmodules dafür gedrückt sein muss.
  • Integration von verbesserten Routinen für den Datei Upload/Download größerer Dateien von/zur WebUI.
  • CCU-Addon Pakete können ohne einen erzwungenen Neustart direkt von der WebUI aus installiert und genutzt werden.
  • Zusätzliche Anzeige der Anzahl vorher bereits durchgeführten Sicherheitsschlüsseländerungen (wenn diese Funktion aktiviert wurde).
  • Möglichkeit alle als Nutzerfavoriten hinzugefügten Systemvariablen in der WebUI alphabetisch sortieren zu lassen.
  • Repariertes Browser-Cache-Handling damit nach einem Firmware-Update nicht mehr ein manuelles Löschen des Browser Caches notwendig ist.
  • Hinzugefügte "Apple-Touch" Icons Funktionalität um bei Hinzufügen der WebUI als iOS-Favorite auf einem iPad/iPhone ein entsprechendes Icon zu erhalten.
  • Integration verschiedenen zentraler Bugfixes die ansonsten an verschiedenen Stellen WebUI-Probleme mit genutzten Leerzeichen oder Sonderzeichen hervorrufen.
  • Systemvariablen können nun trotz einer vorherigen Zuordnung einer Variablen zu einem Gerät noch zusätzlich als Nutzerfavorit konfiguriert und entsprechend angezeigt werden.
  • Verschiedenste Layout/Ansichts-Verbesserungen bei sämtlichen Tabellenanzeigen innerhalb der WebUI.
  • Verbesserte bzw. beschleunigte Anzeigen der Sortierung bzw. Filterung in WebUI-Tabellenansichten.
  • Verbesserungen in der "DevConfig" Erweiterung sodass hier korrekterweise nun auch die RSSI Werte von homematicIP Geräten angezeigt werden kann.

Verbesserte CCU Funktionalität

  • Automatische Generieren eine DutyCycle Systemvariablen für das onboard Funkmodul sowie jeden weiteren LAN-RF-Gateway zur direkten Überwachung der vorgeschriebenen Funkauslastung sowie automatische WebUI-Alarmierung falls der DutyCycle Wert über 98% steigt und damit ein vorübergehendes Aussetzen der Funkkommunikation bevorsteht.

Verbesserte Sicherheitsfunktionen

  • Die notwendigen Sicherheitszertifikate für die Nutzung einer verschlüsselten HTTPS-basierten Verbindung werden direkt innerhalb von RaspberryMatic generiert, statt diese Zertifikate auf unsicherem Wege über externe Server generieren zu lassen.
  • Auslieferung einer entsprechenden robots.txt Datei um etwaige Web-Crawler davon abzubringen ein System mit in die Suche zu integrieren falls dieses fälschlicherweise über das Internet verfügbar gemacht wurde.
  • Bei nicht mehr verfügbarem/freiem Arbeitsspeicher werden die notwendigen HomeMatic Dienste nun als eines der letzten Diensten vorzeitig beendet, sodass sichergestellt sein sollte das Dienste von etwaigen speicherhungrigen Addons zuerst beendet werden sollten um somit nicht die generelle Stabilität zu gefährden.
  • Durchführen automatischer nächtlicher Konfigurations-Backups sobald ein USB Stick mit ausreichend Speicherplatz angeschlossen ist.
  • Möglichkeit die automatischen nächtlichen Konfigurations-Backups auf andere externe Geräten durchführen zu lassen (z.B. angebundenes NAS/NFS-Laufwerk).
  • Möglichkeit manuelle Konfigurations-Backups mittels der SSH Kommandozeile durchzuführen (createBackup.sh, restoreBackup.sh)

Limitationen/Einschränkungen

  • Keine web-basierte Konfigurations-/Setupmöglichkeit für die WLAN/Bluetooth Anbindung (WIP)
  • Keine web-basierte Konfigurations-/Setupmöglickkeit für die Inbetriebnahme als reiner LAN-Gateway (WIP)
  • Keine web-basierte Konfigurations-/Setupmöglichkeit für die Konfiguration der NUT-basierten USV Anbindung (WIP)

Lizenz / Haftung

RaspberryMatic wird als vollwertiges OpenSource Projekt entwickelt und steht unter der Apache-2.0 Lizenz zur Verfügung. Somit kann RaspberryMatic als freie Software von Jedermann unentgeltlich bezogen und zeitlich unbegrenzt eingesetzt werden. Teile der in RaspberryMatic eingesetzten Software stehen jedoch selbst unter anderen OpenSource Lizenzen (wie LPGPL, GPL, BSD, etc.) zur Verfügung und werden somit auch unter den jeweiligen Lizenzbedingungen dieser zusätzlich mit ausgelieferten Software vertrieben. Des Weiteren werden die in RaspberryMatic mit enthaltenen HomeMatic spezifischen Softwarekomponenten, die aus dem von eQ3 im Rahmen des OCCU Projekt stammen, unter den Bedingungen der HomeMatic Software Lizenzbedingungen mit ausgeliefert.

Copyright 2015-2020 Jens Maus <mail@jens-maus.de> and Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Kommerzieller Vertrieb

Bei RaspberryMatic handelt es sich um ein freies OpenSource Software Projekt das zwar entsprechend der Apache-2.0 Lizenz eine kommerzielle Wiederverwendung bzw. Vermarktung rechtlich erlaubt. Es soll hier jedoch auch erwähnt werden, dass die inzwischen im Internet vielfach verfügbaren kommerziellen Angebote zum Kauf einer kompletten "RaspberryMatic CCU-Zentrale" in keiner weise mit den Entwicklern von RaspberryMatic abgestimmt sind oder gar irgendwelche finanziellen Beteiligungen an den jeweiligen Verkäufen solcher vertriebenen Komplett-RaspberryMatic-Pakete existieren.

Des Weiteren schliessen die RaspberryMatic Entwickler (auch entsprechend der Apache-2.0 Lizenz) jegliche Haftung gegenüber dem Käufer solcher kommerziell vertriebener RaspberryMatic Zentralen aus und behalten sich das Recht vor etwaige Support/Hilfeanfragen mit dem Hinweis zu verweigern, das bei diesen kommerziell erworbenen Zentralenlösungen keine Garantie für die korrekte Funktion gegeben werden kann wenn nicht die offiziellen RaspberryMatic Versionen selbstständig installiert wurden.

You can’t perform that action at this time.