/deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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 USB dongle is required.

To learn more about the REST-API itself please visit the REST-API Documentation page.
The REST-API plugin is implemented in C++ using the deCONZ C++ 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

deCONZ beta releases are scheduled roughly once per week. After 2–3 betas a stable version is released and a new beta cycle begins. The stable release is usually published between 1st — 15th of the month.

Current Beta: v2.12.2-beta
Current Stable: v2.11.5

Next Beta: v2.12.3-beta. Next Stable: v2.12.x expected in June.

Installation

Supported platforms
  • Raspbian Jessie, Stretch and Buster
  • Ubuntu Xenial, Bionic and Focal Fossa (AMD64)
  • Windows 7 and 10

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

Install deCONZ development package (optional, Linux only)

Important: The deCONZ package already contains the REST-API plugin, the development package is only needed if you wan't to modify the plugin or try the latest commits from master branch.

sudo apt install deconz-dev

Get and compile the plugin

  1. Checkout the repository

     git clone https://github.com/dresden-elektronik/deconz-rest-plugin.git
    
  2. Checkout the latest version

     cd deconz-rest-plugin
     git checkout -b mybranch HEAD
    
  3. Compile the plugin

     qmake && make -j2
    

Note On Raspberry Pi 1 use qmake && make

  1. Replace original plugin

     sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins
    

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 <package name>.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

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.