Skip to content

feat(docs): Add Zigbee library API documentation #11525

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

P-R-O-C-H-Y
Copy link
Member

Description of Change

This pull request adds documentation for new Zigbee library, expanding the API coverage.

  • Added Zigbee APIs to Table of Contents: Included a new section in libraries.rst that organizes Zigbee-related APIs under their own subsection, improving navigation and discoverability.

Tests scenarios

Related links

Closes #10135

@P-R-O-C-H-Y P-R-O-C-H-Y self-assigned this Jun 27, 2025
@P-R-O-C-H-Y P-R-O-C-H-Y requested review from pedrominatel and a team as code owners June 27, 2025 12:03
@P-R-O-C-H-Y P-R-O-C-H-Y added the Type: Documentation Issue pertains to Documentation of Arduino ESP32 label Jun 27, 2025
Copy link
Contributor

github-actions bot commented Jun 27, 2025

Messages
📖 This PR seems to be quite large (total lines of code: 4186), you might consider splitting it into smaller PRs

👋 Hello P-R-O-C-H-Y, we appreciate your contribution to this project!


📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more.

🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project.

Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- Addressing info messages (📖) is strongly recommended; they're less critical but valuable.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against c00305c

@P-R-O-C-H-Y P-R-O-C-H-Y mentioned this pull request May 16, 2025
17 tasks
@P-R-O-C-H-Y P-R-O-C-H-Y marked this pull request as draft June 27, 2025 12:10
@P-R-O-C-H-Y P-R-O-C-H-Y marked this pull request as ready for review June 27, 2025 12:18
@P-R-O-C-H-Y P-R-O-C-H-Y added Status: Review needed Issue or PR is awaiting review Area: Zigbee Issues and Feature Request about Zigbee labels Jun 27, 2025
@pedrominatel
Copy link
Member

Thank you very much for your contribution, @P-R-O-C-H-Y. It will take some time, but I'll review ASAP.

Copy link
Collaborator

@lucasssvaz lucasssvaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some leftover python and temp files

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces comprehensive API documentation for the new Zigbee library and supporting scripts to clean up and standardize existing RST files.

  • Added scripts to remove example blocks and fix RST underlines
  • Expanded libraries.rst with a new Zigbee section in the table of contents
  • Created detailed API reference files under docs/en/zigbee/ for core and endpoint classes

Reviewed Changes

Copilot reviewed 31 out of 32 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
remove_api_examples.py Script to strip individual API examples from RST files
fix_rst_underlines.py Script to correct RST subtitle underlines
docs/fix_rst_underlines.py Duplicate underline-fixing script in docs/ directory
docs/en/libraries.rst Added Zigbee APIs section to library index
docs/en/zigbee/zigbee.rst Top-level Zigbee overview and toctree
docs/en/zigbee/zigbee_core.rst Core class (ZigbeeCore) API documentation
docs/en/zigbee/zigbee_ep.rst Base endpoint (ZigbeeEP) API documentation
docs/en/zigbee/ep_*.rst Individual endpoint API reference files
Comments suppressed due to low confidence (3)

docs/en/zigbee/zigbee.rst:70

  • The text refers to a Zigbee class, but elsewhere the core class is named ZigbeeCore. For consistency, update this reference to ZigbeeCore or clarify the naming.
The Zigbee class is implemented as a singleton, meaning there's only one instance available globally. You access it directly as ``Zigbee`` without creating an instance.

fix_rst_underlines.py:1

  • [nitpick] There are two fix_rst_underlines.py scripts in separate directories. It would improve maintainability to consolidate them into a single, well-documented script.
#!/usr/bin/env python3

remove_api_examples.py:13

  • [nitpick] The regex for matching example blocks may not cover all code-block variations and could miss multi-sentence sections. Consider using a more robust pattern (e.g., matching until a blank line or next heading) to ensure complete removal.
    pattern = r'\*\*Example:\*\*\s*\n\s*\n\s*\.\. code-block:: arduino\s*\n\s*\n\s*[^.]*?\.\s*\n\s*\n'

@P-R-O-C-H-Y
Copy link
Member Author

I think there are some leftover python and temp files

@lucasssvaz Removed, thanks :)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Area: Zigbee Issues and Feature Request about Zigbee Status: Review needed Issue or PR is awaiting review Type: Documentation Issue pertains to Documentation of Arduino ESP32
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement Zigbee in Arduino
3 participants