Homey ZigbeeDriver
This module can be used to make the development of Zigbee apps for Homey easier.
It is essentially a map-tool from Homey-capabilities to Zigbee endpoints and clusters.
This module requires Homey Apps SDK v3.
Related Modules
- node-homey-rfdriver — Module for RF drivers
- node-homey-zwavedriver — Module for Z-Wave drivers
- node-homey-oauth2app — Module for OAuth2 apps
- node-homey-log — Module to log unhandled errors to Sentry
Installation
$ npm install homey-zigbeedriver
Also checkout zigbee-clusters
if you want to do more advanced things or implement a driver for a Zigbee device without homey-zigbeedriver
.
$ npm install zigbee-clusters
Changelog
2.0.0
Breaking: don't invert windowcoverings_set values.
Release
Merge to production and include #patch
, #minor
or #major
in the PR/commit message. Or merge to production and run the "Deploy" workflow and provide a version bump parameter.
Requirements
This module requires Homey Apps SDK v3.
Usage
Your device should extend ZigBeeDevice. Start by looking at the docs for ZigBeeDevice
. This is the class you most likely want to extend from. If you are implementing a light
device take a look at ZigBeeLightDevice
.
See examples/exampleBulb.js and examples/tradfriBulb.json
Documentation
See https://athombv.github.io/node-homey-zigbeedriver
Deprecations and breaking changes for homey-zigbeedriver
This is a non exhaustive list of deprecations and breaking changes in homey-zigbeedriver
with respect to homey-meshdriver
which might be good to be aware of:
MeshDevice
is removed in favour ofZigBeeDevice
.onMeshInit()
is deprecated in favour ofonNodeInit()
.this.node.on(‘online’)
is removed in favour ofthis.onEndDeviceAnnounce()
.getClusterEndpoint
returnsnull
if not found.cluster
property is changed from string value (e.g.genOnOff
) to an object which is exported byconst { CLUSTER } = require(‘zigbee-clusters’);
registerReportListener
is deprecated in favour ofBoundCluster
implementation.registerAttrReportListener
is deprecated in favour ofconfigureAttributeReporting
.calculateZigbeeDimDuration
renamed tocalculateLevelControlTransitionTime
.calculateColorControlTransitionTime
is added for thecolorControl
cluster.ZigBeeXYLightDevice
is removed in favour ofZigBeeLightDevice
, it detects if the light supports hue and saturation or XY only.