diff --git a/libraries/Matter/examples/MatterColorLight/README.md b/libraries/Matter/examples/MatterColorLight/README.md index 03a5928cd27..4d9e39e4f75 100644 --- a/libraries/Matter/examples/MatterColorLight/README.md +++ b/libraries/Matter/examples/MatterColorLight/README.md @@ -159,6 +159,12 @@ The MatterColorLight example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Color Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_color_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterCommissionTest/README.md b/libraries/Matter/examples/MatterCommissionTest/README.md index 52b2b1eb8e6..db5d0e158ea 100644 --- a/libraries/Matter/examples/MatterCommissionTest/README.md +++ b/libraries/Matter/examples/MatterCommissionTest/README.md @@ -146,6 +146,10 @@ The MatterCommissionTest example consists of the following main components: - **No serial output**: Check baudrate (115200) and USB connection - **Device keeps decommissioning**: This is expected behavior - the device automatically decommissions after 30 seconds to allow continuous testing +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterComposedLights/README.md b/libraries/Matter/examples/MatterComposedLights/README.md index cea56d0151a..96446810f9f 100644 --- a/libraries/Matter/examples/MatterComposedLights/README.md +++ b/libraries/Matter/examples/MatterComposedLights/README.md @@ -170,6 +170,14 @@ The MatterComposedLights example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter On/Off Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_on_off_light.html) +- [Matter Dimmable Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_dimmable_light.html) +- [Matter Color Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_color_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterContactSensor/README.md b/libraries/Matter/examples/MatterContactSensor/README.md index 3f7e73b4788..0f54a8f0010 100644 --- a/libraries/Matter/examples/MatterContactSensor/README.md +++ b/libraries/Matter/examples/MatterContactSensor/README.md @@ -167,6 +167,12 @@ The MatterContactSensor example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Contact Sensor Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_contact_sensor.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterDimmableLight/README.md b/libraries/Matter/examples/MatterDimmableLight/README.md index 0879ae2171d..f1381b2641c 100644 --- a/libraries/Matter/examples/MatterDimmableLight/README.md +++ b/libraries/Matter/examples/MatterDimmableLight/README.md @@ -165,6 +165,12 @@ The MatterDimmableLight example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Dimmable Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_dimmable_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterEnhancedColorLight/README.md b/libraries/Matter/examples/MatterEnhancedColorLight/README.md index 59ddc3a2166..100c216cedf 100644 --- a/libraries/Matter/examples/MatterEnhancedColorLight/README.md +++ b/libraries/Matter/examples/MatterEnhancedColorLight/README.md @@ -172,6 +172,12 @@ The MatterEnhancedColorLight example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Enhanced Color Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_enhanced_color_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterEvents/README.md b/libraries/Matter/examples/MatterEvents/README.md index 724e3e73cdb..985fb8748e5 100644 --- a/libraries/Matter/examples/MatterEvents/README.md +++ b/libraries/Matter/examples/MatterEvents/README.md @@ -176,6 +176,10 @@ The MatterEvents example consists of the following main components: - **No serial output**: Check baudrate (115200) and USB connection - **Device keeps decommissioning**: This is expected behavior - the device automatically decommissions after 60 seconds to allow continuous testing and event monitoring +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterFan/README.md b/libraries/Matter/examples/MatterFan/README.md index 89889ace3d6..cae9e15ba5f 100644 --- a/libraries/Matter/examples/MatterFan/README.md +++ b/libraries/Matter/examples/MatterFan/README.md @@ -189,6 +189,12 @@ The MatterFan example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Fan Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_fan.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterHumiditySensor/README.md b/libraries/Matter/examples/MatterHumiditySensor/README.md index 940516a2194..838073093cf 100644 --- a/libraries/Matter/examples/MatterHumiditySensor/README.md +++ b/libraries/Matter/examples/MatterHumiditySensor/README.md @@ -186,6 +186,12 @@ The MatterHumiditySensor example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Humidity Sensor Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_humidity_sensor.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs/README.md b/libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs/README.md index f31732d66d6..62c923e3655 100644 --- a/libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs/README.md +++ b/libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs/README.md @@ -200,6 +200,11 @@ The MatterLambdaSingleCallbackManyEPs example consists of the following main com - **No serial output**: Check baudrate (115200) and USB connection - **Compilation errors with lambda functions**: Ensure you're using a C++11 compatible compiler (ESP32 Arduino Core 2.0+ supports this) +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterMinimum/README.md b/libraries/Matter/examples/MatterMinimum/README.md index a91fa651954..b3687718543 100644 --- a/libraries/Matter/examples/MatterMinimum/README.md +++ b/libraries/Matter/examples/MatterMinimum/README.md @@ -166,6 +166,11 @@ This minimal example can be extended with additional features: - **No serial output**: Check baudrate (115200) and USB connection - **LED not turning on/off**: Ensure the device is commissioned and you're controlling it via a Matter app. The minimal example only responds to Matter controller commands, not local button presses +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterOccupancySensor/README.md b/libraries/Matter/examples/MatterOccupancySensor/README.md index f83dafc4c4f..cb38c63ac6a 100644 --- a/libraries/Matter/examples/MatterOccupancySensor/README.md +++ b/libraries/Matter/examples/MatterOccupancySensor/README.md @@ -262,6 +262,12 @@ The MatterOccupancySensor example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Occupancy Sensor Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_occupancy_sensor.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterOnIdentify/README.md b/libraries/Matter/examples/MatterOnIdentify/README.md index 06d6732466f..ce873f9397f 100644 --- a/libraries/Matter/examples/MatterOnIdentify/README.md +++ b/libraries/Matter/examples/MatterOnIdentify/README.md @@ -208,6 +208,12 @@ The MatterOnIdentify example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter On/Off Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_on_off_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterOnOffLight/README.md b/libraries/Matter/examples/MatterOnOffLight/README.md index 2a2138ca2c7..b973302129a 100644 --- a/libraries/Matter/examples/MatterOnOffLight/README.md +++ b/libraries/Matter/examples/MatterOnOffLight/README.md @@ -176,6 +176,12 @@ The MatterOnOffLight example consists of the following main components: - **Button not toggling light**: Ensure the button is properly connected and the debounce time is appropriate. Check Serial Monitor for "User button released" messages - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter On/Off Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_on_off_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterOnOffPlugin/README.md b/libraries/Matter/examples/MatterOnOffPlugin/README.md index 70db06ff0fb..2603961353c 100644 --- a/libraries/Matter/examples/MatterOnOffPlugin/README.md +++ b/libraries/Matter/examples/MatterOnOffPlugin/README.md @@ -193,6 +193,12 @@ The MatterOnOffPlugin example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter On/Off Plugin Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_on_off_plugin.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterPressureSensor/README.md b/libraries/Matter/examples/MatterPressureSensor/README.md index d18ab9d5198..2f0665067ac 100644 --- a/libraries/Matter/examples/MatterPressureSensor/README.md +++ b/libraries/Matter/examples/MatterPressureSensor/README.md @@ -186,6 +186,12 @@ The MatterPressureSensor example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Pressure Sensor Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_pressure_sensor.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterSmartButton/README.md b/libraries/Matter/examples/MatterSmartButton/README.md index 2928897503f..e7290ba40b3 100644 --- a/libraries/Matter/examples/MatterSmartButton/README.md +++ b/libraries/Matter/examples/MatterSmartButton/README.md @@ -170,6 +170,12 @@ The MatterSmartButton example consists of the following main components: - **No serial output**: Check baudrate (115200) and USB connection - **Multiple clicks registered for single press**: Increase the debounce time in the code if needed +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Generic Switch Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_generic_switch.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterTemperatureLight/README.md b/libraries/Matter/examples/MatterTemperatureLight/README.md index 68a05632192..4eb9432400b 100644 --- a/libraries/Matter/examples/MatterTemperatureLight/README.md +++ b/libraries/Matter/examples/MatterTemperatureLight/README.md @@ -202,6 +202,12 @@ The MatterTemperatureLight example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Color Temperature Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_color_temperature_light.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterTemperatureSensor/README.md b/libraries/Matter/examples/MatterTemperatureSensor/README.md index 017f3ee9abc..9a494aec932 100644 --- a/libraries/Matter/examples/MatterTemperatureSensor/README.md +++ b/libraries/Matter/examples/MatterTemperatureSensor/README.md @@ -201,6 +201,12 @@ The MatterTemperatureSensor example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Temperature Sensor Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_temperature_sensor.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterThermostat/README.md b/libraries/Matter/examples/MatterThermostat/README.md index 8f0a69abe08..2a87f4d93af 100644 --- a/libraries/Matter/examples/MatterThermostat/README.md +++ b/libraries/Matter/examples/MatterThermostat/README.md @@ -225,6 +225,12 @@ The MatterThermostat example consists of the following main components: - **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port erase_flash` - **No serial output**: Check baudrate (115200) and USB connection +## Related Documentation + +- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html) +- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html) +- [Matter Thermostat Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_thermostat.html) + ## License This example is licensed under the Apache License, Version 2.0. diff --git a/libraries/Matter/examples/MatterThreadLight/README.md b/libraries/Matter/examples/MatterThreadLight/README.md deleted file mode 100644 index 3a971b279b5..00000000000 --- a/libraries/Matter/examples/MatterThreadLight/README.md +++ /dev/null @@ -1,242 +0,0 @@ -# Matter Thread Light Example - -This example demonstrates a Matter Light device that uses Thread network commissioning exclusively. Thread is a low-power, mesh networking protocol that's ideal for Matter smart home devices. - -## Features - -- **Thread-only commissioning**: Device can only be commissioned over Thread network -- **On/Off Light control**: Simple light that can be controlled via Matter -- **Automatic fallback**: On non-Thread capable devices, falls back to Wi-Fi -- **Status monitoring**: Displays network and commissioning status -- **Decommissioning support**: Long-press boot button to decommission - -## Hardware Requirements - -### Thread-Capable ESP32 Variants -- **ESP32-H2**: Native Thread support -- **ESP32-C6**: Native Thread support -- **ESP32-C5**: Native Thread support - -### Other ESP32 Variants -- **ESP32, ESP32-S2, ESP32-S3, ESP32-C3**: Will automatically fall back to Wi-Fi commissioning - -## Hardware Setup - -### Basic Setup -``` -ESP32-H2/C6/C5 Board -├── LED (GPIO 2 or LED_BUILTIN) - Visual feedback -└── Boot Button (GPIO 0) - Decommissioning -``` - -### Pin Configuration -- **LED Pin**: Uses `LED_BUILTIN` if available, otherwise GPIO 2 -- **Button Pin**: Uses `BOOT_PIN` (typically GPIO 0) - -## Network Requirements - -### Thread Border Router -To use Thread commissioning, you need a Thread Border Router in your network: - -**Apple HomePod/Apple TV (tvOS 15+)** -``` -- Supports Thread Border Router functionality -- Automatically discovered by Matter controllers -``` - -**Google Nest Hub Max (2nd gen)** -``` -- Built-in Thread Border Router -- Works with Google Home ecosystem -``` - -**OpenThread Border Router** -``` -- Raspberry Pi with Thread radio -- Custom Thread Border Router setup -``` - -## Usage - -### 1. Upload and Monitor -```bash -# Upload the sketch to your ESP32-H2/C6 -# Open Serial Monitor at 115200 baud -``` - -### 2. Check Thread Status -The device will display: -``` -=== Matter Thread Light Status === -Device commissioned: No -Device connected: No -Thread connected: No -Thread commissioning: Enabled -Wi-Fi commissioning: Disabled -Light state: OFF -================================ -``` - -### 3. Commission the Device -Use a Matter controller that supports Thread: - -**Apple Home** -1. Open Home app on iPhone/iPad -2. Tap "Add Accessory" -3. Scan QR code or enter manual pairing code -4. Follow commissioning steps - -**Google Home** -1. Open Google Home app -2. Tap "Add" → "Set up device" -3. Choose "Works with Google" -4. Scan QR code or enter pairing code - -### 4. Control the Light -Once commissioned, you can: -- Turn the light on/off from your Matter controller -- Monitor status in Serial Monitor -- See LED respond to commands - -### 5. Decommission (if needed) -1. Hold the boot button for 5+ seconds -2. Device will reset and become available for commissioning again - -## Serial Output - -### Successful Thread Commissioning -``` -Starting Thread-only Matter Light... -✓ Thread-only commissioning mode enabled -Matter Node is not commissioned yet. -Manual pairing code: 12345678901 -QR code URL: https://... - -This device is configured for Thread commissioning only. -Make sure your Matter controller supports Thread commissioning. - -Waiting for Matter commissioning... -Looking for Thread Border Router... -Thread connected: Yes -Device commissioned: Yes -Light ON -``` - -### Non-Thread Device Fallback -``` -Starting Thread-only Matter Light... -⚠ Thread support not compiled in, using Wi-Fi commissioning -Matter Node is not commissioned yet. -Wi-Fi commissioning: Enabled -``` - -## Troubleshooting - -### Device Not Commissioning -**Problem**: Device stuck on "Waiting for Matter commissioning..." - -**Solutions**: -1. **Check Thread Border Router**: - - Ensure Thread Border Router is online - - Verify controller supports Thread commissioning - -2. **Verify Network**: - - Check Thread network is operational - - Ensure Matter controller is on same network as Border Router - -3. **Reset and Retry**: - - Hold boot button for 5+ seconds to decommission - - Try commissioning again - -### Thread Connection Issues -**Problem**: "Thread connected: No" in status - -**Solutions**: -1. **Border Router Setup**: - - Verify Thread Border Router is functioning - - Check Border Router connectivity - -2. **Device Placement**: - - Move device closer to Thread Border Router - - Ensure no interference with Thread radio - -3. **Thread Network**: - - Verify Thread network credentials - - Check Thread network topology - -### Compilation Issues -**Problem**: Compilation errors related to Thread - -**Solutions**: -1. **ESP-IDF Version**: - ```bash - # Ensure ESP-IDF supports Thread for your board - # Update to latest ESP-IDF if needed - ``` - -2. **Board Configuration**: - ```bash - # Make sure you've selected the correct board - # ESP32-H2/C6/C5 for Thread support - ``` - -## API Reference - -### Network Commissioning Control -```cpp -// Enable Thread-only commissioning -Matter.setNetworkCommissioningMode(false, true); - -// Check Thread commissioning status -bool enabled = Matter.isThreadNetworkCommissioningEnabled(); - -// Check Thread connection -bool connected = Matter.isThreadConnected(); -``` - -### Device Status -```cpp -// Check if device is commissioned -bool commissioned = Matter.isDeviceCommissioned(); - -// Check if device has network connectivity -bool connected = Matter.isDeviceConnected(); -``` - -### Light Control -```cpp -// Set light state -OnOffLight.setOnOff(true); // Turn on -OnOffLight.setOnOff(false); // Turn off - -// Get current state -bool isOn = OnOffLight.getOnOff(); - -// Toggle light -OnOffLight.toggle(); -``` - -## Thread vs Wi-Fi Comparison - -| Feature | Thread | Wi-Fi | -|---------|--------|------| -| **Power Consumption** | Low | Higher | -| **Range** | Mesh network, self-healing | Single point to router | -| **Setup** | Requires Border Router | Direct to Wi-Fi router | -| **Reliability** | High (mesh redundancy) | Depends on Wi-Fi quality | -| **Device Limit** | 250+ devices per network | Limited by router | -| **Security** | Built-in mesh security | WPA2/WPA3 | - -## Related Examples - -- **[SimpleNetworkCommissioning](../SimpleNetworkCommissioning/)**: Basic Wi-Fi/Thread selection -- **[MatterNetworkCommissioning](../MatterNetworkCommissioning/)**: Interactive commissioning control -- **[MatterMinimum](../MatterMinimum/)**: Simplest Wi-Fi-only setup -- **[MatterOnOffLight](../MatterOnOffLight/)**: Wi-Fi-based light with persistence - -## Further Reading - -- [Thread Group Specification](https://www.threadgroup.org/) -- [OpenThread Documentation](https://openthread.io/) -- [Matter Thread Integration Guide](https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/thread_primer.md) -- [ESP32 Thread Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/thread.html)