created by hek , updated

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.

MySensors is supported through the Serial Gateway and Ethernet Gateway .

Homepage Support Forum


  • Support for a lot of protocols used in house automation, audio/video devices, weather services, online calendars and 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 a database, with regexp filters
  • Notifying external programs or scripts when receiving certain events
  • Timed commands (e.g. switching a lamp on from sunset till midnight)
  • Lots of interfaces: simple text, JSON, XML, each of them over plain TCP/IP, SSL or HTTP.
  • Modular architecture with currently over 150 modules, easy to add your special device
  • Lots of frontends, choose your favorite

Suported protocols

  • eQ3 specific: FS20, HomeMatic, MAX!, EM1000, FHT80b, HMS, S300, ESA2000
  • KNX, ZWave, EnOcean, X10, FRITZ!Dect, Intertechno, HomeEasy, Philipps HUE
  • 1Wire, Firmata, webio, panStamp, LIRC, JeeLink, RFXCOM/RFXTRX, TellStick
  • Davis VantagePro2, Oregon Scientific, Allnet
  • TVs from Samsung/Panasonic/LG/Philips, devices from Sonos/Squeezebox, amplifier from Yamaha/Denon/Onkyo, iTunes/AppleTV, Enigma2, XBMC
  • A complete list of all FHEM-modules with a detailed description can be found in the commandref document.