FHEM vs Zwave-JS Server
A side-by-side comparison of two self-hosted home automation options — licensing, setup difficulty, resource needs, and what each one replaces.
| Feature | FHEM | Zwave-JS Server |
|---|---|---|
| Deploy effort | Under-an-hour setup | Under-an-hour setup |
| Health score | 62 · Good | 74 · Good |
| Category | Home Automation | Home Automation |
| License | GPL-2.0 | Apache-2.0 |
| Language | Perl | TypeScript |
| Setup difficulty | Hard | Medium |
| Min. RAM | 256 MB | 128 MB |
| Deployment | docker, bare-metal | docker, binary |
| GitHub stars | ★ 22 | ★ 164 |
| First released | 2005 | 2021 |
| Replaces | SmartThings | SmartThings |
What are FHEM and Zwave-JS Server?
FHEM
FHEM is a long-standing, GPL-licensed server for home automation used to control lights, heating, alarms, and many other devices. It supports a vast range of protocols through community modules.
- Vast protocol support
- Community module library
- Lightweight Perl server
- Long-term reliability
Zwave-JS Server
Z-Wave JS Server is a small server that exposes the Z-Wave JS driver over a WebSocket API. It allows multiple clients, such as Home Assistant, to control a Z-Wave network simultaneously.
- WebSocket Z-Wave API
- Multi-client support
- Built on Z-Wave JS
- Lightweight server
FHEM vs Zwave-JS Server: key differences
FHEM is written in Perl, while Zwave-JS Server is built with TypeScript. Licensing differs — GPL-2.0 for FHEM versus Apache-2.0 for Zwave-JS Server. Zwave-JS Server is the lighter option, starting around 128 MB of RAM against 256 MB for FHEM. FHEM is the more established project (first released 2005), while Zwave-JS Server arrived in 2021. Zwave-JS Server has the considerably larger community, at 164 GitHub stars versus 22.
Why pick each one
Choose FHEM if…
- Extremely mature
- Runs on modest hardware
Watch out for
- Dated, technical interface
- Configuration is arcane
Choose Zwave-JS Server if…
- Decouples driver from clients
- Reliable
Watch out for
- Headless, no UI
- Z-Wave only
Frequently asked questions
Is FHEM or Zwave-JS Server better?
Zwave-JS Server is the stronger all-round pick: it has both the larger community and the simpler medium setup. Consider FHEM if its specific feature set fits your needs better.
Are FHEM and Zwave-JS Server free and open-source?
Yes. FHEM is licensed under GPL-2.0 and Zwave-JS Server under Apache-2.0. Both can be self-hosted at no software cost.
Can I run FHEM and Zwave-JS Server with Docker?
FHEM: yes. Zwave-JS Server: yes.
Which is lighter on resources, FHEM or Zwave-JS Server?
Zwave-JS Server has the smaller minimum footprint at 128 MB of RAM, compared to about 256 MB for FHEM. Real-world usage depends on library size, user count, and enabled features.