FHEM review: the Perl-based open-source home automation server. Explore its module ecosystem, licensing, self-hosting setup, and alternatives like Home…
Category
Internet of Things (IoT) & Home Automation
Pricing
Open Source, from Free
Verified
Not yet
Last updated
July 18, 2026
Founded
2005
Headquarters
Frankfurt am Main, Germany
Free PlanWindowsWeb AppOpen SourceSelf-HostedMac
Overview
FHEM is a Perl-based, self-hosted home automation server created in 2005 by German developer Rudolf König, originally to control radio-based heating thermostats and later expanded into a general-purpose smart home platform supporting more than four hundred thirty device and protocol modules.
The project has no commercial owner and is governed as a community effort supported by FHEM e.V., a registered German nonprofit association, with its source code maintained on Subversion and released under the GNU General Public License version 2.
Key Features
FHEM's modular architecture supports an unusually wide range of smart home protocols, including Homematic, KNX, Z-Wave, ZigBee, EnOcean, MQTT, 1-Wire, Philips Hue, and FRITZ!DECT, alongside integrations with Apple HomeKit and Amazon Alexa.
Automation logic can be built using the simple built-in notify mechanism for basic triggers, or the more powerful community-developed DOIF module for declarative, conditional automation rules, with full Perl scripting available for advanced use cases.
Pricing
FHEM is entirely free and open source under the GPLv2 license, with no paid tiers, subscriptions, or hosted cloud version offered by the project.
Because there is no commercial entity behind FHEM, users must self-host it themselves, typically on a Raspberry Pi, NAS device, Linux server, or router, running on Linux, Windows via Cygwin, macOS, or BSD systems.
Key Features
430+ device modules — A modular Perl-based plugin architecture supports more than four hundred thirty modules covering a wide range of smart home devices and communication protocols.
Broad protocol support — Natively supports Homematic, MAX!, FS20, FHT, KNX, Z-Wave, ZigBee, EnOcean, 1-Wire, MQTT, Wireless M-Bus, and RFXCOM, among other protocols.
FHEMWEB interface — A built-in lightweight web server provides a browser-based control interface, with optional HTTPS and basic authentication support.
DOIF automation module — The community-developed DOIF module offers declarative if-elseif-else style conditional automation logic without requiring full Perl scripting.
HomeKit and Alexa integration — Supports integration with Apple HomeKit and Amazon Alexa for voice control and integration with mainstream smart home ecosystems.
Cross-platform deployment — Runs on Linux, Windows via Cygwin, macOS, Unix, OpenBSD, and FreeBSD, and is commonly deployed on Raspberry Pi or AVM FRITZ!Box routers.
Notify event triggers — The built-in notify mechanism triggers predefined commands in response to device events or scheduled times for simple automation rules.
Active community maintenance — Supported by FHEM e.V., a registered German nonprofit, with an active Subversion repository and regular version releases including version 6.4 in March 2025.
Pros & Cons
Pros
Completely free and open source under the GPLv2 license with no commercial restrictions
Unusually broad support for legacy and niche radio-frequency protocols, especially in the German market
Mature, two-decade-old codebase with an active community and regular releases
Highly flexible automation logic via notify and the DOIF module, plus full Perl scripting for advanced users
Cons
Documentation and community discussion are predominantly in German, which can be a barrier for English-only users
Older architecture that some long-time users describe as more resource-intensive than newer platforms
Requires real technical comfort with Perl, Subversion-based updates, and radio hardware for full setup
No official mobile-first design or modern app-store apps comparable to newer competitors
Pricing
Open Source Free N/A
Frequently Asked Questions
Is FHEM free to use?
Yes, FHEM is entirely free and open source under the GNU General Public License version 2, with no paid tiers, subscriptions, or hosted cloud version.
Who created FHEM?
FHEM was created in 2005 by German developer Rudolf König, originally to control radio-based heating thermostats in his own house, and has since grown into a community-maintained project.
Is FHEM a company?
No, FHEM has never been a company product; it is supported by FHEM e.V., a registered German nonprofit association founded in 2015 that maintains the project's community forum and infrastructure.
What devices and protocols does FHEM support?
FHEM supports more than four hundred thirty modules covering protocols including Homematic, KNX, Z-Wave, ZigBee, EnOcean, MQTT, 1-Wire, and integrations with Apple HomeKit and Amazon Alexa.
How is FHEM different from Home Assistant or openHAB?
FHEM predates both Home Assistant and openHAB, having launched in 2005, and has particularly deep support for older German-market radio-frequency protocols, though some users find its architecture more resource-intensive than these newer alternatives.
What do I need to run FHEM?
FHEM requires a Perl interpreter and is commonly self-hosted on a Raspberry Pi, NAS device, Linux server, or router, running on Linux, Windows via Cygwin, macOS, or BSD; controlling USB radio devices additionally requires the Device::SerialPort Perl module.