Z-Wave Protocol Controller Reference
Z-Wave Utilities
Collaboration diagram for Z-Wave Utilities:
bool zwave_get_nls_support (zwave_node_id_t node_id, attribute_store_node_value_state_t value_state)
 Returns whether a node supports Network Layer Security (NLS) More...
 
bool zwave_get_nls_state (zwave_node_id_t node_id, attribute_store_node_value_state_t value_state)
 Returns whether a node has Network Layer Security (NLS) enabled. More...
 
sl_status_t zwave_store_nls_support (zwave_node_id_t node_id, bool is_nls_supported, attribute_store_node_value_state_t value_state)
 Stores Network Layer Security (NLS) support for a NodeID in the attribute store. More...
 
sl_status_t zwave_store_nls_state (zwave_node_id_t node_id, bool is_nls_enabled, attribute_store_node_value_state_t value_state)
 Stores Network Layer Security (NLS) state for a NodeID in the attribute store. More...
 
zwave_operating_mode_t zwave_get_operating_mode (zwave_node_id_t node_id)
 Returns the operating mode of a node. More...
 
zwave_protocol_t zwave_get_inclusion_protocol (zwave_node_id_t node_id)
 Returns the protocol that the node is running in this network. More...
 
const char * zwave_get_protocol_name (zwave_protocol_t protocol)
 Returns the name of a protocol value. More...
 
sl_status_t zwave_store_inclusion_protocol (zwave_node_id_t node_id, zwave_protocol_t inclusion_protocol)
 Stores a protocol value for a NodeID in the attribute store. More...
 
sl_status_t zwave_get_node_granted_keys (zwave_node_id_t node_id, zwave_keyset_t *keys)
 Get the node granted keys object. More...
 
sl_status_t zwave_set_node_granted_keys (zwave_node_id_t node_id, zwave_keyset_t *keyset)
 Set the node granted keys object. More...
 
bool zwave_node_supports_command_class (zwave_command_class_t command_class, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verify whether a node/endpoint supports a Command Class using the attribute Store. More...
 
bool zwave_node_want_supervision_frame (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verify whether a node/endpoint supports Supervision CC AND wants to use it. More...
 
zwave_cc_version_t zwave_node_get_command_class_version (zwave_command_class_t command_class, zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Return the version of a Command Class implemented by a node. More...
 
attribute_store_node_t zwave_get_endpoint_node (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Get endpoint node associated with the ZWave NodeID and Endpoint ID. More...
 
bool zwave_security_validation_is_node_s2_capable (zwave_node_id_t node_id)
 Verify if we registered a node as supporting S2. More...
 
sl_status_t zwave_security_validation_set_node_as_s2_capable (zwave_node_id_t node_id)
 Sets a node as S2 capable, meaning that we know it supports S2, and it will forever do. More...
 
wake_up_interval_t zwave_get_wake_up_interval (zwave_node_id_t node_id)
 Navigates the attribute store to find out what is the Wake Up Interval of a node. More...
 
bool is_command_in_array (zwave_command_class_t command_class, zwave_command_t command, const uint8_t *command_list, uint8_t command_list_length)
 Searches if a Command Class/Command pair is in a byte array of Command class/command pairs. More...
 
bool endpoint_exists (zwave_node_id_t node_id, zwave_endpoint_id_t endpoint_id)
 Verifies if an endpoint exists under a NodeID. More...
 

Detailed Description

Function Documentation

◆ endpoint_exists()

bool endpoint_exists ( zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Verifies if an endpoint exists under a NodeID.

Parameters
node_idNodeID for which we want to verify endpoint existence
endpoint_idEndpoint ID to look for
Returns
true if the endpoint exists, false otherwise
Here is the call graph for this function:

◆ is_command_in_array()

bool is_command_in_array ( zwave_command_class_t  command_class,
zwave_command_t  command,
const uint8_t *  command_list,
uint8_t  command_list_length 
)

Searches if a Command Class/Command pair is in a byte array of Command class/command pairs.

Parameters
command_classThe Command Class to look for
commandThe Command to look for
command_listPointer to the Command Class/Command byte array
command_list_lengthLength of the command_list array (in bytes)
Returns
true if the Command Class/Command pair has been found, false if not found
Here is the caller graph for this function:

◆ zwave_get_endpoint_node()

attribute_store_node_t zwave_get_endpoint_node ( zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Get endpoint node associated with the ZWave NodeID and Endpoint ID.

Parameters
node_idThe Z-Wave NodeID for which we want to find the endpoint
endpoint_idThe Z-Wave Endpoint ID for which we want to find the endpoint
Returns
The attribute store node associated with the endpoint.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_get_inclusion_protocol()

zwave_protocol_t zwave_get_inclusion_protocol ( zwave_node_id_t  node_id)

Returns the protocol that the node is running in this network.

This function will return the protocol that has been used for including a node in our network. After inclusion, nodes run only 1 protocol.

It will search for the node in the Attribute store and deduct its protocol from the ATTRIBUTE_ZWAVE_INCLUSION_PROTOCOL attribute stored under the NodeID.

Parameters
node_idThe NodeID for which the operating protocol is requested
Returns
zwave_protocol_t value.
Here is the call graph for this function:

◆ zwave_get_nls_state()

bool zwave_get_nls_state ( zwave_node_id_t  node_id,
attribute_store_node_value_state_t  value_state 
)

Returns whether a node has Network Layer Security (NLS) enabled.

It will search for the node in the Attribute store and deduct its NLS state from the ATTRIBUTE_ZWAVE_NLS_STATE attribute stored under the NodeID.

Parameters
node_idThe NodeID for which the NLS state is requested
value_stateThe value state to look for
Returns
  • true if the node/endpoint has NLS enabled
  • false if the node/endpoint has NLS disabled
Here is the call graph for this function:

◆ zwave_get_nls_support()

bool zwave_get_nls_support ( zwave_node_id_t  node_id,
attribute_store_node_value_state_t  value_state 
)

Returns whether a node supports Network Layer Security (NLS)

It will search for the node in the Attribute store and deduct its NLS support from the ATTRIBUTE_ZWAVE_NLS_SUPPORT attribute stored under the NodeID.

Parameters
node_idThe NodeID for which the NLS support is requested
value_stateThe value state to look for
Returns
  • true if the node/endpoint supports NLS
  • false if the node/endpoint does not support NLS
Here is the call graph for this function:

◆ zwave_get_node_granted_keys()

sl_status_t zwave_get_node_granted_keys ( zwave_node_id_t  node_id,
zwave_keyset_t keys 
)

Get the node granted keys object.

Parameters
node_id
keys
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_get_operating_mode()

zwave_operating_mode_t zwave_get_operating_mode ( zwave_node_id_t  node_id)

Returns the operating mode of a node.

Refer to the Z-Wave Network Layer Specification for Operating Modes. It can be Always listening (AL), Frequently listening (FL) or Non-Listening (NL).

It will search for the node in the Attribute store and deduct its operating mode from the ATTRIBUTE_ZWAVE_PROTOCOL_LISTENING and ATTRIBUTE_ZWAVE_OPTIONAL_PROTOCOL attributes stored under the NodeID.

Parameters
node_idThe NodeID for which the operating mode is requested
Returns
zwave_operating_mode_t value.
Here is the call graph for this function:

◆ zwave_get_protocol_name()

const char * zwave_get_protocol_name ( zwave_protocol_t  protocol)

Returns the name of a protocol value.

Parameters
protocolzwave_protocol_t value to print out
Returns
A string pointer to the name of the Z-Wave Protocol.

◆ zwave_get_wake_up_interval()

wake_up_interval_t zwave_get_wake_up_interval ( zwave_node_id_t  node_id)

Navigates the attribute store to find out what is the Wake Up Interval of a node.

It will search under all endpoints, (despite that the setting should be under endpoint 0) and return the first found value.

Parameters
node_idThe Z-Wave NodeID for which we want to find out the Wake Up Interval.
Returns
The value of the Wake Up interval. 0 is returned if there is no Wake up interval of if it is unknown.
Here is the call graph for this function:

◆ zwave_node_get_command_class_version()

zwave_cc_version_t zwave_node_get_command_class_version ( zwave_command_class_t  command_class,
zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Return the version of a Command Class implemented by a node.

Parameters
command_classThe Command Class identifier for which the version is requested.
node_idThe NodeID for which the version is requested.
endpoint_idThe Endpoint for which the version is requested.
Returns
the version number of the Command Class. 0 if it is neither supported nor controlled.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_node_supports_command_class()

bool zwave_node_supports_command_class ( zwave_command_class_t  command_class,
zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Verify whether a node/endpoint supports a Command Class using the attribute Store.

Parameters
command_classThe Command Class identifier to look for.
node_idThe NodeID to verify for support.
endpoint_idThe Endpoint to verify for support.
Returns
  • true if the node/endpoint supports the Command Class
  • false if the node/endpoint does not support the Command Class
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_node_want_supervision_frame()

bool zwave_node_want_supervision_frame ( zwave_node_id_t  node_id,
zwave_endpoint_id_t  endpoint_id 
)

Verify whether a node/endpoint supports Supervision CC AND wants to use it.

Parameters
node_idThe NodeID to verify for support.
endpoint_idThe Endpoint to verify for support.
Returns
  • true if the node/endpoint supports the Supervision CC + has the enabled supervision flag (or if the flag is not defined)
  • false otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_security_validation_is_node_s2_capable()

bool zwave_security_validation_is_node_s2_capable ( zwave_node_id_t  node_id)

Verify if we registered a node as supporting S2.

Parameters
node_idThe NodeID that supports S2.
Returns
True if the node has been registered to support S2, false otherwise
Here is the call graph for this function:

◆ zwave_security_validation_set_node_as_s2_capable()

sl_status_t zwave_security_validation_set_node_as_s2_capable ( zwave_node_id_t  node_id)

Sets a node as S2 capable, meaning that we know it supports S2, and it will forever do.

Parameters
node_idThe NodeID that supports S2.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_set_node_granted_keys()

sl_status_t zwave_set_node_granted_keys ( zwave_node_id_t  node_id,
zwave_keyset_t keyset 
)

Set the node granted keys object.

Parameters
node_id
keys
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_store_inclusion_protocol()

sl_status_t zwave_store_inclusion_protocol ( zwave_node_id_t  node_id,
zwave_protocol_t  inclusion_protocol 
)

Stores a protocol value for a NodeID in the attribute store.

Parameters
node_idThe NodeID for which the operating protocol must be saved in the attribute store
inclusion_protocolzwave_protocol_t value to save
Returns
SL_STATUS_OK on success, any other code if not successful.
Here is the call graph for this function:

◆ zwave_store_nls_state()

sl_status_t zwave_store_nls_state ( zwave_node_id_t  node_id,
bool  is_nls_enabled,
attribute_store_node_value_state_t  value_state 
)

Stores Network Layer Security (NLS) state for a NodeID in the attribute store.

Parameters
node_idThe NodeID for which the NLS state must be saved in the attribute store
is_nls_enabledNLS state
value_stateThe value state to store
Returns
SL_STATUS_OK on success, any other code if not successful.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_store_nls_support()

sl_status_t zwave_store_nls_support ( zwave_node_id_t  node_id,
bool  is_nls_supported,
attribute_store_node_value_state_t  value_state 
)

Stores Network Layer Security (NLS) support for a NodeID in the attribute store.

Parameters
node_idThe NodeID for which the NLS support must be saved in the attribute store
is_nls_supportedNLS support
value_stateThe value state to store
Returns
SL_STATUS_OK on success, any other code if not successful.
Here is the call graph for this function:
Here is the caller graph for this function: