Fhem is a GPL'd perl server for house automation. It is used to automate
some common tasks in the household like switching lamps / shutters /
heating / etc. and to log events like temperature / humidity / power
consumption.
The program runs as a server, you can control it via web or smartphone
frontends, telnet or TCP/IP directly.
In order to use fhem you'll need a 24/7 server (Fritz!Box, NAS, RPi, PC,
MacMini, etc) with a perl interpreter and some attached hardware like the
CUL, FHZ1300PC, etc. to access the actors and sensors. See the "Supported
hardware" section below.
Please fill out our survey,
as we'd like to know which FHEM modules are in use. Here are the results.
Or use the NEW fheminfo command to automatically generate this statistics.
support for a lot of protocols used in house automation like FS20,
HomeMatic, OneWire, X10, ZWave, EnOcean, KNX. See the Hardware section for more.
autocreating devices/logs when receiving data from a new device:
start fhem and watch how the plots of your sensors are appearing
automatically.
logging events to files or databases, with regexp filters
notifying external programs or scripts when receiving certain
events
timed commands (e.g. switching a lamp on from sunset till midnight)
watchdog (e.g. trigger if the HMS100-FIT is inactive for HH:MM:SS)
lot of interfaces: simple text, JSON, XML, each of them over plain
TCP/IP, SSL or HTTP.
modular architecture, easy to add your special device
lot of frontends, choose your favorite
Supported hardware
Via an attached CUL or CUN (see www.busware.de) access to the
following protocols: FS20, EM (EM1000EM, EM1000GZ and
EM1000WZ), FHT80b, HMS, S300 (KS300, S300TH, KS555, S555TH, etc),
HomeMatic, La Crosse TX2/TX3, MAX!
Via an attached FHZ1000 or FHZ1300 access to the following protocols:
FS20 (all devices), FHT80b, HMS, KS300. Note: For the WLAN
version of the FHZ1300 see this
link.
reading and sending X10 events via the CM11 module (with access
to a X10 computer interface)
Some TV models from Samsung/Panasonic/LG and amplifier (YAMAHA)
More than one way to receive 1Wire sensor data or to switch 1wire actors.
Allnet 3076, Temperatures sensors and Allnet 4027
relay box connected to an Allnet 4000
Davis VantagePro2 weatherstation
Via the RFXCOM RFXtrx433 transceiver (433 Mhz) support for various
protocols (ANSLUT, ByeByeStandBy, Chacon EMW200, COCO, DomiaLite, Duewi,
ELRO AB400/AB600, HomeEasy EU, HomeEasy UK, IMPULS, Intertechno, KD101,
KlikAanKlikUit (KAKU), NEXA, Oregon Scientific, X10 security and
lighting, Visonic, Waveman, X10).
Via the old RFXCOM USB or LAN based 433 Mhz RF receivers
(order code 80002 and others) the following devices:
Oregon Scientific weather sensors, RFXCOM RFXMeter,
X10 security and X10 lighting devices.
Via the ELV USB-WDE1 access to ELV sensors KS200/KS300, S300IA,
S300TH, ASH2200, PS 50 and Conrad sensors KS555, S555TH and
ASH555.
Via an eQ-3 HomeMatic Lan Configurator (or HM-CFG-USB + hmland)
access to selected HomeMatic devices.
Via the eibd or a TUL (see www.busware.de) access to the EIB/KNX
protocol.
Via a TCM120 (e.g. the BSC BOR) or a TCM310 (e.g. busware EUL) access
to the EnOcean protocol.
Via a ZWave USB Dongle (e.g. the Goodway WD6001) access to the ZWave protocol.
A complete list with a detailed description can be found in the commandref document.
http://www.dhs-computertechnik.de:
Integration of FHZ and NAS running FHEM. Using an enhanced
transmitter to achieve more distant transmission. Full integrated
solution for Home-Control and beyond (other service like UPS management,
etc. are also available).
Install this package.
Note: For upgrading it is necessary to purge the old package (dpkg
-P fhem), as the directory structure has changed to be the same as with
.tar.gz or fritzbox.
Unix / OSX
Make sure you have perl. Most certainly you will need the
Device::SerialPort perl module, install it with "sudo cpan
Device::SerialPort" or "apt-get install libdevice-serialport-perl".
Download the
.tar.gz package, unpack it, and change to the unpacked directory.
start fhem directly from this directory (perl fhem.pl fhem.cfg).
Windows
Note:If you are using cygwin for your perl installation you can
follow the guidelines for Unix.
Be sure you have perl.exe in your path (%PATH%), and the module
Win32::SerialPort is installed.
Make sure that you can access your device (CUL/FHZ/etc) via virtual
COM-Port or via socket (e.g. COMX or xport:10001).
Download the
.tar.gz package, unpack it, and change to the unpacked directory.
Start the server with perl fhem.pl fhem.cfg
After installation follow the HOWTO for adding devices.
License:
Copyright:
Rudolf Koenig (r dot koenig at koeniglich dot de. Note: I do
not provide fhem-support via private mail, use the forum
instead)