esp-zigbee-sdk-skill

Generates and debugs Zigbee 3.0 firmware for ESP32-H2 and ESP32-C6 using ESP Zigbee SDK v2.x.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-zigbee-sdk-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-zigbee-sdk-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-zigbee-sdk
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-zigbee-sdk-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developing Zigbee firmware on ESP32 chips involves a strict initialization sequence, BDB commissioning state machines, ZCL data models, thread-safety locking, and partition table requirements that are easy to get wrong. This Skill provides verified recipes, real API signatures, and wrong-vs-right code comparisons drawn directly from the esp-zigbee-sdk repository, so generated firmware compiles and joins networks correctly. ## Core Features & Use Cases - Scenario Recipes: Step-by-step guides for Coordinator/Router/End Device roles, ZHA device models, ZCL commands and attribute reporting, sleepy and deep-sleep end devices, Touchlink, OTA upgrade, gateway/RCP setups, and custom clusters. - API & Config Reference: Real ezb_ API signatures grouped by layer (platform, BDB, AF, ZHA, ZCL, ZDO, security), plus Kconfig, sdkconfig, partitions.csv, and idf_component.yml references. - Pitfall Checklists: 14 critical wrong-vs-right code pairs covering locking, mainloop ordering, formation vs steering, storage partitions, and RCP UART configuration. - Use Case: Ask the agent to build a Zigbee coordinator on/off light on ESP32-H2; it follows the coordinator recipe, generates the main task, signal handler, and ZCL action handler, then builds and flashes with idf.py. ## Quick Start Ask the agent to create a Zigbee 3.0 on/off light coordinator firmware for ESP32-H2 using the esp-zigbee-sdk skill.

Frequently Asked Questions about esp-zigbee-sdk-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Zigbee coordinator on ESP32-H2?

Set device_type to EZB_NWK_DEVICE_TYPE_COORDINATOR, run the standard init-start-mainloop task sequence, and on factory-new start trigger EZB_BDB_MODE_NETWORK_FORMATION followed by NETWORK_STEERING. The coordinator_light recipe provides the complete signal handler and data model code.

How to send ZCL commands like on/off toggle from an ESP32 Zigbee switch?

Build an ezb_zcl_on_off_cmd_t with the destination address mode and source endpoint, then call ezb_zcl_on_off_toggle_cmd_req while holding the Zigbee lock via esp_zigbee_lock_acquire. Using EZB_ADDR_MODE_NONE routes through the binding table after a ZDO bind.

Which ESP32 chips support native Zigbee with esp-zigbee-sdk?

ESP32-H2 and ESP32-C6 have native 802.15.4 radios and support all Zigbee roles including RCP. ESP32-C3, S3, and P4 lack 802.15.4 and must act as gateway hosts connected over UART to an H2 or C6 running RCP firmware.

Why does my Zigbee end device fail with EZB_BDB_STATUS_NOT_PERMITTED?

This error means the BDB commissioning mode does not match the device role, typically an End Device attempting NETWORK_FORMATION. End Devices and Routers must use EZB_BDB_MODE_NETWORK_STEERING to join; only Coordinators and Routers can form networks.

Does esp-zigbee-sdk v2.x support deep sleep end devices?

Yes, deep sleep is implemented by the application calling esp_deep_sleep_start directly with RTC timer and EXT1 wakeup sources configured before any Zigbee calls. Each wakeup restarts from reset, the stack reinitializes, and the device automatically rejoins its previous network.

What is the difference between ezb_ and esp_zb_ APIs in ESP Zigbee SDK?

ezb_ is the active v2.x mainline API with headers under ezbee/, while esp_zb_ is the v1.x ZBOSS-based API kept as an LTS compatibility layer. New code should use ezb_; migration guidance is in the repository's docs/en/migration-guide/v2.x/.