💪Device and System Capabilities

Learn about device and system capabilities, as well as capability flags.

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

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.

PropertyTypeDescription

can_remotely_unlock

Boolean Optional

Indicates whether the device can perform a remote unlock operation.

can_remotely_lock

Boolean Optional

Indicates whether the device can perform a remote lock operation.

can_program_online_access_codes

Boolean Optional

Indicates whether the device can program online access codes. 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.

can_program_offline_access_codes

Boolean Optional

Indicates whether the device can program offline access codes. When this flag is true, Seam can generate an offline code for this device, regardless of the current online status of the device.

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.


Next Steps

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.

Last updated

Logo

© Seam Labs, Inc. All rights reserved.