Instance Properties
thermostatSetpointType
thermostatSetpointType: stringThe 'Setpoint Type' used for the target_temperature capability.
Type
- string
Instance Methods
configurationGet
(async) configurationGet(options): anyMethod that retrieves the value of a configuration parameter from the node.
Parameters
| Name | Type | Description |
|---|---|---|
options
|
object | |
index
|
number | Parameter index |
|
|
Returns
configurationSet
(async) configurationSet(options, value): Promise.<any>Wrapper for CONFIGURATION_SET. Provide options.id and/or options.index and options.size. By default options.useSettingParser is true, then the value will first be parsed by the registered setting parser or the system parser before sending. It will only be able to use the registered setting parser if options.id is provided.
Parameters
| Name | Type | Description |
|---|---|---|
options
|
object | |
index
|
number | |
size
|
number | |
id
|
number | |
signed
|
boolean
<optional> |
|
useSettingParser
|
boolean
<optional> default: true
|
|
|
|
||
value
|
any |
Returns
disableDebug
disableDebug()Disable debugging to the console
enableDebug
enableDebug()Enable debug logging on this device. Logs all incoming reports.
executeCapabilitySetCommand
(async) executeCapabilitySetCommand(capabilityId, commandClassId, value, opts): Promise.<any>This method executes the capability set command for a given capability/commandClass combination. The capability and commandClass must be registered before this method is called.
Parameters
| Name | Type | Description |
|---|---|---|
capabilityId
|
string | |
commandClassId
|
string | |
value
|
number | boolean | string | the capability value to set (e.g 0 - 1 for dim) |
opts
|
object | capability options object |
Returns
getCommandClass
getCommandClass(commandClassId, opts): Error|boolean|anyMethod that gets a CommandClass object by commandClassId. Optionally, it can get the object on a multichannel node if the multiChannelNodeId is provided.
Parameters
| Name | Type | Description |
|---|---|---|
commandClassId
|
string | |
opts
|
object | |
multiChannelNodeId
|
number | Provide this id if the command class should be located on a mc node. |
|
|
Returns
getManifestSetting
getManifestSetting(id): object|ErrorGet a specific setting object from the manifest
Parameters
| Name | Type | Description |
|---|---|---|
id
|
string | Setting id to retrieve |
Returns
getManifestSettings
getManifestSettings(): Array.<any>Method that flattens possibly nested settings and returns a flat settings array.
Returns
getMultiChannelNodeIdsByDeviceClassGeneric
getMultiChannelNodeIdsByDeviceClassGeneric(deviceClassGeneric): Array.<number>Method that gets all multi channel node ids that have a specific deviceClassGeneric.
Parameters
| Name | Type | Description |
|---|---|---|
deviceClassGeneric
|
string |
Returns
hasCommandClass
hasCommandClass(commandClassId, opts): booleanMethod that will check if the node has the provided command class
Parameters
| Name | Type | Description |
|---|---|---|
commandClassId
|
string | For example: SWITCH_BINARY |
opts
|
object | |
multiChannelNodeId
|
number | Multi channel node id to check for command class |
|
|
Returns
meterReset
(async) meterReset(multiChannelNodeId, options): Promise.<any>Method that resets the accumulated power meter value on the node. It tries to find the root node of the device and then looks for the COMMAND_CLASS_METER. In case of a CommandClass version >= 6, the options object will be provided to set which meter needs to be reset and to what value. By default it resets the kWh meter to 0.
Parameters
| Name | Type | Description |
|---|---|---|
multiChannelNodeId
|
define the multi channel node id in case the COMMAND_CLASS_METER is on a multi channel node. |
|
options
|
options given to the METER_RESET command, Only used when version >= 6 |
Returns
onDeleted
onDeleted()Remove all listeners and timeouts from node
onMeshInit
(abstract) onMeshInit()deprecated since v1.0.0 - Legacy from homey-meshdriver, use onNodeInit instead. This method can be overridden. It will be called when the ZwaveDevice instance is ready and did initialize a Homey.ZwaveNode.
onNodeInit
(abstract) onNodeInit(node)This method can be overridden. It will be called when the ZwaveDevice instance is ready and did initialize a Homey.ZwaveNode.
Parameters
| Name | Type | Description |
|---|---|---|
node
|
Homey.ZwaveNode |
Example
const { ZwaveDevice } = require('homey-zwavedriver');
class MyZwaveDevice extends ZwaveDevice {
onNodeInit({ node }) {
// `node` is also available as `this.node` on the ZwaveDevice instance after
// `onNodeInit` has been invoked.
await node.CommandClass.COMMAND_CLASS_BASIC.BASIC_SET({ "Value": true });
}
}
onSettings
(async) onSettings(oldSettings, newSettings, changedKeysArr): Promise.<string>Method that handles changing settings for Z-Wave devices. It iterates over the changed settings and executes a CONFIGURATION_SET in sync. If all succeed, it will resolve, if one or more fail it will reject with an error of concatenated error messages (to see which settings failed if more than one).
Parameters
| Name | Type | Description |
|---|---|---|
oldSettings
|
||
newSettings
|
||
changedKeysArr
|
Returns
printNode
printNode()Print the current Node information with Command Classes and their versions
printNodeSummary
printNodeSummary()Prints oneliner node summary, e.g. firmware information and device identifiers.
refreshCapabilityValue
(async) refreshCapabilityValue(capabilityId, commandClassId): Promise.<any>Method that refreshes the capability value once. If you want to poll this value please use the parameter getOpts.pollInterval at ZwaveDevice#registerCapability
Parameters
| Name | Type | Description |
|---|---|---|
capabilityId
|
string | The string id of the Homey capability |
commandClassId
|
string | The Z-Wave command class used for this request |
Returns
registerCapability
registerCapability(capabilityId, commandClassId, userOptsopt)Register a Homey Capability with a Command Class.
Multiple parser methods can be provided by appending a version, e.g. getParserV3. This
will make sure that the highest matching version will be used, falling back to getParser.
Parameters
| Name | Type | Description |
|---|---|---|
capabilityId
|
string | The Homey capability id (e.g. |
commandClassId
|
string | The command class id (e.g. |
userOpts
|
object
<optional> |
The object with options for this capability/commandclass
combination. These will extend system options, if available ( |
get
|
string
<optional> |
The command to get a value (e.g. |
getParser
|
string
<optional> |
The function that is called when a GET request is made. Should return an Object. |
getOpts
|
object
<optional> |
|
getOnStart
|
boolean
<optional> |
Get the value on App start. Avoid using this option, it should only be used for values that the device does not automatically report. |
getOnOnline
|
boolean
<optional> |
Only for battery devices, get the value on device wake up. Avoid using this option, it should only be used for values that the device does not automatically report. |
pollInterval
|
number
|
string
<optional> |
Interval (in ms) to poll with a
GET request. When provided a string, the device's setting with the string as ID will be
used (e.g. |
pollMultiplication
|
number
<optional> |
Multiplication factor for the pollInterval key, must be a number. (e.g. 1000 to convert to seconds, 60.000 for minutes, 3600000 for hours). |
|
|
||
set
|
string
<optional> |
The command to set a value (e.g. |
setParser
|
function
<optional> |
The function that is called when a SET request is made. Should return an Object. |
value
|
number
|
boolean
|
string
<optional> |
The value of the Homey capability |
opts
|
any
<optional> |
Options for the capability command |
|
|
||
setOpts
|
object
<optional> |
|
fn
|
function
<optional> |
This function is called after a setCapabilityValue has been resolved. |
value
|
any
<optional> |
The capability value |
opts
|
any
<optional> |
The capability opts |
|
|
||
|
|
||
report
|
string
<optional> |
The command to report a value (e.g. |
reportParserOverride
|
boolean
<optional> |
Boolean flag to determine if the
|
reportParser
|
function
<optional> |
The function that is called when a REPORT request is made. Should return an Object. |
report
|
any
<optional> |
The report object |
|
|
||
multiChannelNodeId
|
number
<optional> |
An ID to use a MultiChannel Node for this capability. |
|
|
registerMultiChannelReportListener
registerMultiChannelReportListener(multiChannelNodeId, commandClassId, commandId, triggerFn)Register a multi channel report listener, which is called when a report has been received.
Parameters
| Name | Type | Description |
|---|---|---|
multiChannelNodeId
|
number | The multi channel node id |
commandClassId
|
string | The ID of the Command Class (e.g. |
commandId
|
string | The ID of the Command (e.g. |
triggerFn
|
function | |
report
|
any | The received report |
|
|
registerReportListener
registerReportListener(commandClassId, commandId, triggerFn)Register a report listener, which is called when a report has been received.
Parameters
| Name | Type | Description |
|---|---|---|
commandClassId
|
string | The ID of the Command Class (e.g. |
commandId
|
string | The ID of the Command (e.g. |
triggerFn
|
function | |
report
|
any | The received report |
|
|
registerSetting
registerSetting(settingId, parserFn)Register a setting parser, which is called when a setting has changed. This is only needed for Z-Wave settings, which directly map between a Homey setting and a Z-Wave parameter.
Parameters
| Name | Type | Description |
|---|---|---|
settingId
|
string | The setting ID, as specified in |
parserFn
|
function | The parser function, must return a Buffer, number or boolean |
value
|
number | boolean | string | object | The setting value |
zwaveObj
|
object | The setting's |
|
|