Green Power Server#
API and Callbacks for the Green Power Cluster Server Component.
A component implementing the server-side functionality of the Green Power cluster.
Modules#
sl_zigbee_af_green_power_server_commissioning_state_t
sli_zigbee_gp_device_id_and_command_map_t
sli_zigbee_gp_device_id_and_cluster_map_t
sli_zigbee_gp_comm_data_saved_t
API#
Get a GPD commissioning instance in a multiple GPD commissioning session.
Delete a GPD commissioning instance in a multiple GPD commissioning session.
Extend the commissioning window of a commissioning session.
Get the commissioning state of the green power server.
Derive the shared key from the sink attributes.
Clears the entry for a GPD in sink table.
Enumerations#
Variables#
Functions#
Macros#
API Documentation#
sl_zigbee_af_green_power_server_find_commissioning_gpd_instance#
sl_zigbee_commissioning_gpd_t * sl_zigbee_af_green_power_server_find_commissioning_gpd_instance (sl_zigbee_gp_address_t * gpdAddr)
Get a GPD commissioning instance in a multiple GPD commissioning session.
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_gp_address_t * | N/A | gpdAddr | GPD address Ver.: always |
The green power server can be configured to allow multiple GPDs to commission within a commissioning session. Given a GPD instance address, this function will find the currently-commissioning GPD instance. This is a helpful indicator of the commissioning progress of a given GPD when multi GPDS are commissioning in a commissioning window.
Returns
Information on the commissioning pointed by a structure sli_zigbee_gp_comm_data_saved_t type about the GPD.
sl_zigbee_af_green_power_server_delete_commissioning_gpd_instance#
void sl_zigbee_af_green_power_server_delete_commissioning_gpd_instance (sl_zigbee_gp_address_t * gpdAddr)
Delete a GPD commissioning instance in a multiple GPD commissioning session.
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_gp_address_t * | N/A | gpdAddr | GPD address Ver.: always |
The green power server can be configured to allow multiple GPDs to commission within a commissioning session. Given a GPD instance address, this function will find and delete the currently-commissioning GPD instance. This is a helpful way to remove unwanted GPD instances in a multiple GPD commissioning session.
sl_zigbee_af_green_power_cluster_gp_sink_commissioning_window_extend#
void sl_zigbee_af_green_power_cluster_gp_sink_commissioning_window_extend (uint16_t commissioningWindow)
Extend the commissioning window of a commissioning session.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | N/A | commissioningWindow | Commissioning window to be extended from this point in time in seconds Ver.: always |
This is a helper function that sends out a proxy commissioning mode from the server side to all proxies in the network. It internally uses the same parameters used previously in the proxy commissioning mode with action = enter.
sl_zigbee_af_green_power_cluster_get_server_commissioning_sate#
sl_zigbee_af_green_power_server_commissioning_state_t * sl_zigbee_af_green_power_cluster_get_server_commissioning_sate (void )
Get the commissioning state of the green power server.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
This function gets the commissioning state of the green power server.
Returns
Server commissioning state and related parameters pointed by structure sl_zigbee_af_green_power_server_commissioning_state_t Ver.: always
sl_zigbee_af_green_power_server_derive_shared_key_from_sink_attribute
sl_zigbee_af_status_t sl_zigbee_af_green_power_server_derive_shared_key_from_sink_attribute (uint8_t * gpsSecurityKeyTypeAtrribute, sl_zigbee_key_data_t * gpSharedKeyAttribute, sl_zigbee_gp_address_t * gpdAddr)
Derive the shared key from the sink attributes.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t * | N/A | gpsSecurityKeyTypeAtrribute | Security key type attribute as input |
sl_zigbee_key_data_t * | N/A | gpSharedKeyAttribute | Security key attribute as output |
sl_zigbee_gp_address_t * | N/A | gpdAddr | GPD address |
This function derives the shared key used in green power server side using the respective security attribute values.
Returns
Status of the key derivation Ver.: always
sl_zigbee_af_green_power_server_remove_sink_entry#
void sl_zigbee_af_green_power_server_remove_sink_entry (sl_zigbee_gp_address_t * gpdAddr)
Clears the entry for a GPD in sink table.
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_gp_address_t * | N/A | gpdAddr | GPD address Ver.: always |
This function clears the entries in the sink table for a given gpd. In a sink table, there is unique entry for each GPD based on its addressing. When the GPD addressing uses application id=0b000 with 32 bit sourceId, there is just one entry for each GPD. But, when the GPD addressing with application Id=0b010 that is EUI64 with endpoint id, for each unique endpoint, there can be an entry in sink table. Hence, when this function is called with application Id=0b010,EUI64 with endpoint id=0xff(all endpoints), it clears all the entry for that GPD with supplied EUI64. With clear up the gpd from sink table it also clears the translation table for that GPD.
Enumeration Documentation#
GreenPowerServerGPSNodeState#
GreenPowerServerGPSNodeState
Enumerator | |
---|---|
GREEN_POWER_SERVER_GPS_NODE_STATE_NOT_IN_NETWORK | |
GREEN_POWER_SERVER_GPS_NODE_STATE_IN_NETWORK |
GreenPowerServerSinkTableAccessType#
GreenPowerServerSinkTableAccessType
Enumerator | |
---|---|
GREEN_POWER_SERVER_SINK_TABLE_ACCESS_TYPE_REMOVE_GPD | |
GREEN_POWER_SERVER_SINK_TABLE_ACCESS_TYPE_ADD_GPD | |
GREEN_POWER_SERVER_SINK_TABLE_ACCESS_TYPE_UNKNOWN |
GPSinkCommState#
GPSinkCommState
Enumerator | |
---|---|
GP_SINK_COMM_STATE_IDLE | |
GP_SINK_COMM_STATE_COLLECT_REPORTS | |
GP_SINK_COMM_STATE_SEND_COMM_REPLY | |
GP_SINK_COMM_STATE_WAIT_FOR_SUCCESS | |
GP_SINK_COMM_STATE_FINALISE_PAIRING | |
GP_SINK_COMM_STATE_PAIRING_DONE |
CommissioningTimeoutType#
CommissioningTimeoutType
Enumerator | |
---|---|
COMMISSIONING_TIMEOUT_TYPE_GENERIC_SWITCH | |
COMMISSIONING_TIMEOUT_TYPE_MULTI_SENSOR | |
COMMISSIONING_TIMEOUT_TYPE_COMMISSIONING_WINDOW_TIMEOUT |
PairingStatus#
PairingStatus
Enumerator | |
---|---|
SINK_PAIRING_STATUS_SUCCESS | |
SINK_PAIRING_STATUS_FAILURE | |
SINK_PAIRING_STATUS_IN_PROGRESS | |
SINK_PAIRING_STATUS_FAIL_NO_MATCHING_FUNCTIONALITY | |
SINK_PAIRING_STATUS_FAIL_ADDING_TRANSLATION | |
SINK_PAIRING_STATUS_FAIL_NO_SPACE_IN_SINK_TABLE | |
SINK_PAIRING_STATUS_FAIL_ENTRY_CORRUPTED |
PreSinkPairingCallbackSource#
PreSinkPairingCallbackSource
Enumerator | |
---|---|
GP_PRE_SINK_PAIRING_CALLBACK_SOURCE_UNKNOWN | |
GP_PRE_SINK_PAIRING_CALLBACK_COMMISSONING_FINALIZE | |
GP_PRE_SINK_PAIRING_CALLBACK_PAIRING_CONFIGURATION |
Typedef Documentation#
sl_zigbee_af_gp_server_sink_table_access_type_t#
typedef uint8_t sl_zigbee_af_gp_server_sink_table_access_type_t
sl_zigbee_sink_commissioning_timeout_type_t#
typedef uint8_t sl_zigbee_sink_commissioning_timeout_type_t
sl_zigbee_pre_sink_pairing_callback_source_t#
typedef uint8_t sl_zigbee_pre_sink_pairing_callback_source_t
Variable Documentation#
sl_zigbee_af_green_power_server_generic_switch_commissioning_timeout_event#
sl_zigbee_af_event_t sl_zigbee_af_green_power_server_generic_switch_commissioning_timeout_event
sl_zigbee_af_green_power_server_multi_sensor_commissioning_timeout_event#
sl_zigbee_af_event_t sl_zigbee_af_green_power_server_multi_sensor_commissioning_timeout_event
sl_zigbee_af_green_power_server_commissioning_window_timeout_event#
sl_zigbee_af_event_t sl_zigbee_af_green_power_server_commissioning_window_timeout_event
Function Documentation#
sl_zigbee_af_green_power_server_generic_switch_commissioning_timeout_event_handler#
void sl_zigbee_af_green_power_server_generic_switch_commissioning_timeout_event_handler (sl_zigbee_af_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_af_event_t * | N/A | event |
sl_zigbee_af_green_power_server_multi_sensor_commissioning_timeout_event_handler#
void sl_zigbee_af_green_power_server_multi_sensor_commissioning_timeout_event_handler (sl_zigbee_af_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_af_event_t * | N/A | event |
sl_zigbee_af_green_power_server_commissioning_window_timeout_event_handler#
void sl_zigbee_af_green_power_server_commissioning_window_timeout_event_handler (sl_zigbee_af_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_af_event_t * | N/A | event |