Devices

Devices are objects like locks, thermostats, sensors, or cameras. In the Seam API, devices have capabilities that describe the functions that they can perform, as well as online and managed status.

Supported Capabilities

Seam decomposes the ensemble of features that a device provides into one or more capabilities, such as access_codes or thermostat. Seam exposes each capability as a set of APIs that are standardized across brands for ease of integration. For example, an unlock action on a door lock always requires the same API call irrespective of the device brand.

In addition, Seam decomposes a single device capability further into the following three sets of affordances:

  • Actions: Commands that you can issue to the device, such as unlock

  • Properties: The current state of the device, such as the locked status

  • Events: Notifications related to changes in the state of the device, such as an unlocking operation performed with an access code

To retrieve the list of supported capabilities for a specific device, use the capability_supported attribute on the Device object, as follows:

const device = await seam.devices.get({
  device_id: "77208078-6dd7-44e5-a3e4-a2ed3a34efc9"
})
console.log(device.capabilities_supported)
// ['access_code', 'lock']

Last updated

Logo

© Seam Labs, Inc. All rights reserved.