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#
EmberAfGreenPowerServerCommissioningState
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#
emberAfGreenPowerServerFindCommissioningGpdInstance#
EmberCommissioningGpd * emberAfGreenPowerServerFindCommissioningGpdInstance (EmberGpAddress * gpdAddr)
Get a GPD commissioning instance in a multiple GPD commissioning session.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberGpAddress * | 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 GpCommDataSaved type about the GPD.
emberAfGreenPowerServerDeleteCommissioningGpdInstance#
void emberAfGreenPowerServerDeleteCommissioningGpdInstance (EmberGpAddress * gpdAddr)
Delete a GPD commissioning instance in a multiple GPD commissioning session.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberGpAddress * | 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.
emberAfGreenPowerClusterGpSinkCommissioningWindowExtend#
void emberAfGreenPowerClusterGpSinkCommissioningWindowExtend (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.
emberAfGreenPowerClusterGetServerCommissioningSate#
EmberAfGreenPowerServerCommissioningState * emberAfGreenPowerClusterGetServerCommissioningSate (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 EmberAfGreenPowerServerCommissioningState Ver.: always
emberAfGreenPowerServerDeriveSharedKeyFromSinkAttribute
EmberAfStatus emberAfGreenPowerServerDeriveSharedKeyFromSinkAttribute (uint8_t * gpsSecurityKeyTypeAtrribute, EmberKeyData * gpSharedKeyAttribute, EmberGpAddress * 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 |
EmberKeyData * | N/A | gpSharedKeyAttribute | Security key attribute as output |
EmberGpAddress * | 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
emberAfGreenPowerServerRemoveSinkEntry#
void emberAfGreenPowerServerRemoveSinkEntry (EmberGpAddress * gpdAddr)
Clears the entry for a GPD in sink table.
Type | Direction | Argument Name | Description |
---|---|---|---|
EmberGpAddress * | 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#
Variable Documentation#
emberAfPluginGreenPowerServerGenericSwitchCommissioningTimeoutEvent#
sl_zigbee_event_t emberAfPluginGreenPowerServerGenericSwitchCommissioningTimeoutEvent
emberAfPluginGreenPowerServerMultiSensorCommissioningTimeoutEvent#
sl_zigbee_event_t emberAfPluginGreenPowerServerMultiSensorCommissioningTimeoutEvent
emberAfPluginGreenPowerServerCommissioningWindowTimeoutEvent#
sl_zigbee_event_t emberAfPluginGreenPowerServerCommissioningWindowTimeoutEvent
Function Documentation#
emberAfPluginGreenPowerServerGenericSwitchCommissioningTimeoutEventHandler#
void emberAfPluginGreenPowerServerGenericSwitchCommissioningTimeoutEventHandler (sl_zigbee_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_event_t * | N/A | event |
emberAfPluginGreenPowerServerMultiSensorCommissioningTimeoutEventHandler#
void emberAfPluginGreenPowerServerMultiSensorCommissioningTimeoutEventHandler (sl_zigbee_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_event_t * | N/A | event |
emberAfPluginGreenPowerServerCommissioningWindowTimeoutEventHandler#
void emberAfPluginGreenPowerServerCommissioningWindowTimeoutEventHandler (sl_zigbee_event_t * event)
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_zigbee_event_t * | N/A | event |