# Smart Home Locator Trait Schema

`action.devices.traits.Locator` - This trait is used for devices that can be found.

Devices can be found via a local indicator (for example, beeping, ringing, or flashing).
Requests to *Find my \[device\]* result in the device attempting to indicate its
location.

All supported grammar varieties (*Find my \[device\]*, *Where is X?*, etc.) will call
location, and the voice response will be formed by the execution response from the
device (for example, to say whether it is beeping).

## Device ATTRIBUTES

None.

## Device STATES

None.

## Device COMMANDS

Devices with this trait may respond to the following
commands as part of the [`EXECUTE`](https://developers.home.google.com/cloud-to-cloud/intents/execute) operation. To learn
more about handling `EXECUTE` intents, see
[Intent fulfillment](https://developers.home.google.com/cloud-to-cloud/integration/query-execute#handle_execute_intents).

### `action.devices.commands.Locate`

Locate the target device by generating a local alert.

#### Parameters

| Parameters | Type | Description |
|---|---|---|
| `silence` | *Boolean* | (Default: `false`) For use on devices that make an audible response for local alerts. If set to true, the device should silence any in-progress alarms. |
| `lang` | *String* | (Default: `"en"`) Current language of query or display, for return of localized location strings if needed. See [supported languages](https://developers.home.google.com/cloud-to-cloud/traits#supported-languages). |

#### Examples

*Find my device.*

```
{
  "command": "action.devices.commands.Locate",
  "params": {
    "silence": false
  }
}
```

*Stop locating my device.*

```
{
  "command": "action.devices.commands.Locate",
  "params": {
    "silence": true
  }
}
```

> [!NOTE]
> **Note:** Devices that cannot be found when this command is called may return a `deviceOffline` error.

## Device ERRORS

See the full list of [errors and exceptions](https://developers.home.google.com/cloud-to-cloud/intents/errors-exceptions).