-
Notifications
You must be signed in to change notification settings - Fork 7.7k
feat(zigbee): Add Binary Output support #11560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 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 ...
Review and merge process you can expect ...
|
Test Results
76 files 76 suites 13m 11s ⏱️
38 tests 38 ✅ 0 💤 0 ❌
241 runs 241 ✅ 0 💤 0 ❌
Results for commit 7d37b7d.
♻️ This comment has been updated with latest results.
Memory usage test (comparing PR against master branch)The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.
Click to expand the detailed deltas report [usage change in BYTES]
|
There was a problem hiding this 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 pull request adds binary output functionality to the existing Zigbee binary input implementation, enabling bidirectional control of binary devices. The enhancement allows creation of custom switches without requiring binding, complementing the existing binary input sensor capabilities.
Key Changes
- Implementation of binary output cluster support alongside existing binary input functionality
- Addition of callback mechanism for handling binary output state changes
- Updated example demonstrating both input and output capabilities with multiple endpoint configurations
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
libraries/Zigbee/src/ep/ZigbeeBinary.h | Adds binary output constants, method declarations, and private members for output functionality |
libraries/Zigbee/src/ep/ZigbeeBinary.cpp | Implements complete binary output functionality including cluster creation, attribute handling, and state management |
libraries/Zigbee/examples/Zigbee_Binary_Input_Output/Zigbee_Binary_Input_Output.ino | Updates example to demonstrate both input and output capabilities with callback functions |
libraries/Zigbee/examples/Zigbee_Binary_Input_Output/README.md | Updates documentation to reflect new binary input/output capabilities |
docs/en/zigbee/ep_binary.rst | Comprehensive documentation update covering binary output API and usage examples |
Comments suppressed due to low confidence (1)
libraries/Zigbee/src/ep/ZigbeeBinary.cpp:1
- [nitpick] The method name
binaryOutputChanged
is misleading as it suggests the method is called when the output has already changed, but it's actually the method that triggers the callback. Consider renaming totriggerBinaryOutputCallback
ornotifyBinaryOutputChange
to better reflect its purpose.
// Copyright 2025 Espressif Systems (Shanghai) PTE LTD
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Description of Change
This pull request introduces enhancements to the Zigbee library by adding support for binary output functionality alongside the existing binary input features. This enables to create a custom switches without the need of binding.
Tests scenarios
Tested using Binary_Input_Output example with HomeAsisstant ZHA.
Screenshot 2025年07月07日 at 11 14 18
Related links
Please provide links to related issue, PRs etc.
(eg. Closes #number of issue)