ZGP Device Command API

Zigbee Green Power Device (ZGPD) commands related APIs for ESP Zigbee SDK.

API Reference

Header File

Functions

void esp_zb_zgpd_stack_init(esp_zb_zgpd_commissioning_signal_callback_t cb)

ZGP device stack initialization.

Parameters

cb – A callback for indicating the commissioning process for ZGP device

void esp_zb_zgpd_init(uint8_t zgp_app_id, uint8_t zgpd_commissioning_method, uint8_t zgpd_device_id)

ZGP device commissioning information initialization.

Parameters
  • zgp_app_id[in] App identifier, refer to esp_zb_zgp_app_id_t

  • zgpd_commissioning_method[in] Commissioning method, refer to esp_zb_zgpd_commissioning_method_t

  • zgpd_device_id[in] Device identifier, refer to esp_zb_zgpd_dev_id_t

esp_err_t esp_zb_zgpd_dev_start(void)

ZGP device start.

Returns

  • ESP_OK: on success

  • ESP_FAIL: on failed

void esp_zb_zgpd_main_loop(void)

ZGP device main loop.

void esp_zb_zgpd_start_commissioning(void)

ZGP device start commissioning.

void esp_zb_zgpd_set_source_id(uint32_t src_id)

Set the source identifier for ZGP device.

Parameters

src_id – A 32-bit source identifier

void esp_zb_zgpd_set_security(uint8_t level, uint8_t type, uint8_t *key)

Set the security information for ZGP device.

Parameters
  • level[in] Security level

  • type[in] Security type

  • key[in] Security key

void esp_zb_zgpd_set_OOB_key(uint8_t *key)

Set the security out-of-the-box key for ZGP device.

Parameters

key[in] The OOB key

void esp_zb_zgpd_set_channel(uint8_t channel)

Set the channel for ZGP device.

Parameters

channel[in] The channel will be set for device

void esp_zb_zgpd_set_security_level(uint8_t level)

Set the security level for ZGP device.

Parameters

level[in] Security level

void esp_zb_zgpd_set_security_key_type(uint8_t type)

Set the type key of security for ZGP device.

Parameters

type[in] Security type

void esp_zb_zgpd_set_security_frame_counter(uint16_t counter)

Set the frame counter for ZGP device security.

Parameters

counter[in] The value of frame counter

void esp_zb_zgpd_set_application_info_present(uint8_t presented)

Present the application information setting.

Parameters

presented[in] The flag indicates whether to present the application information.

void esp_zb_zgpd_config_application_info_cmd(uint8_t presented, uint8_t *cmd)

ZGP device application information presented command setting.

Parameters
  • presented[in] Whether present the application information of ZGP device

  • cmd[in] The application information command, note that the first byte indicates the length of command.

void esp_zb_zgpd_send_command(esp_zb_zgpd_cmd_id_t cmd_id)

ZGP device send command.

Parameters

cmd_id[in] The command identifier will be sent by the ZGP device

Type Definitions

typedef enum esp_zb_zgpd_signal_e esp_zb_zgpd_signal_t

ZGP device application signal.

typedef enum esp_zb_zgpd_cmd_id_e esp_zb_zgpd_cmd_id_t

Supported command identifier for ZGP device.

Note

1. The recall scene 8-11 are got from LCGW. But GPPB specification does not define recall scenes 8-11. Only 8 scenes are supported.

  1. 0x39 - 0x3F, 0x4C - 0x4F, 0x4C - 0x4F, 0x52 - 0x5F, 0x6b-0x6f, 0x70-0x9f, 0xA7 0xA9 - 0xAE, 0xC0 - 0xDF, 0xE5 - 0xEF Reserved

  2. Manufacturer-defined GPD commands (payload is manufacturer-specific)

  3. 0xB1 - 0xBE: Manufacturer-defined GPD commands (payload is manufacturer-specific)

  4. 0xF4 - 0xF5: Reserved for other commands sent to the GPD

  5. 0xF7 - 0xFF: Reserved for other commands sent to the GPD

typedef void (*esp_zb_zgpd_commissioning_signal_callback_t)(esp_zb_zgpd_signal_t, esp_err_t)

ZGP device commissioning signal callback.

Enumerations

enum esp_zb_zgpd_signal_e

ZGP device application signal.

Values:

enumerator ESP_ZB_ZGPD_SIGNAL_DEVICE_STARTED_UP

During the startup process

enumerator ESP_ZB_ZGPD_SIGNAL_COMMISSIONING

During the commissioning process

enum esp_zb_zgpd_cmd_id_e

Supported command identifier for ZGP device.

Note

1. The recall scene 8-11 are got from LCGW. But GPPB specification does not define recall scenes 8-11. Only 8 scenes are supported.

  1. 0x39 - 0x3F, 0x4C - 0x4F, 0x4C - 0x4F, 0x52 - 0x5F, 0x6b-0x6f, 0x70-0x9f, 0xA7 0xA9 - 0xAE, 0xC0 - 0xDF, 0xE5 - 0xEF Reserved

  2. Manufacturer-defined GPD commands (payload is manufacturer-specific)

  3. 0xB1 - 0xBE: Manufacturer-defined GPD commands (payload is manufacturer-specific)

  4. 0xF4 - 0xF5: Reserved for other commands sent to the GPD

  5. 0xF7 - 0xFF: Reserved for other commands sent to the GPD

Values:

enumerator ESP_ZB_GPDF_CMD_IDENTIFY

Identify

enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE0

Recall scene

enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE1
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE2
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE3
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE4
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE5
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE6
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE7
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE8
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE9
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE10
enumerator ESP_ZB_GPDF_CMD_RECALL_SCENE11
enumerator ESP_ZB_GPDF_CMD_STORE_SCENE4

Store Scene

enumerator ESP_ZB_GPDF_CMD_STORE_SCENE5
enumerator ESP_ZB_GPDF_CMD_STORE_SCENE6
enumerator ESP_ZB_GPDF_CMD_STORE_SCENE7
enumerator ESP_ZB_GPDF_CMD_OFF

On/Off

enumerator ESP_ZB_GPDF_CMD_ON
enumerator ESP_ZB_GPDF_CMD_TOGGLE
enumerator ESP_ZB_GPDF_CMD_RELEASE
enumerator ESP_ZB_GPDF_CMD_MOVE_UP
enumerator ESP_ZB_GPDF_CMD_MOVE_DOWN
enumerator ESP_ZB_GPDF_CMD_STEP_UP
enumerator ESP_ZB_GPDF_CMD_STEP_DOWN
enumerator ESP_ZB_GPDF_CMD_LC_STOP
enumerator ESP_ZB_GPDF_CMD_MOVE_UP_W_ONOFF
enumerator ESP_ZB_GPDF_CMD_MOVE_DOWN_W_ONOFF
enumerator ESP_ZB_GPDF_CMD_STEP_UP_W_ONOFF
enumerator ESP_ZB_GPDF_CMD_STEP_DOWN_W_ONOFF
enumerator ESP_ZB_GPDF_CMD_MOVE_HUE_STOP
enumerator ESP_ZB_GPDF_CMD_MOVE_HUE_UP
enumerator ESP_ZB_GPDF_CMD_MOVE_HUE_DOWN
enumerator ESP_ZB_GPDF_CMD_STEP_HUE_UP
enumerator ESP_ZB_GPDF_CMD_STEP_HUE_DOWN
enumerator ESP_ZB_GPDF_CMD_MOVE_SATURATION_STOP
enumerator ESP_ZB_GPDF_CMD_MOVE_SATURATION_UP
enumerator ESP_ZB_GPDF_CMD_MOVE_SATURATION_DOWN
enumerator ESP_ZB_GPDF_CMD_STEP_SATURATION_UP
enumerator ESP_ZB_GPDF_CMD_STEP_SATURATION_DOWN
enumerator ESP_ZB_GPDF_CMD_MOVE_COLOR
enumerator ESP_ZB_GPDF_CMD_STEP_COLOR
enumerator ESP_ZB_GPDF_CMD_LOCK_DOOR
enumerator ESP_ZB_GPDF_CMD_UNLOCK_DOOR
enumerator ESP_ZB_GPDF_CMD_PRESS_1_OF_1
enumerator ESP_ZB_GPDF_CMD_RELEASE_1_OF_1
enumerator ESP_ZB_GPDF_CMD_PRESS_1_OF_2
enumerator ESP_ZB_GPDF_CMD_RELEASE_1_OF_2
enumerator ESP_ZB_GPDF_CMD_PRESS_2_OF_2
enumerator ESP_ZB_GPDF_CMD_RELEASE_2_OF_2
enumerator ESP_ZB_GPDF_CMD_SHORT_PRESS_1_OF_1
enumerator ESP_ZB_GPDF_CMD_SHORT_PRESS_1_OF_2
enumerator ESP_ZB_GPDF_CMD_SHORT_PRESS_2_OF_2
enumerator ESP_ZB_GPDF_CMD_8BIT_VECTOR_PRESS
enumerator ESP_ZB_GPDF_CMD_8BIT_VECTOR_RELEASE
enumerator ESP_ZB_GPDF_CMD_ATTR_REPORT
enumerator ESP_ZB_GPDF_CMD_MANUF_SPEC_ATTR_REPORT
enumerator ESP_ZB_GPDF_CMD_MULTI_CLUSTER_ATTR_REPORT
enumerator ESP_ZB_GPDF_CMD_MANUF_SPEC_MULTI_CLUSTER_ATTR_REPORT
enumerator ESP_ZB_GPDF_CMD_REQUEST_ATTRIBUTES
enumerator ESP_ZB_GPDF_CMD_READ_ATTR_RESP
enumerator ESP_ZB_GPDF_CMD_ZCL_TUNNELING_FROM_ZGPD
enumerator ESP_ZB_GPDF_CMD_COMPACT_ATTR_REPORTING
enumerator ESP_ZB_GPDF_CMD_ATTR_REPORT_ANY
enumerator ESP_ZB_GPDF_CMD_MANUF_DEFINED_B0
enumerator ESP_ZB_GPDF_CMD_MANUF_DEFINED_BF
enumerator ESP_ZB_GPDF_CMD_COMMISSIONING
enumerator ESP_ZB_GPDF_CMD_DECOMMISSIONING
enumerator ESP_ZB_GPDF_CMD_SUCCESS
enumerator ESP_ZB_GPDF_CMD_CHANNEL_REQUEST
enumerator ESP_ZB_GPDF_CMD_APPLICATION_DESCR
enumerator ESP_ZB_GPDF_CMD_COMMISSIONING_REPLY
enumerator ESP_ZB_GPDF_CMD_WRITE_ATTRIBUTES
enumerator ESP_ZB_GPDF_CMD_READ_ATTRIBUTES
enumerator ESP_ZB_GPDF_CMD_CHANNEL_CONFIGURATION
enumerator ESP_ZB_GPDF_CMD_ZCL_TUNNELING_TO_ZGPD