Skip to content
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

ESP Matter + Arduino as IDF Component Light example #10290

Merged
merged 48 commits into from
Sep 18, 2024

Conversation

SuGlider
Copy link
Collaborator

@SuGlider SuGlider commented Sep 4, 2024

Description of Change

Adds a new Arduino as IDF component example.
This is a Matter Light example that mixes IDF and Arduino code in order to build an application for a regular Matter Light.

Commissioning can be done using any Matter Provider mobile APP, such as Goggle, Apple, Alexa or ESP Home.
Once it is added to the Matter Fabric, it will can be controlled within the mobile APP.

Tests scenarios

Tested using Alexa APP + Alexa Dot device and ESP32-S3 as target.
It uses WiFi as Matter transport layer.

Related links

Follow #7432

The declaration includes a partition for keys and SSL certificates.
Adds necessary Matter + Arduino source code that will create a Matter compatible Light.
Adds target sdkconfig files and the CMakeLists.txt in orde to build the application using Arduino+Matter as IDF component
@SuGlider SuGlider added this to the 3.0.5 milestone Sep 4, 2024
@SuGlider SuGlider self-assigned this Sep 4, 2024
Copy link
Contributor

github-actions bot commented Sep 4, 2024

Warnings
⚠️

Some issues found for the commit messages in this PR:

  • the commit message "feat(matter): added a 2.4GHz SSID note ":
    • body's lines must not be longer than 100 characters
  • the commit message "feat(matter): adds information about google":
    • body's lines must not be longer than 100 characters
  • the commit message "feat(matter): adds sdkconfig and CMake files":
    • body's lines must not be longer than 100 characters
  • the commit message "feat(matter): arduino component version":
    • body's lines must not be longer than 100 characters
  • the commit message "fix(matter): wrong folder name":
    • summary looks too short

Please fix these commit messages - here are some basic tips:

  • follow Conventional Commits style
  • correct format of commit message should be: <type/action>(<scope/component>): <summary>, for example fix(esp32): Fixed startup timeout issue
  • allowed types are: change,ci,docs,feat,fix,refactor,remove,revert,test
  • sufficiently descriptive message summary should be between 20 to 72 characters and start with upper case letter
  • avoid Jira references in commit messages (unavailable/irrelevant for our customers)

TIP: Install pre-commit hooks and run this check when committing (uses the Conventional Precommit Linter).

⚠️ Please consider squashing your 48 commits (simplifying branch history).
Messages
📖 This PR seems to be quite large (total lines of code: 1364), you might consider splitting it into smaller PRs

👋 Hello SuGlider, we appreciate your contribution to 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.
- Resolve all warnings (⚠️ ) before requesting a review from human reviewers - they will appreciate it.
- 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 fef5da3

@VojtechBartoska VojtechBartoska added Status: In Progress Issue is in progress Area: Libraries Issue is related to Library support. labels Sep 4, 2024
@P-R-O-C-H-Y
Copy link
Member

@SuGlider Is the PR ready to be reviewed? :)

@SuGlider
Copy link
Collaborator Author

SuGlider commented Sep 5, 2024

@SuGlider Is the PR ready to be reviewed? :)

Not yet.

@SuGlider
Copy link
Collaborator Author

@me-no-dev - This shall work fine. Please try it with the Apple Pods and Apple Home APP. Let me know the results.

I have tested it with Alexa Echo 5th Gen.
S3, C3 and C6 work fine with WiFi.
C6 works fine with Thread, but I had to configure the ESP32 Thread Border Router in order to get Alexa to drive Matter+Thread.

Please task a look into the README.md to see further instructions.

Both the ESP32 device and the Smartphone running the Matter APP shall be in the same WiFi Network in order to achieve a successful commissioning process.
Preparing the Arduino Managed Component to use Core version 3.0.5 or higher.
Copy link
Member

@P-R-O-C-H-Y P-R-O-C-H-Y left a comment

Choose a reason for hiding this comment

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

LGTM, tested with ESP32-C3 + Google Home (Nest mini 2nd gen).
As discussed, it would be good to add a note what is needed for Google Home (Developer Console -> new project and what VID/PID to set)

Copy link
Collaborator Author

@SuGlider SuGlider left a comment

Choose a reason for hiding this comment

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

Code Spell Check Error CurrentY --> Currently solved with
attribute_t *current_y_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentY::Id); // codespell:ignore

@me-no-dev me-no-dev merged commit 8d772d5 into espressif:master Sep 18, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Libraries Issue is related to Library support. Status: Pending Merge Pull Request is ready to be merged
Projects
Development

Successfully merging this pull request may close these issues.

4 participants