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:
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.