Green Power Common#
API and Callbacks for the Green Power Common Component.
A component that provides common functionalities between client and server sides of the Green Power components.
API#
Prepare a GP notification command buffer.
Prepare a GP pairing search command buffer.
Prepare a GP tunneling stop command buffer.
Prepare a GP commissioning notification command buffer.
Prepare a GP translation table update command buffer.
Prepare a GP pairing configuration command buffer.
Prepare a GP sink table request command buffer.
Prepare a GP notification response command buffer.
Prepare a GP pairing command buffer.
Prepare a GP proxy commissioning mode command buffer.
Prepare a GP response command buffer.
Prepare a GP proxy table request command buffer.
Compare two GP Addresses.
Prepare a GP proxy commissioning mode command buffer.
Prepare a GP sink table response command buffer.
To provide GPD Command Translation Table content.
Enumerations#
Green Power link quality.
Green Power switch type.
Green Power device ID.
Macros#
If GPD source ID is reserved.
If GPD source ID is 0.
Translation Table command - Options field: "Additional information block present" flag.
Translation Table Update command - Options field: "Additional information block present" flag.
Pairing Configuration command - Options field: "Application information present" flag.
Pairing command - Options field: "Communication Mode" value.
Pairing command - Options field: "Add Sink" value.
Any command - Options field: "Application ID" value.
Proxy table entry - Sequence number capability.
Proxy table entry - Security level.
If GPD has a fixed location during operation.
If GPD does not have a fixed location during operation.
If GPD has a fixed location during operation.
Any command - Options field: "Security key type" value.
API Documentation#
sl_zigbee_af_fill_command_green_power_cluster_gp_notification_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_notification_smart (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint32_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t gpdCommandPayloadLength, const uint8_t * gpdCommandPayload, uint16_t gppShortAddress, uint8_t gppDistance)
Prepare a GP notification command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint32_t | [in] | gpdSecurityFrameCounter | GPD security frame counter |
| uint8_t | [in] | gpdCommandId | GPD command Id |
| uint8_t | [in] | gpdCommandPayloadLength | Command payload length |
| const uint8_t * | [in] | gpdCommandPayload | GPD command payload |
| uint16_t | [in] | gppShortAddress | GP Proxy short address |
| uint8_t | [in] | gppDistance | GP Proxy distance |
This function prepares an application framework ZCL command buffer for the GP notification command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_search_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_search_smart (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint)
Prepare a GP pairing search command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
This function prepares an application framework ZCL command buffer for the GP pairing search command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_tunneling_stop_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_tunneling_stop_smart (uint8_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint32_t gpdSecurityFrameCounter, uint16_t gppShortAddress, int8_t gppDistance)
Prepare a GP tunneling stop command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint32_t | [in] | gpdSecurityFrameCounter | GPD security frame counter |
| uint16_t | [in] | gppShortAddress | GP Proxy short address |
| int8_t | [in] | gppDistance | GP Proxy distance |
This function prepares an application framework ZCL command buffer for the GP tunneling stop command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_commissioning_notification_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_commissioning_notification_smart (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t sequenceNumber, sl_zigbee_gp_security_level_t gpdfSecurityLevel, sl_zigbee_gp_security_frame_counter_t gpdSecurityFrameCounter, uint8_t gpdCommandId, uint8_t gpdCommandPayloadLength, const uint8_t * gpdCommandPayload, sl_802154_short_addr_t gppShortAddress, uint8_t gppLink, sl_zigbee_gp_mic_t mic)
Prepare a GP commissioning notification command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | sequenceNumber | MAC Sequence to be used in security counter field for GPD security level 0 |
| sl_zigbee_gp_security_level_t | [in] | gpdfSecurityLevel | GPD security level |
| sl_zigbee_gp_security_frame_counter_t | [in] | gpdSecurityFrameCounter | GPD security frame counter |
| uint8_t | [in] | gpdCommandId | GPD command Id |
| uint8_t | [in] | gpdCommandPayloadLength | Command payload length |
| const uint8_t * | [in] | gpdCommandPayload | GPD command payload |
| sl_802154_short_addr_t | [in] | gppShortAddress | GP Proxy short address |
| uint8_t | [in] | gppLink | GPD-GP Proxy link |
| sl_zigbee_gp_mic_t | [in] | mic | Message Integrity Code when security level is 2 or 3 |
This function prepares an application framework ZCL command buffer for the GP commissioning notification command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_translation_table_update_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_translation_table_update_smart (uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t translationsLength, sl_zigbee_zcl_gp_translation_table_update_translation_t * translations, sl_zigbee_gp_translation_table_additional_info_block_option_record_field_t * additionnalInfoBlock)
Prepare a GP translation table update command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint16_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | translationsLength | Length of the translations packet |
| sl_zigbee_zcl_gp_translation_table_update_translation_t * | [in] | translations | One or more number of translations |
| sl_zigbee_gp_translation_table_additional_info_block_option_record_field_t * | [in] | additionnalInfoBlock | Additional Information block used along with the translations |
This function prepares an application framework ZCL command buffer for the GP translation table update command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_configuration_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_configuration_smart (uint8_t actions, uint16_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t gpdDeviceId, uint8_t groupListCount, uint8_t * groupList, uint16_t gpdAssignedAlias, uint8_t groupcastRadius, uint8_t securityOptions, uint32_t gpdSecurityFrameCounter, uint8_t * gpdSecurityKey, uint8_t numberOfPairedEndpoints, uint8_t * pairedEndpoints, uint8_t applicationInformation, uint16_t manufacturerId, uint16_t modeId, uint8_t numberOfGpdCommands, uint8_t * gpdCommandIdList, uint8_t clusterIdListCount, uint16_t * clusterListServer, uint16_t * clusterListClient, uint8_t switchInformationLength, uint8_t genericSwitchConfiguration, uint8_t currentContactStatus, uint8_t totalNumberOfReports, uint8_t numberOfReports, uint8_t * reportDescriptor)
Prepare a GP pairing configuration command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | actions | GP Pairing actions field |
| uint16_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | gpdDeviceId | GPD Device Id |
| uint8_t | [in] | groupListCount | Group list count |
| uint8_t * | [in] | groupList | Group list |
| uint16_t | [in] | gpdAssignedAlias | GPD assigned alias |
| uint8_t | [in] | groupcastRadius | Group cast radius |
| uint8_t | [in] | securityOptions | Security options |
| uint32_t | [in] | gpdSecurityFrameCounter | Security frame counter |
| uint8_t * | [in] | gpdSecurityKey | Security key |
| uint8_t | [in] | numberOfPairedEndpoints | Number of paired endpoints |
| uint8_t * | [in] | pairedEndpoints | Paired endpoint list |
| uint8_t | [in] | applicationInformation | Application information field |
| uint16_t | [in] | manufacturerId | GPD Manufacture Id |
| uint16_t | [in] | modeId | GPD Model Id |
| uint8_t | [in] | numberOfGpdCommands | Number of GPD commands |
| uint8_t * | [in] | gpdCommandIdList | GPD commands list |
| uint8_t | [in] | clusterIdListCount | Cluster List count |
| uint16_t * | [in] | clusterListServer | Server cluster list |
| uint16_t * | [in] | clusterListClient | Client cluster list |
| uint8_t | [in] | switchInformationLength | Generic switch information length |
| uint8_t | [in] | genericSwitchConfiguration | Generic switch configuration |
| uint8_t | [in] | currentContactStatus | Current contact status |
| uint8_t | [in] | totalNumberOfReports | Total number of reports configured |
| uint8_t | [in] | numberOfReports | Number of reports in the report present in descriptor |
| uint8_t * | [in] | reportDescriptor | Report descriptors list |
This function prepares an application framework ZCL command buffer for the GP pairing configuration command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_sink_table_request_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_sink_table_request_smart (uint8_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t index)
Prepare a GP sink table request command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | index | Requested table index to start |
This function prepares an application framework ZCL command buffer for the GP sink table request command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_notification_response_smart#
uint32_t sl_zigbee_af_fill_command_green_power_cluster_gp_notification_response_smart (uint8_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint32_t gpdSecurityFrameCounter)
Prepare a GP notification response command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint32_t | [in] | gpdSecurityFrameCounter | GPD security frame counter |
This function prepares an application framework ZCL command buffer for the GP notification response command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_pairing_smart (uint32_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t * sinkIeeeAddress, uint16_t sinkNwkAddress, uint16_t sinkGroupId, uint8_t deviceId, uint32_t gpdSecurityFrameCounter, uint8_t * gpdKey, uint16_t assignedAlias, uint8_t groupcastRadius)
Prepare a GP pairing command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint32_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t * | [in] | sinkIeeeAddress | Sink IEEE address |
| uint16_t | [in] | sinkNwkAddress | Sink network address |
| uint16_t | [in] | sinkGroupId | Sink group Id |
| uint8_t | [in] | deviceId | GPD Device Id |
| uint32_t | [in] | gpdSecurityFrameCounter | GPD security frame counter |
| uint8_t * | [in] | gpdKey | GPD security key |
| uint16_t | [in] | assignedAlias | GPD assigned alias |
| uint8_t | [in] | groupcastRadius | Group cast radius of this message |
This function prepares an application framework ZCL command buffer for the GP pairing command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_proxy_commissioning_mode_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_proxy_commissioning_mode_smart (uint8_t options, uint16_t commissioningWindow, uint8_t channel)
Prepare a GP proxy commissioning mode command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint16_t | [in] | commissioningWindow | Commissioning window in seconds |
| uint8_t | [in] | channel | Proxy channel field |
This function prepares an application framework ZCL command buffer for the GP proxy commissioning mode command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_response_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_response_smart (uint8_t options, uint16_t tempMasterShortAddress, uint8_t tempMasterTxChannel, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t gpdCommandId, uint8_t gpdCommandPayloadLength, uint8_t * gpdCommandPayload)
Prepare a GP response command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint16_t | [in] | tempMasterShortAddress | Proxy Temp Master short address |
| uint8_t | [in] | tempMasterTxChannel | Proxy Temp Master transmit channel |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | gpdCommandId | GPD command id |
| uint8_t | [in] | gpdCommandPayloadLength | GPD command length |
| uint8_t * | [in] | gpdCommandPayload | GPD command payload |
This function prepares an application framework ZCL command buffer for the GP response command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_fill_command_green_power_cluster_gp_proxy_table_request_smart#
uint16_t sl_zigbee_af_fill_command_green_power_cluster_gp_proxy_table_request_smart (uint8_t options, uint32_t gpdSrcId, uint8_t * gpdIeee, uint8_t gpdEndpoint, uint8_t index)
Prepare a GP proxy table request command buffer.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| uint8_t | [in] | options | Options |
| uint32_t | [in] | gpdSrcId | GPD Source Id |
| uint8_t * | [in] | gpdIeee | GPD IEEE address |
| uint8_t | [in] | gpdEndpoint | GPD endpoint |
| uint8_t | [in] | index | Requested table index to start |
This function prepares an application framework ZCL command buffer for the GP proxy table request command with supplied arguments and returns the buffer length.
Returns
Length of the constructed command buffer
sl_zigbee_af_green_power_common_gp_addr_compare#
bool sl_zigbee_af_green_power_common_gp_addr_compare (const sl_zigbee_gp_address_t * a1, const sl_zigbee_gp_address_t * a2)
Compare two GP Addresses.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| const sl_zigbee_gp_address_t * | [in] | a1 | First address to compare |
| const sl_zigbee_gp_address_t * | [in] | a2 | Second address to compare |
This function compares two GP Addresses and returns true if they are the same.
Returns
True if the address are same
Enumeration Documentation#
sl_zigbee_af_g_p_gpd_gpp_link_quality_t#
sl_zigbee_af_g_p_gpd_gpp_link_quality_t
Green Power link quality.
| Enumerator | |
|---|---|
| SL_ZIGBEE_ZCL_GP_GPD_GPP_LINK_QUALITY_POOR | Poor link quality |
| SL_ZIGBEE_ZCL_GP_GPD_GPP_LINK_QUALITY_MODERATE | Moderate link quality |
| SL_ZIGBEE_ZCL_GP_GPD_GPP_LINK_QUALITY_HIGH | High link quality |
| SL_ZIGBEE_ZCL_GP_GPD_GPP_LINK_QUALITY_EXCELLENT | Excellent link quality |
sl_zigbee_af_g_p_generic_sw_switch_type_t#
sl_zigbee_af_g_p_generic_sw_switch_type_t
Green Power switch type.
| Enumerator | |
|---|---|
| SL_ZIGBEE_ZCL_GP_UNKNOWN_SWITCH_TYPE | Unknown switch |
| SL_ZIGBEE_ZCL_GP_BUTTON_SWITCH_TYPE | Button switch |
| SL_ZIGBEE_ZCL_GP_ROCKER_SWITCH_TYPE | Rocker switch |
| SL_ZIGBEE_ZCL_GP_RESERVED_SWITCH_TYPE | Reserved switch |
sl_zigbee_af_gp_device_id_gpd_t#
sl_zigbee_af_gp_device_id_gpd_t
Green Power device ID.
| Enumerator | |
|---|---|
| SL_ZIGBEE_GP_DEVICE_ID_GPD_SIMPLE_GENERIC_ONE_STATE_SWITCH | Simple generic one-state switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_SIMPLE_GENERIC_TWO_STATE_SWITCH | Simple generic two-state switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_ON_OFF_SWITCH | On-off switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_LEVEL_CONTROL_SWITCH | Level control switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_SIMPLE_SENSOR_SWITCH | Simple sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_ADVANCED_GENERIC_ONE_STATE_SWITCH | Advanced generic one-state switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_ADVANCED_GENERIC_TWO_STATE_SWITCH | Advanced generic two-state switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_GENERIC_SWITCH | Generic switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_COLOR_DIMMER_SWITCH | Color dimmer switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_LIGHT_SENSOR_SWITCH | Light sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_OCCUPANCY_SENSOR_SWITCH | Occupancy sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_DOOR_LOCK_CONTROLLER_SWITCH | Door lock controller switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_TEMPERATURE_SENSOR_SWITCH | Temperature sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_PRESSURE_SENSOR_SWITCH | Pressure sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_FLOW_SENSOR_SWITCH | Flow sensor switch |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_INDOOR_ENVIRONMENT_SENSOR | Indoor environment sensor |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_SCENCES | Scenes |
| SL_ZIGBEE_GP_DEVICE_ID_GPD_UNDEFINED | Undefined |