Zwave module

Zwave module description

Module provides an access to a zwave functionality (include/exclude devices, set values, get value, etc.).


Zwave module API ( require "zwave" )

Functions

Return Name and parameters
none reset()
none start_include( [opt] device_setting_file_path: string )
none start_exclude()
none start_learn()
none subscribe( script_name: string )
none unsubscribe( script_name: string )
none set_device_specific_key( key: number )
none set_auth_mode( modes: table )
none stop_include()
none stop_learn()
none stop_security_include()
none reconstruct_network()
table get_all_nodes_ids()
table get_node( node_id: number )
table get_node_info( node_id: number )
string get_manufacturer_name( manufacturer_id: number )
string get_command_class( node_id: number, channel_id: number, class_id: number )
none set_value( node_id: number, class_id: number, channel_id: number, value: boolean or number )
none set_value_multicast( node_ids: table, class_id: number, channel_id: number, value: boolean or number )
none set_token_value( node_id: number, class_id: number, channel_id: number, value: string )
none set_token_value_multicast( node_ids: table, class_id: number, channel_id: number, value: string )
none set_rgb_value( node_id: number, class_id: number, channel_id: number, value: table )
none set_rgb_value_multicast( node_ids: table, class_id: number, channel_id: number, value: table )
none set_sound_switch_configuration( node_id: number, class_id: number, channel_id: number, volume: number, default_tone_id: number )
none request_sound_switch_configuration()
none set_sound_switch_tone_play( node_id: number, class_id: number, channel_id: number, tone_id: number, volume: number )
none request_sound_switch_tone_play()
none set_door_lock_mode( node_id: number, channel_id: number, value: string )
none request_door_lock_mode( node_id: number, channel_id: number )
none set_door_lock_configuration( node_id: number, channel_id: number, configuration: table )
none request_door_lock_configuration( node_id: number, channel_id: number )
none set_setpoint_value( node_id: number, class_id: number, channel_id: number, setpoint_type: number, value: table )
none add_configuration( node_id: number, channel_id: number, param_number: number, param_size: number )
none remove_configuration( node_id: number, channel_id: number, param_number: number )
none set_configuration_value( node_id: number, channel_id: number, param_number: number, param_size: number, value: number )
none reset_configuration_value( node_id: number, channel_id: number, param_number: number )
none switch_multilevel_level_change( node_id: number, channel_id: number, command: string )
none request_value( node_id: number, class_id: number, channel_id: number )
none request_node_values( node_id: number, request_delay: number )
none request_setpoint_value( node_id: number, channel_id: number, setpoint_type: number )
none request_master_code( node_id: number, channel_id: number )
none request_user_codes_keypad_mode( node_id: number, channel_id: number )
none request_user_code( node_id: number, channel_id: number, [opt] user_id: number )
none request_user_codes_checksum( node_id: number, channel_id: number )
none calculate_user_codes_checksum( _user_codes: array of user code elements)
none request_configuration_value( node_id: number, channel_id: number, param_number: number )
none request_association_group( node_id: number, channel_id: number, group_id: number )
none add_node_to_association_group( node_id: number, channel_id: number, group_id: number, destination_node: number, [opt] destination_endpoint: number )
none remove_node_from_association_group( node_id: number, channel_id: number, group_id: number, destination_node: number, [opt] destination_endpoint: number )
none set_user_code( node_id: number, channel_id: number, user_id: number, user_id_status: number, user_code: string )
none set_master_code( node_id: number, channel_id: number, master_code: string )
none set_user_codes_keypad_mode( node_id: number, channel_id: number, mode: string )
none set_silent_sensors( node_id: number, channel_id: number, sound_delay: number, sensor_names: table )
none request_alarm_sensor_value( node_id: number, channel_id: number, sensor_name: string )
none set_week_day_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number, week_day_entry_lock_schedule: table )
none request_week_day_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number )
none set_daily_repeating_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number, daily_repeating_entry_lock_schedule: table )
none request_daily_repeating_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number )
none set_year_day_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number, year_day_entry_lock_schedule: table )
none request_year_day_entry_lock_schedule( node_id: number, channel_id: number, user_id: number, slot_id: number )
none reset_meter( node_id: number, channel_id: number, [opt] value: number, [opt]value_size: number )
none request_meter( node_id: number, channel_id: number, scale: string )
table get_provisioning_info( node_id: number )
none set_provisioning_info( node_id: number, name: string, room: string )

reset()

Delete ALL data and restore Z-Wave chip to factory default.

call: zwave.reset()

params: none

return: none

example:

require "zwave"

zwave.reset()

start_include()

Start a procedure of including a new ZWave device. Cause a ZWave chip to send an "include" broadcast. If some ZWave device has been included a node_added event gets sent.
Look at objects page to get a device setting file format.

call: zwave.start_include()

params: device_setting_file_path (string)(optional).

return: none.

example:

require "zwave"

zwave.start_include()
require "zwave"

zwave.start_include( "HUB:zwave/configs/device_setting.json" )

start_exclude()

Start a procedure of excluding a previously included ZWave device. Cause a ZWave chip to send an "exclude" broadcast.

call: zwave.start_exclude()

params: none.

return: none.

example:

require "zwave"

zwave.start_exclude()

start_learn()

Start a procedure of including hub to another network. Cause a ZWave chip waiting an "TransferPresentation" broadcast.

call: zwave.start_learn()

params: none.

return: none.

example:

require "zwave"

zwave.start_learn()

subscribe()

Subscribe a script for Zwave events. After subscribing the script will be launched for each event happens on a Zwave addon and information about this event will be passed as a parameter.

call: zwave.subscribe()

params: script name (string).

return: none.

example:

require "zwave"

zwave.subscribe( "HUB:zwave/scripts/events_handling" )

unsubscribe()

Unsubscribe a script from Zwave events.

call: zwave.unsubscribe()

params: script name (string).

return: none.

example:

require "zwave"

zwave.unsubscribe( "HUB:zwave/scripts/events_handling" )

set_device_specific_key()

Enter S2 device specific key (response)

call: zwave.set_device_specific_key()

params: device specific key (private part, 1 number)

return: none.

example:

require "zwave"

zwave.set_device_specific_key( 34338 )

set_auth_mode()

Select authentication modes (response)

call: zwave.set_auth_mode()

params: selected modes (table)

return: none.

example:

require "zwave"

local modes = { "accessControl", "unauthenticated" }
zwave.set_auth_mode( modes )

stop_include()

Stops a procedure of including a new ZWave device. Cause a ZWave chip to send an "include" broadcast.

call: zwave.stop_include()

params: none.

return: none.

example:

require "zwave"

zwave.stop_include()

stop_learn()

Stops a procedure of including hub to another network. Cause a ZWave chip stop waiting an "TransferPresentation" broadcast.

call: zwave.stop_learn()

params: none.

return: none.

example:

require "zwave"

zwave.stop_learn()

stop_security_include()

Stops a procedure of including S2 security device in decured mode. Device will be included in non-secure mode.

call: zwave.stop_security_include()

params: none.

return: none.

example:

require "zwave"

zwave.stop_security_include()

reconstruct_network()

Start a procedure of reconstract network. Request all nodes to identify their neighbors.

call: zwave.reconstruct_network()

params: none.

return: none.

example:

require "zwave"

zwave.reconstruct_network()

get_all_nodes_ids()

Get list of ZWave node ids included into network.

call: zwave.get_all_nodes_ids()

params: none.

return: list of ZWave nodes.

example:

require "zwave"

local node_ids = zwave.get_all_nodes_ids()
for _, node_id in ipairs(node_ids) do
    local node = zwave.get_node( node_id )
    if node then do
        print( "node.is_reachable: " .. node.isReachable )
    end
end

get_node()

Get a ZWave node by a node_id with additional information about channels and command classes. (node_id is a part of data coming to a script subscribed for ZWave events)

call: zwave.get_node()

params: node id (number).

return: ZWave node (table). Look at objects page to get a node table format.

example:

require "zwave"

local node = zwave.get_node( node_id )
if node then do
    print( "node.is_reachable: " .. node.isReachable )
end

get_node_info()

Get a ZWave node by a node_id without additional information about channels and command classes. (node_id is a part of data coming to a script subscribed for ZWave events)

call: zwave.get_node_info()

params: node id (number).

return: ZWave node (table). Look at objects page to get a node table format.

example:

require "zwave"

local node = zwave.get_node_info( node_id )
if node then do
    print( "node.is_reachable: " .. node.isReachable )
end

get_manufacturer_name()

Get a ZWave node manufacturer name by a manufacturer_id.

call: zwave.get_manufacturer_name()

params: manufacturer id (number).

return: Zwave manufacturer name, if supported manufacturer. 'Unknown' otherwise.

example:

require "zwave"

local manufacturer_name = zwave.get_manufacturer_name( manufacturer_id )

get_command_class()

Get a ZWave command class by node id, channel id and command class id. (node_id, channel_id, cc_id is a part of data coming to a script subscribed for ZWave events)

call: zwave.get_command_class()

params: node_id (int), channel_id (int), class_id (int)

return: ZWave command class (table). Look at objects page to get a command classes table format.

example:

require "zwave"

local cc = zwave.get_command_class( node_id, channel_id, cc_id )
if cc then do
    print( "cc.version: " .. cc.version )
end

set_value()

Set a specific value for a specified ZWave pcp (pcp is specified by node_id, class_id and channel_id).

call: zwave.set_value()

params: node_id (int), class_id (int), channel_id (int), value (boolean or number). return: none.

example:

require "zwave"

value = true
zwave.set_value( node_id, class_id, channel_id, value )

set_value_multicast()

Set a specific value for a specified list of ZWave pcp's (pcp's are specified by node_ids, class_id and channel_id).

call: zwave.set_value_multicast()

params: node_ids (array of int's), class_id (int), channel_id (int), value (boolean or number). return: none.

example:

require "zwave"

value = true
zwave.set_value_multicast( {node_id_1, node_id_2}, class_id, channel_id, value )
Supported Command Classes
basic
switch_binary
switch_multilevel

set_token_value()

Set a specific token value for a specified ZWave pcp (pcp is specified by node_id, class_id and channel_id).

call: zwave.set_token_value()

params: node_id (int), class_id (int), channel_id (int), value (string). return: none.

example:

require "zwave"

value = "token"
zwave.set_token_value( node_id, class_id, channel_id, value )

set_token_value_multicast()

Set a specific token value for a specified list of ZWave pcp's (pcp's are specified by node_ids, class_id and channel_id).

call: zwave.set_token_value_multicast()

params: node_ids (array of int's), class_id (int), channel_id (int), value (string). return: none.

example:

require "zwave"

value = "token"
zwave.set_token_value_multicast( {node_id_1, node_id_2}, class_id, channel_id, value )
Supported Command Classes
barrier_operator

set_rgb_value()

Set a specific rgb value for a specified ZWave pcp (pcp is specified by node_id, class_id and channel_id).

call: zwave.set_rgb_value()

params: node_id (int), class_id (int), channel_id (int), value (rgb). return: none.

example:

require "zwave"

value = { red = 0x08, green = 0x11, blue = 0x33 }
zwave.set_rgb_value( node_id, class_id, channel_id, value )
label value
wwhite 0x00 – 0xFF: 0 – 100%
cwhite 0x00 – 0xFF: 0 – 100%
red 0x00 – 0xFF: 0 – 100%
green 0x00 – 0xFF: 0 – 100%
blue 0x00 – 0xFF: 0 – 100%
amber 0x00 – 0xFF: 0 – 100%
cyan 0x00 – 0xFF: 0 – 100%
purple 0x00 – 0xFF: 0 – 100%

set_rgb_value_multicast()

Set a specific rgb value for a specified list of ZWave pcp's (pcp's are specified by node_ids, class_id and channel_id).

call: zwave.set_rgb_value_multicast()

params: node_ids (array of int's), class_id (int), channel_id (int), value (rgb). return: none.

example:

require "zwave"

value = { red = 0x08, green = 0x11, blue = 0x33 }
zwave.set_rgb_value_multicast( {node_id_1, node_id_2}, class_id, channel_id, value )
label value
wwhite 0x00 – 0xFF: 0 – 100%
cwhite 0x00 – 0xFF: 0 – 100%
red 0x00 – 0xFF: 0 – 100%
green 0x00 – 0xFF: 0 – 100%
blue 0x00 – 0xFF: 0 – 100%
amber 0x00 – 0xFF: 0 – 100%
cyan 0x00 – 0xFF: 0 – 100%
purple 0x00 – 0xFF: 0 – 100%

set_sound_switch_configuration()

Set default volume and tone ID for a ZWave node

call: zwave.set_sound_switch_configuration()

params: node_id (int), class_id (int), channel_id (int), volume (int), default_tone_id (int). return: none.

example:

require "zwave"

zwave.set_sound_switch_configuration( node_id, class_id, channel_id, 50, 2 )

request_sound_switch_configuration()

Send a request for default volume and tone ID to a ZWave node

call: zwave.request_sound_switch_configuration()

params: none. return: none.

example:

require "zwave"

zwave.request_sound_switch_configuration( node_id, class_id, channel_id )

set_sound_switch_tone_play()

Set current tone ID and volume for a ZWave node

call: zwave.set_sound_switch_tone_play()

params: node_id (int), class_id (int), channel_id (int), tone_id (int), volume (int). return: none.

example:

require "zwave"

zwave.set_sound_switch_tone_play( node_id, class_id, channel_id, 3, 50 )

request_sound_switch_tone_play()

Send a request for current tone ID and volume to a ZWave node

call: zwave.request_sound_switch_tone_play()

params: none. return: none.

example:

require "zwave"

zwave.request_sound_switch_tone_play( node_id, class_id, channel_id )

set_door_lock_mode()

Set a specific door lock mode for a ZWave node

call: zwave.set_door_lock_mode()

params: node_id (int), channel_id (int), value (string). return: none.

example:

require "zwave"

zwave.set_door_lock_mode( node_id, channel_id, "secured" )

request_door_lock_state()

Send a request for current door lock state to a ZWave node

call: zwave.request_door_lock_state()

params: node_id (int), channel_id (int) return: none.

example:

require "zwave"

zwave.request_door_lock_state( node_id, channel_id )

set_door_lock_configuration()

Send a request for current door lock mode to a ZWave node

call: zwave.set_door_lock_configuration()

params:

  • node_id (int),
  • channel_id (int),
  • configuration (table)
return: none.

example:

require "zwave"

zwave.set_door_lock_configuration(
    node_id,
    channel_id,
    {
        inside_handle_ids = { 1 },
        outside_handle_ids = { 1 },
        timed_operations_enabled = true
        lock_timeout = 30
    } )

request_door_lock_configuration()

Send a request for door lock configuration to a ZWave node

call: zwave.request_door_lock_configuration()

params: node_id (int), channel_id (int) return: none.

example:

require "zwave"

zwave.request_door_lock_configuration( node_id, channel_id )

set_setpoint_value()

Set a setpoint value for a specified ZWave pcp (pcp is specified by node_id, class_id, channel_id, and setpoint_type).

call: zwave.set_setpoint_value()

params: node_id (int), class_id (int), channel_id (int), setpoint_type (int), value ( table/scaleble ). return: none.

example:

require "zwave"

node_id = 1
class_id = 67
channel_id = 0
setpoint_type = 1
value = {
    value = 24.5,
    scale = "celcius"
}

zwave.set_setpoint_value( node_id, class_id, channel_id, setpoint_type, value )

add_configuration()

Register a new configuration parameter

call: zwave.add_configuration()

params: node_id (int), param_number (int), param_size (int) return: none

example:

require "zwave"

node_id = 1
param_number = 1
param_size = 2

zwave.add_configuration_value( node_id, param_number, param_size )

remove_configuration()

Un-register a configuration parameter

call: zwave.remove_configuration()

params: node_id (int), param_number (int) return: none

example:

require "zwave"

node_id = 1
param_number = 1

zwave.remove_configuration_value( node_id, param_number )

set_configuration_value()

Set a configuration value for a specified ZWave pcp (pcp is specified by node_id, channel_id, and configuration number).

call: zwave.set_configuration_value()

params: node_id (int), param_number (int), param_size (int), value (int). return: none.

example:

require "zwave"

node_id = 1
param_number = 1
param_size = 2
value = 24

zwave.set_configuration_value( node_id, param_number, param_size, value )

reset_configuration_value()

Reset a configuration value for a specified ZWave pcp to its default (pcp is specified by node_id, channel_id, and configuration number).

call: zwave.reset_configuration_value()

params: node_id (int), channel_id (int) and param_number (int). return: none.

example:

require "zwave"

node_id = 1
param_number = 1

zwave.reset_configuration_value( node_id, param_number )

switch_multilevel_level_change()

This command used to initiate a transition to a new level or stop an ongoing transition.

call: zwave.switch_multilevel_level_change()

params: node_id (int), channel_id (int), command (string). return: none.

example:

require "zwave"

node_id = 2
channel_id = 0
command = "up"

zwave.switch_multilevel_level_change( node_id, channel_id, command )

request_value()

Ask the ZWave addon to send a *_updated event for a specified pcp, that is get a pcp value asynchronously, by event. (pcp is specified by node_id, class_id and channel_id).

call: zwave.request_value()

params: node_id (int), class_id (int), channel_id (int).

return: none.

example:

require "zwave"

zwave.request_value( node_id, class_id, channel_id )

request_node_values()

Ask the ZWave addon to send a *_updated event for all pcp's, that is get a pcp's values asynchronously, by event.
Before each request the delay should be expired. Note that request_delay parameter currently used only for door lock and schedule entry lock command classes, and actual delay may be longer

call: zwave.request_node_values()

params: node_id (int) - id of node in a current znet mesh (1 - 232). Request_delay (int), the time in milliseconds (thousandths of a second). Only for atom32: if delay value set less then 2000, the value will be set 2000

return: none.

example:

require "zwave"

zwave.request_node_values( node_id, 1000 )

request_setpoint_value()

Ask the ZWave addon to send a thermostat_setpoint_value_updated event for a specified pcp, that is get a pcp value asynchronously, by event. (pcp is specified by node_id, channel_id, and setpoint_type).

call: zwave.request_setpoint_value()

params: node_id (int), channel_id (int), setpoint_type (int).

return: none.

example:

require "zwave"

zwave.request_setpoint_value( node_id, channel_id, setpoint_type )

request_master_code()

Ask ZWave addon to send a 'MASTER_CODE_GET' request to ZWave node, master_code_updated event will be sent as a request result. See user code CC capabilities is master code supported (user code V2 only).

call: zwave.request_master_code()

params: node_id (int), channel_id (int)

return: none.

example:

require "zwave"

zwave.request_master_code(node_id, channel_id)

request_user_codes_keypad_mode()

Ask ZWave addon to send a 'USER_CODE_KEYPAD_MODE_GET' request to ZWave node. user_codes_keypad_mode_updated event will be sent as a request result. See capabilities of user code CC are keypad modes supported (user code V2 only).

call: zwave.request_user_codes_keypad_mode()

params: node_id (int), channel_id (int)

return: none.

example:

require "zwave"

zwave.request_user_codes_keypad_mode(node_id, channel_id)

request_user_code()

Ask ZWave addon to send a 'USER_CODE_GET' request to ZWave node, user_code_updated event will be sent as a request result

call: zwave.request_user_code()

params: node_id (int), channel_id (int), user_id (int)(optional). If user_id is not specified, all supported user codes will be requested.

return: none.

example:

require "zwave"

zwave.request_user_code(node_id, channel_id, user_id)

request_user_codes_checksum()

Ask ZWave addon to send a 'USER_CODE_CHECKSUM_GET' request to ZWave node. Checksum is hash of all user codes and statuses. See user code CC capabilities is checksum supported (it can be supported only for version 2 of CC). Use following function "calculate_user_codes_checksum" to get checksum from actual user codes. user_codes_checksum_updated event will be sent as a request result

call: zwave.request_user_codes_checksum()

params: node_id (int), channel_id (int)

return: none.

example:

require "zwave"

zwave.request_user_codes_checksum(node_id, channel_id)

calculate_user_codes_checksum()

Calculates checksum of user codes array. Checksum is hash of all user codes and statuses. See user code CC capabilities is checksum supported.

call: zwave.calculate_user_codes_checksum()

params: array of user code elements. See following table that describes element of array.

User Code Element In Array | fields | type | description | | -------- | ------ | ------------------------------------------------------------ | | id | int | user id | | mode | string | actual user code mode | | code | string | actual user code |

return: int (16 bit).

example:

require "zwave"

zwave.calculate_user_codes_checksum(node_id, channel_id,
    {
        {
            id = 1,
            mode = "enabled",
            code = "10001"
        },
        {
            id = 10,
            mode = "disabled",
            code = "10099"
        },
        {
            id = 5,
            mode = "passage",
            code = "91119"
        },
    })

request_configuration_value()

Ask the ZWave addon to send a configuration_value_updated event for a specified pcp, that is get a pcp configuration value asynchronously, by event. (pcp is specified by node_id and param_number).

call: zwave.request_configuration_value()

params: node_id (int), param_number (int).

return: none.

example:

require "zwave"

zwave.request_configuration_value( node_id, param_number )

request_association_group()

Ask ZWave addon to send a 'ASSOCIATION_GET' or 'MULTI_CHANNEL_ASSOCIATION_GET' request to ZWave node, association_updated event will be sent as a request result

call: zwave.request_user_code()

params: node_id (int), channel_id (int), group_id (int).

return: none.

example:

require "zwave"

zwave.request_association_group(node_id, channel_id, group_id)

add_node_to_association_group()

Ask ZWave addon to add node to association group for ZWave node

call: zwave.add_node_to_association_group()

params: node_id (int), channel_id (int), group_id (int), destinationNode(int), destinationEndpoint (int)(optional)

return: none.

example:

require "zwave"

zwave.add_node_to_association_group(node_id, channel_id, group_id, destinationNode, destinationEndpoint)

remove_node_from_association_group()

Ask ZWave addon to remove node from association group for ZWave node

call: zwave.remove_node_from_association_group()

params: node_id (int), channel_id (int), group_id (int), destinationNode(int), destinationEndpoint (int)(optional)

return: none.

example:

require "zwave"

zwave.remove_node_from_association_group(node_id, channel_id, group_id, destinationNode, destinationEndpoint)

set_user_code()

Ask ZWave addon to set user code for ZWave node

call: zwave.set_user_code()

params: node_id (int), channel_id (int), user_id (int), user_id_status (string), user_code (string)

return: none.

example:

require "zwave"

zwave.set_user_code(node_id, channel_id, user_id, user_id_status, user_code)

set_master_code()

Ask ZWave addon to set master code for ZWave node. Note, master code must be supported in user code CC capabilities (Version 2 only). If CC supports master code deactivation, pass empty string to dactivate naster code.

call: zwave.set_master_code()

params: node_id (int), channel_id (int)

return: none.

example:

require "zwave"

zwave.set_master_code(node_id, channel_id, "1234")

set_user_codes_keypad_mode()

Ask ZWave addon to set mode of user codes keypad for ZWave node. Note, keypad modes must be supported in user code CC capabilities (Version 2 only).

call: zwave.set_user_codes_keypad_mode()

params: node_id (int), channel_id (int), mode (string)

return: none.

example:

require "zwave"

zwave.set_user_codes_keypad_mode(node_id, channel_id, "privacy")

set_silent_sensors()

Sets set of sensors to silent mode. The rest sensors of current node and channel become audible.

call: zwave.set_silent_sensors()

params:

  • node_id (int),
  • channel_id (int),
  • sound_delay (int) - 16 bit, seconds.
  • sensor_names (string array) - sensor (or notification) types to be silent.

return: none.

example:

require "zwave"

zwave.set_silent_sensors(node_id, channel_id, 0, { "co_alarm", "smoke_alarm" })

request_alarm_sensor_value()

Requests current state

call: zwave.request_alarm_sensor_value()

params:

return: none.

example:

require "zwave"

zwave.request_alarm_sensor_value(node_id, channel_id, "smoke_alarm")

set_week_day_entry_lock_schedule()

Sets week day entry lock schedule for specific node, channel, user, slot

call: zwave.set_week_day_entry_lock_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id (int),
  • week_day_entry_lock_schedule (table) - optional. Pass nil for removimg

return: none.

example:

require "zwave"

zwave.set_week_day_entry_lock_schedule(node_id, channel_id, user_id, slot_id,
    {
        weekDay = "monday",
        startHour = 11,
        startMinute = 20,
        stopHour = 14,
        stopMinute = 10
    })

request_week_day_entry_lock_schedule()

Requests week day entry lock schedule for specific node, channel, user, slot

call: zwave.request_week_day_entry_lock_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id(int)

return: none.

example:

require "zwave"

zwave.request_week_day_entry_lock_schedule(node_id, channel_id, user_id, slot_id)

set_daily_repeating_entry_lock_schedule()

Sets daily repeating entry lock schedule for specific node, channel, user, slot

call: zwave.set_daily_repeating_entry_lock_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id(int),
  • daily_repeating_entry_lock_schedule(table), - optional. Pass nil for removimg

return: none.

example:

require "zwave"

zwave.set_daily_repeating_entry_lock_schedule(node_id, channel_id, user_id, slot_id,
    {
        weekDays = { "monday", "friday" },
        startHour = 11,
        startMinute = 20,
        durationHour = 14,
        durationMinute = 50
    })

request_daily_repeating_entry_lock_schedule()

Requests daily repeating entry lock schedule for specific node, channel, user, slot

call: zwave.request_daily_repeating_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id(int)

return: none.

example:

require "zwave"

zwave.request_daily_repeating_schedule(node_id, channel_id, user_id, slot_id)

set_year_day_entry_lock_schedule()

Sets year day entry lock schedule for specific node, channel, user, slot

call: zwave.set_year_day_entry_lock_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id(int),
  • year_day_entry_lock_schedule(table), - optional. Pass nil for removimg

return: none.

example:

require "zwave"

zwave.set_year_day_entry_lock_schedule(node_id, channel_id, user_id, slot_id,
    {
        startYear = 2019,
        startMonth = 1,
        startDay = 10,
        startHour = 23,
        startMinute = 1,
        stopYear = 2019,
        stopMonth = 2,
        stopDay = 10,
        stopHour = 23,
        stopMinute = 1,
    })

request_year_day_entry_lock_schedule()

Requests year day entry lock schedule for specific node, channel, user, slot

call: zwave.request_year_day_entry_lock_schedule()

params:

  • node_id (int),
  • channel_id (int),
  • user_id (int), - select one of existing user ( see user code cc )
  • slot_id(int)

return: none.

example:

require "zwave"

zwave.request_year_day_entry_lock_schedule(node_id, channel_id, user_id, slot_id)

reset_meter()

Resets meter to default value or to passed value

call: zwave.reset_meter()

params:

  • node_id (int),
  • channel_id (int),
  • value (int), - optional
  • value_size(int), - optional. Can be 1, 2, or 4. Default is 4.

return: none.

example:

require "zwave"

zwave.reset_meter(node_id, channel_id)

zwave.reset_meter(node_id, channel_id, 1000)

request_meter()

Resets meter to default value or to passed value

call: zwave.request_meter()

params:

  • node_id (int),
  • channel_id (int),
  • scale (string)

return: none.

example:

require "zwave"

zwave.request_meter(node_id, channel_id, "watt")

zwave.request_meter(node_id, channel_id, "kilo_watt_hour")

get_provisioning_info()

Get a ZWave node provisioning info by a node_id. (node_id is a part of data coming to a script subscribed for ZWave events)

call: zwave.get_provisioning_info()

params: node id (number).

return: ZWave provisioning info (table). Look at objects page to get a provisioning info table format.

example:

require "zwave"

local provisioning = zwave.get_provisioning_info( node_id )
if provisioning then do
    print( "provisioning.room: " .. provisioning.room )
end

set_provisioning_info()

Changes name and room in provisioning info for specified ZWave node.

call: zwave.set_provisioning_info()

params:

return: none.

example:

require "zwave"

zwave.get_provisioning_info( node_id, "coffee maker", "kitchen" )