COMMAND_CLASS_BASIC, this Command Class is supported by all devices. It has a
BASIC_SETcommand, which sets a boolean (usually on/off), a
BASIC_GETcommand, and a
BASIC_REPORTcommand. Sending a
BASIC_GETto the device will make the device send a
BASIC_REPORTto Homey. The
BASIC_REPORTcontains the boolean (on/off) value.
zwaveobject to your driver manifest. To create a driver for a Z-Wave device you need to know the following properties of the device:
unlearnmodeoptions to your Z-Wave driver manifest.
unlearnmodeaccepts the same properties as
productIdthere are properties allow you to configure the behaviour of your Z-Wave device.
zwaveproperty to the device setting that controls the configuration parameter. Read the device setting guide for more information.
COMMAND_CLASS_LOCKwith secure communication. In this case your app should set the
requireSecureproperty in your drivers
true. To find out what command classes require secure communication check your devices technical specifications.
defaultConfigurationparameter of the devices
sizeproperty to tell Homey how many bytes to write. The
valueis a signed integer and its range is determined by the size of the parameter:
associationGroupsproperty to the devices
zwaveoptions. Entering an empty array or leaving out the number
1will cause Homey to remove the association with group 1.
associationGroupsOptionsproperty to add hints explaining what the various association groups do and how to configure them correctly.
associationGroupsMultiChannelproperty in the devices
wakeUpIntervalproperty in the device's
zwaveoptions. This property controls the desired wake up interval in seconds. The range of allowed values is: 30-16777215 (30 seconds to 194 days)
COMMAND_CLASS_SWITCH_BINARYonce. In order to give devices the ability to implement a command class multiple times, Z-Wave has Multi Channel Nodes. A Multi Channel Node is a type of Z-Wave node that contains several "endpoints" which are each their own Z-Wave node. Each of these endpoints can individually implement, for example,
homey-zwavedriverhas been developed to ease development of Z-Wave devices in Homey. It mainly maps Command Classes to Homey's capabilities. It is recommended for most app developers to use this library.
homey-zwavedriveryour device should extend
Homey.Device. This class implements some useful helpers that you can use to integrate your Z-Wave device with Homey. When a new Device is initialized
ZwaveDevice#onNodeInit()will be called. In this method you should register all the devices capabilities.
ZwaveDevice#registerCapability()method that you only need to tell what capability your device has and which associated command class implements the capability.