Systemübersicht
Ein Fhem System besteht im Prinzip aus den in der nachfolgenden Übersicht aufgeführten Bestandteilen.
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
- 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).
Konfiguration
Das Hausautomations-System wird definiert über die Konfiguration, die im Regelfall besteht aus der
- Datei
fhem.cfg
und - eventuell weiteren, eigenen Dateien (
*.cfg
), die mittelsinclude
Anweisungen eingebettet werden.
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
(oder Port 8084 (Smartphone) oder Port 8085 (Tablet)) erreichbar.
Eine Auswahl der Benutzeroberflächen:
- PGM2 - das Standardinterface
- AndFHEM - eine Android App
- Fhemobile - iPhone App
- FHEM-Remote - eine weitere iPhone / iPad App
Module
Die Funktionalität von Fhem kann über Module erweitert werden. 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
- ...
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:
- 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
- Schnittstellen(karten) für 1-Wire
- TCM(120/130) 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 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.
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.
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,35MHz | FM | 20kHz | CU*, HMLan, HMUsb | CUL_HM | diverse | - |
MAX! | MAX | 868,35MHz | FM | 20kHz | CU*, | - | - | - |
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 | TCM | Batterielose Funksensoren, diverse Aktoren | - |
PCA | - | 868,35MHz | ?? | ?? | JeeLink | 36_PCA301.pm | PCA301 | - |
LaCrosse | - | 868,35MHz | ?? | ?? | JeeLink | 36_LaCrosse.pm | LaCrosse IT+ (Technoline) Sensoren | - |
ZigBee Light Link | - | 2,4 GHz | HUE Bridge (RaspBee) | 30_HUEBridge.pm | Philips HUE und LightLink Lampen | [1] | ||
elero | - | 869,52MHz | GFSK | 76.7670 Kbps | - | - | - | - |
z-Wave | - | 868MHz | 2-FSK | 9.600 bit/s oder 40 Kbit/s | ZWDongle | 10_ZWave.pm | - | |
Tabelle muss noch vervollständigt werden | ||||||||
Legende: | CU* = CUL, CUN, CUNO / |
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.