Z-Wave Protocol Controller Reference

A Z-Wave Supervision Command Class handlers. More...

Collaboration diagram for Supervision Command Class:

Functions

sl_status_t zwave_command_class_supervision_init (void)
 Setup fixture for the Supervision Command Class. More...
 
sl_status_t zwave_command_class_supervision_support_handler (const zwave_controller_connection_info_t *connection_info, const uint8_t *frame_data, uint16_t frame_length)
 Handle incoming Supervision encapsulated commands. More...
 
sl_status_t zwave_command_class_supervision_send_data (const zwave_controller_connection_info_t *connection, uint16_t data_length, const uint8_t *data, const zwave_tx_options_t *tx_options, const on_zwave_tx_send_data_complete_t on_supervision_complete, void *user, zwave_tx_session_id_t *session)
 Take a frame and create a Supervision Session. More...
 
sl_status_t zwave_command_class_supervision_abort_send_data (zwave_tx_session_id_t session)
 Abort a queued or ongoing transmission. More...
 
sl_status_t zwave_command_class_supervision_wake_on_demand (zwave_node_id_t node_id)
 Request that a node is "Waked" Up on demand at the next communication. More...
 
sl_status_t zwave_command_class_supervision_stop_wake_on_demand (zwave_node_id_t node_id)
 Cancel a request that a node is "Waked" Up on demand at the next communication. More...
 
sl_status_t zwave_command_class_supervision_close_session_by_tx_session (zwave_tx_session_id_t tx_session_id)
 Close a supervision session based on the Z-Wave Tx session ID. More...
 

Detailed Description

A Z-Wave Supervision Command Class handlers.

This module provides both support and control of the Supervision Command Class. It provides an API to send data, which will encapsulate the frame and send out. It also provides a Supervision Command Class handler that is registered to the Z-Wave Application Command Class Handler

Function Documentation

◆ zwave_command_class_supervision_abort_send_data()

sl_status_t zwave_command_class_supervision_abort_send_data ( zwave_tx_session_id_t  session)

Abort a queued or ongoing transmission.

Refer to zwave_tx_abort_transmission for a detailed description

Parameters
sessionRefer to zwave_tx_abort_transmission
Returns
refer to zwave_tx_abort_transmission
Here is the call graph for this function:

◆ zwave_command_class_supervision_close_session_by_tx_session()

sl_status_t zwave_command_class_supervision_close_session_by_tx_session ( zwave_tx_session_id_t  tx_session_id)

Close a supervision session based on the Z-Wave Tx session ID.

Parameters
tx_session_idThe Z-Wave TX session ID associated to the Supervision Session that must be closed.
Returns
sl_status
  • SL_STATUS_OK if the Session ID was closed.
  • SL_STATUS_NOT_FOUND if there was no session ID found for the Z-Wave TX Session ID.
Here is the caller graph for this function:

◆ zwave_command_class_supervision_init()

sl_status_t zwave_command_class_supervision_init ( void  )

Setup fixture for the Supervision Command Class.

This setup will register the Supervision command handler to the Z-Wave CC framework,

Returns
SL_STATUS_OK if successful
SL_STATUS_FAIL if an error occurred
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_command_class_supervision_send_data()

sl_status_t zwave_command_class_supervision_send_data ( const zwave_controller_connection_info_t connection,
uint16_t  data_length,
const uint8_t *  data,
const zwave_tx_options_t tx_options,
const on_zwave_tx_send_data_complete_t  on_supervision_complete,
void *  user,
zwave_tx_session_id_t session 
)

Take a frame and create a Supervision Session.

This function is used to transmit Z-Wave frames using Supervision encapsulation. The provided payload will be encapsulated in a Supervision session, then sent out.

The Supervision module will wait for a Supervision Report before it callbacks the application.

Parameters
connectionRefer to zwave_tx_send_data
data_lengthRefer to zwave_tx_send_data
dataRefer to zwave_tx_send_data
tx_optionsRefer to zwave_tx_send_data
on_supervision_completeRefer to zwave_tx_send_data. Note: The status parameter in the on_supervision_complete callback will be the Supervision Report Status nd not the Transmit Status.
userRefer to zwave_tx_send_data
sessionRefer to zwave_tx_send_data
Returns
  • SUCCESS The transmission request has been accepted and callback will be triggered when the operation is completed.
  • FAILURE The transmission request has been rejected, callback will not be called.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_command_class_supervision_stop_wake_on_demand()

sl_status_t zwave_command_class_supervision_stop_wake_on_demand ( zwave_node_id_t  node_id)

Cancel a request that a node is "Waked" Up on demand at the next communication.

Parameters
node_idThe node ID of the node that no longer is requested to Wake-Up on demand
Returns
sl_status
  • SL_STATUS_OK indicating if the node is not (or no longer) part of the Wake On Demand node list.
Here is the caller graph for this function:

◆ zwave_command_class_supervision_support_handler()

sl_status_t zwave_command_class_supervision_support_handler ( const zwave_controller_connection_info_t connection_info,
const uint8_t *  frame_data,
uint16_t  frame_length 
)

Handle incoming Supervision encapsulated commands.

Parameters
connection_infoInfo about the connection properties of this frame.
frame_dataThe data payload of this frame.
frame_lengthThe length of this frame.
Returns
sl_status_t representing the outcome of receiving the frame In case where the command is controlled, it should be set to SL_STATUS_OK, even when encountering some parsing errors In case where the command is supported, it should be set to the sl_status_t corresponding to the correct Supervision Status code. Refer to zwave_command_handler_t
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zwave_command_class_supervision_wake_on_demand()

sl_status_t zwave_command_class_supervision_wake_on_demand ( zwave_node_id_t  node_id)

Request that a node is "Waked" Up on demand at the next communication.

Note that the Supervision module will only ensure that the node supports Supervision Command Class, version 2 It will not verify that it supports the Wake Up Command Class, version 3 or the Wake-Up on demand capability.

Parameters
node_idThe node ID of the node to Wake-Up on demand
Returns
sl_status indicating if the request was accepted.