{"id":28615504,"url":"https://github.com/siliconlabssoftware/matter_extension","last_synced_at":"2026-03-07T03:03:36.843Z","repository":{"id":264036517,"uuid":"820580744","full_name":"SiliconLabsSoftware/matter_extension","owner":"SiliconLabsSoftware","description":"Silicon Labs Matter Extension repository","archived":false,"fork":false,"pushed_at":"2026-03-02T08:28:57.000Z","size":103218,"stargazers_count":7,"open_issues_count":29,"forks_count":25,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-02T09:55:02.792Z","etag":null,"topics":["matter","silabs","siliconlabs-security-maintained"],"latest_commit_sha":null,"homepage":"https://github.com/SiliconLabsSoftware/matter_extension/blob/main/README.md","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SiliconLabsSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-26T18:57:41.000Z","updated_at":"2026-02-26T18:14:31.000Z","dependencies_parsed_at":"2025-02-27T19:32:05.813Z","dependency_job_id":"a826aefc-3941-4a3e-8c26-2cbfc9e3b765","html_url":"https://github.com/SiliconLabsSoftware/matter_extension","commit_stats":null,"previous_names":["siliconlabssoftware/matter_extension"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/SiliconLabsSoftware/matter_extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabsSoftware%2Fmatter_extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabsSoftware%2Fmatter_extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabsSoftware%2Fmatter_extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabsSoftware%2Fmatter_extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiliconLabsSoftware","download_url":"https://codeload.github.com/SiliconLabsSoftware/matter_extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabsSoftware%2Fmatter_extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30206339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matter","silabs","siliconlabs-security-maintained"],"created_at":"2025-06-12T02:09:07.878Z","updated_at":"2026-03-07T03:03:36.830Z","avatar_url":"https://github.com/SiliconLabsSoftware.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Silicon Labs](./docs/images/silabs-logo.jpg)](https://www.silabs.com)\n\n# Silicon Labs Matter\n\nWelcome to the Silicon Labs Matter Extension repo. Matter is an application layer that provides a standardized interface between protocols and devices. With Matter, it is transparent to the underlying device whether the interaction is from a Thread application or a Wi-Fi application. For more information on Matter in general, see the main [Matter Overview](https://www.silabs.com/wireless/matter) page. Silicon Labs supports Matter on both 802.15.4 (Thread) and 802.11 (Wi-Fi) transport protocols.\n\nSilicon Labs supports Matter on several different hardware platforms including the EFR32, and the new SiWx917, which is a Wi-Fi System-on-Chip (SoC).\n\n**This repo is intended to be used directly for bleeding edge development that closely tracks the CSA Matter codebase. If you are interested in a stable release, we recommend following our official documentation which can be found on [docs.silabs.com](https://docs.silabs.com/matter/2.8.0/matter-start/)**\n\n_To see official release notes containing a list of features and known issues, go to [SiliconLabs/matter_extension/releases](https://github.com/SiliconLabs/matter_extension/releases) and find the corresponding notes for the release you are using._\n\n---\n\n## Setting up the Matter Extension repository\n\n1. Fork the Silicon Labs Matter Extension GitHub repo by clicking \"Fork\" in the web UI at https://github.com/SiliconLabsSoftware/matter_extension.\n\n1. Clone your fork of the Silicon Labs Matter Extension GitHub repo: `https://github.com/\u003cuser-name\u003e/matter_extension`\n\n1. Configure the upstream alias:\n\n   ```\n   git remote add upstream git@github.com:/SiliconLabsSoftware/matter_extension.git\n   ```\n\nYour local repo is now ready for development. Follow the rest of this document for instructions on how to create and build a project.\n\nAdditional setup required for contributing to this repo (not enabled yet): [Contributing](./docs/CONTRIBUTING.md)\n\nSteps for directly cherry-picking CSA Matter repo commits into your environment: [Cherry-picking CSA Commits](docs/CHERRY_PICKING_CSA_COMMITS.md)\n\n## Getting Started with Command Line Development\n\nWe provide a set of scripts to set up an environment and build Matter apps in a command line. Silicon Labs Matter leverages an internal tool called Silicon Labs Configurator Command-line Interface (SLC-CLI). SLC-CLI comes pre-integrated in the Simplicity Studio and is automatically installed by the scripts discussed below; it can be manually installed from here: [SLC-CLI download](https://www.silabs.com/developers/simplicity-studio/configurator-command-line-interface). This repo can also be used in the Silicon Labs proprietary IDE [Simplicity Studio](https://www.silabs.com/developers/simplicity-studio).\n\n### Setting up the Environment\n\nInstall the following Python packages:\n\n```\npip3 install -r requirements.txt\n```\n\n\u003e **Note:** Users may need to create a Python virtual environment before installing the required packages and running the scripts.\n\nThe `sl_setup_env.py` script creates an `.env` file containing all relevant virtual environment paths used by the `sl_create_new_app.py` and `sl_build.py` scripts. This file is for internal use by the scripts and does not need to be edited directly.\n\nFor Mac and Linux:\n```sh\npython3 slc/sl_setup_env.py\n```\n\nFor Windows:\n\n```sh\npython slc\\sl_setup_env.py\n```\nThe sl_setup_env.py script syncs and checks out the submodules for matter_extension. Windows users may need to enable long paths in the system and run the terminal with admin privileges.\n\nUsers may enable long paths for git by running:\n```\ngit config --system core.longpaths true  \n```\n\n### Creating an Application Project\n\nRun the `sl_create_new_app.py` script to create a BRD4187C project with name MyNewApp starting from the `lighting-app.slcp` example or from the `lighting-app-series-2.slcw` [solution](https://docs.silabs.com/matter/2.8.0/matter-overview-guides/matter-solutions) application project file:\n\nSample-App Example: \nFor Mac and Linux:\n\n```sh\npython3 slc/sl_create_new_app.py MyNewApp slc/apps/lighting-app/thread/lighting-app.slcp brd4187c\n```\n\nFor Windows:\n\n```sh\npython slc\\sl_create_new_app.py MyNewApp slc\\apps\\lighting-app\\thread\\lighting-app.slcp brd4187c\n```\n\nSolutions Examples:\n\nFor Mac and Linux:\n\n```sh\npython3 slc/sl_create_new_app.py MyNewApp slc/apps/lighting-app/thread/lighting-app-series-2.slcw brd4187c\n```\n\nFor Windows:\n\n```sh\npython slc\\sl_create_new_app.py MyNewApp slc\\apps\\lighting-app\\thread\\lighting-app-series-2.slcw brd4187c\n```\n\n### Building an Application Project\n\nAfter a project is created, the `sl_build.py` script can be used to re-generate the MyNewApp project and build it:\n\nSample-App Example:\nFor Mac and Linux:\n\n```sh\npython3 slc/sl_build.py MyNewApp/lighting-app.slcp brd4187c\n```\n\nFor Windows:\n\n```sh\npython slc\\sl_build.py MyNewApp\\lighting-app.slcp brd4187c\n```\n\nSolutions Examples:\n\nFor Mac and Linux:\n\n```sh\npython3 slc/sl_build.py MyNewApp/lighting-app-series-2.slcw brd4187c\n```\n\nFor Windows:\n\n```sh\npython slc\\sl_build.py MyNewApp\\lighting-app-series-2.slcw brd4187c\n```\n\nAlternatively, one can use SLC-CLI commands directly to generate the project and then use `make` to build it.\n\nWindows users will need to install `make` on their system. You can use your own or follow these steps to get `make`:\n\n1. Install the MSYS terminal, which provides a Unix-like environment on Windows.\n1. Open the MSYS terminal and install `make` using the command `pacman -S make`.\n1. Run the command where make, copy the path, and add it to the PATH environment variable.\n1. Restart your command line terminal and run `slc/sl_build.py` or run make directly. You might need to reboot.\n\n**Note:** In rare cases, the build may fail due to missing files in the `zap-generated/` directory. The workaround is to delete the `.zap` folder in the home directory.\n\n## Flash an Application to Device\n\nThe generated application binaries can be found at MyNewApp/artifact/lighting-app-thread.s37.\n\nSimplicity Commander is used to flash binaries to the device. It is downloaded by the sl_setup.py script and can be found at slc/tools/SimplicityCommander-Mac/Commander.app/Contents/MacOS/commander.\n\n```sh\nslc/tools/SimplicityCommander-Mac/Commander.app/Contents/MacOS/commander flash MyNewApp/artifact/lighting-app-thread.s37\n```\n\n**Note:** If using SiWx917 SoC, `.rps` file will need be flashed, instead of the `.s37` file.\n\nMore info on Simplicity Commander can be found [here](https://www.silabs.com/documents/public/user-guides/ug162-simplicity-commander-reference-guide.pdf).\n\n## Modifying an Application Project\n\nThe resulting user project can be modified like any other SLC project. Software components can be added or removed by modifying the project's .slcp file, configuration can be applied by modifying the files in the config directory, and the application logic can be managed through the files in the src directory. Various SLC-CLI commands can be used to examine, validate, or re-generate the project after a modification. See [Software Project Generation and Configuration with SLC-CLI](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-slc-cli/) for more information.\n\n### Adding/Removing Components in an Application Project\n\nUsers can add/remove components from a project's .slcp file to enable/disable particular features. To add a component, users need to add the following lines in the .slcp under the **component:** section:\n\n`- {from: matter, id: \u003ccomponent_id\u003e}`\n\n### Adding source/header files in an Application Project\n\nUsers can add source/header files from a project's .slcp file to enabling particular functionalities. To add a source/header files users need to add the relative path of the file in the slcp under `source:`\nand `include:` tags.\n\n```sh\nsource:\n- {path: src/AppTask.cpp}\n- {path: \u003cpath/to/source.cpp\u003e}\n```\n\n```sh\ninclude:\n- path: include\n  file_list:\n  - {path: AppConfig.h}\n- path: \u003cpath/to/include/folder\u003e\n  file_list:\n  - {path: \u003cinclude.h\u003e}\n```\n\n### Adding/Removing Matter Clusters in an Application Project\n\nTo add a new Matter cluster, the cluster must be enabled in the ZAP tool and the respective cluster component must be added to the `.slcp` file. For modifying Matter endpoints and clusters, invoke the ZAP tool passing to it the application's ZAP file:\n\n```C\npython3 slc/sl_run_zaptool.py MyNewApp/config/common/lighting-thread-app.zap\n```\n\nOnce the cluster is enabled in the ZAP tool and the file is saved, the corresponding component must be added to the project's .slcp file. The component IDs for the cluster components can be found in `src/app/zap-templates/cluster-to-component-dependencies.json`. A cluster component mapping is written in the following pattern:\n```sh\n  {\n    \"clusterCode\": \"Cluster Code\",\n    \"value\": [\n      \"%extension-matter%\u003ccomponent_id\u003e\"\n    ]\n  }\n```\nFor example to enable the \"level control-server cluster\" the user should enable the cluster in the .zap file in the ZAP tool and then add the `matter_level_control` component to the project's .slcp file:\n\n`- {from: matter, id: matter_level_control}`\n\nThe relevant entry from `src/app/zap-templates/cluster-to-component-dependencies.json`:\n\n```sh\n  {\n    \"clusterCode\": \"level control-server\",\n    \"value\": [\n      \"%extension-matter%matter_level_control\"\n    ]\n  }\n```\nMore details on how to develop using SLC CLI can be found at [Creating Matter Applications using SLC CLI](https://docs.silabs.com/matter/2.8.0/matter-overview-guides/matter-slc-cli)\n\n\n## Project Upgrades\n\nUsers can upgrade a project to a newer Matter extension version by performing the following steps:\n\nCheckout the target tag/branch to which you need to upgrade the project.\n1. Run the slc/sl_setup_env.py script to check out dependencies of that target tag/branch.\n1. Run the slc/sl_project_upgrade.py script to upgrade the project to the target Matter extension version.\n1. For example, to upgrade a project to Matter extension v2.8.0:\n   \n`python3 slc/sl_project_upgrade.py MyNewApp/lighting-app.slcp 2.8.0`\n\n\n## Getting Started with Simplicity Studio Development \n\nMatter Extension official releases are available to install through Simplicity Studio out of the box. For bleeding-edge Matter codebase, this repo can be manually loaded as a custom Extension to the Simplicity SDK in Simplicity Studio.\n\nTo stage the Extension for loading it in Studio, invoke the following script passing to it the path to some temporary directory (the directory can be safely removed once the Extension is loaded in Studio).\n\n```\npython3 slc/stage_extension.py \u003cany/location/on/disk\u003e\n```\nThe stage_extension.py script requires that submodules are initialized and checked out. The `sl_setup.py` script already checks out submodules, alternatively, users can manually checkout the submodules using the following commands.\n```\ngit submodule sync \ngit submodule update --init\n```\n\nTo load a custom Matter Extension in Studio, navigate to Preferences -\u003e Simplicity Studio -\u003e SDKs -\u003e Add Extension. Navigate to the directory where the extension was staged, and click Open -\u003e OK -\u003e Apply and Close.  \nNote: In general, this repo supports the latest Simplicity SDK version. To confirm if you have the appropriate version, check the [matter.slce](./matter.slce) file.\nNote: Matter requires an up-to-date version of the ZAP tool. To make sure that your Studio installation has the most recent ZAP, follow these steps to trigger the Studio update: In Studio -\u003e Help, click on Update Software. In the Installation Manager screen, click Update All; the Studio will restart after the update is finished. After a ZAP update, the existing Matter projects must be re-generated by clicking \"Force Generation\" in the project window menu.\n\n# License\n\nMatter is released under the [Apache 2.0 license](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiliconlabssoftware%2Fmatter_extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiliconlabssoftware%2Fmatter_extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiliconlabssoftware%2Fmatter_extension/lists"}