REST API Plugin to control ZigBee lights like Philips Hue and dresden elektroniks wireless electronic ballasts
C C++ Other
Permalink
Failed to load latest commit information.
.gitignore UPnP discovery - issue #19 May 21, 2017
LICENSE.txt Fix license file to BSD Clause-3 license Jul 28, 2017
README.md Update compile steps for Raspberry Pi Sep 3, 2017
atmel_wsndemo_sensor.cpp Initial commit of all V2_03 files Mar 19, 2016
authentification.cpp Support authentification via HMAC challenge and install code Sep 10, 2017
bindings.cpp Create a Hue Tap group when adding a Hue Tap switch (commit 2/2) Sep 21, 2017
bindings.h More attribute reporting config Aug 27, 2017
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 /config/websocketnotifyall Sep 18, 2017
de_otau.cpp Improve reporting and binding configuration for end-devices (wip) Aug 19, 2017
de_web.pro /config/websocketnotifyall Sep 18, 2017
de_web_plugin.cpp Always issue state.dark event. Sep 22, 2017
de_web_plugin.h Refactor rules handling based on events (experimental) Sep 2, 2017
de_web_plugin_private.h /config/websocketnotifyall Sep 18, 2017
de_web_widget.cpp Cleanup REST API plugin widget and display install code Sep 10, 2017
de_web_widget.h Cleanup REST API plugin widget and display install code Sep 10, 2017
de_web_widget.ui Cleanup REST API plugin widget and display install code Sep 10, 2017
discovery.cpp Revert "Don't show update if not running within deCONZ-autostart.sh s… Jul 14, 2017
event.cpp Refactor rules handling based on events (experimental) Sep 2, 2017
event.h Refactor rules handling based on events (experimental) Sep 2, 2017
event_queue.cpp Refactor rules handling based on events (experimental) Sep 2, 2017
firmware_update.cpp Fix retreive of firmware version on desktop Jun 28, 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 Refactor rules handling based on events (experimental) Sep 2, 2017
ikea-ota-download.py Add IKEA OTA download script Aug 11, 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 Correct vendor names for IKEA and Innr Aug 1, 2017
light_node.h Improve use of lights resource items May 11, 2017
permitJoin.cpp Optimize database writes Jun 27, 2017
reset_device.cpp Refactor lights to use resource system to support websocket events (1) May 8, 2017
resource.cpp Update Hue motion sensor config attributes through config.duration Sep 10, 2017
resource.h Update Hue motion sensor config attributes through config.duration Sep 10, 2017
resourcelinks.cpp Add /resourcelinks REST API Jul 18, 2017
resourcelinks.h Add /resourcelinks REST API Jul 18, 2017
rest_configuration.cpp /config/websocketnotifyall Sep 18, 2017
rest_gateways.cpp Stop OTA query on sensor activity Jan 2, 2017
rest_groups.cpp Support Trigger Effect command through state.alert and action.alert Sep 9, 2017
rest_lights.cpp Support Trigger Effect command through state.alert and action.alert Sep 9, 2017
rest_node_base.cpp Lower some debug print levels Aug 29, 2017
rest_node_base.h Improve reporting and binding configuration for end-devices (wip) Aug 19, 2017
rest_resourcelinks.cpp Fix return empty resoucelinks object when deleted ones are still present Jul 23, 2017
rest_rules.cpp Fixed creation of rule that controls a group. Sep 21, 2017
rest_schedules.cpp Added schedules attribute "activation" which can be "start" or "end" Sep 5, 2017
rest_sensors.cpp IKEA motion sensor config.durarion and state.dark Sep 22, 2017
rest_touchlink.cpp Refactor lights to use resource system to support websocket events (1) May 8, 2017
rest_userparameter.cpp Support PATCH method for userparameters Jul 24, 2017
rule.cpp Instant trigger for rules based on sensor and resource events Jul 26, 2017
rule.h Refactor rules handling based on events (experimental) Sep 2, 2017
scene.cpp Fix in the store scene API (2) Aug 29, 2017
scene.h Fix in the store scene API (2) Aug 29, 2017
sensor.cpp Don't restore `config.pending` from database Sep 11, 2017
sensor.h Combine sensor/config push events Sep 9, 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 Improve UPNP init with lazy multicast group join and and config recheck Aug 6, 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 Support Trigger Effect command through state.alert and action.alert Sep 9, 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.70-qt5.deb
    
  2. Install deCONZ package

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

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

     sudo dpkg -i deconz-dev-2.04.70.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_70
    
  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
    

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: