# Examples

The Matter SDK provides examples of Matter devices for different development
platforms.

## Air Quality Sensor example

```{toctree}
:glob:
:maxdepth: 1

air-quality-sensor-app/**/README
```

## All clusters example

```{toctree}
:glob:
:maxdepth: 1

all-clusters-app/**/README
```

## All clusters minimal example

```{toctree}
:glob:
:maxdepth: 1

all-clusters-minimal-app/**/README
```

## Bridge example

```{toctree}
:glob:
:maxdepth: 1

bridge-app/**/README
```

## Contact Sensor Example

```{toctree}
:glob:
:maxdepth: 1

contact-sensor-app/**/README
```

## CHEF example

```{toctree}
:glob:
:maxdepth: 1

chef/README*
chef/**/README
```

## CHIP Tool example

```{toctree}
:glob:
:maxdepth: 1

chip-tool/README
```

## CHIP Tool Darwin example

```{toctree}
:glob:
:maxdepth: 1

darwin-framework-tool/README
```

## Energy Management example

```{toctree}
:glob:
:maxdepth: 1

energy-management-app/**/README
```

## Fabric Admin example

```{toctree}
:glob:
:maxdepth: 1

fabric-admin/README
```

## Fabric Bridge example

```{toctree}
:glob:
:maxdepth: 1

fabric-bridge-app/**/README
```

## Java matter controller example

```{toctree}
:glob:
:maxdepth: 1

java-matter-controller/README
```

## Kotlin matter controller example

```{toctree}
:glob:
:maxdepth: 1

kotlin-matter-controller/README
```

## Virtual Device App example

```{toctree}
:glob:
:maxdepth: 1

virtual-device-app/**/README
```

## Laundry washer example

```{toctree}
:glob:
:maxdepth: 1

laundry-washer-app/**/README
```

## Lighting example

```{toctree}
:glob:
:maxdepth: 1

lighting-app/**/README
lighting-app/qpg/APPLICATION
```

## Lighting example without unique id

```{toctree}
:glob:
:maxdepth: 1

lighting-app-data-mode-no-unique-id/**/README
```

## Light switch example

```{toctree}
:glob:
:maxdepth: 1

light-switch-app/**/README
light-switch-app/qpg/APPLICATION
```

## Lock example

```{toctree}
:glob:
:maxdepth: 1

lock-app/**/README
lock-app/qpg/APPLICATION
```

## Log source example

```{toctree}
:glob:
:maxdepth: 1

log-source-app/**/README
```

## Minimal MDNS example

```{toctree}
:glob:
:maxdepth: 1

minimal-mdns/README
```

## OTA Provider example

```{toctree}
:glob:
:maxdepth: 1

ota-provider-app/**/README
```

## OTA Requestor example

```{toctree}
:glob:
:maxdepth: 1

ota-requestor-app/**/README
```

## Persistent storage example

```{toctree}
:glob:
:maxdepth: 1

persistent-storage/**/README
persistent-storage/**/APPLICATION
```

## Pigweed example

```{toctree}
:glob:
:maxdepth: 1

pigweed-app/**/README
```

## Pump example

```{toctree}
:glob:
:maxdepth: 1

pump-app/**/README
```

## Pump controller example

```{toctree}
:glob:
:maxdepth: 1

pump-controller-app/**/README
```

## Refrigerator example

```{toctree}
:glob:
:maxdepth: 1

refrigerator-app/**/README
```

## Shell example

```{toctree}
:glob:
:maxdepth: 1

shell/README*
shell/**/README
```

## Smoke CO Alarm example

```{toctree}
:glob:
:maxdepth: 1

smoke-co-alarm-app/**/README
```

## Dishwasher example

```{toctree}
:glob:
:maxdepth: 1

dishwasher-app/**/README
```

## Microwave oven example

```{toctree}
:glob:
:maxdepth: 1

microwave-oven-app/**/README
```

## Temperature measurement example

```{toctree}
:glob:
:maxdepth: 1

temperature-measurement-app/**/README
```

## Thermostat example

```{toctree}
:glob:
:maxdepth: 1

thermostat/**/README
thermostat/qpg/APPLICATION
```

## TV example

```{toctree}
:glob:
:maxdepth: 1

tv-app/**/README
```

## TV casting example

```{toctree}
:glob:
:maxdepth: 1

tv-casting-app/**/README
tv-casting-app/APIs.md
```

## Window example

```{toctree}
:glob:
:maxdepth: 1

window-app/**/README
```

## RVC example

```{toctree}
:glob:
:maxdepth: 1

rvc-app/README
```

## Air Purifier Example

```{toctree}
:glob:
:maxdepth: 1

air-purifier-app/**/README
```

## Network Infrastructure Manager example

```{toctree}
:glob:
:maxdepth: 1

network-manager-app/README
```

## Lit ICD example

```{toctree}
:glob:
:maxdepth: 1

lit-icd-app/**/README
```

## Thread Border Router example

```{toctree}
:glob:
:maxdepth: 1

thread-br-app/**/README
```
