Assigns GroupIDs to a list of nodes.
More...
Assigns GroupIDs to a list of nodes.
Group Identifiers are assigned to a set of nodes, and can be used to trigger transmissions to the list of nodes.
◆ ZWAVE_TX_INVALID_GROUP
Group ID returned in case of error.
◆ zwave_tx_add_node_to_group()
Adds a NodeID to a Group ID.
This function should only be used at initialization to restore groups.
- Parameters
-
| node_id | Nodemask for the list of nodes for which a GroupID is needed. |
| [out] | group_id | the Group ID assigned for the list of nodes. |
- Returns
- SL_STATUS_OK if the group was created/found and returned in the group_id pointer. SL_STATUS_FAIL if the nodes cannot be part of the same group and the group_id variable is not to be used.
◆ zwave_tx_assign_group()
Assigns/returns a Group ID to the list of NodeIDs.
The following checks must be performed by the application before grouping nodes:
- Are the nodes all included with the same protocol
- Do the nodes share the same highest granted class (S0/Non-secure are accepted)
- Parameters
-
| nodes | Nodemask for the list of nodes for which a GroupID is needed. |
| [out] | group_id | the Group ID assigned for the list of nodes. |
- Returns
- SL_STATUS_OK if the group was created/found and returned in the group_id pointer. SL_STATUS_FAIL if the nodes cannot be part of the same group and the group_id variable is not to be used.
◆ zwave_tx_get_nodes()
Returns the list of NodeIDs part of a group.
- Parameters
-
| [out] | nodes | Nodemask for the list of nodes that are part of a group |
| group_id | The Group ID for which we want the list of nodes. |
- Returns
- SL_STATUS_OK if the list of nodes was copied to the nodes nodemask. SL_STATUS_NOT_FOUND if the GroupID is empty or does not exist.
◆ zwave_tx_group_log()
Logs the content / state of the group using sl_log.
- Parameters
-
| group_id | The multicast group to log |
◆ zwave_tx_is_group_locked()
Verifies if a group is locked.
- Parameters
-
| group_id | The multicast group id to verify |
- Returns
- true if the group is locked. false if the group does not exist or is unlocked.
◆ zwave_tx_lock_group()
Instructs the Z-Wave TX Group not to alter the list of NodeIDs part of a group, until the group is unlocked again.
This function should be called when before transmitting the first Multicast message. The unlock function should be called after the last follow up has been sent out.
- Parameters
-
| group_id | The multicast group to lock for changes. |
- Returns
- SL_STATUS_OK if the group is locked. SL_STATUS_NOT_FOUND if there is an issue with the Group ID.
◆ zwave_tx_unlock_group()
Instructs the Z-Wave TX Group that the list of NodeIDs part of a group can be modified.
This function should be called when before transmitting the first Multicast message. The unlock function should be called after the last follow up has been sent out.
- Parameters
-
| group_id | The multicast group to unlock and allow to be updated |
- Returns
- SL_STATUS_OK if the group is unlocked. SL_STATUS_NOT_FOUND if there is an error with the Group ID.