REST API Plugin to control ZigBee lights like Philips Hue and dresden elektroniks wireless electronic ballasts
C C++ QMake
Permalink
Failed to load latest commit information.
.gitignore UPnP discovery - issue #19 May 21, 2017
LICENSE.txt Initial commit of all V2_03 files Mar 19, 2016
README.md Update description for plugin compilation with Qt5 on Raspbian Jessie Apr 11, 2017
atmel_wsndemo_sensor.cpp Initial commit of all V2_03 files Mar 19, 2016
authentification.cpp Fix authentification via deleted apikeys Jun 11, 2017
bindings.cpp Support humidity sensor (cluster 0x0405) Jun 23, 2017
bindings.h Add documentation for binding table query Apr 28, 2016
change_channel.cpp Initial commit of all V2_03 files Mar 19, 2016
colorspace.cpp Fix various app crashed related to resource system May 18, 2017
colorspace.h Added Rgb2xy function to colorspace class Feb 22, 2017
connectivity.cpp Initial commit of all V2_03 files Mar 19, 2016
connectivity.h Initial commit of all V2_03 files Mar 19, 2016
database.cpp Support humidity sensor (cluster 0x0405) Jun 23, 2017
de_otau.cpp Improve use of lights resource items May 11, 2017
de_web.pro Bump version to 2.04.47 Jun 20, 2017
de_web_plugin.cpp Support humidity sensor (cluster 0x0405) Jun 23, 2017
de_web_plugin.h Require deCONZ API version 1.3.0 Apr 8, 2017
de_web_plugin_private.h Support humidity sensor (cluster 0x0405) Jun 23, 2017
de_web_widget.cpp Provide links to the WebApp in the REST widget Aug 23, 2016
de_web_widget.h Initial commit of all V2_03 files Mar 19, 2016
de_web_widget.ui Provide links to the WebApp in the REST widget Aug 23, 2016
discovery.cpp persist bridgeid May 22, 2017
event.cpp Support state/any_on for groups May 17, 2017
event.h Support state/any_on for groups May 17, 2017
event_queue.cpp Support state/any_on for groups May 17, 2017
firmware_update.cpp Fix build of last commit Jan 5, 2017
gateway.cpp Functional version of remote gateway control and group cascades in sa… Sep 18, 2016
gateway.h Functional version of remote gateway control and group cascades in sa… Sep 18, 2016
gateway_scanner.cpp Functional version of remote gateway control and group cascades in sa… Sep 18, 2016
gateway_scanner.h Start work on cross gateway communication (wip) Sep 11, 2016
group.cpp Improve removing device membership from groups Jun 20, 2017
group.h Improve removing device membership from groups Jun 20, 2017
group_info.cpp Improve scene handling, use unicast add scene commands instead of sto… Sep 18, 2016
group_info.h Improve scene handling, use unicast add scene commands instead of sto… Sep 18, 2016
gw_uuid.cpp Initial commit of all V2_03 files Mar 19, 2016
ias_zone.cpp Update state timestamp on IAS Zone event Apr 9, 2017
json.cpp Fix UTF8 JSON output (Qt 4.8) Sep 27, 2016
json.h add plugin content and update LICENSE Jul 23, 2013
light_node.cpp Silence gcc fall through warning Jun 23, 2017
light_node.h Improve use of lights resource items May 11, 2017
permitJoin.cpp Don't broadcast permit join requests when OTA is busy Jan 2, 2017
reset_device.cpp Refactor lights to use resource system to support websocket events (1) May 8, 2017
resource.cpp Use UTC for lastupdated timestamp Jun 18, 2017
resource.h Support state/any_on for groups May 17, 2017
rest_configuration.cpp Verify apikey delete state when detectig duplicates (2) Jun 12, 2017
rest_gateways.cpp Stop OTA query on sensor activity Jan 2, 2017
rest_groups.cpp Improve removing device membership from groups Jun 20, 2017
rest_lights.cpp Support state/any_on for groups May 17, 2017
rest_node_base.cpp Refactor lights to use resource system to support websocket events (1) May 8, 2017
rest_node_base.h Refactor lights to use resource system to support websocket events (1) May 8, 2017
rest_rules.cpp Update rule etag after trigger, store rules to db in large intervals Apr 9, 2017
rest_schedules.cpp Improve use of lights resource items May 11, 2017
rest_sensors.cpp Improve creation of CLIP sensors, add attributes based on type Jun 20, 2017
rest_touchlink.cpp Refactor lights to use resource system to support websocket events (1) May 8, 2017
rest_userparameter.cpp Handle userparameter Rest API Sep 7, 2016
rule.cpp Support rule condition operator 'in' and 'not in' Apr 9, 2017
rule.h Support rule condition operator 'in' and 'not in' Apr 9, 2017
scene.cpp Improve storing of scenes, query attributes created by the light afte… Jun 5, 2017
scene.h Improve storing of scenes, query attributes created by the light afte… Jun 5, 2017
sensor.cpp Improve Busch-Jaeger 1 and 2-gang switches in non-scene mode Jun 20, 2017
sensor.h Improve Busch-Jaeger 1 and 2-gang switches in non-scene mode Jun 20, 2017
sqlite3.c add plugin content and update LICENSE Jul 23, 2013
sqlite3.h add plugin content and update LICENSE Jul 23, 2013
upnp.cpp persist bridgeid May 22, 2017
websocket_server.cpp Try to use proxy friendly ports for websocket server, use random port… Mar 27, 2017
websocket_server.h Add basic websocket server to broadcast events to clients Mar 25, 2017
zcl_tasks.cpp Improve use of lights resource items May 11, 2017

README.md

Introduction

The deCONZ REST plugin provides a REST API to access ZigBee Home Automation (ZHA) and ZigBee Light Link (ZLL) lights, switches and sensors like the dresden elektronik Wireless Light Control system, IKEA TRÅDFRI and Philips Hue.

As hardware the RaspBee ZigBee Shield for Raspberry Pi or a ConBee USB dongle is used to directly communicate with the ZigBee devices.

To learn more about the REST API itself please visit the REST API Documentation page.

License

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

Usage

Currently the compilation of the plugin is only supported for Raspbian Jessie distribution. Packages for Qt4 and Raspbian Wheezy are available but not described here.

Install Qt5 development libraries and tools
sudo apt install qt5-default libqt5sql5 libqt5websockets5-dev libqt5serialport5-dev wiringpi
Install deCONZ and development package
  1. Download deCONZ package

     wget http://www.dresden-elektronik.de/rpi/deconz/beta/deconz-2.04.40-qt5.deb
    
  2. Install deCONZ package

     sudo dpkg -i deconz-2.04.40-qt5.deb
    
  3. Download deCONZ development package

     wget http://www.dresden-elektronik.de/rpi/deconz-dev/deconz-dev-2.04.40.deb
    
  4. Install deCONZ development package

     sudo dpkg -i deconz-dev-2.04.40.deb
    
Get and compile the plugin
  1. Checkout the repository

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

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

     qmake && make -j3
    
  4. Replace original plugin

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

Software requirements

  • Raspbian Jessie and Qt5

Hardware requirements

  • Raspberry Pi 1, 2 or 3
  • RaspBee ZigBee Shield for Raspberry Pi
  • ConBee USB dongle for Raspberry Pi and PC

3rd party libraries

The following libraries are used by the plugin: