deconz-rest-plugin is a free, open source automation project written in C++ and released under BSD-3-Clause. It has 1,909 GitHub stars, 528 forks and 145 open issues, and was last pushed 7 days ago. On this registry it ranks #46 of 54 tracked projects in Automation, with 5 head-to-head comparisons available.

What is deconz-rest-plugin?

deCONZ REST plugin is a C++ REST-API server that exposes Zigbee 3.0, Zigbee Home Automation and Zigbee Light Link devices — lights, switches and sensors — to any application that can speak HTTP, and it is aimed at self-hosters running a ConBee USB dongle or a RaspBee shield on a Raspberry Pi or Linux host.

What it is

The project is the REST-API plugin component of deCONZ, published by dresden elektronik under the BSD-3-Clause licence. It speaks to Zigbee hardware through a ConBee, ConBee II or ConBee III USB dongle, or through a RaspBee or RaspBee II shield mounted on a Raspberry Pi. On top of that radio link it presents the Zigbee network — lights, switches and sensors from Xiaomi Aqara, IKEA TRÅDFRI, Philips Hue, innr, Samsung and other vendors — as a documented HTTP interface. Companion documentation covers the REST API, the deCONZ C++ plugin API, and the DDF and C++ device API used to describe new devices.

The concrete problem it solves is vendor lock-in at the gateway layer. A Zigbee network normally reaches an application only through the vendor's own bridge and cloud service; this plugin replaces that bridge with a local REST endpoint that the application queries directly over the LAN. Consumers of the API are not tied to one ecosystem: the same endpoint can serve the browser-based Phoscon App, a home automation controller, or a custom script, because the surface is plain HTTP with published documentation rather than a proprietary SDK.

Key capabilities

  • Serves a documented REST-API over HTTP for lights, switches and sensors, with reference documentation at dresden-elektronik.github.io/deconz-rest-doc.
  • Controls devices across Zigbee 3.0 (Z30), Zigbee Home Automation (ZHA) and Zigbee Light Link (ZLL) profiles.
  • Supports hardware from Xiaomi Aqara, IKEA TRÅDFRI, Philips Hue, innr and Samsung, with a maintained Supported Devices list in the wiki.
  • Ships a DDF and C++ device API so unsupported hardware can be described and added without waiting for an upstream release.
  • Runs headless on Linux through a packaged systemd unit: sudo systemctl enable deconz, with the GUI service disabled via sudo systemctl disable deconz-gui and sudo systemctl stop deconz-gui.
  • Includes the Phoscon App, a browser-based interface for lights, sensors and switches, as the out-of-the-box control surface.
  • Publishes precompiled deCONZ packages containing the main application and the precompiled plugin for Windows, macOS, Raspbian, Ubuntu and Debian 64-bit, and ARM64.

Who uses it and how

  • Raspberry Pi owners running Raspbian Buster, Bullseye or Bookworm with a RaspBee or RaspBee II shield, using the sd-card image or the default installation method.
  • Linux server operators on Ubuntu Bionic, Focal Fossa or Jammy who install the .deb package and enable the systemd service for a headless gateway with no X11 server.
  • Desktop users on Windows 7, 10 or 11 and macOS who install the precompiled package and run the deCONZ application locally.
  • Developers building custom device support through the DDF and C++ device API, or integrating the REST endpoint into their own automation stack.
  • Users who prefer community support, served through the project's Discord server and the wiki.

Getting started

Installation follows the Phoscon instructions for the specific adapter — RaspBee, RaspBee II, ConBee, ConBee II or ConBee III — or, on Linux, by installing a precompiled .deb with sudo dpkg -i .deb followed by sudo apt-get install -f. Building from source is documented in BUILDING.md, and the Phoscon App documentation covers first-time setup of the browser interface.

How it compares

No list of paid products it replaces is provided in the facts, and no comparable tools are named alongside it, so within this registry the deCONZ REST plugin stands alone as the Zigbee gateway entry.

When to use it — and when not to

A self-hoster must operate the deCONZ application itself, and must own one of the supported adapters, because the plugin has no radio of its own and will not run against arbitrary Zigbee hardware. Upgrades carry real risk: the README instructs users updating from a previous version to create a backup in the Phoscon App and read the changelog first. Anyone unwilling to buy a ConBee or RaspBee, or who needs a purely cloud-managed service with no host to maintain, should look elsewhere; the project also carries 145 open issues, so expect to track upstream development rather than assume a finished product.

project readme (upstream, from github) — read inline

Introduction

The deCONZ REST plugin provides a REST-API to access Zigbee 3.0 (Z30), Zigbee Home Automation (ZHA) and Zigbee Light Link (ZLL) lights, switches and sensors from Xiaomi Aqara, IKEA TRÅDFRI, Philips Hue, innr, Samsung and many more vendors.

A list of supported Zigbee devices can be found on the Supported Devices page.

To communicate with Zigbee devices the RaspBee / RaspBee II Zigbee shield for Raspberry Pi, or a ConBee / ConBee II / ConBee III USB dongle is required.

API Documentation

For community based support with deCONZ or Phoscon, please visit the deCONZ Discord server.

Phoscon App

The Phoscon App is a browser based web application and supports lights, sensors and switches. For more information and screenshots visit the Phoscon App Documentation.

Release Schedule

All stable and beta releases are listed on the releases page and contain precompiled deCONZ packages for that release.

Each release has a milestone which is updated during development with related pull requests. To check for current developemt please refer to the milestones page.

deCONZ beta releases are scheduled roughly once per week. After 1–3 betas a stable version is released and a new beta cycle begins.

Installation

Supported platforms
  • Raspbian Jessie, Stretch, Buster, Bullseye and Bookworm
  • Ubuntu Xenial, Bionic, Focal Fossa and Jammy
  • Windows 7, 10, 11
  • macOS

Install deCONZ

You find the instructions for your platform and device on the Phoscon website:

Important: If you're updating from a previous version always make sure to create an backup in the Phoscon App and read the changelog first.

https://github.com/dresden-elektronik/deconz-rest-plugin/releases

Compiling the plugin

The build instructions are described in BUILDING.md.

Precompiled deCONZ packages for manual installation

The deCONZ application packages are available for the following platforms and contain the main application and the pre-compiled REST-API plugin.

To manually install a Linux .deb package enter these commands:

sudo dpkg -i .deb
sudo apt-get install -f

Headless support for Linux

The deCONZ package contains a systemd script, which allows deCONZ to run without a X11 server.

  1. Enable the service at boot time
$ sudo systemctl enable deconz
  1. Disable deCONZ GUI autostart service

The dresden elektronik sd-card image and default installation method autostarts deCONZ GUI. The following commands disable the deCONZ GUI service:

$ sudo systemctl disable deconz-gui
$ sudo systemctl stop deconz-gui

Hardware requirements

  • Raspberry Pi 1, 2B, 3B, 3B+ or 4B
  • RaspBee Zigbee shield for Raspberry Pi
  • RaspBee II Zigbee shield for Raspberry Pi
  • ConBee USB dongle for Raspberry Pi and PC
  • ConBee II USB dongle for Raspberry Pi and PC
  • ConBee III USB dongle for Raspberry Pi and PC

3rd party libraries

The following libraries are used by the plugin:

License

The plugin is available as open source and licensed under the BSD (3-Clause) license.

Frequently asked questions

Is deconz-rest-plugin free to use?

deconz-rest-plugin is open source under the BSD-3-Clause licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does deconz-rest-plugin do?

deCONZ REST-API plugin to control ZigBee devices

What is deconz-rest-plugin written in?

deconz-rest-plugin is primarily written in C++. Its source is publicly available at https://github.com/dresden-elektronik/deconz-rest-plugin, and it has 1,909 GitHub stars.