Some capabilities of the Home APIs for
Android
vary depending on the state of network connectivity and the presence of a hub.

Table 1 and Table 2 indicate which use cases work under different conditions for
different types of devices.

- *Local* refers to a situation where a user is running a controller such as Google Home app (GHA) or a third-party app on the same Wi-Fi network as the device (in other words, when they're in their home).
- *Remote* means that the user is either:
  - Running a controller such as GHA or a third-party app on a separate Wi-Fi network (in other words, when they're away from home), or
  - Using Google Home for web.

| Use Case | Matter Device Type || Cloud Device Type ||
| Use Case | Local | Remote | Local | Remote |
| Use Case |
|---|:---:|:---:|:---:|:---:|
| Commission and add device | Yes | No | n/a | n/a |
| Add device | n/a | n/a | Yes | Yes |
| View device state | Yes | Yes | Yes | Yes |
| Control device | Yes | Yes | Yes | Yes |
| Create automation with device | Yes | Yes | Yes | Yes |
| Run automation with device | Yes | Yes | Yes | Yes |
| View camera local media stream | Yes | n/a | n/a | n/a |
[*Table 1: Home APIs connectivity capabilities when the hub is ONLINE*]

| Use Case | Matter Device Type || Cloud Device Type ||
| Use Case | Local | Remote | Local | Remote |
| Use Case |
|---|:---:|:---:|:---:|:---:|
| Commission and add device | No | No | n/a | n/a |
| Add device | n/a | n/a | Yes | Yes |
| View device state | Yes | No | Yes | Yes |
| Control device | Yes | No | Yes | Yes |
| Create automation with device | Yes | Yes | Yes | Yes |
| Run automation with device | No | No | Yes | Yes |
| Assign device to different room | No | No | Yes | Yes |
| Remove device | No | No | Yes | Yes |
| View camera local media stream | No | n/a | n/a | n/a |
[*Table 2: Home APIs connectivity capabilities when the hub is OFFLINE*]

## Troubleshooting

The following table enumerates how to address issues arising in various
hub-related scenarios:

| Scenario || Expected behavior || Recommended User Action |
| Matter device state | Hub state | Device Control | Automation | Recommended User Action |
|:---:|---|:---:|---|---|
| ONLINE-PEER or ONLINE-REMOTE | ONLINE (only one valid state) | Yes | Yes | No remediation action required. |
| ONLINE-DIRECT | No hub | Yes | No | Add a hub to the structure and ensure it's on the Wi-Fi network. |
| ONLINE-DIRECT | ONLINE | Yes | No | Configure the hub to use the same Wi-Fi network used by the phone. Alternatively, add a new hub to the structure and ensure it's on the Wi-Fi network. |
| ONLINE-DIRECT | OFFLINE | Yes | No | Ensure the hub is plugged in. |
| OFFLINE | No hub | No | No | - If the user is away from home, this is expected. Add a [supported hub](https://developers.home.google.com/apis/android/sdk.md.txt#supported_hubs) to the home to control devices remotely and set up automations. - If the user is home, ensure the device is plugged in and the phone is connected to the same Wi-Fi as the Matter device. |
| OFFLINE | ONLINE | No | No | Ensure the device is plugged in. |
| OFFLINE | OFFLINE | No | No | Ensure the hub is plugged in. |
[*Table: Troubleshooting scenarios*]