Smart Home Locator Trait Schema

action.devices.traits.Locator - This trait is used for devices that can be "found". This includes phones, robots (including vacuums and mowers), drones, and tag-specific products that attach to other devices.

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

Device ATTRIBUTES

None. All 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 partner/device (for example, to say whether it is beeping).

Sample SYNC Request and Response

Request
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.SYNC"
  }]
}
Response
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [{
      "id": "123",
      "type": "action.devices.types.VACUUM",
      "traits": [
        "action.devices.traits.Locator"
      ],
      "name": {
        "defaultNames": ["Smart Vacuum"],
        "name": "SmartVac",
        "nicknames": ["Vac"]
      },
      "willReportState": false,
      "deviceInfo": {
        "manufacturer": "Smart Home Provider",
        "model": "g1340",
        "swVersion": "1.0.31",
        "hwVersion": "1.1"
      },
      "customData": {
        "smartHomeProviderId": "fiGgZ0vrhFRgwf5XJkna2GRwO8z80J"
      }
    }]
  }
}
Validator

Device STATES

None.

Sample QUERY Request and Response

Locator does not support QUERY requests.

Device COMMANDS

Command Parameters/Definition
action.devices.commands.Locate silent Boolean. Default is false. For use on devices that make an audible response on Locate and report information. If set to true, should silence an already in-progress alarm if one is occurring.
lang String. Default is "en". Current language of query/display, for return of localized location strings if needed (see Supported Languages/Language Codes).
Response Parameter Definition
generatedAlertBoolean. Set to true if an alert (audible or visible) was successfully generated on the device.
Devices that cannot be found when this command is called may return an offline error.

Sample EXECUTE Request and Response

Where are my keys? (for a keychain with a locator device)
Request
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123",
          "customData": {
            "fooValue": 74,
            "barValue": true,
            "bazValue": "lambtwirl"
          }
        }],
        "execution": [{
          "command": "action.devices.commands.Locate",
          "params": {
            "silent": false,
            "lang": "en
          }
        }]
      }]
    }
  }]
}
Response
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "SUCCESS",
      "states": {
        "generatedAlert": true
      }
    }]
  }
}

For this example, text-to-speech would be similar to the following:

Okay, locating the keys.