There are currently 4 implementations of the CHIP device controller with varying support for certain CHIP features.
The iOS chip-tool is located in ../darwin/CHIPTool.
The Android chip-tool is located in ../../examples/android/CHIPTool.
The POSIX CLI chip-tool is located in ../../examples/chip-tool.
The POSIX CLI chip-tool is located in ../../examples/darwin-framework-tool.
The Python CHIP Controller library is located in ../controller/python/.
| Onboarding | iOS | Android | CLI | Python |
|---|---|---|---|---|
| Setup code | y? | n | y | y |
| QR code | y | y | n | n |
| NFC | y | y | n | n |
| Provisioning | iOS | Android | CLI | Python |
|---|---|---|---|---|
| Soft-AP | y | n | y | y |
| WiFi-BLE | y? | y | y | y |
| Thread-BLE | n(*0) | y(*1) | n | y(*1) |
| Commands/Clusters | iOS | Android | CLI | Python |
|---|---|---|---|---|
| Echo Client | y? | y | y | y |
| On/Off Client | y | y | y | y |
| LevelControl Client | ? | y | y | y |
| Identify Client | ? | n(*2) | y | y |
| Scene Client | n? | n(*2) | y | y |
| Group Client | n? | n(*2) | y | y |
| Binding Client | n? | n(*2) | y | y |
| Attributes/Clusters | iOS | Android | CLI | Python |
|---|---|---|---|---|
| Read | n | n(*2) | y | y |
| Write | n | n(*2) | y | n |
| iOS | Android | CLI | Python | |
|---|---|---|---|---|
| Multiple Devices | y | n | ? | y |
Notes:
(*0) https://github.com/project-chip/connectedhomeip/pull/4829
(*1) Only static commissioning, not MeshCoP.
(*2) Locally a patch exists, could be upstreamed.