The ZigBee binding supports an interface to a wireless ZigBee home automation network and allows ZigBee devices from numerous manufacturers to be used without a system specific gateway.
A ZigBee Coordinator is the network controller, and is therefore the heart of the ZigBee network. It also acts as the trust centre to control security access to the network.
Coordinators need to be installed manually and the serial port must be set.
This is the Texas Instruments ZNP stack. The thing type is coordinator_ti2351
.
The TI2531 USB dongle must be flashed with the correct firmware in order to work with this binding.
The file can be downloaded from TI website archives (http://www.ti.com/tool/z-stack-archive) as part
of the Z-STACK-HOME v.1.2.2a
package.
The file name is CC2531ZNP-Pro-Secure_Standard.hex
and its sha256 is 3cc5dc571ef0f49e3f42c6c2ca076d6f8fef33a945c71e6f951b839ba0599d3c
.
It's possible to flash the dongle using Linux, using cc-tool
(https://github.com/dashesy/cc-tool.git).
The software has been tested and confirmed working on Ubuntu 16.10 and 17.04.
The required dependencies can be installed with sudo apt install build-essential libusb-1.0-0-dev libboost-all-dev
, and the binary compiled with ./configure && make
. Do not forget to install the udev
rules, as described at https://github.com/dashesy/cc-tool/blob/master/README , or the software might not be able to access the USB programmer.
The firmware can be flashed with ./cc-tool -e -w CC2531ZNP-Pro-Secure_Standard.hex -v r
. Change the path to the firmware accordingly.
The Ember EZSP NCP (Network Co-Processor) supports the Silabs EM358 or MightyGecko dongles with the standard NCP firmware. The thing type is coordinator_ember
.
The thing type is coordinator_telegesis
.
The following devices have been tested with the binding
Device | Description |
---|---|
Busch-Jaeger 6711 | Relay Insert |
Busch-Jaeger 6735 | Control Element (1-channel) |
Busch-Jaeger 6735/01 | Control Element (1-channel, battery-operated) |
Busch-Jaeger 6736 | Control Element (2-channel) |
GE Bulbs | |
Hue Bulbs | Color LED Bulb |
Hue Motion Sensor | Motion and Luminance sensor |
Innr Bulbs | note1 |
Osram Bulbs | |
SmartThings Plug | Metered Plug |
SmartThings Motion Sensor | CentraLite 3325-S Motion and Temperature sensor |
SmartThings Contact Sensor | Contact and Temperature sensor |
Tradfri Bulbs | |
Tradfri Motion Sensor | |
Trust Bulbs | note1 |
Note 1: Some bulbs may not work with the Telegesis dongle.
Once the binding is installed, and an adapter is added, it automatically reads all devices that are set up on the ZigBee controller and puts them in the Inbox. When the binding is put into discovery mode via the user interface, the network will have join enabled for 60 seconds.
The binding will attempt to automatically detect new devices, giving them a type based on the information they report, and will read their supported clusters to define the supported channels.
Currently all ZigBee things have the same thing type of zigbee_device
.
A set of channels will be created depending on what clusters and endpoints a device supports. Channels are loosely linked to clusters in that for the majority of channels, a single cluster is used. However, some channels may utilise more than one cluster to provide the required functionality.
The following channels are supported -:
Channel UID | ZigBee Cluster | Type | Description |
---|---|---|---|
switch_dimmer | LEVEL_CONTROL (0x0008) |
Dimmer | |
switch_onoff | ON_OFF (0x0006) |
Switch | |
color_color | COLOR_CONTROL (0x0300) |
Color | |
color_temperature | COLOR_CONTROL (0x0300) |
Dimmer | |
electrical_activepower | ELECTRICAL_MEASUREMENT (0x0B04) |
Number | |
ias_contactportal1 | IAS_ZONE (0x0500) |
Switch | |
ias_motionintrusion | IAS_ZONE (0x0500) |
Switch | |
ias_motionpresence | IAS_ZONE (0x0500) |
Switch | |
ias_standard_system | IAS_ZONE (0x0500) |
Switch | |
measurement_illuminance | ILLUMINANCE_MEASUREMENT (0x0400) |
Number | |
measurement_temperature | TEMPERATURE_MEASUREMENT (0x0402) |
Number | |
sensor_occupancy | OCCUPANCY_SENSING (0x0406) |
Switch |
The binding will attempt to configure a connection with the device to receive automatic and instantaneous reports when the device status changes. Should this configuration fail, the binding will resort to using a fast polling (note that "fast" is approximately 30 seconds at this time).
When things don't appear to be working as expected you should check the logs to try and find what is happening. Debug logging can be enabled with the following Karaf commands -:
log:set debug org.openhab.binding.zigbee
log:set debug com.zsmartsystems.zigbee
This will log data into the standard openhab.log file.
Note that logs can only show what is happening at a high level - it can't show all data exchanges between the device and the coordinator - just what the coordinator sends to the binding. For this reason it can be difficult to debug issues where devices are not joining the network.