Matter ESP32 All Clusters Example#
A prototype application that demonstrates device commissioning and cluster control.
Please setup ESP-IDF and CHIP Environment and refer building and commissioning guides to get started.
Cluster control#
onoff#
To use the Client to send Matter commands, run the built executable and pass it the target cluster name, the target command name as well as an endpoint id.
$ ./out/debug/chip-tool onoff on <NODE ID> <ENDPOINT>
The client will send a single command packet and then exit.
levelcontrol#
Usage:
$ ./out/debug/chip-tool levelcontrol move-to-level Level=10 TransitionTime=0 OptionMask=0 OptionOverride=0 <NODE ID> <ENDPOINT>
Multiple Network Interfaces#
The data model of this example includes a secondary NetworkCommissioning Endpoint with another NetworkCommissioning cluster. The Endpoint Id for the secondary NetworkCommissioning Endpoint is 65534. The secondary NetworkCommissioning Endpoint can be used to manage the driver of extra network interface.
For ESP32-C6 DevKits, if CHIP_DEVICE_CONFIG_ENABLE_WIFI
and
CHIP_DEVICE_CONFIG_ENABLE_THREAD
are both enabled, please set
CONFIG_THREAD_NETWORK_ENDPOINT_ID
to 0 and set
CONFIG_WIFI_NETWORK_ENDPOINT_ID
to 65534, which presents that the
NetworkCommissioning cluster in Endpoint 0 will be used for Thread network
driver and the same cluster on Endpoint 65534 will be used for Wi-Fi network
driver. Or vice versa.
For ESP32-Ethernet-Kits, if CHIP_DEVICE_CONFIG_ENABLE_WIFI
and
CHIP_DEVICE_CONFIG_ENABLE_ETHERNET
are both enabled, please set
CONFIG_ETHERNET_NETWORK_ENDPOINT_ID
to 0 and set
CONFIG_WIFI_NETWORK_ENDPOINT_ID
to 65534, which presents that the
NetworkCommissioning cluster in Endpoint 0 will be used for Ethernet network
driver and the same cluster on Endpoint 65534 will be used for Wi-Fi network
driver. Or vice versa.
This demo app illustrates controlling OnOff cluster (Server) attributes of an
endpoint. For ESP32-DevKitC
, ESP32-WROVER-KIT_V4.1
and ESP32C3-DevKitM
, a
GPIO (configurable through STATUS_LED_GPIO_NUM
in main/main.cpp
) is updated
through the on/off/toggle commands from the python-controller
. For M5Stack
,
a virtual Green LED on the display is used for the same.
If you wish to see the actual effect of the commands on ESP32-DevKitC
,
ESP32-WROVER-KIT_V4.1
, you will have to connect an external LED to GPIO
STATUS_LED_GPIO_NUM
. For ESP32C3-DevKitM
, the on-board LED will show the
actual effect of the commands.