Dresden Elektronik deCONZ Binding

The Zigbee binding currently does not support the Dresden Elektronik Raspbee and Conbee Zigbee dongles. The manufacturer provides a companion app called deCONZ together with the mentioned hardware. deCONZ offers a documented real-time channel that this binding makes use of to bring support for all paired Zigbee devices.

Supported Things

There is one bridge (deconz) that manages the connection to the deCONZ software instance. These sensors are supported:

Device type Resource Type Thing type
Presence Sensor ZHAPresence, CLIPPresence presencesensor
Power Sensor ZHAPower, CLIPPower powersensor
Consumption Sensor ZHAConsumption consumptionsensor
Switch ZHASwitch switch
Light Sensor ZHALightLevel lightsensor
Temperature Sensor ZHATemperature temperaturesensor
Humidity Sensor ZHAHumidity humiditysensor
Pressure Sensor ZHAPressure pressuresensor
Open/Close Sensor ZHAOpenClose openclosesensor
Water Leakage Sensor ZHAWater waterleakagesensor
Alarm Sensor ZHAAlarm alarmsensor
Fire Sensor ZHAFire firesensor
Vibration Sensor ZHAVibration vibrationsensor
deCONZ Artificial Daylight Sensor deCONZ specific: simulated sensor daylightsensor
Carbon-Monoxide Sensor ZHACarbonmonoxide carbonmonoxide
Color Controller ZBT-Remote-ALL-RGBW colorcontrol

Additionally lights, window coverings (blinds) and thermostats are supported:

Device type Resource Type Thing type
Dimmable Light Dimmable light, Dimmable plug-in unit dimmablelight
On/Off Light On/Off light, On/Off plug-in unit, Smart plug onofflight
Color Temperature Light Color temperature light colortemperaturelight
Color Light (w/o temperature) Color dimmable light colorlight
Extended Color Light (w/temperature) Extended color light extendedcolorlight
Blind / Window Covering Window covering device windowcovering
Thermostat ZHAThermostat thermostat
Warning Device (Siren) Warning device warningdevice

Discovery

deCONZ software instances are discovered automatically in the same subnet. Sensors, switches, lights and blinds are discovered as soon as a deconz bridge thing comes online. If your device is not discovered, please check the DEBUG log for unknown devices and report your findings.

Thing Configuration

Bridge

These configuration parameters are available:

Parameter Description Type Default
host Host address (hostname / ip) of deCONZ interface string n/a
httpPort Port of deCONZ HTTP interface string 80
port Port of deCONZ Websocket (optional, can be filled automatically) (Advanced) string n/a
apikey Authorization API key (optional, can be filled automatically) string n/a
timeout Timeout for asynchronous HTTP requests (in milliseconds) integer 2000

The deCONZ bridge requires the IP address or hostname as a configuration value in order for the binding to know where to access it. If needed you can specify an optional port for the HTTP interface or the Websocket. The Websocket port can be filled automatically by requesting it via the HTTP interface - you only need to specify it if your deCONZ instance is running containerized.

The API key is an optional value. If a deCONZ API key is available because it has already been created manually, it can also be entered as a configuration value. Otherwise the field can be left empty and the binding will generate the key automatically. For this process the deCONZ bridge must be unlocked in the deCONZ software so that third party applications can register (see deCONZ documentation).

Things

All non-bridge things share the mandatory id parameter, an integer assigned to the device while pairing to deconz. Auto-discovered things do not need to be configured.

All sensor-things have an additional lastSeenPolling parameter. Due to limitations in the API of deCONZ, the lastSeen channel (available some sensors) is only available when using polling. Allowed values are all positive integers, the unit is minutes. The default-value is 0, which means "no polling at all".

dimmablelight, extendedcolorlight, colorlight and colortemperaturelight have an additional optional parameter transitiontime. The transition time is the time to move between two states and is configured in seconds. The resolution provided is 1/10s. If no value is provided, the default value of the device is used.

Textual Thing Configuration - Retrieving an API Key

If you use the textual configuration, the thing file without an API key will look like this, for example:

Bridge deconz:deconz:homeserver [ host="192.168.0.10" ]

In this case, the API key is generated automatically as described above (the deCONZ bridge has to be unlocked). Please note that the generated key cannot be written automatically to the .thing file, and has to be set manually. The generated key can be queried from the configuration using the openHAB console. To do this log into the console and use the command things show to display the configuration parameters, e.g:

things show deconz:deconz:homeserver

Afterwards the API key has to be inserted in the .thing file as apikey configuration value, e.g.:

Bridge deconz:deconz:homeserver [ host="192.168.0.10", apikey="ABCDEFGHIJ" ]

Channels

The sensor devices support some of the following channels:

Channel Type ID Item Type Access Mode Description Thing types
presence Switch R Status of presence: ON = presence; OFF = no-presence presencesensor
last_updated DateTime R Timestamp when the sensor was last updated all, except daylightsensor
last_seen DateTime R Timestamp when the sensor was last seen all, except daylightsensor
power Number:Power R Current power usage in Watts powersensor, sometimes for consumptionsensor
consumption Number:Energy R Current power usage in Watts/Hour consumptionsensor
voltage Number:ElectricPotential R Current voltage in V some powersensors
current Number:ElectricCurrent R Current current in mA some powersensors
button Number R Last pressed button id on a switch switch, colorcontrol
gesture Number R A gesture that was performed with the switch switch
lightlux Number:Illuminance R Current light illuminance in Lux lightsensor
light_level Number R Current light level lightsensor
dark Switch R Light level is below the darkness threshold lightsensor, sometimes for presencesensor
daylight Switch R Light level is above the daylight threshold lightsensor
temperature Number:Temperature R Current temperature in ˚C temperaturesensor, some Xiaomi sensors,thermostat
humidity Number:Dimensionless R Current humidity in % humiditysensor
pressure Number:Pressure R Current pressure in hPa pressuresensor
open Contact R Status of contacts: OPEN; CLOSED openclosesensor
waterleakage Switch R Status of water leakage: ON = water leakage detected; OFF = no water leakage detected waterleakagesensor
fire Switch R Status of a fire: ON = fire was detected; OFF = no fire detected firesensor
alarm Switch R Status of an alarm: ON = alarm was triggered; OFF = no alarm alarmsensor
tampered Switch R Status of a zone: ON = zone is being tampered; OFF = zone is not tampered any IAS sensor
vibration Switch R Status of vibration: ON = vibration was detected; OFF = no vibration alarmsensor
light String R Light level: Daylight; Sunset; Dark daylightsensor
value Number R Sun position: 130 = dawn; 140 = sunrise; 190 = sunset; 210 = dusk daylightsensor
battery_level Number R Battery level (in %) any battery-powered sensor
battery_low Switch R Battery level low: ON; OFF any battery-powered sensor
carbonmonoxide Switch R ON = carbon monoxide detected carbonmonoxide
color Color R Color set by remote colorcontrol

NOTE: Beside other non mandatory channels, the battery_level and battery_low channels will be added to the Thing during runtime if the sensor is battery-powered. The specification of your sensor depends on the deCONZ capabilities. Have a detailed look for supported devices.

The last_seen channel is added when it is available AND the lastSeenPolling parameter of this sensor is used to enable polling.

Other devices support

Channel Type ID Item Type Access Mode Description Thing types
brightness Dimmer R/W Brightness of the light dimmablelight, colortemperaturelight
switch Switch R/W State of a ON/OFF device onofflight
color Color R/W Color of an multi-color light colorlight, extendedcolorlight
color_temperature Number R/W Color temperature in kelvin. The value range is determined by each individual light colortemperaturelight, extendedcolorlight
position Rollershutter R/W Position of the blind windowcovering
heatsetpoint Number:Temperature R/W Target Temperature in °C thermostat
valve Number:Dimensionless R Valve position in % thermostat
mode String R/W Mode: "auto", "heat" and "off" thermostat
offset Number R Temperature offset for sensor thermostat
alert Switch R/W Turn alerts on/off warningdevice

Trigger Channels

The dimmer switch additionally supports trigger channels.

Channel Type ID Description Thing types
buttonevent Event for switch pressed switch, colorcontrol
gestureevent Event for gestures switch

NOTE: The gestureevent trigger channel is only available if the optional channel gesture is present. Both will be added during runtime if supported by the switch. gestureevent can trigger one of the following events:

Gesture Event
GESTURE_NONE 0
GESTURE_SHAKE 1
GESTURE_DROP 2
GESTURE_FLIP_90 3
GESTURE_FLIP_180 4
GESTURE_PUSH 5
GESTURE_DOUBLE_TAP 6
GESTURE_ROTATE_CLOCKWISE 7
GESTURE_ROTATE_COUNTER_CLOCKWISE 8

Full Example

Things file

Bridge deconz:deconz:homeserver [ host="192.168.0.10", apikey="ABCDEFGHIJ" ] {
    presencesensor      livingroom-presence     "Livingroom Presence"       [ id="1" ]
    temperaturesensor   livingroom-temperature  "Livingroom Temperature"    [ id="2" ]
    humiditysensor      livingroom-humidity     "Livingroom Humidity"       [ id="3" ]
    pressuresensor      livingroom-pressure     "Livingroom Pressure"       [ id="4" ]
    openclosesensor     livingroom-window       "Livingroom Window"         [ id="5" ]
    switch              livingroom-hue-tap      "Livingroom Hue Tap"        [ id="6" ]
    waterleakagesensor  basement-water-leakage  "Basement Water Leakage"    [ id="7" ]
    alarmsensor         basement-alarm          "Basement Alarm Sensor"     [ id="8", lastSeenPolling=5 ]
    dimmablelight       livingroom-ceiling      "Livingroom Ceiling"        [ id="1" ]
}

Items file

Switch                  Livingroom_Presence     "Presence Livingroom [%s]"          <motion>        { channel="deconz:presencesensor:homeserver:livingroom-presence:presence" }
Number:Temperature      Livingroom_Temperature  "Temperature Livingroom [%.1f °C]"  <temperature>   { channel="deconz:temperaturesensor:homeserver:livingroom-temperature:temperature" }
Number:Dimensionless    Livingroom_Humidity     "Humidity Livingroom [%.1f %%]"     <humidity>      { channel="deconz:humiditysensor:homeserver:livingroom-humidity:humidity" }
Number:Pressure         Livingroom_Pressure     "Pressure Livingroom [%.1f hPa]"    <pressure>      { channel="deconz:pressuresensor:homeserver:livingroom-pressure:pressure" }
Contact                 Livingroom_Window       "Window Livingroom [%s]"            <door>          { channel="deconz:openclosesensor:homeserver:livingroom-window:open" }
Switch                  Basement_Water_Leakage  "Basement Water Leakage [%s]"                       { channel="deconz:waterleakagesensor:homeserver:basement-water-leakage:waterleakage" }
Switch                  Basement_Alarm          "Basement Alarm Triggered [%s]"                     { channel="deconz:alarmsensor:homeserver:basement-alarm:alarm" }
Dimmer                  Livingroom_Ceiling      "Livingroom Ceiling [%d]"           <light>         { channel="deconz:dimmablelight:homeserver:livingroom-ceiling:brightness" }                 

Events

rule "example trigger rule"
when
    Channel "deconz:switch:homeserver:livingroom-hue-tap:buttonevent" triggered 34   // Hue Tap Button 1 pressed
then
    ...
end

Troubleshooting

By default state updates are ignored for 250ms after a command. If your light takes more than that to change from one state to another, you might experience a problem with jumping sliders/color pickers. In that case the transitiontime parameter should be changed to the desired time.