diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d0e9a88..2b27365 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -18,7 +18,7 @@ As a contributor, you'll want to be familiar with the Silicon Labs tooling: Read the Silicon Labs [coding guidelines](https://github.com/SiliconLabsSoftware/agreements-and-guidelines/blob/main/coding_standard.md). ## Git Setup -We need to know who you are, and how to contact you. Please ass the following information to your Git installation: +We need to know who you are, and how to contact you. Please add the following information to your Git installation: ``` git config --global user.name "FirstName LastName" git config --global user.email "firstname.lastname@example.com" @@ -92,7 +92,7 @@ Please follow the official GitHub [guide](https://opensource.guide/how-to-contri When you created an issue and based on the discussion you want to contribute with your source-code. Branching is disabled on the public Silicon Labs repositories. You need to fork your own repo first. Please follow the official GitHub [guide](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). -You can create your branch on your own forked repo now. +You can create your branch on your own forked repo now. Pull requests must be merged into the doccurator branches corresponding to the Matter release the change applies to (for example, `doccurator/2.6.2`. ### Branch Naming Convention Branch naming shall follow the following template: *IssueNumber-issue-title-goes-here* @@ -115,7 +115,7 @@ Another line of really good description ``` ## Pull Request Guideline -Okay you finished your work committed all your changes to your branch. Time to create a pull request. +Okay you finished your work committed all your changes to your branch. Time to create a pull request. Pull requests must be merged into the doccurator branches corresponding to the Matter release the change applies to (for example, `doccurator/2.6.2`). Refer to the general pull request [guideline](https://opensource.guide/how-to-contribute/#opening-a-pull-request) from GitHub. What to consider when raising a Pull Request: 1. **Pull Request Naming** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 62c2f6f..6e362a9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,6 @@ ## Description + ## Related Issue diff --git a/.github/workflows/01-CLA-Assistant.yml b/.github/workflows/01-CLA-Assistant.yml index 0bdcd46..c0104fa 100644 --- a/.github/workflows/01-CLA-Assistant.yml +++ b/.github/workflows/01-CLA-Assistant.yml @@ -1,33 +1,32 @@ -name: CLA validation +name: 01-CLA-Assistant +## This workflow is used for public repositories on: - issue_comment: - types: [created] - pull_request_target: - types: [opened, synchronize, reopened] + workflow_dispatch: + #issue_comment: + # types: [created] + #pull_request_target: + # types: [opened,closed,synchronize,reopened] permissions: actions: write - contents: read + contents: read # this can be 'read' if the signatures are in remote repository pull-requests: write statuses: write jobs: CLAAssistant: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Create CLA Assistant Lite bot token uses: actions/create-github-app-token@v2 id: app-token with: - app-id: ${{ secrets.SILABSIN_CLA_BOT_APP_ID }} - private-key: ${{ secrets.SILABSIN_CLA_BOT_APP_PRIVATE_KEY }} + app-id: ${{ secrets.GH_APP_ID }} + private-key: ${{ secrets.GH_APP_PRIVATE_KEY }} owner: SiliconLabsInternal repositories: contributor-license-agreements - - name: Mask generated token - run: echo "::add-mask::${{ steps.app-token.outputs.token }}" - - name: "CLA Assistant" if: ${{ contains(github.event.comment.body, 'I have read the CLA Document and I hereby sign the CLA') }} || github.event_name == 'pull_request_target' uses: SiliconLabsSoftware/action-cla-assistant@silabs_flavour_v2 @@ -43,4 +42,4 @@ jobs: remote-organization-name: "SiliconLabsInternal" remote-repository-name: "contributor-license-agreements" create-file-commit-message: "Created the CLA database file. CLA Assistant Lite bot created this file." - signed-commit-message: "$contributorName has signed the CLA in $owner/$repo#$pullRequestNo" \ No newline at end of file + signed-commit-message: "$contributorName has signed the CLA in $owner/$repo#$pullRequestNo" diff --git a/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md b/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md index f54c30b..abda066 100644 --- a/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md +++ b/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md @@ -40,7 +40,7 @@ Matter hub/chip-tool are ready and working. Keep the PuTTY session open for the 4. Open the Example Projects and Demos tab, select the **Matter** filter and enter "_Wi-Fi_" in **Filter on keywords**. - 5. Select the _Matter - SoC Lighting over Wi-Fi_ example for RS9116, click **Create**, rename the project if you wish, and click **Finish**. + 5. Select the _Matter - SoC Lighting over Wi-Fi_ example for SiWx917, click **Create**, rename the project if you wish, and click **Finish**. 6. Once the project is created, the perspective changes to the Simplicity IDE perspective. In the Project Explorer view, right-click the project and select _Build Project_. diff --git a/sld246-matter-faq/wifi-faq.md b/sld246-matter-faq/wifi-faq.md index a4409cd..1f5b02e 100644 --- a/sld246-matter-faq/wifi-faq.md +++ b/sld246-matter-faq/wifi-faq.md @@ -82,6 +82,8 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. ### 3. WLAN connection fails from RS9116 during commissioning when channel 13 is selected on the AP +**Note:** RS9116 is deprecated and no longer supported on Matter. + The required channel becomes available for connection when the WLAN connection region is configured during compilation to one that supports the channel, such as for Japan for channel 13. In order to use the desired channel, before building, make sure the WLAN connection region is configured correctly by reviewing/modifying the following lines in **/examples/platform/silabs/efr32/rs911x/rsi_wlan_config.h**: @@ -168,6 +170,8 @@ Disable QR Code and enable CHIP Logging: ### 11. MG24 device sometimes loses its connection to Ozone during OTA Update with RS9116 +**Note:** RS9116 is deprecated and no longer supported on Matter. + While performing an OTA Update with the EFR32MG24 + RS9116 device combination, when the device is reset and bootloading begins with the new image, the Ozone Debugger sometimes loses its connection. There are two possible workarounds to this: diff --git a/sld247-matter-overview/index.md b/sld247-matter-overview/index.md index 945ed2d..a7e9ce5 100644 --- a/sld247-matter-overview/index.md +++ b/sld247-matter-overview/index.md @@ -39,6 +39,7 @@ The following boards are supported for the Matter over Wi-Fi demos and developme - MG24 with WSTK: [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - **Wi-Fi NCP Dev Kits & boards** - **RS9116** + (**Note:** RS9116 is deprecated and no longer supported on Matter.) - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz diff --git a/sld248-matter-overview-guides/serial-port-communications.md b/sld248-matter-overview-guides/serial-port-communications.md index c17b2c3..03e6052 100644 --- a/sld248-matter-overview-guides/serial-port-communications.md +++ b/sld248-matter-overview-guides/serial-port-communications.md @@ -120,3 +120,5 @@ To run matter shell on the Silicon Labs Platform, refer to the [Software Require ./chip-tool doorlock read-event door-lock-alarm "node_id" "endpoint" **Note**: Type **help** in matterCli terminal for more information about supported features. + + **Note**: For 917SoC ICD-enabled devices, only five UULP pins are supported. As a result, the Matter shell is not functional with sleepy applications because they are not mapped to UULP pins. To enable the Matter shell for sleepy 917SoC devices, the P37 pin must be pulled up. Additionally, boards BRD2708A, BRD2911A, and BRD4343A have only three UULP GPIO pins, which prevents the shell from functioning. To enable the shell on these boards, users must repurpose existing UULP GPIO pins. \ No newline at end of file diff --git a/sld249-matter-prerequisites/matter-artifacts.md b/sld249-matter-prerequisites/matter-artifacts.md index 5e2ca17..628b4f5 100644 --- a/sld249-matter-prerequisites/matter-artifacts.md +++ b/sld249-matter-prerequisites/matter-artifacts.md @@ -4,7 +4,7 @@ This page provides links to pre-built software image "artifacts" that can be use Images for the items listed below are available under the "Assets" section at the bottom of this page: -https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1 +https://github.com/SiliconLabs/matter_extension/releases/tag/v2.7.0 ## Matter Hub Raspberry Pi Image @@ -16,25 +16,27 @@ https://www.silabs.com/documents/public/software/SilabsMatterPi_2.6.0-1.4-extens The Radio Co-Processor firmware is used to turn an EFR into an RCP that can be used with a Raspberry Pi to allow the Raspberry Pi's Open Thread Border Router to access the Thread network. Radio Co-Processor (RCP) images are available in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/ot-rcp-binaries-2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/ot-rcp-binaries-2.7.0-1.4.zip ## Matter Accessory Device Images The Matter Accessory Device Images are used to turn an EFR into a Matter device. These are pre-built binary images for the Matter Demo. Matter Accessory Device Images are located in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/matter-accessory-device-images_2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/matter-accessory-device-images_2.7.0-1.4.zip ## Matter Bootloader Binaries All Silicon Labs board supporting Matter require that a bootloader binary is flashed to the device along with the application image. Bootloader binaries for all of the Matter supported devices are available here: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/bootloader_binaries_matter_extension_v2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/bootloader_binaries_matter_extension_v2.7.0-1.4.zip ## RS9116 Firmware +**Note**: RS9116 is deprecated and no longer supported on Matter. + The RS9116 firmware (`rs9116_firmware_files_with_rev.zip`) is used to update the RS9116 which can be found in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/rs9116_firmware_files_with_rev_2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/rs9116_firmware_files_with_rev_2.7.0-1.4.zip **Note**: RS9116 chip/module needs to be flashed with proper firmware as mentioned below: @@ -46,7 +48,7 @@ RS9116 chip/module needs to be flashed with proper firmware as mentioned below: The SiWx917 firmware(SiWx917_firmware_files.zip) is used to update the SiWN917 NCP and SiWG917 SOC which can be found in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/SiWx917_firmware_files_2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/SiWx917_firmware_files_2.7.0-1.4.zip **Note**: @@ -64,12 +66,12 @@ https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/SiWx917 The SiWx917 RCP folder (siwx917_rcp_files.zip) contains the Matter Linux all-cluster-app, which can be run on a Raspberry Pi, and the wfx-sdio-overlay.dts file, a Device Tree Source file used to configure the SDIO interface on the Raspberry Pi to detect and communicate with the SiWx917 RCP. -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/siwx917_rcp_files.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/siwx917_rcp_files.zip ## SiWx917 SoC Configuration Files For JLink RTT Logging To check device logs on JLink RTT for the Matter Application on the SiWx917 SoC, the **JLink RTT** must be configured for the SiWx917 SoC device by following the instructions on the [JLink RTT SOC Support](/matter/{build-docspace-version}/matter-wifi-enabling-features/jlink-soc-setup) for SiWx917 SoC. -The [JLinkDevices.xml](https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/JLinkDevices.xml.zip) and [RS9117_SF_4MB_42bsp.elf](https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/RS9117_SF_4MB_42bsp.elf.zip) files referenced in the instructions may be found in the Assets section of this page. +The [JLinkDevices.xml](https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/JLinkDevices.xml.zip) and [RS9117_SF_4MB_42bsp.elf](https://github.com/SiliconLabs/matter_extension/releases/download/v2.7.0/RS9117_SF_4MB_42bsp.elf.zip) files referenced in the instructions may be found in the Assets section of this page. >**Note**: For EFR32MG2x devices, JLink RTT Logging support is already enabled. diff --git a/sld249-matter-prerequisites/software-requirements.md b/sld249-matter-prerequisites/software-requirements.md index eff9ed4..d8c597e 100644 --- a/sld249-matter-prerequisites/software-requirements.md +++ b/sld249-matter-prerequisites/software-requirements.md @@ -36,10 +36,14 @@ Below are the software tools both optional and required for developing Matter ov 2. [WiSeConnect SDK v2.x for RS9116 NCP](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. + **Note:** RS9116 is deprecated and no longer supported on Matter. + 3. [WiSeConnect SDK v3.x for SiWx917 NCP](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. 4. [Firmware for RS9116 NCP](./matter-artifacts.md#rs9116-firmware) + **Note:** RS9116 is deprecated and no longer supported on Matter. + 5. [Firmware for SiWx917 NCP](./matter-artifacts.md#siwx917-firmware-for-siwn917-ncp-and-siwg917-soc) ## Software Packages Required for Wi-Fi SiWx917 SoC Devices diff --git a/sld250-matter-references/versioning-release-maintenance.md b/sld250-matter-references/versioning-release-maintenance.md index cf7aaf2..cc41f70 100644 --- a/sld250-matter-references/versioning-release-maintenance.md +++ b/sld250-matter-references/versioning-release-maintenance.md @@ -62,7 +62,8 @@ Update digits based on the following criteria: | v2.1.0-1.1 | 27-July-23 | v4.3.1 | v3.0.10 | 1.1 | Obsolete | | v2.1.1-1.1 | 9-Oct-23 | v4.3.2, v4.3.3 | v3.1.0 | 1.1 | Monitored | | v2.2.0-1.2 | 13-Dec-23 | v4.4.0, v4.4.1 | v3.1.1 | 1.2 | Obsolete | -| v2.2.1-1.2 | 10-Apr-24 | v4.4.1, v4.4.2 | v3.1.4 | 1.2 | Maintained | +| v2.2.1-1.2 | 10-Apr-24 | v4.4.1, v4.4.2 | v3.1.4 | 1.2 | Obsolete | +| v2.2.2-1.2 | 7-May-24 | v4.4.3 | v3.2.0 | 1.2 | Maintained | | v2.3.0-1.3 | 18-June-24 | 2024.6.0 | v3.3.0 | 1.3 | Obsolete | | v2.3.1-1.3 | 14-August-24 | 2024.6.1 | v3.3.1 | 1.3 | Obsolete | | v2.3.2-1.3 | 10-Oct-24 | 2024.6.2 | v3.3.2 | 1.3 | Maintained | @@ -70,5 +71,6 @@ Update digits based on the following criteria: | v2.5.0-1.4 | 18-Dec-24 | 2024.12.0 | v3.4.0 | 1.4 | Obsolete | | v2.5.1-1.4 | 12-Feb-25 | 2024.12.1 | v3.4.1 | 1.4 | Obsolete | | v2.5.2-1.4 | 10-Apr-25 | 2024.12.2 | v3.4.2 | 1.4 | Maintained | -| v2.6.0-1.4 | 18-Jun-25 | 2025.6.0 | v3.5.0 | 1.4 | Maintained | -| v2.6.1-1.4 | 23-Jul-25 | 2025.6.1 | v3.5.1 | 1.4 | Active | +| v2.6.0-1.4 | 18-Jun-25 | 2025.6.0 | v3.5.0 | 1.4 | Obsolete | +| v2.6.1-1.4 | 23-Jul-25 | 2025.6.1 | v3.5.1 | 1.4 | Maintained | +| v2.7.0-1.4 | 25-Sep-25 | 2025.6.2 | v3.5.1 | 1.4 | Active | diff --git a/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md b/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md index 2bb2035..81cfe5b 100644 --- a/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md +++ b/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md @@ -18,6 +18,9 @@ The following hardware devices are required for executing Matter over Wi-Fi: - RS9116 development kit - WF200 expansion board - SiWx917 NCP expansion board + + **Note:** RS9116 is deprecated and no longer supported on Matter. + - **MG24 boards** - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm @@ -27,11 +30,13 @@ The following hardware devices are required for executing Matter over Wi-Fi: - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - MG24 with WSTK : [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - >**Note:** A custom board binary can also be generated. The configuration file `sl_spidrv_eusart_exp_config` for RS9116 and `sl_spidrv_exp_config` for 917NCP and WF200 should have the SPI pin and port defines enabled. The configuration file `sl_custom_board.h` contains the SPI pins, which should be updated according to the custom board's pin configuration. + >**Note:** A custom board binary can also be generated. The configuration file `sl_spidrv_eusart_exp_config` for RS9116 and `sl_spidrv_exp_config` for 917NCP and WF200 should have the SPI pin and port defines enabled. The configuration file `sl_custom_board.h` contains the SPI pins, which should be updated according to the custom board's pin configuration. RS9116 is deprecated and no longer supported on Matter. - **Wi-Fi Dev Kits & boards** - **RS9116** + + **Note:** RS9116 is deprecated and no longer supported on Matter. - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz diff --git a/sld290-matter-wifi-getting-started-example/index.md b/sld290-matter-wifi-getting-started-example/index.md index 04be159..1d36cf2 100644 --- a/sld290-matter-wifi-getting-started-example/index.md +++ b/sld290-matter-wifi-getting-started-example/index.md @@ -8,7 +8,7 @@ To get started with Matter over Wi-Fi, download the latest version of Simplicity ## Setting up the Matter over Wi-Fi Development Environment -Refer to the [Release Notes](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1) to know more about the latest releases from Silicon Labs. +Refer to the [Release Notes](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.7.0) to know more about the latest releases from Silicon Labs. To control the Matter Accessory Device, a controller is required which is termed as **chip-tool**. The chip-tool can be set up in two ways: diff --git a/sld291-matter-wifi-run-demo/flashing-using-commander.md b/sld291-matter-wifi-run-demo/flashing-using-commander.md index 04f5dcd..987d367 100644 --- a/sld291-matter-wifi-run-demo/flashing-using-commander.md +++ b/sld291-matter-wifi-run-demo/flashing-using-commander.md @@ -7,10 +7,13 @@ Before flashing the application for EFR32 Boards, flash **bootloader images** as - **BRD4186C Board** - For MG24 + RS9116: Internal Bootloader (bootloader-storage-internal-single-512k-BRD4186C-gsdk4.1) - For MG24 + WF200: External Bootloader (bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1) + - **BRD4187C Board** - For MG24 + RS9116: Internal Bootloader (bootloader-storage-internal-single-512k-BRD4187C-gsdk4.1) - For MG24 + WF200: External Bootloader (bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1) +**Note**: RS9116 is deprecated and no longer supported on Matter. + Bootloader binaries are available in the respective path of codebase **third_party/silabs/matter_support/matter/efr32/bootloader_binaries** folder. Silicon Labs recommends always flashing the latest bootloader binaries from the codebase. **Note**: Bootloader binaries are flashed using Simplicity Commander only. It supports EFR32 Boards only. diff --git a/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md b/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md index c39a0f4..4dcc4d4 100644 --- a/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md +++ b/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md @@ -14,6 +14,8 @@ The SiWx917 NCP or RS9116 EVK connectivity firmware can be upgraded using Tera T #### Firmware Upgrade On RS9116 +**Note**: RS9116 is deprecated and no longer supported on Matter. + 1. Connect the EVK to PC using the USB interface labeled **UART** as identified below. ![Switch Position before firmware flash](./images/rs916-board.png) diff --git a/sld292-matter-wifi-enabling-features/dic-wifi.md b/sld292-matter-wifi-enabling-features/matter-aws.md similarity index 100% rename from sld292-matter-wifi-enabling-features/dic-wifi.md rename to sld292-matter-wifi-enabling-features/matter-aws.md diff --git a/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md b/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md index 02ca4c9..0369f2b 100644 --- a/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md +++ b/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md @@ -63,10 +63,13 @@ To enable ICD functionality for Wi-Fi, the `ICD Management` cluster/component ne - For SiWx917 SOC, click on **Replace Subscription Timeout Resumption**. Sleepy support is enabled; build the project. Sleep support on M4 and TA can be enabled by installing `matter_icd_core` component. - For rs9116 and WF200: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. + - For 917NCP: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. ### EFR32 + RS9116 Setup for ICDs (Sleepy Devices) +**Note**: RS9116 is deprecated and no longer supported on Matter. + - The following GPIO pins should be connected for 9116 and Host handshakes. pin 7 and pin 9 to UULP_2 and UULP_0 respectively. diff --git a/sld295-matter-api-reference/attributes.md b/sld295-matter-api-reference/attributes.md index eea82b9..4e6654d 100644 --- a/sld295-matter-api-reference/attributes.md +++ b/sld295-matter-api-reference/attributes.md @@ -4,7 +4,7 @@ Attributes represent the current state of a device. For instance if the device i ## Attribute Changes -When a ZCL attribute is updated in the data model, the framework will call the `postAttributeChangeCallback`. If this callback is implemented by the device it will be informed of the attribute change. The device may react to the attribute change. For example, in the [MatterPostAttributeChangeCallback](https://github.com/SiliconLabs/matter_extension/blob/main/examples/onoff-plug-app/src/ZclCallbacks.cpp#L38), say we want to add some custom handler code to control an RGB LED when on/off attribute in the `On-Off` Cluster changes: +When a ZCL attribute is updated in the data model, the framework will call the `postAttributeChangeCallback`. If this callback is implemented by the device it will be informed of the attribute change. The device may react to the attribute change. For example, in `MatterPostAttributeChangeCallback` in `DataModelCallbacks.cpp` in [onoff-plug-app/src](https://github.com/SiliconLabs/matter_extension/tree/main/examples/onoff-plug-app/src), say we want to add some custom handler code to control an RGB LED when on/off attribute in the `On-Off` Cluster changes: ```cpp void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, diff --git a/sld295-matter-api-reference/cluster.md b/sld295-matter-api-reference/cluster.md index 202f8ef..b7747aa 100644 --- a/sld295-matter-api-reference/cluster.md +++ b/sld295-matter-api-reference/cluster.md @@ -13,4 +13,4 @@ For more details see: [Matter Data Model](../sld288-matter-fundamentals-data-mod The header file below contains namespaces and IDs of Clusters. In Simplicity Studio, this will be generated in the autogen/zap-generated/ folder of the matter project. -- [Cluster](https://github.com/SiliconLabs/matter_extension/blob/main/third_party/matter_sdk/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h) +- [Cluster](https://github.com/project-chip/connectedhomeip/blob/master/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h) \ No newline at end of file diff --git a/sld297-matter-aws-feature/aws-configuration-registration.md b/sld297-matter-aws-feature/aws-configuration-registration.md new file mode 100644 index 0000000..b903458 --- /dev/null +++ b/sld297-matter-aws-feature/aws-configuration-registration.md @@ -0,0 +1,43 @@ +# Amazon Web Services (AWS) + +Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Refer to [AWS Documentation](https://aws.amazon.com/what-is-aws/) for more details. + +## AWS CA Certificate Registration + +1. Open [AWS](https://aws.amazon.com/). +2. Log in using your AWS credentials. + +3. Go to **Security > Policies** and select **Create Policy**. Enter the policy name (e.g., `MATTER_AWS_POLICY_`). In the policy statements, select **JSON** and replace the contents with the JSON provided below: + + ```shell + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "*", + "Resource": "*" + } + ] + } + ``` + +4. Once done, select **Create**. + +5. Create a client CSR certificate and a client key by following the steps in the [OpenSSL Certificate Creation](./openssl-certificate-creation.md) documentation. + +6. Complete the following steps to create a thing and generate certificates for your Matter application to use in the `MatterAwsNvmCert.cpp` source file: + + - Go to **All Devices > Things** and select **Create Things**. + - Select **Create Single Thing** and click **Next**. + - Under **Info > Give the thing a name**, specify the thing name (this will be the client ID), then click **Next**. + - (Optional) Configure the device certificate under **Info > Upload CSR**. + - In **Certificate > Choose file** (Choose Client CSR generated in Openssl Certificate Creation ex: `device.csr`). Click **Next**. + - Use the policy (e.g., `MATTER_AWS_POLICY_`) created in AWS Certificate creation. + - Once the thing is successfully created, activate and download the certificate. + +8. Copy the contents of [AWS_CA CERT](https://www.amazontrust.com/repository/AmazonRootCA3.pem) and add it as CA certificate in `MatterAwsNvmCert.cpp`. + +9. Repeat Step 5 to create a new thing for use in MQTT Explorer, using the certificate generated for MQTT Explorer during OpenSLL certificate creation (e.g., `explorer.csr`). Create a `.pem` file from the CA certificate in step 8 and use it as the server certificate in MQTT Explorer. + + **Note**: The thing name must be unique as it will be used as the client ID. diff --git a/sld297-matter-aws-feature/build-matter-aws.md b/sld297-matter-aws-feature/build-matter-aws.md new file mode 100644 index 0000000..48425fd --- /dev/null +++ b/sld297-matter-aws-feature/build-matter-aws.md @@ -0,0 +1,72 @@ +# Build Procedure For Matter + AWS + +The following components are common for all apps and should be modified in the corresponding application-specific `.slcp` file. + +## How to Add the Matter + AWS Component + +To add the Matter + AWS component, modify the corresponding application-specific `.slcp` file. + +```shell + - id: matter_aws + from: matter +``` +To enable the component in Simplicity Studio, add the following components. + +- Go to **Software** components, search for `Matter_Wifi`. Click on **Settings** symbol beside Matter Wi-fi component in the left panel and enable IPV4 configuration. + ![IPV4 Component](images/matter_aws_ipv4_enable_1.png) + ![IPV4 Settings Enable](images/matter_aws_ipv4_enable_2.png) + +- In **Software Components**, search for `aws` and install the Matter AWS component. + +- Next, select the dependencies for the Matter AWS component. + ![Default Entropy Source for Matter + AWS](images/matter_aws_dependency_1.png) + ![Public-Key Abstaction Layer for Matter + AWS](images/matter_aws_dependency_2.png) + +## How to Add the Matter + AWS Server, Client, Cluster Details. + +- Update the definitions for the server ID, client ID and cluster in `MatterAwsConfig.h`: +    - Update the AWS server name at `#define MATTER_AWS_SERVER_HOST ""`. +    - Update the client ID at `#define MATTER_AWS_CLIENT_ID ""`. +    - Update the cluster information at `#define ZCL_USING_THERMOSTAT_CLUSTER_SERVER`. + + +## Building Matter + AWS Application + +- After you finish modifying the **.slcp** project file as described above, refresh the `matter-extension` in Simplicity Studio. + +- On the **Launcher** tab, select **Preferences**. + + ![Select Preferences](images/select-preferences.png) + +- Expand the **Simplicity Studio** section, and click the **SDKs** tab. + + ![Select SDK](images/select-studio-sdk-option.png) + +- Expand **Simplicity SDK**, and click **Refresh** in the side menu. + + ![Select Refresh](images/select-refresh-option.png) + +- Build the Matter + AWS application using Simplicity Studio as described in + - [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio). + +## Compile using new/different certificates + +- Two devices should not use the same client ID. Use a different client ID for + your second connection. +- While using AWS, update the following information: + - Add your AWS certificates in file + `examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsNvmCert.h` + - Provide the AWS Root CA key + (https://www.amazontrust.com/repository/AmazonRootCA3.pem) + - Provide `device_certificate` and `device_key` with your device certificate and + device key. For more details, refer to + [OpenSSL Device Certificate Creation] (./openssl-certificate-creation.md) + - Add your AWS server and client ID information to the + `examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsConfig.h` file. + - Provide `MATTER_AWS_SERVER_HOST` with your AWS Server name. + - Provide `MATTER_AWS_CLIENT_ID` with your device/thing ID. + - Provide `ZCL_USING_THERMOSTAT_CLUSTER_SERVER` with the cluster details. +- The preferred certificate type to use in the application is ECDSA. +- AWS RootCA used in this PoC is + https://www.amazontrust.com/repository/AmazonRootCA3.pem + diff --git a/sld297-matter-wifi-dic/images/Add-sdk-path.png b/sld297-matter-aws-feature/images/Add-sdk-path.png similarity index 100% rename from sld297-matter-wifi-dic/images/Add-sdk-path.png rename to sld297-matter-aws-feature/images/Add-sdk-path.png diff --git a/sld297-matter-wifi-dic/images/Add-sdk.png b/sld297-matter-aws-feature/images/Add-sdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/Add-sdk.png rename to sld297-matter-aws-feature/images/Add-sdk.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-SoC-Kermit.png b/sld297-matter-aws-feature/images/SiWx917-SoC-Kermit.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-SoC-Kermit.png rename to sld297-matter-aws-feature/images/SiWx917-SoC-Kermit.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-Preferences.png b/sld297-matter-aws-feature/images/SiWx917-soc-Preferences.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-Preferences.png rename to sld297-matter-aws-feature/images/SiWx917-soc-Preferences.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-board-selection.png b/sld297-matter-aws-feature/images/SiWx917-soc-board-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-board-selection.png rename to sld297-matter-aws-feature/images/SiWx917-soc-board-selection.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-build-wifi-project.png b/sld297-matter-aws-feature/images/SiWx917-soc-build-wifi-project.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-build-wifi-project.png rename to sld297-matter-aws-feature/images/SiWx917-soc-build-wifi-project.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-create-wifi-projects.png b/sld297-matter-aws-feature/images/SiWx917-soc-create-wifi-projects.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-create-wifi-projects.png rename to sld297-matter-aws-feature/images/SiWx917-soc-create-wifi-projects.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-debug-adapter.png b/sld297-matter-aws-feature/images/SiWx917-soc-debug-adapter.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-debug-adapter.png rename to sld297-matter-aws-feature/images/SiWx917-soc-debug-adapter.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-debug.png b/sld297-matter-aws-feature/images/SiWx917-soc-debug.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-debug.png rename to sld297-matter-aws-feature/images/SiWx917-soc-debug.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-flash-program.png b/sld297-matter-aws-feature/images/SiWx917-soc-flash-program.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-flash-program.png rename to sld297-matter-aws-feature/images/SiWx917-soc-flash-program.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-flash-todevice.png b/sld297-matter-aws-feature/images/SiWx917-soc-flash-todevice.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-flash-todevice.png rename to sld297-matter-aws-feature/images/SiWx917-soc-flash-todevice.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-install-manager.png b/sld297-matter-aws-feature/images/SiWx917-soc-install-manager.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-install-manager.png rename to sld297-matter-aws-feature/images/SiWx917-soc-install-manager.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-isp-binary-selection.png b/sld297-matter-aws-feature/images/SiWx917-soc-isp-binary-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-isp-binary-selection.png rename to sld297-matter-aws-feature/images/SiWx917-soc-isp-binary-selection.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-project-wizard.png b/sld297-matter-aws-feature/images/SiWx917-soc-project-wizard.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-project-wizard.png rename to sld297-matter-aws-feature/images/SiWx917-soc-project-wizard.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-slpb.png b/sld297-matter-aws-feature/images/SiWx917-soc-slpb.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-slpb.png rename to sld297-matter-aws-feature/images/SiWx917-soc-slpb.png diff --git a/sld297-matter-wifi-dic/images/all-products-selection.png b/sld297-matter-aws-feature/images/all-products-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/all-products-selection.png rename to sld297-matter-aws-feature/images/all-products-selection.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-add-device.png b/sld297-matter-aws-feature/images/amazon-alexa-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-add-device.png rename to sld297-matter-aws-feature/images/amazon-alexa-add-device.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-app-added.png b/sld297-matter-aws-feature/images/amazon-alexa-app-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-app-added.png rename to sld297-matter-aws-feature/images/amazon-alexa-app-added.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-app.png b/sld297-matter-aws-feature/images/amazon-alexa-app.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-app.png rename to sld297-matter-aws-feature/images/amazon-alexa-app.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-application-added-to-group.png b/sld297-matter-aws-feature/images/amazon-alexa-application-added-to-group.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-application-added-to-group.png rename to sld297-matter-aws-feature/images/amazon-alexa-application-added-to-group.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-device-selection.png b/sld297-matter-aws-feature/images/amazon-alexa-device-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-device-selection.png rename to sld297-matter-aws-feature/images/amazon-alexa-device-selection.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-logos.png b/sld297-matter-aws-feature/images/amazon-alexa-logos.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-logos.png rename to sld297-matter-aws-feature/images/amazon-alexa-logos.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-scan-qr-code.png b/sld297-matter-aws-feature/images/amazon-alexa-scan-qr-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-scan-qr-code.png rename to sld297-matter-aws-feature/images/amazon-alexa-scan-qr-code.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-select-group.png b/sld297-matter-aws-feature/images/amazon-alexa-select-group.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-select-group.png rename to sld297-matter-aws-feature/images/amazon-alexa-select-group.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app-add-accessory.png b/sld297-matter-aws-feature/images/apple-home-app-add-accessory.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app-add-accessory.png rename to sld297-matter-aws-feature/images/apple-home-app-add-accessory.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app-scan-qr-code.png b/sld297-matter-aws-feature/images/apple-home-app-scan-qr-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app-scan-qr-code.png rename to sld297-matter-aws-feature/images/apple-home-app-scan-qr-code.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app.png b/sld297-matter-aws-feature/images/apple-home-app.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app.png rename to sld297-matter-aws-feature/images/apple-home-app.png diff --git a/sld297-matter-wifi-dic/images/click-add-extensions.png b/sld297-matter-aws-feature/images/click-add-extensions.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-add-extensions.png rename to sld297-matter-aws-feature/images/click-add-extensions.png diff --git a/sld297-matter-wifi-dic/images/click-browse.png b/sld297-matter-aws-feature/images/click-browse.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-browse.png rename to sld297-matter-aws-feature/images/click-browse.png diff --git a/sld297-matter-wifi-dic/images/click-manage-sdks-efx-board.png b/sld297-matter-aws-feature/images/click-manage-sdks-efx-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-manage-sdks-efx-board.png rename to sld297-matter-aws-feature/images/click-manage-sdks-efx-board.png diff --git a/sld297-matter-wifi-dic/images/commander-click-flash-button.png b/sld297-matter-aws-feature/images/commander-click-flash-button.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-click-flash-button.png rename to sld297-matter-aws-feature/images/commander-click-flash-button.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success-efr32.png b/sld297-matter-aws-feature/images/commander-flash-success-efr32.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success-efr32.png rename to sld297-matter-aws-feature/images/commander-flash-success-efr32.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success-soc.png b/sld297-matter-aws-feature/images/commander-flash-success-soc.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success-soc.png rename to sld297-matter-aws-feature/images/commander-flash-success-soc.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success.png b/sld297-matter-aws-feature/images/commander-flash-success.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success.png rename to sld297-matter-aws-feature/images/commander-flash-success.png diff --git a/sld297-matter-wifi-dic/images/commander-select-board.png b/sld297-matter-aws-feature/images/commander-select-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-select-board.png rename to sld297-matter-aws-feature/images/commander-select-board.png diff --git a/sld297-matter-wifi-dic/images/control-device-through-cloud.png b/sld297-matter-aws-feature/images/control-device-through-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/control-device-through-cloud.png rename to sld297-matter-aws-feature/images/control-device-through-cloud.png diff --git a/sld297-matter-wifi-dic/images/create-project-click-finish.png b/sld297-matter-aws-feature/images/create-project-click-finish.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-click-finish.png rename to sld297-matter-aws-feature/images/create-project-click-finish.png diff --git a/sld297-matter-wifi-dic/images/create-project-lock-click-finish.png b/sld297-matter-aws-feature/images/create-project-lock-click-finish.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-lock-click-finish.png rename to sld297-matter-aws-feature/images/create-project-lock-click-finish.png diff --git a/sld297-matter-wifi-dic/images/create-project-select-efx-example.png b/sld297-matter-aws-feature/images/create-project-select-efx-example.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-select-efx-example.png rename to sld297-matter-aws-feature/images/create-project-select-efx-example.png diff --git a/sld297-matter-wifi-dic/images/create-project-select-efx-lock-example.png b/sld297-matter-aws-feature/images/create-project-select-efx-lock-example.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-select-efx-lock-example.png rename to sld297-matter-aws-feature/images/create-project-select-efx-lock-example.png diff --git a/sld297-matter-wifi-dic/images/create-project-verify-efx-general-information.png b/sld297-matter-aws-feature/images/create-project-verify-efx-general-information.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-verify-efx-general-information.png rename to sld297-matter-aws-feature/images/create-project-verify-efx-general-information.png diff --git a/sld297-matter-wifi-dic/images/debug-application-debug-options.png b/sld297-matter-aws-feature/images/debug-application-debug-options.png similarity index 100% rename from sld297-matter-wifi-dic/images/debug-application-debug-options.png rename to sld297-matter-aws-feature/images/debug-application-debug-options.png diff --git a/sld297-matter-wifi-dic/images/debug-application-switch-to-debug-mode.png b/sld297-matter-aws-feature/images/debug-application-switch-to-debug-mode.png similarity index 100% rename from sld297-matter-wifi-dic/images/debug-application-switch-to-debug-mode.png rename to sld297-matter-aws-feature/images/debug-application-switch-to-debug-mode.png diff --git a/sld297-matter-wifi-dic/images/device-configuration.png b/sld297-matter-aws-feature/images/device-configuration.png similarity index 100% rename from sld297-matter-wifi-dic/images/device-configuration.png rename to sld297-matter-aws-feature/images/device-configuration.png diff --git a/sld297-matter-wifi-dic/images/dic-aws-ota.png b/sld297-matter-aws-feature/images/dic-aws-ota.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-aws-ota.png rename to sld297-matter-aws-feature/images/dic-aws-ota.png diff --git a/sld297-matter-wifi-dic/images/dic-control-part.png b/sld297-matter-aws-feature/images/dic-control-part.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-control-part.png rename to sld297-matter-aws-feature/images/dic-control-part.png diff --git a/sld297-matter-wifi-dic/images/dic-extension-refresh-1.png b/sld297-matter-aws-feature/images/dic-extension-refresh-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-extension-refresh-1.png rename to sld297-matter-aws-feature/images/dic-extension-refresh-1.png diff --git a/sld297-matter-wifi-dic/images/dic-extension-refresh.png b/sld297-matter-aws-feature/images/dic-extension-refresh.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-extension-refresh.png rename to sld297-matter-aws-feature/images/dic-extension-refresh.png diff --git a/sld297-matter-wifi-dic/images/dic-status-sharing.png b/sld297-matter-aws-feature/images/dic-status-sharing.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-status-sharing.png rename to sld297-matter-aws-feature/images/dic-status-sharing.png diff --git a/sld297-matter-wifi-dic/images/download-aws-ota-through-cloud.png b/sld297-matter-aws-feature/images/download-aws-ota-through-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/download-aws-ota-through-cloud.png rename to sld297-matter-aws-feature/images/download-aws-ota-through-cloud.png diff --git a/sld297-matter-wifi-dic/images/export-path-for-cli-build.png b/sld297-matter-aws-feature/images/export-path-for-cli-build.png similarity index 100% rename from sld297-matter-wifi-dic/images/export-path-for-cli-build.png rename to sld297-matter-aws-feature/images/export-path-for-cli-build.png diff --git a/sld297-matter-wifi-dic/images/flash-binary-to-efx32-device.png b/sld297-matter-aws-feature/images/flash-binary-to-efx32-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/flash-binary-to-efx32-device.png rename to sld297-matter-aws-feature/images/flash-binary-to-efx32-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-account-prompt.png b/sld297-matter-aws-feature/images/google-home-app-account-prompt.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-account-prompt.png rename to sld297-matter-aws-feature/images/google-home-app-account-prompt.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-add-device.png b/sld297-matter-aws-feature/images/google-home-app-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-add-device.png rename to sld297-matter-aws-feature/images/google-home-app-add-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-connected.png b/sld297-matter-aws-feature/images/google-home-app-connected.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-connected.png rename to sld297-matter-aws-feature/images/google-home-app-connected.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-connecting.png b/sld297-matter-aws-feature/images/google-home-app-connecting.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-connecting.png rename to sld297-matter-aws-feature/images/google-home-app-connecting.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-give-app-name.png b/sld297-matter-aws-feature/images/google-home-app-give-app-name.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-give-app-name.png rename to sld297-matter-aws-feature/images/google-home-app-give-app-name.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-light-added.png b/sld297-matter-aws-feature/images/google-home-app-light-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-light-added.png rename to sld297-matter-aws-feature/images/google-home-app-light-added.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-looking-for-device.png b/sld297-matter-aws-feature/images/google-home-app-looking-for-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-looking-for-device.png rename to sld297-matter-aws-feature/images/google-home-app-looking-for-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-matter-enabled-device.png b/sld297-matter-aws-feature/images/google-home-app-matter-enabled-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-matter-enabled-device.png rename to sld297-matter-aws-feature/images/google-home-app-matter-enabled-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-new-device.png b/sld297-matter-aws-feature/images/google-home-app-new-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-new-device.png rename to sld297-matter-aws-feature/images/google-home-app-new-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-select-home.png b/sld297-matter-aws-feature/images/google-home-app-select-home.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-select-home.png rename to sld297-matter-aws-feature/images/google-home-app-select-home.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-select-room.png b/sld297-matter-aws-feature/images/google-home-app-select-room.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-select-room.png rename to sld297-matter-aws-feature/images/google-home-app-select-room.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-1.png b/sld297-matter-aws-feature/images/install-gecko-sdk-step-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-1.png rename to sld297-matter-aws-feature/images/install-gecko-sdk-step-1.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-2.png b/sld297-matter-aws-feature/images/install-gecko-sdk-step-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-2.png rename to sld297-matter-aws-feature/images/install-gecko-sdk-step-2.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-3.png b/sld297-matter-aws-feature/images/install-gecko-sdk-step-3.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-3.png rename to sld297-matter-aws-feature/images/install-gecko-sdk-step-3.png diff --git a/sld297-matter-wifi-dic/images/install-wc3-ext-add-sdk-extensions-window.png b/sld297-matter-aws-feature/images/install-wc3-ext-add-sdk-extensions-window.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wc3-ext-add-sdk-extensions-window.png rename to sld297-matter-aws-feature/images/install-wc3-ext-add-sdk-extensions-window.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png b/sld297-matter-aws-feature/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png rename to sld297-matter-aws-feature/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-1.png b/sld297-matter-aws-feature/images/install-wiseconnect-sdk-step-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-1.png rename to sld297-matter-aws-feature/images/install-wiseconnect-sdk-step-1.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-2.png b/sld297-matter-aws-feature/images/install-wiseconnect-sdk-step-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-2.png rename to sld297-matter-aws-feature/images/install-wiseconnect-sdk-step-2.png diff --git a/sld297-matter-wifi-dic/images/matter-apple-application-info.png b/sld297-matter-aws-feature/images/matter-apple-application-info.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-apple-application-info.png rename to sld297-matter-aws-feature/images/matter-apple-application-info.png diff --git a/sld297-matter-wifi-dic/images/matter-apple-application-setup-code.png b/sld297-matter-aws-feature/images/matter-apple-application-setup-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-apple-application-setup-code.png rename to sld297-matter-aws-feature/images/matter-apple-application-setup-code.png diff --git a/sld297-matter-wifi-dic/images/dic-flow.png b/sld297-matter-aws-feature/images/matter-aws-flow.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-flow.png rename to sld297-matter-aws-feature/images/matter-aws-flow.png diff --git a/sld297-matter-wifi-dic/images/matter-google-add-setup-code.png b/sld297-matter-aws-feature/images/matter-google-add-setup-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-google-add-setup-code.png rename to sld297-matter-aws-feature/images/matter-google-add-setup-code.png diff --git a/sld297-matter-wifi-dic/images/matter-rtt-qr-code-link.png b/sld297-matter-aws-feature/images/matter-rtt-qr-code-link.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-rtt-qr-code-link.png rename to sld297-matter-aws-feature/images/matter-rtt-qr-code-link.png diff --git a/sld297-matter-wifi-dic/images/matter-shell-command-send.png b/sld297-matter-aws-feature/images/matter-shell-command-send.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-shell-command-send.png rename to sld297-matter-aws-feature/images/matter-shell-command-send.png diff --git a/sld297-matter-wifi-dic/images/matter-shell-enable.png b/sld297-matter-aws-feature/images/matter-shell-enable.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-shell-enable.png rename to sld297-matter-aws-feature/images/matter-shell-enable.png diff --git a/sld297-matter-aws-feature/images/matter_aws_component_add.png b/sld297-matter-aws-feature/images/matter_aws_component_add.png new file mode 100644 index 0000000..db855dc Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_component_add.png differ diff --git a/sld297-matter-aws-feature/images/matter_aws_dependency_1.png b/sld297-matter-aws-feature/images/matter_aws_dependency_1.png new file mode 100644 index 0000000..7f1bb55 Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_dependency_1.png differ diff --git a/sld297-matter-aws-feature/images/matter_aws_dependency_2.png b/sld297-matter-aws-feature/images/matter_aws_dependency_2.png new file mode 100644 index 0000000..5d7a0c1 Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_dependency_2.png differ diff --git a/sld297-matter-aws-feature/images/matter_aws_device_csr_certificate_generation.png b/sld297-matter-aws-feature/images/matter_aws_device_csr_certificate_generation.png new file mode 100644 index 0000000..905077c Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_device_csr_certificate_generation.png differ diff --git a/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_1.png b/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_1.png new file mode 100644 index 0000000..537087a Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_1.png differ diff --git a/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_2.png b/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_2.png new file mode 100644 index 0000000..225a7c2 Binary files /dev/null and b/sld297-matter-aws-feature/images/matter_aws_ipv4_enable_2.png differ diff --git a/sld297-matter-wifi-dic/images/memory-footprint-report.png b/sld297-matter-aws-feature/images/memory-footprint-report.png similarity index 100% rename from sld297-matter-wifi-dic/images/memory-footprint-report.png rename to sld297-matter-aws-feature/images/memory-footprint-report.png diff --git a/sld297-matter-wifi-dic/images/memory-usage-report.png b/sld297-matter-aws-feature/images/memory-usage-report.png similarity index 100% rename from sld297-matter-wifi-dic/images/memory-usage-report.png rename to sld297-matter-aws-feature/images/memory-usage-report.png diff --git a/sld297-matter-wifi-dic/images/mg12-wf200.jpg b/sld297-matter-aws-feature/images/mg12-wf200.jpg similarity index 100% rename from sld297-matter-wifi-dic/images/mg12-wf200.jpg rename to sld297-matter-aws-feature/images/mg12-wf200.jpg diff --git a/sld297-matter-wifi-dic/images/mg21-si917-board.jpg b/sld297-matter-aws-feature/images/mg21-si917-board.jpg similarity index 100% rename from sld297-matter-wifi-dic/images/mg21-si917-board.jpg rename to sld297-matter-aws-feature/images/mg21-si917-board.jpg diff --git a/sld297-matter-wifi-dic/images/mount-efr32.png b/sld297-matter-aws-feature/images/mount-efr32.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-efr32.png rename to sld297-matter-aws-feature/images/mount-efr32.png diff --git a/sld297-matter-wifi-dic/images/mount-expansion.png b/sld297-matter-aws-feature/images/mount-expansion.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-expansion.png rename to sld297-matter-aws-feature/images/mount-expansion.png diff --git a/sld297-matter-wifi-dic/images/mount-soc.png b/sld297-matter-aws-feature/images/mount-soc.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-soc.png rename to sld297-matter-aws-feature/images/mount-soc.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-1.png b/sld297-matter-aws-feature/images/mqtt-explorer-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-1.png rename to sld297-matter-aws-feature/images/mqtt-explorer-1.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-2.png b/sld297-matter-aws-feature/images/mqtt-explorer-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-2.png rename to sld297-matter-aws-feature/images/mqtt-explorer-2.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-3.png b/sld297-matter-aws-feature/images/mqtt-explorer-3.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-3.png rename to sld297-matter-aws-feature/images/mqtt-explorer-3.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-4.png b/sld297-matter-aws-feature/images/mqtt-explorer-4.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-4.png rename to sld297-matter-aws-feature/images/mqtt-explorer-4.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-5.png b/sld297-matter-aws-feature/images/mqtt-explorer-5.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-5.png rename to sld297-matter-aws-feature/images/mqtt-explorer-5.png diff --git a/sld297-matter-wifi-dic/images/openssl-csr-common-name-ref.png b/sld297-matter-aws-feature/images/openssl-csr-common-name-ref.png similarity index 100% rename from sld297-matter-wifi-dic/images/openssl-csr-common-name-ref.png rename to sld297-matter-aws-feature/images/openssl-csr-common-name-ref.png diff --git a/sld297-matter-wifi-dic/images/optimize-lcd-sleepy.png b/sld297-matter-aws-feature/images/optimize-lcd-sleepy.png similarity index 100% rename from sld297-matter-wifi-dic/images/optimize-lcd-sleepy.png rename to sld297-matter-aws-feature/images/optimize-lcd-sleepy.png diff --git a/sld297-matter-wifi-dic/images/overview-tab-efx32.png b/sld297-matter-aws-feature/images/overview-tab-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/overview-tab-efx32.png rename to sld297-matter-aws-feature/images/overview-tab-efx32.png diff --git a/sld297-matter-wifi-dic/images/project-created-efx32.png b/sld297-matter-aws-feature/images/project-created-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/project-created-efx32.png rename to sld297-matter-aws-feature/images/project-created-efx32.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-add-device.png b/sld297-matter-aws-feature/images/samsung-app-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-add-device.png rename to sld297-matter-aws-feature/images/samsung-app-add-device.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-commissioning.png b/sld297-matter-aws-feature/images/samsung-app-commissioning.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-commissioning.png rename to sld297-matter-aws-feature/images/samsung-app-commissioning.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-select-partner.png b/sld297-matter-aws-feature/images/samsung-app-select-partner.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-select-partner.png rename to sld297-matter-aws-feature/images/samsung-app-select-partner.png diff --git a/sld297-matter-wifi-dic/images/samsung-light-added.png b/sld297-matter-aws-feature/images/samsung-light-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-light-added.png rename to sld297-matter-aws-feature/images/samsung-light-added.png diff --git a/sld297-matter-wifi-dic/images/samsung-register-device.png b/sld297-matter-aws-feature/images/samsung-register-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-register-device.png rename to sld297-matter-aws-feature/images/samsung-register-device.png diff --git a/sld297-matter-wifi-dic/images/sd-into-pi.png b/sld297-matter-aws-feature/images/sd-into-pi.png similarity index 100% rename from sld297-matter-wifi-dic/images/sd-into-pi.png rename to sld297-matter-aws-feature/images/sd-into-pi.png diff --git a/sld297-matter-wifi-dic/images/select-binary-to-flash-efx32.png b/sld297-matter-aws-feature/images/select-binary-to-flash-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-binary-to-flash-efx32.png rename to sld297-matter-aws-feature/images/select-binary-to-flash-efx32.png diff --git a/sld297-matter-wifi-dic/images/select-commander.png b/sld297-matter-aws-feature/images/select-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-commander.png rename to sld297-matter-aws-feature/images/select-commander.png diff --git a/sld297-matter-wifi-dic/images/select-efx-board.png b/sld297-matter-aws-feature/images/select-efx-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-efx-board.png rename to sld297-matter-aws-feature/images/select-efx-board.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-efr32-commander.png b/sld297-matter-aws-feature/images/select-flash-option-efr32-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-efr32-commander.png rename to sld297-matter-aws-feature/images/select-flash-option-efr32-commander.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-in-commander.png b/sld297-matter-aws-feature/images/select-flash-option-in-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-in-commander.png rename to sld297-matter-aws-feature/images/select-flash-option-in-commander.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-soc-commander.png b/sld297-matter-aws-feature/images/select-flash-option-soc-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-soc-commander.png rename to sld297-matter-aws-feature/images/select-flash-option-soc-commander.png diff --git a/sld297-matter-wifi-dic/images/select-preferences.png b/sld297-matter-aws-feature/images/select-preferences.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-preferences.png rename to sld297-matter-aws-feature/images/select-preferences.png diff --git a/sld297-matter-wifi-dic/images/select-refresh-option.png b/sld297-matter-aws-feature/images/select-refresh-option.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-refresh-option.png rename to sld297-matter-aws-feature/images/select-refresh-option.png diff --git a/sld297-matter-wifi-dic/images/select-studio-sdk-option.png b/sld297-matter-aws-feature/images/select-studio-sdk-option.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-studio-sdk-option.png rename to sld297-matter-aws-feature/images/select-studio-sdk-option.png diff --git a/sld297-matter-wifi-dic/images/selected-gsdk.png b/sld297-matter-aws-feature/images/selected-gsdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/selected-gsdk.png rename to sld297-matter-aws-feature/images/selected-gsdk.png diff --git a/sld297-matter-wifi-dic/images/selected-sdk.png b/sld297-matter-aws-feature/images/selected-sdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/selected-sdk.png rename to sld297-matter-aws-feature/images/selected-sdk.png diff --git a/sld297-matter-wifi-dic/images/si917-board.png b/sld297-matter-aws-feature/images/si917-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/si917-board.png rename to sld297-matter-aws-feature/images/si917-board.png diff --git a/sld297-matter-wifi-dic/images/simplicity-commander-flash-bootloader.png b/sld297-matter-aws-feature/images/simplicity-commander-flash-bootloader.png similarity index 100% rename from sld297-matter-wifi-dic/images/simplicity-commander-flash-bootloader.png rename to sld297-matter-aws-feature/images/simplicity-commander-flash-bootloader.png diff --git a/sld297-matter-wifi-dic/images/siwx917-ncp-powermeasurement-pins.png b/sld297-matter-aws-feature/images/siwx917-ncp-powermeasurement-pins.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-ncp-powermeasurement-pins.png rename to sld297-matter-aws-feature/images/siwx917-ncp-powermeasurement-pins.png diff --git a/sld297-matter-wifi-dic/images/siwx917-radio-wstk.png b/sld297-matter-aws-feature/images/siwx917-radio-wstk.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-radio-wstk.png rename to sld297-matter-aws-feature/images/siwx917-radio-wstk.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-fwflash-option.png b/sld297-matter-aws-feature/images/siwx917-soc-fwflash-option.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-fwflash-option.png rename to sld297-matter-aws-feature/images/siwx917-soc-fwflash-option.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-launcher-tab.png b/sld297-matter-aws-feature/images/siwx917-soc-launcher-tab.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-launcher-tab.png rename to sld297-matter-aws-feature/images/siwx917-soc-launcher-tab.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-radio-board.png b/sld297-matter-aws-feature/images/siwx917-soc-radio-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-radio-board.png rename to sld297-matter-aws-feature/images/siwx917-soc-radio-board.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-targetconnectionlost.png b/sld297-matter-aws-feature/images/siwx917-soc-targetconnectionlost.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-targetconnectionlost.png rename to sld297-matter-aws-feature/images/siwx917-soc-targetconnectionlost.png diff --git a/sld297-matter-wifi-dic/images/siwx917-target-ozone.png b/sld297-matter-aws-feature/images/siwx917-target-ozone.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-target-ozone.png rename to sld297-matter-aws-feature/images/siwx917-target-ozone.png diff --git a/sld297-matter-wifi-dic/images/siwx917soc-attachtorunningprogram.png b/sld297-matter-aws-feature/images/siwx917soc-attachtorunningprogram.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917soc-attachtorunningprogram.png rename to sld297-matter-aws-feature/images/siwx917soc-attachtorunningprogram.png diff --git a/sld297-matter-wifi-dic/images/status-shared-to-cloud.png b/sld297-matter-aws-feature/images/status-shared-to-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/status-shared-to-cloud.png rename to sld297-matter-aws-feature/images/status-shared-to-cloud.png diff --git a/sld297-matter-wifi-dic/images/tera-term-matter-cli.png b/sld297-matter-aws-feature/images/tera-term-matter-cli.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-matter-cli.png rename to sld297-matter-aws-feature/images/tera-term-matter-cli.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-jlink-port.png b/sld297-matter-aws-feature/images/tera-term-select-jlink-port.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-jlink-port.png rename to sld297-matter-aws-feature/images/tera-term-select-jlink-port.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-serial-port.png b/sld297-matter-aws-feature/images/tera-term-select-serial-port.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-serial-port.png rename to sld297-matter-aws-feature/images/tera-term-select-serial-port.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-speed.png b/sld297-matter-aws-feature/images/tera-term-select-speed.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-speed.png rename to sld297-matter-aws-feature/images/tera-term-select-speed.png diff --git a/sld297-matter-wifi-dic/images/tera-term-selection-in-terminal.png b/sld297-matter-aws-feature/images/tera-term-selection-in-terminal.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-selection-in-terminal.png rename to sld297-matter-aws-feature/images/tera-term-selection-in-terminal.png diff --git a/sld297-matter-wifi-dic/images/tera-term-terminal-setup.png b/sld297-matter-aws-feature/images/tera-term-terminal-setup.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-terminal-setup.png rename to sld297-matter-aws-feature/images/tera-term-terminal-setup.png diff --git a/sld297-matter-wifi-dic/images/tera-term-tty-record.png b/sld297-matter-aws-feature/images/tera-term-tty-record.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-tty-record.png rename to sld297-matter-aws-feature/images/tera-term-tty-record.png diff --git a/sld297-matter-wifi-dic/images/wifi-9116-gpio-connections.png b/sld297-matter-aws-feature/images/wifi-9116-gpio-connections.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-9116-gpio-connections.png rename to sld297-matter-aws-feature/images/wifi-9116-gpio-connections.png diff --git a/sld297-matter-wifi-dic/images/wifi-9116-powermeter-wifimodule.png b/sld297-matter-aws-feature/images/wifi-9116-powermeter-wifimodule.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-9116-powermeter-wifimodule.png rename to sld297-matter-aws-feature/images/wifi-9116-powermeter-wifimodule.png diff --git a/sld297-matter-wifi-dic/images/wifi-9116-powerprofiler.png b/sld297-matter-aws-feature/images/wifi-9116-powerprofiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-9116-powerprofiler.png rename to sld297-matter-aws-feature/images/wifi-9116-powerprofiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-code-edit.png b/sld297-matter-aws-feature/images/wifi-code-edit.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-code-edit.png rename to sld297-matter-aws-feature/images/wifi-code-edit.png diff --git a/sld297-matter-wifi-dic/images/wifi-efr-energy-profiler.png b/sld297-matter-aws-feature/images/wifi-efr-energy-profiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-efr-energy-profiler.png rename to sld297-matter-aws-feature/images/wifi-efr-energy-profiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-efr-power-energyprofiler.png b/sld297-matter-aws-feature/images/wifi-efr-power-energyprofiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-efr-power-energyprofiler.png rename to sld297-matter-aws-feature/images/wifi-efr-power-energyprofiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-expansion-board-power-pins.png b/sld297-matter-aws-feature/images/wifi-expansion-board-power-pins.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-expansion-board-power-pins.png rename to sld297-matter-aws-feature/images/wifi-expansion-board-power-pins.png diff --git a/sld297-matter-wifi-dic/images/wifi-powerprofiler-start.png b/sld297-matter-aws-feature/images/wifi-powerprofiler-start.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powerprofiler-start.png rename to sld297-matter-aws-feature/images/wifi-powerprofiler-start.png diff --git a/sld297-matter-wifi-dic/images/wifi-powerprofiler.png b/sld297-matter-aws-feature/images/wifi-powerprofiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powerprofiler.png rename to sld297-matter-aws-feature/images/wifi-powerprofiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-powersave-overview.png b/sld297-matter-aws-feature/images/wifi-powersave-overview.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powersave-overview.png rename to sld297-matter-aws-feature/images/wifi-powersave-overview.png diff --git a/sld297-matter-wifi-dic/images/wifi-setup.png b/sld297-matter-aws-feature/images/wifi-setup.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-setup.png rename to sld297-matter-aws-feature/images/wifi-setup.png diff --git a/sld297-matter-aws-feature/index.md b/sld297-matter-aws-feature/index.md new file mode 100644 index 0000000..532b58b --- /dev/null +++ b/sld297-matter-aws-feature/index.md @@ -0,0 +1,124 @@ +# Matter + AWS Component + +- Matter + AWS is a Silicon Labs–specific feature that enables Matter devices to connect directly to + proprietary cloud solutions, such as AWS Cloud. As such, a Matter Wi-Fi device + must support connecting locally on the Matter Fabric via IPv6 and + connecting to the Internet via IPv4. +- Matter devices can be controlled by chip-tool or a controller. The + status of the modified attributes will be published to the cloud. +- Remote users can install a cloud-specific application to receive + notifications about the attribute status. + +## Matter + AWS Feature Diagram + +The following diagram shows end-to-end flow for Direct Internet Connectivity. + +![Silicon Labs - Matter + AWS design](./images/matter-aws-flow.png) + +## Prerequisites + +### Hardware Requirements + +For a list of hardware requirements for the Matter + AWS feature, see the +official +[Silicon Labs Matter hardware requirements](https://siliconlabs.github.io/matter/latest/general/HARDWARE_REQUIREMENTS.html) +documentation. + +### Software Requirements + +For a list of software requirements for the Matter + AWS feature, see the +official +[Silicon Labs Matter Software requirements](https://siliconlabs.github.io/matter/latest/general/SOFTWARE_REQUIREMENTS.html) +documentation. + +## End-to-End Set-up bring up + +### Message Queuing Telemetry Transport (MQTT) + +MQTT is an OASIS standard messaging protocol for the Internet of Things + (IoT). It is designed as an extremely lightweight publish/subscribe + messaging transport that is ideal for connecting remote devices with a small + code footprint and minimal network bandwidth. + For more details, visit https://mqtt.org/. + +### Configuring the MQTT server + +To set up and configure AWS for Matter + AWS support, see the following documentation: + +- [AWS installation](./aws-configuration-registration.md) + +### Remote User Setup (MQTT Explorer) (optional) + +Remote users are used to check the state of Matter devices. In this context, MQTT Explorer acts as a remote user. For more information, see [MQTT Explorer Setup and Configuration](./mqtt-explorer-setup.md). + +### Building Matter + AWS Application using Simplicity Studio + +Follow the instructions in [Build MATTER + AWS](./build-matter-aws.md) to enable the MATTER + AWS feature in your application code. + + +## End-to-End Test of Matter + AWS Application + +User Setup (MQTT Explorer): + +- Sharing status of device to cloud + - The following diagram shows the end-to-end flow for sharing status from a Matter device to the cloud. + +![Silicon Labs - Matter + AWS design](images/dic-status-sharing.png) + + **Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed. + +- For the end-to-end commands to be executed from chip-tool, refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo). +- The following application-specific attributes or states are shared to the cloud: + - For Lighting App, On/Off Attributes + - For Lock App, lock/unlock Attributes + - For Windows App, lift/tilt Attributes + - For Thermostat App, SystemMode/CurrentTemp/LocalTemperature/OccupiedCoolingSetpoint/OccupiedHeatingSetpoint Attributes + - For On/off Plug App, On/Off Attributes + - The MQTT Explorer UI updates the application status as shown in following image. + + ![Matter + AWS status update](images/mqtt-explorer-4.png) + +- Control of the device through cloud interface + - The following diagram shows the end-to-end flow for control of the Matter device through a cloud interface. + + ![Silicon Labs - Matter + AWS design](images/dic-control-part.png) + + **Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed. + + - Ensure that the Matter device is running and successfully commissioned. For detailed steps, refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo). + - To control the device, set the topic name and the commands to be executed in the MQTT Explorer for the following applications. + +```shell + - Lighting App + - Topic: command + - Commands: + - toggle + - on + - off + - Onoff-plug App + - Topic: command + - Commands: + - toggle + - on + - off + - Lock App + - Topic: command + - Commands: + - lock + - unlock + - Thermostat App + - Topic: command + - Commands: + - SetMode/value(value need to provide 1,2,3,4 ex:SetMode/1) + - Heating/value(value need to provide 2500,2600 ex:HeatingSetPoint/2500) + - Cooling/value(value need to provide 2500,2600 ex:CoolingSetPoint/2500) + - Window App + - Topic: command + - Commands: + - Lift/value(value need to provide in range 1000 to 10000) + - Tilt/value(value need to provide in range 1000 to 10000) +``` + +- Click **Publish** to execute the command. + +![Silicon Labs - Matter + AWS design](images/control-device-through-cloud.png) diff --git a/sld297-matter-wifi-dic/mqtt-explorer-setup.md b/sld297-matter-aws-feature/mqtt-explorer-setup.md similarity index 84% rename from sld297-matter-wifi-dic/mqtt-explorer-setup.md rename to sld297-matter-aws-feature/mqtt-explorer-setup.md index 0ec81af..eb315ea 100644 --- a/sld297-matter-wifi-dic/mqtt-explorer-setup.md +++ b/sld297-matter-aws-feature/mqtt-explorer-setup.md @@ -13,7 +13,7 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - Make sure you enable **Validate Certificate and Encryption** - Click **Advanced Settings** -![Silicon Labs - DIC design](./images/mqtt-explorer-2.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-2.png) - Add application specific topics as shown below - For Lighting app, topic to be added (light/*) @@ -30,11 +30,11 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - MQTT Client ID depends on the certificate set that you will use. - Add the Certificate, following step 7 in [AWS installation](./aws-configuration-registration.md). -![Silicon Labs - DIC design](./images/mqtt-explorer-5.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-5.png) - Once the above steps are done, try connecting to AWS. -![Silicon Labs - DIC design](./images/mqtt-explorer-3.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-3.png) ### Connecting to Mosquitto Connection @@ -43,7 +43,7 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - Make sure you enable Validate Certificate and Encryption - Click **Advanced Settings** -![Silicon Labs - DIC design](./images/mqtt-explorer-2.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-2.png) - Add application specific topics as shown below - For Lighting app, topic to be added (light/*) @@ -60,4 +60,4 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - MQTT Client ID depends on the certificate set that you will use. - Add the Certificate, following step 5 in [Openssl Certificate Creation](./openssl-certificate-creation.md). -![Silicon Labs - DIC design](./images/mqtt-explorer-5.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-5.png) diff --git a/sld297-matter-aws-feature/openssl-certificate-creation.md b/sld297-matter-aws-feature/openssl-certificate-creation.md new file mode 100644 index 0000000..1ba5ed9 --- /dev/null +++ b/sld297-matter-aws-feature/openssl-certificate-creation.md @@ -0,0 +1,24 @@ +# OpenSSL Certificate Creation + +An SSL certificate is an important way to secure user information and protect against hackers. + +## Openssl Installation (In ubuntu 22.04) + +1. To install OpenSSL (v 3.0.2), issue the following command: `sudo apt install openssl` + +## Certificates Creation + +Use the following commands to generate certificates: + +1. **Generate the client key:** + - `openssl ecparam -name prime256v1 -genkey -noout -out device.key` +2. **Generate the client certificate** (e.g., `device.crt` and `device.key`) using a CA + certficate: + - `openssl req -new -out device.csr -key device.key` +3. **Upload CSR to AWS**: While creating the AWS IoT thing, use the **Upload CSR** option in the configure device + certificate step. Once the CSR generated in step 2 is uploaded, AWS will + generate an AWS CA-authenticated `device.crt`. + ![AWS CSR Upload ](./images/matter_aws_device_csr_certificate_generation.png) + +To use MQTT Explorer, repeat steps 1 and 2 to create an additional set of certificates +(e.g., `explorer.crt` and `explorer.key`). Use a different name to uniquely identify the certificates. diff --git a/sld297-matter-wifi-dic/aws-configuration-registration.md b/sld297-matter-wifi-dic/aws-configuration-registration.md deleted file mode 100644 index 33424cd..0000000 --- a/sld297-matter-wifi-dic/aws-configuration-registration.md +++ /dev/null @@ -1,73 +0,0 @@ -# Amazon Web Services (AWS) - -Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Refer to [AWS Documentation](https://aws.amazon.com/what-is-aws/) for more details. - -## AWS CA Certificate Registration - -1. Create a CA certificate, a CA verification certificate, a client certificate, and a client key using the [Openssl Certificate Creation](./openssl-certificate-creation.md) documentation. -2. Open [AWS](https://aws.amazon.com/). -3. Log in using your AWS credentials. -4. Register the CA Certificate in AWS: - - Go to **Security > Certificate Authorities** and **Register CA Certificate**. - - Select **Register CA** in the Single account mode. - - Choose the CA certificate (CA.crt) that you previously created above. - - Choose the CA verification certificate (verification_cert.pem) that you previously created above. - - Register the CA. - -5. Go to **Security > Policies** and select **Create Policy**. Enter the policy name (ex: _DIC_POLICY_) and, in the policy statements, select **JSON** and replace the contents with the JSON provided below: - - ```shell - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": "*", - "Resource": "*" - } - ] - } - ``` - -6. Once done, select **Create**. - -7. Steps to generate the certificate for your Matter application to use in the `dic_nvm_cert.cpp` source file: - - - Go to **All Devices > Things** and select **Create Things**. - - Select **Create Single Thing** and click **Next**. - - Specify thing properties in **Info > Give the thing a name** (Note: Client ID) and click **Next**. - - Configure the device certificate (optional) in **Info > Use my certificate**. - - In Certificate details, choose **CA is registered with AWS IOT** and select the CA registered with AWS in Step 4. - - In **Certificate > Choose file** (Choose Client certificate generated in Openssl Certificate Creation ex: `device.crt`), set the certificate status to **Active**. Click **Next**. - - Use the policy (ex: _DIC_POLICY_) created in AWS Certificate creation. - -8. Repeat Step 5 to create a new thing to use in MQTT Explorer using the certificate created for MQTT explorer (from Openssl Certificate Creation ex: `explorer.crt`). - - **Note**: Thing name must be unique as it will be used as CLIENT ID. - -9. Copy the contents of [AWS_CA CERT](https://www.amazontrust.com/repository/AmazonRootCA1.pem) and create a .pem file to use as a SERVER CERTIFICATE in MQTT Explorer. - -## How to Create AWS OTA JOB - -1. Go to AWS Amazon: https://aws.amazon.com/. -2. Log in with Amazon Credentials. -3. Click **Services** and select **IOT Core**. -4. On the side menu in the **Manage** section, click **Remote Actions** and click **jobs**. -5. Click **Create Job** and select Job type as a Create FreeRTOS OTA update job. -6. Enter a unique Job name without spaces. -7. In the **Devices to update** dropdown, select your Certificates which are configured above. for example:- SQA_DIC_C2, SQA_DIC_C3, DIC_2 -8. Select **MQTT** as the protocol for file transfer. -9. In **File Section**, select **New/Previously/Custom** signed **gbl(For EFR32)** and **.rps(For 917 SOC)** file. - - - If the **gbl or rps** file is newly created, then select **Sign a new file for me**. - - If the **gbl or rps** file is already uploaded to AWS, then select **Choose a previously signed file**. - - If the **gbl or rps** file is custom modified, then select **Use my custom signed file**. - -10. In **Existing code signing profile**, select **dic_ota_codesign**. Refer to [AWS Code Signing Certificate Creation](https://docs.aws.amazon.com/freertos/latest/userguide/ota-code-sign-cert.html). -11. For uploading the **gbl or rps** file, follow step 9 above. To create a **gbl** refer to [Matter OTA](/matter/{build-docspace-version}/matter-ota) and for **rps** file, refer to [Matter OTA Software Update](/matter/{build-docspace-version}/matter-ota/04-ota-software-update-soc). -12. In the File upload location in S3 select, S3 URL as ota_demo. Refer to [AWS S3 Bucket Creation](https://docs.aws.amazon.com/freertos/latest/userguide/dg-ota-bucket.html). -13. In **Path name of file on device**, give any file name (file.txt). -14. Select **ota_demo** as **IAM role** and click **Next**. -15. Click **create job**. - -Note: For more details, Refer to [AWS OTA prerequisites](https://docs.aws.amazon.com/freertos/latest/userguide/ota-prereqs.html). diff --git a/sld297-matter-wifi-dic/build-dic.md b/sld297-matter-wifi-dic/build-dic.md deleted file mode 100644 index 334e8db..0000000 --- a/sld297-matter-wifi-dic/build-dic.md +++ /dev/null @@ -1,59 +0,0 @@ -# Build Procedure For Wi-Fi Direct Internet Connectivity (DIC) - -The following components are common for all apps and should be modified in the corresponding app specific .slcp file. - -## How to Add the DIC Component - -To add the DIC component, modify the corresponding app specific .slcp file. - -```shell - - id: matter_dic - from: matter -``` - -## How to Add the DIC AWS OTA Component - -To add the DIC AWS OTA component, modify the corresponding app specific .slcp file. - -```shell - - id: aws_ota_wifi_dic - from: matter -``` - -Note: Building with aws_ota_wifi_dic component enables matter_dic component by default. - -## Building DIC Application - -- After modification in the **.slcp** Project file as above step, refresh the **matter-extension** in Simplicity Studio. - -- Select **Preferences** in the **Launcher** tab. - - ![Select Preferences](images/select-preferences.png) - -- Expand Simplicity Studio section and click on **SDKs** Tab. - - ![Select SDK](images/select-studio-sdk-option.png) - -- Expand **Simplicity SDK** and click the **Refresh** button from side menu. - - ![Select Refresh](images/select-refresh-option.png) - -- Build the DIC application using Simplicity Studio - - [Build EFx32 Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-efx32-application-using-studio) - - [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio) - -## Compile Using New/Different Certificates - -- Two devices should not use the same `DIC_CLIENT_ID`. To use a different Client ID for your second connection, do the following: -- If using AWS, change the following file `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/src/dic_nvm_cert.cpp` under `#if USE_AWS`. - - Use `DIC_SERVER_HOST` name with your Server host name. - - For Example: a2m21kovu9tcsh-ats.iot.ap-southeast-1.amazonaws.com - - Use AWS CA certificate as ca_certificate, device_certificate and device_key with your device cert and device key. - - Use `DIC_CLIENT_ID` macro value with your Client ID in `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/inc/dic_config.h` - - The preferred certificate type to use in the application is ECDSA. -- If using mosquitto, change the following file `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/src/dic_nvm_cert.cpp` enable `USE_MOSQUITTO` and disable `USE_AWS`. - - Under `#if USE_MOSQUITTO` - - Use `DIC_SERVER_HOST` name with your Server host name where Mosquitto Broker is running. - - Use OpenSSL CA certificate as ca_certificate, device_certificate and device_key. - - `DIC_CLIENT_ID` is not required here but `DIC_CLIENT_USER` and `DIC_CLIENT_PASS` in `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/inc/dic_config.h` needs to be updated as per your Mosquitto password file. - - The preferred certificate type to use in the application is ECDSA. diff --git a/sld297-matter-wifi-dic/index.md b/sld297-matter-wifi-dic/index.md deleted file mode 100644 index f113ef8..0000000 --- a/sld297-matter-wifi-dic/index.md +++ /dev/null @@ -1,143 +0,0 @@ -# Matter Wi-Fi Direct Internet Connectivity - -Direct Internet Connectivity (DIC) is a Silicon Labs-only feature to connect Matter devices to proprietary cloud solutions (e.g., AWS, GCP, Apple) directly. As such, a Matter Wi-Fi device must support connecting locally on the Matter Fabric, via IPv6, and connecting to the Internet via IPv4. - -- Matter devices can be controlled by chip-tool or controller, and the respective status of the attribute modified will be published to the cloud. -- Remote users can install the cloud-specific application to get the notifications on the attribute status and to control the device. - -## DIC Feature Diagram - -The following diagram illustrates the end-to-end flow for Direct Internet Connectivity. - -![Silicon Labs - DIC design](images/dic-flow.png) - -## Prerequisites - -### Hardware Requirements - -For the hardware required for the DIC feature to run on the Silicon Labs Platform, refer to [Matter Hardware Requirements](/matter/{build-docspace-version}/matter-prerequisites/hardware-requirements). - -### Software Requirements - -To run the DIC feature, refer to [Software Requirements](/matter/{build-docspace-version}/matter-prerequisites/software-requirements). - -## End-to-End Set-Up Bring Up - -### Message Queuing Telemetry Transport (MQTT) - -MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. Refer to [https://mqtt.org/](https://mqtt.org/) for more details. - -### Configuring the MQTT server - -To set up and configure AWS or Mosquitto for DIC support, see the following documentation: - -- [AWS installation](./aws-configuration-registration.md) -- [Mosquitto installation](./mosquitto-setup.md) - -### Remote User Setup (MQTT Explorer) - -A remote user is used to check the state of a Matter device. In this context, MQTT explorer is used as a remote user. See [MQTT explorer setup and configuration](./mqtt-explorer-setup.md). - -### Building Matter DIC Application using Simplicity Studio - -1. Follow instructions in [Build DIC](./build-dic.md) to enable the DIC feature in code. - -2. After enabling DIC in the Matter extension code, click **Preferences** and then click **SDKs** in Simplicity Studio. - - ![Extension refresh in tab](images/dic-extension-refresh.png) - -3. In the **SDKs** tab, click **Simplicity SDK** and click **Refresh**. It will refresh the Matter extension code for changes made in step 1. - - ![Extension refresh](images/dic-extension-refresh-1.png) - -4. After refreshing the Matter extension, create and build a project for the Silicon Labs Device Platform. Refer to the following: - - - [Creating and Building Project for NCP Board](/matter/{build-docspace-version}/matter-wifi-getting-started-example/getting-started-efx32-ncp#building-and-flashing-an-application) - - [Creating and Building Project for SoC Board](/matter/{build-docspace-version}/matter-wifi-getting-started-example/getting-started-with-soc#building-the-917-soc-matter-accessory-devices-using-simplicity-studio) - -**Note**: Matter extension code is located at the following location: `C:\Users\system_name\SimplicityStudio\SDKs\simplicity_sdk\extension`. - -## End-to-End Test of DIC Application - -User Setup (MQTT Explorer): - -- Sharing status of device to cloud - - The following diagram shows the end-to-end flow for sharing status from a Matter device to the Cloud. - -![Silicon Labs - DIC design](images/dic-status-sharing.png) - - **Note**: For reference, Lighting App commands are given in the above image. Other application commands also can be passed. - -- For the end-to-end commands to be executed from chip-tool, refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo). -- Below are the application-specific attributes or states shared to the cloud: - - For Lighting App, On/Off Attributes - - For Lock App, lock/unlock Attributes - - For Windows App, lift/tilt Attributes - - For Thermostat App, SystemMode/CurrentTemp/LocalTemperature/OccupiedCoolingSetpoint/OccupiedHeatingSetpoint Attributes - - For On/off Plug App, On/Off Attributes - - Application status would be updated on the mqtt_explorer UI, as shown in below image. - - ![DIC status update](images/mqtt-explorer-4.png) - -- Control of the device through cloud interface - - The diagram below shows the end-to-end flow for control of the Matter device through a cloud interface. - - ![Silicon Labs - DIC design](images/dic-control-part.png) - - **Note**: For reference, Lighting App commands are shown in the above image. Similarly, other application commands also can be passed. - - - Make sure the Matter device is up and commissioned successfully. Refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo). - - For controlling the device, set topic name and the commands to be executed in the mqtt_explorer for the following applications. - -```shell - - Lighting App - - Topic: command - - Commands: - - toggle - - on - - off - - Onoff-plug App - - Topic: command - - Commands: - - toggle - - on - - off - - Lock App - - Topic: command - - Commands: - - lock - - unlock - - Thermostat App - - Topic: command - - Commands: - - SetMode/value(value need to provide 1,2,3,4 ex:SetMode/1) - - Heating/value(value need to provide 2500,2600 ex:HeatingSetPoint/2500) - - Cooling/value(value need to provide 2500,2600 ex:CoolingSetPoint/2500) - - Window App - - Topic: command - - Commands: - - Lift/value(value need to provide in range 1000 to 10000) - - Tilt/value(value need to provide in range 1000 to 10000) -``` - -- Click **Publish** to execute the command. - -![Silicon Labs - DIC design](images/control-device-through-cloud.png) - -- Download AWS OTA Image through a cloud interface. - - - The diagram below provides the end to end flow of the firmware upgrade feature through AWS. - - ![Silicon Labs - DIC design](images/dic-aws-ota.png) - - - Make sure the Matter device is up and commissioned successfully. Refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo). - - - Make sure the device is connected to the MQTT Server successfully. - - - Create an AWS OTA Job on the AWS website. Refer to [How to create AWS OTA job](./aws-configuration-registration.md). - - - Trigger the OTA command through MQTT Explorer like below. - - - Click **Publish** to execute the AWS OTA command. - - ![Silicon Labs - DIC design](images/download-aws-ota-through-cloud.png) diff --git a/sld297-matter-wifi-dic/mosquitto-setup.md b/sld297-matter-wifi-dic/mosquitto-setup.md deleted file mode 100644 index 1fd0697..0000000 --- a/sld297-matter-wifi-dic/mosquitto-setup.md +++ /dev/null @@ -1,33 +0,0 @@ -# Mosquitto - -Mosquitto is a lightweight open source (EPL/EDL licensed) message broker that implements the MQTT protocol. Refer to the [Mosquitto site](https://Mosquitto.org/) for more details. - -## Set Up the Mosquitto Connection - -### Linux Environment - -1. Install Mosquitto, using the command --> `sudo apt install Mosquitto`. -2. Copy file from https://github.com/eclipse/Mosquitto/blob/master/Mosquitto.conf and paste in linux machine. -3. Open the Mosquitto.conf file and include password_file (Mosquitto.pwd) in **General configuration**. -4. The password file contains the username and password in hashed format. To create your own username and password for Mosquitto, use the following [link](http://surl.li/gnmwr). -5. In the **Listeners** section, change listener to ` `. -6. In the same section, find **#protocol mqtt** and uncomment it. -7. Follow [Openssl Certificate Creation](./openssl-certificate-creation.md) to create certificates. -8. Provide the required certificates path in the **Certificate based SSL/TLS support** and, in the same section, set the flag require_certification to **true**. -9. In the **Security** section, uncomment the flag **allow_anonymous** false. -10. Now that your configuration file is set, save it and run the following command in terminal to run Mosquitto: - - - `Mosquitto -v -c Mosquitto.conf` - -### Windows Environment - -1. Install Mosquitto using the [mosquitto download](https://Mosquitto.org/download/). -2. Open the Mosquitto.conf file and include password_file (Mosquitto.pwd) in **General configuration**. -3. The password file contains the username and password in hashed format. To create your own username and password for Mosquitto, use the following [link](http://surl.li/gnmwr). -4. In the **Listeners** section, change listener to ` `. -5. In the same section, find **#protocol mqtt** and uncomment it. -6. Follow [Openssl Certificate Creation](./openssl-certificate-creation.md) to create certificates. -7. Provide the required certificates path in **Certificate based SSL/TLS support** and, in the same section, set the flag require_certification to **true**. -8. In the **Security** section, uncomment the flag **allow_anonymous** false. -9. Now that your configuration file is set, save it and run the following command in terminal(command prompt) to run Mosquitto: - - `Mosquitto -v -c Mosquitto.conf` diff --git a/sld297-matter-wifi-dic/openssl-certificate-creation.md b/sld297-matter-wifi-dic/openssl-certificate-creation.md deleted file mode 100644 index 7364fdc..0000000 --- a/sld297-matter-wifi-dic/openssl-certificate-creation.md +++ /dev/null @@ -1,46 +0,0 @@ -# OpenSSL Certificate Creation - -An SSL certificate is an important way to secure user information and protect against hackers. - -## OpenSSL Installation (In ubuntu) - -1. To install OpenSSL, run `sudo apt install openssl`. - -## Certificates Creation - -The following commands are used to generate certificates: - -1. To generate CA key: - - - `openssl ecparam -name prime256v1 -genkey -noout -out CA.key` - -2. To generate CA certificate: - - - `openssl req -new -x509 -days 1826 -key CA.key -out CA.crt` - -3. To generate Client key: - - - `openssl ecparam -name prime256v1 -genkey -noout -out device.key` - -4. To generate Client certificate (ex: `device.crt` and `device.key`) using CA certificate: - - - `openssl req -new -out device.csr -key device.key` - - `openssl x509 -req -in device.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out device.crt -days 360` - -5. To generate CA verification certificate key: - - - `openssl genrsa -out verification_cert.key 2048` - -6. To generate Certificate Signing Request (CSR) file: - - - `openssl req -new -key verification_cert.key -out verification_cert_csr.csr` - - **NOTE**: The information that the openssl command prompts you for is shown in the following example. Except for the Common Name field, you can enter your own values or keep them blank. In the Common Name field, paste the registration code from the Verification certificate container of the AWS IoT console. Reference image below to add registration code. - - ![registration code](images/openssl-csr-common-name-ref.png) - -7. To generate CA verification certificate: - - - `openssl x509 -req -in verification_cert_csr.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verification_cert.pem -days 500 -sha256` - -8. Repeat step 3 and 4 to create an additional set of certificate to use in MQTT explorer (ex: `explorer.crt` and `explorer.key`). (Create with different name for Identification). diff --git a/sld388-matter-new-features/index.md b/sld388-matter-new-features/index.md index 581072b..768a4ff 100644 --- a/sld388-matter-new-features/index.md +++ b/sld388-matter-new-features/index.md @@ -1,5 +1,20 @@ # New Features +## New Features for v2.7.0-1.4 + +- Quality-tested Matter 1.4.2 solution for Thread MG24 / MG26, Wi-Fi SiWx917 SoC and NCP mode, Wi-Fi MG24/WF200 and Wi-Fi MG24/RS9116 (non-sleepy). +- Provides GA support for Matter Wi-Fi SiWx917 +- Enabled Matter + AWS (previously known as DIC) support (Alpha Quality). +- Provides support for Matter Thread and CMP with SiMG301x. +- Support for Scenes in Matter added with Matter 1.4.2. +- Fixed the mDNS and CASE session timeouts seen on Wi-Fi SiWx917. +- Added Optimized LwIP package in the Matter Extension for Power Improvement in WiFi Devices. +- Deprecation notice for Wi-Fi MG24/RS9116. +- Removal of the Experimental option to use the TCP/IP NetX stack. +- Works with Simplicity SDK v2025.6.2 and WiSeConnect SDK v3.5.2. +- RGB LED support with the SiWG917 DevKit. +- Miscellaneous bug fixes and improvements. + ## New Features for v2.6.1-1.4 - Quality-tested Matter 1.4.1 solution for Thread MG24 / MG26, Wi-Fi SiWx917 SoC and NCP mode, Wi-Fi MG24/WF200 and Wi-Fi MG24/RS9116 (non-sleepy). diff --git a/sld407-matter-ota/01-ota-bootloader.md b/sld407-matter-ota/01-ota-bootloader.md index eabf25b..4dd0353 100644 --- a/sld407-matter-ota/01-ota-bootloader.md +++ b/sld407-matter-ota/01-ota-bootloader.md @@ -33,7 +33,7 @@ Build the project by clicking on the hammer icon in the Studio toolbar. Flash th ## Internal Bootloader: Image Size, Selecting Storage Slot Address and Size -The internal storage bootloader for Matter OTA Software Update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set such as disabled logging and Matter shell (see [here](./02-ota-software-update.md#Internal-Storage-Bootloader) for the list of features). Using LZMA compression when building the GBL file further reduces the downloaded image size. +The internal storage bootloader for Matter OTA Software Update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set such as disabled logging and Matter shell (see [here](./02-ota-software-update.md#Internal-Storage-Bootloader) for the list of features). See [Code Savings Guide](/matter/{build-docspace-version}/matter-overview-guides/code-size-savings) for a general guide on reducing the application image size. Using LZMA compression when building the GBL file further reduces the downloaded image size. When building an internal storage bootloader, the two key configuration parameters are the **Slot Start Address** and **Slot Size** in the **Bootloader Storage Slot** component. The storage slot must not overlap with the running image and the NVM section of the flash. In other words, the slot start address must be greater than the end of the running image address and the sum of the start address and the slot size must be less than the address of the NVM section. diff --git a/sld407-matter-ota/02-ota-software-update.md b/sld407-matter-ota/02-ota-software-update.md index 4d00ff3..87d7c20 100644 --- a/sld407-matter-ota/02-ota-software-update.md +++ b/sld407-matter-ota/02-ota-software-update.md @@ -125,7 +125,7 @@ With this configuration the device will query the OTA-Provider for an available ## Internal Storage Bootloader -Internal storage bootloader for Matter OTA software update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set, such as disabled logging and Matter shell. See [Creating the Bootloader for Use in Matter OTA](01-ota-bootloader.md) for more details. +Internal storage bootloader for Matter OTA software update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set, such as disabled logging and Matter shell. See [Creating the Bootloader for Use in Matter OTA](01-ota-bootloader.md) for more details. See [Code Savings Guide](/matter/{build-docspace-version}/matter-overview-guides/code-size-savings) for a general guide on reducing the application image size. Installing the Lower Power Mode component in the project's Software Components tool in Simplicity Studio will uninstall the following optional components and reduce the image size: diff --git a/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md b/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md index 4529068..dd6a904 100644 --- a/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md +++ b/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md @@ -4,7 +4,7 @@ This Quick-Start Guide will demo the out-of-box experience for adding an SiWx917 ## Software Requirements -- Simplicity Studio v5 with SiSDK - 2025.6.1 + Silicon Labs Matter - 2.6.1 + WiSeConnect - 3.5.1 +- Simplicity Studio v5 with SiSDK - 2025.6.2 + Silicon Labs Matter - 2.7.0 + WiSeConnect - 3.5.2 - Simplicity Connect mobile App on Smartphone ## Hardware Requirements diff --git a/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md b/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md index 90e6e25..c0a76f2 100644 --- a/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md +++ b/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md @@ -4,7 +4,7 @@ This Quick-Start Guide will demo the out-of-box experience for adding an EFR32MG ## Software Requirements -- Simplicity Studio v5 with SiSDK - 2025.6.1 + Silicon Labs Matter - 2.6.1 +- Simplicity Studio v5 with SiSDK - 2025.6.2 + Silicon Labs Matter - 2.7.0 - Simplicity Connect mobile App on Smartphone ## Hardware Requirements diff --git a/sld57-matter-landing-page/index.md b/sld57-matter-landing-page/index.md index bb18010..137c8b6 100644 --- a/sld57-matter-landing-page/index.md +++ b/sld57-matter-landing-page/index.md @@ -20,7 +20,7 @@ The [Silicon Labs Matter GitHub repo](https://github.com/SiliconLabs/matter) wil ## Other Resources -**To see release notes** containing a list of features and known issues, go to [Matter Release Notes on Silicon Labs Matter Extension](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1). +**To see release notes** containing a list of features and known issues, go to [Matter Release Notes on Silicon Labs Matter Extension](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.7.0). **If you are new to Matter** or would like more information about Silicon Labs Matter-based products, see the [Matter content on silabs.com](https://www.silabs.com/wireless/matter). diff --git a/sld601-matter-application-development/.DS_Store b/sld601-matter-application-development/.DS_Store new file mode 100644 index 0000000..98f311d Binary files /dev/null and b/sld601-matter-application-development/.DS_Store differ diff --git a/sld601-matter-application-development/images/ClusterLogic1.png b/sld601-matter-application-development/images/ClusterLogic1.png new file mode 100644 index 0000000..342f07c Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic1.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic2.png b/sld601-matter-application-development/images/ClusterLogic2.png new file mode 100644 index 0000000..e028746 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic2.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic3.png b/sld601-matter-application-development/images/ClusterLogic3.png new file mode 100644 index 0000000..4fc4534 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic3.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic4.png b/sld601-matter-application-development/images/ClusterLogic4.png new file mode 100644 index 0000000..b07c4fc Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic4.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic5.png b/sld601-matter-application-development/images/ClusterLogic5.png new file mode 100644 index 0000000..8071bab Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic5.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic6.jpg b/sld601-matter-application-development/images/ClusterLogic6.jpg new file mode 100644 index 0000000..cc951aa Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic6.jpg differ diff --git a/sld601-matter-application-development/images/ClusterLogicModel.jpg b/sld601-matter-application-development/images/ClusterLogicModel.jpg new file mode 100644 index 0000000..8ceea07 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogicModel.jpg differ diff --git a/sld601-matter-application-development/index.md b/sld601-matter-application-development/index.md index 4685964..9cc196b 100644 --- a/sld601-matter-application-development/index.md +++ b/sld601-matter-application-development/index.md @@ -1,6 +1,6 @@ # Introduction -This section covers application development topics. Silicon Labs will build out this section over time. For Matter v2.6.1, we provide: +This section covers application development topics. Silicon Labs will build out this section over time. For Matter v2.7.0, we provide: - [Matter Scenes Quick Start Guide](./matter-scenes-quick-start-guide) - [Matter Event and Timer Guide](./matter-event-timer-guide.md) diff --git a/sld601-matter-application-development/matter-application-cluster-logic.md b/sld601-matter-application-development/matter-application-cluster-logic.md new file mode 100644 index 0000000..9381f96 --- /dev/null +++ b/sld601-matter-application-development/matter-application-cluster-logic.md @@ -0,0 +1,142 @@ +# Matter Application Cluster Logic + +The architecture of a Matter application is structured in layers, with the application layer positioned above network transport layer (such as Thread or Wi-fi). This application layer defines the device's behavior using a structured data model that describes its capabilities. At the core of this model are clusters, which group together related attributes, commands, and events to represent specific features. For example, a cluster might control power (on/off), adjust brightness, or report temperature. These clusters are standardized and reusable, ensuring consistent behavior across different devices and manufacturers. For more information, see the [Matter data model](https://docs.silabs.com/matter/latest/matter-fundamentals-data-model/) documentation. + +![ZCL Cluster Model](./images/ClusterLogicModel.jpg) + +To organize these features within a device, Matter introduces the concept of endpoints. An endpoint represents a specific functional part of the device and can include one or more clusters. For example, a smart light might have an endpoint that includes both the On/Off and Level Control clusters. More complex devices may use multiple endpoints to represent different capabilities, such as a thermostat that also includes a fan controller or a humidity sensor. + +To simplify the process of defining and configuring endpoints and clusters, developers use the ZCL Advanced Platform (ZAP). ZAP offers a user-friendly interface for selecting clusters, assigning them to endpoints, and configuring their attributes and commands. It also generates the necessary code to integrate with the Matter SDK, streamlining development. + +The following sections demonstrate how to extend the functionality of an existing door lock endpoint by adding the On/Off cluster. + +## Step 1: Create the Application + +Before you begin, ensure that Simplicity Studio is installed on your PC and you have downloaded the Simplicity SDK and the Matter extension. For more information on these requirements, see [here](https://docs.silabs.com/matter/1.0.5/matter-studio/). + +To create the Matter Door Lock App, launch Simplicity Studio and connect a supported Silicon Labs development board (for example, EFR32MG2x) to your computer via USB. This guide uses MG24 as the platform. Next, navigate to the **Launcher** tab, select your connected device, and select the correct SDK. + +![Studio Launcher Window](./images/ClusterLogic1.png) + +Select **Create New Project**, then use the filter to search for "Matter". Locate the "Matter - SoC Lock over Thread with External Bootloader" project. Click **Next**, then select **Finish**. + +![Matter SoC Lock over Thread Project](./images/ClusterLogic2.png) + +The sample application has been successfully created in Simplicity Studio. You can now proceed to Step 2. + +## Step 2: Add and Modify the On/Off Cluster + +After step 1, your project's `.slcp` file should automatically be opened. Navigate to **Configuration Tools**, scroll down to "ZCL Advanced Platform (ZAP)", and click **Open**. + +![ZAP](./images/ClusterLogic3.png) + +This opens the project's .zap configuration file. You should see two endpoints already enabled: +- Endpoint 0: Reserved exclusively for Utility Clusters. These special clusters are specifically used for enclosing a node’s servicing functionality such as the discovery process, addressing, diagnostics, and software updates. +- Endpoint 1: Configured to be a Matter Door Lock. It has mandatory clusters along with the Door Lock cluster (0x0101). + + Click on Endpoint #1 then open the **General Tab**. + +![Endpoint 1 Clusters](./images/ClusterLogic4.png) + +Enable the On/Off cluster (0x0006) as both a Server and Client. This should add mandatory attributes and commands as required by the specification for this cluster. You can view these by selecting the **Configure** icon. + +![On/Off Client & Server](./images/ClusterLogic5.png) + +By configuring both client and server roles for the On/Off cluster, the device can transmit On/Off commands and store On/Off attributes. Normally, a light bulb acts as a server because it stores the On/Off state and responds to commands to change it. A light switch acts as a client because it sends commands to the bulb to turn it on or off but doesn't store the state itself. This guide mainly focuses on attribute storing and manipulation. + +Finally, save the `.zap` file. The tool will automatically generate the necessary code files to reflect your updated cluster configuration. For more information, see [ZCL Advanced Platform (ZAP) Tool for Matter](https://docs.silabs.com/matter/latest/matter-references/matter-zap). + + +## Step 3: Analyze the Auto-generated Code + +Now that the On/Off cluster has been successfully added to the Sample Door Lock project, it's time to leverage the new features/code. Here's a summary of what happens after the cluster is added: + +- Attributes, commands, and events for the cluster are added to your application’s data model. +- Code is generated for attribute storage, command handling, and event notification. +- Callback stubs are generated for you to implement application-specific behavior. +- You interact with the cluster by filling in these stubs and using the generated data structures. + +Additionally, a corresponding component is automatically added to your project. This occurs because enabling a cluster in ZAP updates your project configuration to include the necessary software components and libraries required to support that cluster’s functionality. For clusters, this functionality is implemented in the `/third_party/matter_sdk/src/app/clusters` directory. For the On/Off cluster, the server command handlers and related logic can be found in the `/on-off-server/on-off-server.cpp` file. + +## Step 4: Add Application Logic + +Locate your project's `src/AppTask.cpp` file. This file acts as the central hub for application-specific logic, initialization, and event processing in a Matter application on Silicon Labs platforms. Start by adding two helper functions: a one-shot timer to expire in 10 seconds and the `OnOffTmrExpiryHandler` handler function. + +```C++ +#include "app-common/zap-generated/attributes/Accessors.h" +#include "timers.h" +TimerHandle_t OnOffAttributeChangeTimer; + +void OnOffTmrExpiryHandler(TimerHandle_t xTimer){ + static bool current_state = 1; // Initialize as on + current_state ^= 1; // Toggle the current state of OnOff on timer expiry + SILABS_LOG("OnOff attribute toggled to %d", current_state); + chip::app::Clusters::OnOff::Attributes::OnOff::Set(1, current_state); // Modify the attribute +} + +void OnOffTmrStart(){ + + // Initiate timer + OnOffAttributeChangeTimer = xTimerCreate("OnOffTmr", // timer name + pdMS_TO_TICKS(10000), // == default timer period (mS) + false, // no timer reload (==one-shot) + nullptr, // init timer id = app task obj context + OnOffTmrExpiryHandler); // timer callback handler + + xTimerStart(OnOffAttributeChangeTimer, 1); // Start timer +} +``` + +Make sure to include `app-common/zap-generated/attributes/Accessors.h` in your `AppTask.cpp` file so you can access cluster attributes. + +Next we will need an AppTask function to initiate the timer. Add the following function to your AppTask.cpp file: + +```C++ +void AppTask::OnOffAttributeWriteStartTimer() +{ + OnOffTmrStart(); +} +``` + +This function will have to be defined in AppTask.h as well as part of the AppTask class. + +Now, locate the `MatterPostAttributeChangeCallback()` function in the `src/DataModelCallbacks.cpp` file. This function is invoked by the application framework after an attribute value has been changed. Because you are modifying the OnOff attribute in the `OnOffTmrExpiryHandler()` function, use this callback to re-initiate the timer so that the attribute continues to toggle. To achieve this, call `AppTask::OnOffAttributeWriteStartTimer()`, which is part of the AppTask context. + +To implement this functionality, first obtain the AppTask instance using `AppTask::GetAppTask()`. Modify the `MatterPostAttributeChangeCallback()` function as shown below: + +```C++ +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t type, uint16_t size, + uint8_t * value) +{ + ClusterId clusterId = attributePath.mClusterId; + AttributeId attributeId = attributePath.mAttributeId; + + // Auto-generated code + + if (clusterId == OnOff::Id && attributeId == OnOff::Attributes::OnOff::Id){ + AppTask::GetAppTask().OnOffAttributeWriteStartTimer(); + } + +} +``` +Make sure to #include "AppTask.h" at the top of the `DataModelCallbacks.cpp` file to call the `AppTask::GetAppTask()` function. For more information on the AppTask, refer to AppTask.h. + +Finally, add a call to `OnOffTmrStart()` at the end of the `AppTask::AppInit()` function to start the attribute write sequence. The following image illustrates the code flow: + +![Code Flow](./images/ClusterLogic6.jpg) + +In the flowchart above, `OnOffAttributeWriteStartTimer()` calls `OnOffTmrStart()` to restart the timer. + +## Step 5: Interact with the On/Off Cluster + +After building your project, flash the compiled firmware onto your target board. Once the device is running, you should observe log messages approximately every 10 seconds indicating that the OnOff cluster's OnOff attribute is being written to. This confirms that the cluster is active and functioning as expected. + +Next, commission the device to a Matter hub and begin interacting with the OnOff cluster. To do this, follow the instructions in the **Creating the Matter Network** section of the [Silicon Labs Matter Light Switch Example Guide](https://docs.silabs.com/matter/2.6.0/matter-light-switch-example/02-thread-light-switch-example#creating-the-matter-network). + +Once the custom Door Lock node is successfully commissioned to the network, you can read the value of the OnOff attribute using the following command: + +``` +mattertool onoff read on-off 1 +``` + +Replace with the actual node ID assigned to your device during commissioning. \ No newline at end of file diff --git a/sld601-matter-application-development/matter-scenes-quick-start-guide.md b/sld601-matter-application-development/matter-scenes-quick-start-guide.md index d2042ca..d6ac0cd 100644 --- a/sld601-matter-application-development/matter-scenes-quick-start-guide.md +++ b/sld601-matter-application-development/matter-scenes-quick-start-guide.md @@ -165,9 +165,9 @@ public: ### Step 3 Implement Callbacks -Make the following additions to the src/ZclCallbacks.cpp file: +Make the following additions to the src/DataModelCallbacks.cpp file: -:::collapsed{summary="Click to expand and view the ZclCallbacks.cpp file"} +:::collapsed{summary="Click to expand and view the DataModelCallbacks.cpp file"} ```c++ // Color Transformer #include "ColorTransformer.h" @@ -192,7 +192,7 @@ bool xyFlag = false; ``` ::: -Then, inside `MatterPostAttributeChangeCallback` in _src/ZclCallbacks.cpp_, implement the on/off functionality of the LED: +Then, inside `MatterPostAttributeChangeCallback` in _src/DataModelCallbacks.cpp_, implement the on/off functionality of the LED: ```c++ if (clusterId == OnOff::Id && attributeId == OnOff::Attributes::OnOff::Id)