Systemübersicht: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Interface "Jeelink" eingefügt)
K (Kleinere Korrekturen und Ergänzungen)
Zeile 1: Zeile 1:
Ein Fhem '''System''' besteht im Prinzip aus den in der nachfolgenden '''Übersicht''' aufgeführten Bestandteilen.
[[Datei:Systemübersicht.png]]
[[Datei:Systemübersicht.png]]


<div style="float: right;">__TOC__</div>
<div style="float: right;">__TOC__</div>
Ein FHEM System besteht im Prinzip aus den in der obigen Übersicht aufgeführten Bestandteilen.


== Server ==
== 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.
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.&nsbp;B.) möglich:
Als Server '''Hardware''' sind (z.&nbsp;B.) möglich:
* Windows Rechner
* Windows Rechner
* Linux Rechner
* Linux Rechner
* OS X Rechner
* OS X Rechner
* Router (z.&nbsp;B. [[AVM Fritz!Box|FritzBox]])
* Router (z.&nbsp;B. [[AVM Fritz!Box|FritzBox]])
* [[:Kategorie:Raspberry Pi|Raspberry Pi]]
* Einplatinencomputer, wie [[:Kategorie:Raspberry Pi|Raspberry Pi]], BeagleBone
* DockStar, PogoPlug, etc.
* DockStar, PogoPlug, etc.
* diverse NAS Systeme wie Buffalo Linkstation
* diverse NAS Systeme wie Buffalo Linkstation
Zeile 18: Zeile 18:


== Konfiguration ==
== Konfiguration ==
Das Hausautomations-System wird definiert über die '''Konfiguration''', die im Regelfall besteht aus der Datei <code>fhem.cfg</code> und eventuell weiteren, eigenen Dateien (<code>*.cfg</code>), die mittels <code>include</code> Anweisungen eingebettet werden.
Das Hausautomations-System wird definiert über die '''Konfiguration''', die im Regelfall besteht aus der  
* Datei <code>fhem.cfg</code> und  
* eventuell weiteren, eigenen Dateien (<code>*.cfg</code>), die mittels <code>include</code> 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 ([http://fhem.de/commandref.html commandref]) aufgeführt und beschrieben.
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 ([http://fhem.de/commandref.html commandref]) aufgeführt und beschrieben.


== Frontends ==
== Frontends ==
Der Zugriff auf FHEM erfolgt mittels Webbrowser oder App über die verfügbaren '''[[:Kategorie:FHEM Frontends|FHEM Frontends]]'''.
Der Zugriff auf FHEM erfolgt mittels Webbrowser oder App über die verfügbaren '''[[:Kategorie:FHEM Frontends|Fhem Frontends]]'''.


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 <code>serverhostnameoderIP:8083/fhem</code> (oder Port 8084 (Smartphone) oder Port 8085 (Tablet)) erreichbar.
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 <code>serverhostnameoderIP:8083/fhem</code> (oder Port 8084 (Smartphone) oder Port 8085 (Tablet)) erreichbar.


Eine Auswahl der Interfaces:
Eine Auswahl der Interfaces:
Zeile 33: Zeile 35:


== Module ==
== Module ==
Die Funktionalität von FHEM kann über '''Module''' erweitert werden. Beispiele für 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]]
* 00_CUL.pm - Implementierung der Unterstützung für den [[CUL]]
* 11_FHT.pm - Unterstützung der [[:Kategorie:FHT Components|FHT]] Heizungssteuerung
* 11_FHT.pm - Unterstützung der [[:Kategorie:FHT Components|FHT]] Heizungssteuerung
Zeile 40: Zeile 42:


== Interfaces ==
== Interfaces ==
Die Verbindung zu den angeschlossenen '''Geräten''' der Hausautomation wird im Allgemeinen - geräteabhängig - über [[Interface|Interfaces]] (manchmal auch als '''Gateway''' bezeichnet) hergestellt. Das kann z.&nbsp;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.
Die Verbindung zu den angeschlossenen '''Geräten''' der Hausautomation wird im Allgemeinen - geräteabhängig - über [[Interface|Interfaces]] (manchmal auch als '''Gateway''' bezeichnet) hergestellt. Das kann z.&nbsp;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:
Eine (unvollständige) Liste solcher Interfaces:
Zeile 51: Zeile 53:
* [[RFXtrx]] für InterTechno, RSL, ELRO etc., Wetter-Sensoren (Oregon-Scientific, Cresta, La Crosse, TFA, UPM) und andere 433&nbsp;Mhz Geräte.
* [[RFXtrx]] für InterTechno, RSL, ELRO etc., Wetter-Sensoren (Oregon-Scientific, Cresta, La Crosse, TFA, UPM) und andere 433&nbsp;Mhz Geräte.
* [[Jeelink]], ein weiteres USB-Stick Interface für 433MHz und 868MHz Komponenten
* [[Jeelink]], ein weiteres USB-Stick Interface für 433MHz und 868MHz Komponenten
* manche Komponenten können über TCP/IP (LAN) direkt vom FHEM Server aus angesprochen werden; hier ist dann kein weiteres Interface im eigentlichen Sinne erforderlich.
* manche Komponenten ([[:Kategorie:IP Components|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 (auch hier wieder nur eine Auswahl) sind:
* SlowRF (1&nbsp;kHz Datenrate)
** FS20
** FHT
** S300
** HMS
** EM
* HomeMatic (20&nbsp;kHz Datenrate)
* MAX! (20&nbsp;kHz Datenrate)
* EnOcean
* FRM* (Arduino Firmata)
* IT (InterTechno, 433&nbsp;MHz)


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


Diese Geräte sind, sofern es eine detaillierte Beschreibung dazu gibt, in den jeweiligen Unterseiten der [[:Kategorie:Hardware|Hardwareliste]] aufgeführt.
Diese Geräte sind, sofern es eine detaillierte Beschreibung dazu gibt, in den jeweiligen Unterseiten der [[:Kategorie:Hardware|Hardwareliste]] aufgeführt.

Version vom 3. Oktober 2013, 23:46 Uhr

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
  • DockStar, PogoPlug, etc.
  • diverse NAS Systeme wie Buffalo Linkstation

(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 mittels include 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.

Frontends

Der Zugriff auf FHEM erfolgt mittels Webbrowser oder App über die verfügbaren Fhem Frontends.

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 Interfaces:

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
  • HomeMatic LAN Konfigurations-Adapter - Homematic
  • Schnittstellen(karten) für 1-Wire
  • TCM(120/130) zur Anbindung von EnOcean
  • Arduino als flexibles Interface zu verschiedenen Systemen
  • RFXtrx für InterTechno, RSL, ELRO etc., Wetter-Sensoren (Oregon-Scientific, Cresta, La Crosse, TFA, UPM) und andere 433 Mhz Geräte.
  • Jeelink, ein weiteres USB-Stick Interface für 433MHz und 868MHz Komponenten
  • 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 (auch hier wieder nur eine Auswahl) sind:

  • SlowRF (1 kHz Datenrate)
    • FS20
    • FHT
    • S300
    • HMS
    • EM
  • HomeMatic (20 kHz Datenrate)
  • MAX! (20 kHz Datenrate)
  • EnOcean
  • FRM* (Arduino Firmata)
  • IT (InterTechno, 433 MHz)

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

  • EnOcean Homepage
  • ELV, (Haupt-)Lieferant von FS20, FHT, HomeMatic
  • Jeelabs, Jeelink Hersteller