Systemübersicht

Aus FHEMWiki

Ein FHEM System besteht im Prinzip aus den in der nachfolgenden Übersicht aufgeführten Bestandteilen. Systemübersicht.png

Server

Bei der Komponente Server muss unterschieden werden zwischen dem eigentlichen FHEM Hausautomations-Server (implementiert in der Perl-Datei fhem.pl) und der Hardware, auf der dieser Server ausgeführt wird.

Als Server Hardware sind (z. B.) möglich:

  • Windows Rechner
  • Linux Rechner
  • OS X Rechner
  • Router (z. B. FritzBox)
  • Einplatinencomputer, wie Raspberry Pi, BeagleBone Black
  • DockStar, PogoPlug, etc.
  • diverse NAS Systeme wie Buffalo Linkstation, Synology Diskstation

(Diese Aufstellung ist nur eine unvollständige Auswahl; Details zu unterstützten Server Systemen finden sich in der Kategorie Server Hardware).

perl

Auf dem Server muss perl installiert sein. Zur erforderlichen Version gibt es widersprüchliche Aussagen, die vor allem daraus resultieren, dass verschiedene FHEM Module von verschiedenen Entwicklern stammen und daher unterschiedliche Anforderungen stellen. Laut FHEM Webseite wird mindestens 5.6 benötigt, faktisch setzen aber viele Module 5.10 oder sogar 5.12 voraus. Der Betrieb mit Grundfunktionen ist jedoch zumindest ab perl 5.8.8 mit Einschränkungen möglich.

Konfiguration

Das Hausautomations-System wird definiert über die Konfiguration, die im Regelfall besteht aus der

  • reinen Textdatei fhem.cfg (Standard nach der Erstinstallation) oder alternativ einer
  • SQL-Datenbank

Die Konfiguration enthält Definitionen für die Bestandteile (Geräte) und Funktionen des jeweiligen Hausautomations-Systems. Die verfügbaren Befehle und deren Syntax sind in der Befehlsreferenz (commandref) aufgeführt und beschrieben. Zu einigen Hilfsmodulen gibt es detaillierte Beschreibungen mit Beispielen.

Benutzeroberfläche

Der Zugriff auf FHEM erfolgt mittels Webbrowser oder App über die verfügbaren FHEM Benutzeroberflächen.

In den FHEM Server integriert ist ein Webserver (PGM2), der im Prinzip immer zur Verfügung steht. Abhängig vom benutzten Klienten ist PGM2 über

  • serverhostnameoderIP:8083/fhem (Desktop-Darstellung = Port 8083),
  • serverhostnameoderIP:8084/fhem (Smartphone-Darstellung = Port 8084) oder
  • serverhostnameoderIP:8085/fhem (Tablet-Darstellung = Port 8085)

erreichbar.

Eine Auswahl der Benutzeroberflächen:

Beispielhafte Screenshots diverser Benutzeroberflächen: http://fhem.de/fhem.html#Screenshots

Module

Die Funktionalität von FHEM kann über Module erweitert werden. Module können die unterschiedlichsten Aufgaben übernehmen vom Anbinden eines Hardwaresystems über die Bereitstellung eines Frontends bis zur Automatisierung von Aufgaben. Beispiele für Module:

  • 00_CUL.pm - Implementierung der Unterstützung für den CUL
  • 11_FHT.pm - Unterstützung der FHT Heizungssteuerung
  • 95_FLOORPLAN.pm - Grundriss (oder Ähnliches) als Benutzeroberfläche
  • ...

Module können unterteilt werden in

Die offiziell in FHEM enthaltenen Module sind in der Commandref beschrieben. Sie werden über den Update-Befehl von FHEM verteilt und aktualisiert. Voraussetzung für die Aufnahme als offizielles Modul sind Supportwille durch den Entwickler und Dokumentation des Moduls.

Zusätzlich existiert eine Vielzahl von inoffiziellen Modulen, die manuell in FHEM installiert werden müssen. Auch die Aktualisierung erfolgt nicht über den Update-Befehl, sondern muss durch den Nutzer selbst erfolgen. Inoffizielle Module sind an den verschiedensten Stellen zu finden:

  • Contrib-Verzeichnis im offiziellen FHEM-Sourcecode-SVN [1]
  • Beiträge im FHEM-Forum
  • private Homepages

Interfaces

Die Verbindung zu den angeschlossenen Geräten der Hausautomation wird im Allgemeinen - geräteabhängig - über Interfaces (manchmal auch als Gateway bezeichnet) hergestellt. Das kann z. B. im Falle von HomeMatic ein HMLAN Konfigurator sein, ein mittels LAN mit dem FHEM Server verbundenes Gerät, das die FHEM Steuerbefehle in das HomeMatic Funkprotokoll umsetzt - und auch die Funktelegramme der HomeMatic Komponenten an FHEM zurückgibt. Entsprechende Interfaces gibt es auch für andere Funkprotokolle und für die drahtgebundenen Systeme.

Eine (unvollständige) Liste solcher Interfaces (siehe auch Kategorie Interfaces):

  • CUL - je nach Einstellung für die Kommunikation mit FS20, FHT und andere SlowRF Protokolle, MAX! Heizungssteuerung oder HomeMatic und, mit Einschränkungen, InterTechno (nur senden)
  • CUNO, ähnlich CUL, jedoch nicht per USB sondern per IP angebunden (z.Zt. -Stand Januar 2014 - nicht für HomeMatic empfohlen)
  • HomeMatic LAN Konfigurations-Adapter - HomeMatic
  • MAX! Cube LAN-Gateway
  • Schnittstellen(karten) für 1-Wire
  • TCM(120/310) zur Anbindung von EnOcean
  • Arduino mit Firmata über USB oder Netzwerk
  • panStamp als Möglichkeit Arduinos mit diversen Sensor- und I/O- Boards per 868MHz Funk über das SWAP protokoll anzubinden
  • JeeLink, ein weiteres USB-Stick Interface (ebenfalls arduino basiert) für diverse 433MHz und 868MHz Komponenten
  • RFXtrx für InterTechno, RSL, ELRO etc., Wetter-Sensoren (Oregon-Scientific, Cresta, La Crosse, TFA, UPM) und andere 433 Mhz Geräte.
  • manche Komponenten (IP Komponenten) können über TCP/IP (LAN) direkt vom FHEM Server aus angesprochen werden; hier ist dann kein weiteres Interface im eigentlichen Sinne erforderlich. Dies gilt auch für diverse Module die Geräte über WEB Dienste des Herstellers anbinden (z. B. Withings, netatmo).

Protokolle

Der Kommunikation zwischen Interfaces und Geräten liegt jeweils ein bestimmtes Protokoll zugrunde. Unterstützte Protokolle mit ihren Eigenschaften sind in der folgenden Tabelle aufgelistet.

Übersicht über unterstützte Funkprotokolle
Name rfMode Frequenz Modulation Datenrate Interfaces Modul Geräte (Beispiel) Bemerkungen
FS20 SlowRF 868,35MHz AM 1kHz CU*, FHZ FS20 - -
FHT SlowRF 868,35MHz AM 1kHz CU*, FHZ FHTTK, FHT Heizungsregelung -
S300 SlowRF 868,35MHz AM 1kHz CU*, FHZ CUL_WS Temperatur-/Feuchtesensoren -
HMS SlowRF 868,35MHz AM 1kHz CU*O, FHZ - ?? -
EM SlowRF 868,35MHz AM 1kHz CU*, FHZ CUL_EM Energiemonitore (Strom, Gas) -
HomeMatic HomeMatic 868,3MHz FM 10kHz CU*, HMLan, HMUsb CUL_HM diverse -
MAX! MAX 868,3MHz FM 20kHz CU*, MAXLAN MAX Wandthermostat, Heizkörperthermostate, Fensterkontakt, Zwischenstecker -
IT - 433MHz AM? 1kHz CU*433, - - -
FRM - ?? ?? ?? ?? - ?? -
SWAP - 868 (433/915) MHz GFSK 38.3835 Kbps panStamp (+panStick) SWAP RGB LED Driver, diverse Sensoren und Aktoren -
EnOcean - 315 / 868 / 902 / 928MHz ASK 125 kbit/s TCM EnOcean Batterielose Funksensoren, diverse Aktoren -
PCA - 868,35MHz ?? ?? JeeLink PCA301 PCA301 -
La Crosse - 868,35MHz ?? ?? JeeLink, LGW LaCrosse LaCrosse IT+ (Technoline) Sensoren -
ZigBee Light Link - 2,4 GHz HUE Bridge (RaspBee) HUEBridge Philips HUE und LightLink Lampen (auch Osram LIGHTIFY an der HUE-Bridge) [2]
MySensors - 2,4 GHz MySensors Gateway MYSENSORS Selbstbau-Sensoren -
Z-Wave - 868MHz 2-FSK 9.600 bit/s oder 40 Kbit/s ZWDongle ZWave - -
WMBUS WMBus_T, WMBus_S 868MHz ?? 100 kbit/s / 32.768 kbit/s CU* WMBUS Wasseruhren, Wärmezähler, Elektrozähler -
Tabelle muss noch vervollständigt werden
Legende: CU* = CUL, CUN, CUNO /
Übersicht über drahtgebundene Systeme
Name Interfaces (Hardware) Modul Geräte (Beispiel) Bemerkungen
1-Wire diverse OWX 1-Wire -
EIB/KNX TUL EIB EIB/KNX -
HomeMatic Wired HM485 LAN Gateway HM485_LAN Präfix HMW -
Tabelle muss noch vervollständigt werden
Legende: ...

Komponenten

Der eigentliche Zweck eines Hausautomatisierungs-Projekts sind dann letztendlich die Geräte (Komponenten / Aktoren / Empfänger), die automatisch gesteuert werden sollen, bzw. auch Auslöser für Aktionen (Sender) und Lieferant von Datenmaterial (Sensoren) sind.

Diese Geräte sind, sofern es eine detaillierte Beschreibung dazu gibt, in den jeweiligen Unterseiten der Hardwareliste aufgeführt.

Weblinks