-
Notifications
You must be signed in to change notification settings - Fork 7.8k
feat(matter): adds window covering matter endpoint #12114
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 SuGlider, 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 83 files 83 suites 44m 4s ⏱️ For more details on these failures, see this check. Results for commit 52b04af. ♻️ 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 comprehensive Matter support for window covering devices to the Arduino ESP32 library. The implementation includes lift and tilt control capabilities for motorized blinds, shades, and other window coverings, with full integration into Matter-compatible smart home ecosystems.
Key Changes:
- New
MatterWindowCoveringendpoint class with lift and tilt position control (0-100% range) - Support for 10 different window covering types (roller shades, blinds, shutters, drapery, awnings, projector screens)
- Complete example implementation with state persistence, button control, and LED visualization
- Comprehensive API documentation with detailed usage examples
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
libraries/Matter/src/MatterEndpoints/MatterWindowCovering.h |
Header file defining the MatterWindowCovering class with lift/tilt control, operational status management, and callback interfaces |
libraries/Matter/src/MatterEndpoints/MatterWindowCovering.cpp |
Implementation of window covering endpoint with position control, limit management, and Matter attribute handling (857 lines) |
libraries/Matter/examples/MatterWindowCovering/MatterWindowCovering.ino |
Complete example demonstrating window covering control with state persistence, button input, and RGB LED visualization |
libraries/Matter/examples/MatterWindowCovering/README.md |
Comprehensive documentation covering hardware requirements, setup instructions, and smart home integration guides |
libraries/Matter/examples/MatterWindowCovering/ci.yml |
CI configuration specifying build requirements and partition scheme |
docs/en/matter/ep_window_covering.rst |
Detailed API reference documentation with method descriptions and code examples (561 lines) |
docs/en/matter/matter.rst |
Updated to include MatterWindowCovering in the list of available endpoints |
libraries/Matter/src/Matter.h |
Added MatterWindowCovering header include and friend class declaration |
libraries/Matter/keywords.txt |
Added keywords for syntax highlighting in Arduino IDE (window covering types, callbacks, and methods) |
CMakeLists.txt |
Updated build configuration to include MatterWindowCovering.cpp source file |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
libraries/Matter/examples/MatterWindowCovering/MatterWindowCovering.ino
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
This example is the simplest possible in order to demonstrate how to control a Window blind.
|
|
|
…ndowCovering Updated callback descriptions and clarified command triggers for window covering events.
|
Clarify the importance of calling setLiftPercentage() and setTiltPercentage() in callbacks to update CurrentPosition attributes. Expand on callback flow and provide details on target position callbacks.
|
|
@me-no-dev - all set now. Waiting for your final review. |
Description of Change
Add a new Matter endpoint for window covering, including example and documentation.
Test Scenarios
Using Alexa and the ESP32-S3 with the provided example.
CI
Related links
Closes #11943
Closes #10789