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.
- 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
$ npm install homey-zigbeedriverAlso 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-clustersBreaking: don't invert windowcoverings_set values.
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.
This module requires Homey Apps SDK v3.
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
See https://athombv.github.io/node-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:
MeshDeviceis removed in favour ofZigBeeDevice.onMeshInit()is deprecated in favour ofonNodeInit().this.node.on(‘online’)is removed in favour ofthis.onEndDeviceAnnounce().getClusterEndpointreturnsnullif not found.clusterproperty is changed from string value (e.g.genOnOff) to an object which is exported byconst { CLUSTER } = require(‘zigbee-clusters’);registerReportListeneris deprecated in favour ofBoundClusterimplementation.registerAttrReportListeneris deprecated in favour ofconfigureAttributeReporting.calculateZigbeeDimDurationrenamed tocalculateLevelControlTransitionTime.calculateColorControlTransitionTimeis added for thecolorControlcluster.ZigBeeXYLightDeviceis removed in favour ofZigBeeLightDevice, it detects if the light supports hue and saturation or XY only.