FHEM

Aus Wiki Sensornetze
Wechseln zu: Navigation, Suche

FHEM (Freundliche Hausautomatisierung und Energie-Messung) ist ein ist ein Perl-basiertes Serverprogramm für die Hausautomation, das zur automatisierten Bedienung von Aktoren, wie zum Beispiel Lichtschaltern oder Heizung, sowie der Aufzeichnung von Sensorinformationen wie Raumtemperatur oder Luftfeuchtigkeit dient. Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder per telnet bedienen. TCP Schnittstellen für JSON und XML existieren ebenfalls. Um es zu verwenden benötigt man einen 24/7 Rechner (Fritz!Box, NAS, RPi, PC, MacMini, etc) mit einem perl Interpreter und angeschlossene Hardware-Komponenten wie CUL, FHZ1300PC, etc. für einen Zugang zu den Aktoren und Sensoren. {{#subpages:intro=Unterseiten }}

Installation

Von der Webseite kann das aktuelle FHEM bezogen werden. Es steht wahlweise als Tarball, Debian-Package oder als Image zu Verfügung.

Installation aus Tarball

cd ~
wget http://fhem.de/fhem-5.2.tar.gz
tar xvfz fhem-5.2.tar.gz
cd fhem-5.2
sudo make install

Installation aus Debian-Package

cd ~
wget http://fhem.de/fhem-5.2.deb
sudo dpkg -i fhem-5.2.deb

Verwendung

Nach erfolgreicher Installation ist FHEM über das Webinterface (standardmäßig http://localhost:8083/fhem) erreichbar. Weiterhin lässt sich FHEM auch über die Android-App andFHEM steuern. Eine Liste weitere Frontends ist auf der FHEM-Webseite zu finden.


Aufbau und Struktur

FHEM ist ein modular aufgebauter, in Perl geschriebener Server. Die Verwaltung der einzelnen Perl-Module geschieht über das Hauptmodul fhem.pl.

Module in FHEM

Alle Perl-Module des FHEM-Servers werden in der Datei ./FHEM verwaltet. Module mit dem Dateinamen 99_<name>.pm werden automatisch beim Start von FHEM geladen. Alle anderen Module müssen während der Laufzeit, oder durch einen Eintrag in die Konfigurationsdatei geladen werden. (Hinweis: Bis auf den Präfix "99_" bei den Modulen, besitzen die anderen Nummerierungen keine Bedeutung mehr.)

Module können zur Laufzeit in FHEM eingebunden, neu geladen und entfernt werden. Dazu stehen die folgenden Kommandos zur Verfügung:

  • define
  • reload
  • delete

Der Grundaufbau eines Moduls besteht aus den folgenden Methoden:

<modulname>_Initialize

<modulname>_Define

<modulname>_Undef

Hardware

CUL

This "dongle" will enable you to interface with ISM/SRD bands air data of any kind. The module contains a modern 8-bit Atmel for raw data pre-processing before passing it to the USB 2.0 interface or the powerful Texas Instruments transceiver.

Quelle: [1]

Vor Benutzung des CUL mit FHEM ist eine Firmware auf den CUL zu flashen, da dieser ohne Firmware ausgeliefert wird. Die Firmware in Form eins Tarballs ist unter [2] zu finden. Nach einem erfolgreichen Flashvorgang sollte sich der CUL unter Linux als /dev/ttyACM* zu erkennen geben.

Flashvorgang unter Debian/Ubuntu für einen CUL v3.3

sudo apt-get install dfu-programmer
cd ~
wget http://culfw.de/culfw-1.44.tar.gz
tar xvfz culfw-1.44.tar.gz
cd culfw-1.44/Devices/CUL/
sudo make usbprogram_v3
Bei anderen Distributionen ist es möglich, dass der dfu-programmer nicht in den Paketquellen vorhanden ist. Ist dies der Fall, lassen sich von [3] die Quellen herunterladen. Die Installation erfolgt dann wie üblich mittels
./configure; make; sudo make install
.

FS20 ST-3

Die mikroprozessorgesteuerte Schaltsteckdose ist per Funk über einen beliebigen FS20-Sender oder am Gerät selbst bedienbar.

Zum Schaltkomfort dieses zentralen Aktors des FS20-Systems gehört auch eine integrierte Timer-Funktion (Abschalttimer).

Damit ist eine automatische Abschaltung des aktivierten Schaltausgangs nach 1 Sek. bis 4,25 Stunden möglich – bequem und eine echte Hilfe für Vergessliche. Schaltleistung 16 A bei 230 V AC (3680 VA).

Quelle: [4]

Die Konfiguration erfolg nach [5]. Eine beispielhafte Konfiguration wäre durch das Hinzufügen folgender Zeile zur Datei /etc/fhem.cfg zu erreichen:

define lamp1 FS20 1234 56

Die Schaltsteckdose hätte somit den Namen lamp1, verwendet den Hauscode 1234 und den Tastencode 56. Zum Setzen der Codes am FS20 ST-3 selbst ist es nötig, den Knopf an der Funksteckdose so lange zu drücken, bis die LED anfängt zu blinken. Anschließend muss nur noch im FHEM ein Signal gesendet werden und die LED sollte aufhören zu blinken. Nach Setzen der Codes lässt sich die Funksteckdose aus FHEM heraus steuern.

FHT80TF-2

Der Tür-/Fenstermelder überwacht das Öffnen, Kippen und Drehen von Fenstern und Türen und meldet dies per Funk an den Raumregler FHT 80b.

Quelle: [6]

Dieser Fenster-Tür-Kontakt muss lediglich in Reichweite des CUL in Betrieb genommen werden, die Konfiguration im FHEM erfolgt automatisch. Unter Umständen ist es nötig den Magneten mehrfach in die Nähe des Sensors zu bringen und wieder wegzubewegen, bis im FHEM ein CUL_FHTTK auftaucht.

Weblinks