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:
return: none.
- node_id (int),
- channel_id (int),
- configuration (table)
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:
- node_id (int),
- channel_id (int),
- sensor_name (string) - see alarm sensor types
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:
- node_id (int),
- name (string),
- room (string)
return: none.
example:
require "zwave"
zwave.get_provisioning_info( node_id, "coffee maker", "kitchen" )