📋Device and System Capabilities
Learn about device and system capabilities, as well as capability flags.
Last updated
Learn about device and system capabilities, as well as capability flags.
Last updated
© Seam Labs, Inc. All rights reserved.
Each device that you connect to Seam has a specific set of capabilities. These capabilities define the Seam API actions that you can use. For example, some devices support remote unlock actions, while others support programming access codes. Some devices support both of these capabilities. When developing your application, it is imperative to be able to identify the capabilities of each device.
For example, if a device supports programming online access codes, your app can present the CreateAccessCodeForm
Seam Component to your user. On the other hand, if a connected device does not support the remote unlock action, you'll likely want to disable or not display the unlock functionality for your app user.
Capability flags inform your application about what features and behaviors each device supports. That is, you can use capability flags to match devices to the requirements for operations within your app. These flags also compare the capabilities of a specific device instance with those of the device model in general.
All capability flags share the following behavior:
If true
, the device has this capability, and this capability is functional on this device instance.
If false
, the device has this capability, but the capability is not currently functional.
See the device errors and warnings for more details about the cause of this issue. You can also examine the properties of the device and events related to the device to learn more about the cause of this issue.
If not present, the device does not have this capability.
Reasons why a capability flag might be false
could include that the device is currently offline or that a required hardware accessory is not connected to the device.
Seam recommends adding capability checks before performing specific actions in your app. For example, before performing a remote unlock operation, you can check to make sure that the target device supports remote unlocking. For details and code samples, see the corresponding capability guides.
In addition to viewing the capabilities for a specific device, you can also view the capabilities for a provider using List Device Providers. If at least one supported device from a provider has a specific capability, the corresponding capability flag is true
.
device.can_remotely_unlock
Boolean Optional
device.can_remotely_lock
Boolean Optional
device.can_program_online_access_codes
Boolean Optional
device.can_program_offline_access_codes
Boolean Optional
device.can_hvac_heat
Boolean Optional
device.can_hvac_cool
Boolean Optional
device.can_hvac_heat_cool
Boolean Optional
device.can_turn_off_hvac
Boolean Optional
Seam is actively developing additional capability flags to provide you with even more robust capability checking abilities for your app. If you would like us to add a specific capability flag, contact support@seam.co.
To learn about the actions that you can perform using the Seam API, see the Seam capability guides. These guides provide helpful tutorials and code samples, categorized by capability types.
Smart locks, including locking/unlocking and managing access codes
Indicates whether the device can perform a .
Indicates whether the device can perform a .
Indicates whether the device can .
If true
, it is currently possible to create new online access codes for the device, and Seam programs the device the next time it's online.
Indicates whether the device can .
When this flag is true
, Seam can generate an offline code for this device, regardless of the current online status of the device.
Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports .
When this flag is true
, you can .
Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports .
When this flag is true
, you can .
Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports .
When this flag is true
, you can .
Indicates whether the thermostat device (in conjunction with the associated HVAC system) supports .
When this flag is true
, you can , which turns off both the heating and cooling systems for the space.