Devices
A device that has been connected to Seam
The device
object represents a device that has been connected to Seam.
device
Properties
device
PropertiesThe device
object has the following properties:
Property | Type | Description |
---|---|---|
| String (UUID) Required | Unique identifier for the device. |
| String Required | Type of the device. |
| String Required | Display name for the device. |
| Array of strings Required | Collection of capabilities that the device supports when connected to Seam.
See |
| Object Required | Properties of the device.
See |
| Object Optional | Read-only location information for the device.
See |
| String (UUID) Required | ID of the connected account associated with the device. |
| String (UUID) Required | ID of the workspace that contains the device. |
| Array of objects Required | Array of errors associated with the device. Each error object within the array contains two fields:
|
| Array of objects Required | Array of warnings associated with the device. Each warning object within the array contains two fields:
|
| String (datetime) Required | Date and time at which the device object was created. |
| Boolean Required | Indicates whether Seam manages the device. |
| JSON object Optional | Set of Specify up to 50 keys, with key names up to 40 characters long. Accepts string or Boolean values. Strings are limited to 500 characters. |
| Boolean Optional | Indicates whether the device can perform a remote unlock operation. See Capability Flags. |
| Boolean Optional | Indicates whether the device can perform a remote lock operation. See Capability Flags. |
| Boolean Optional | Indicates whether the device can program online access codes. See Capability Flags. |
| Boolean Optional | Indicates whether the device can program offline access codes. See Capability Flags. |
capabilities_supported
Values
capabilities_supported
ValuesSuperseded by capability flags.
Capability | Description |
---|---|
| If present, you can set access codes on the device. |
| If present, you can look at the |
| If present, you can introspect some parameters related to the health of the device. |
| If present, you can lock and unlock the device. |
| If present, the device can issue noise alerts when noise thresholds are exceeded. |
| If present, the device can regulate the temperature of a system so that the temperature of the system is maintained near a desired set point temperature. |
device.properties
Properties
device.properties
PropertiesProperty | Type | Description |
---|---|---|
| Boolean Required | Indicates whether the device is online. |
| Object Optional | Accessory keypad state. See |
| Object Required | Appearance-related properties, including the read-only |
| Object Required | Device model properties. See |
| Boolean Optional | Indicates whether the device has direct power. |
| Number Required | Indicates the battery level of the device as a decimal value between 0 and 1, inclusive.
If the device is offline, Seam does not return this property.
Deprecated. Use |
| Object Optional | Device battery properties. If the device is offline, Seam does not return this property.
See Device |
| String Optional | Manufacturer of the device. See Device Manufacturers. |
| String (URL) Optional | Image URL for the device or placeholder image URL if a device-specific image is unavailable. |
| String Optional | Alternative text for the device image. |
| String Optional | Serial number of the device. |
| Boolean Optional | Indicates whether it is currently possible to use online access codes for the device.
Superseded by the |
| Boolean Optional | Indicates whether it is currently possible to use offline access codes for the device.
Superseded by the |
| Boolean Optional | Indicates whether the device is locked. Applicable to locks. If the device is offline, Seam does not return this property. |
| Object Optional | |
| Boolean Optional | Indicates whether the door is open. Applicable to locks. If the device is offline, Seam does not return this property. |
| Array of objects Optional | Constraints on access codes that can be set on the device. Applicable to devices that support access codes. See Access Code Constraints. |
| Array of numbers Optional | Supported code lengths for the device. For example, |
| Number Optional | Maximum number of codes that can exist on the device at one time. Applicable to devices that support access codes. |
| Boolean Optional | Indicates whether the device supports backup access code pools. Applicable to devices that support access codes. |
| Number Required | Temperature, measured in Fahrenheit. Applicable to thermostats. |
| Number Required | Temperature, measured in Celsius. Applicable to thermostats. |
| Number Required | Relative humidity, the amount of moisture in the air compared to the maximum amount of moisture the air can hold at a given temperature. It is a percentage expressed as a number between |
| Array of enums (strings) | List of the available HVAC modes for the thermostat. Possible values:
Applicable to thermostats. |
| Boolean Required | Indicates whether the heating system is currently heating. Applicable to thermostats. |
| Boolean Required | Indicates whether the cooling system is currently cooling. Applicable to thermostats. |
| Boolean Required | Indicates whether the fan is currently running. Applicable to thermostats. |
| Enum (string) Required | Fan mode of the thermostat. Possible values:
Applicable to thermostats. |
| Boolean Required | Indicates whether the current thermostat settings differ from the configured |
| Object Required | Current climate setting for the thermostat. Can only be overridden manually if |
| Number Required | Minimum cooling set point that this thermostat supports, measured in Celsius. Applicable to thermostats. |
| Number Required | Minimum cooling set point that this thermostat supports, measured in Fahrenheit. Applicable to thermostats. |
| Number Required | Maximum cooling set point that this thermostat supports, measured in Celsius. Applicable to thermostats. |
| Number Required | Maximum cooling set point that this thermostat supports, measured in Fahrenheit. Applicable to thermostats. |
| Number Required | Minimum heating set point that this thermostat supports, measured in Celsius. Applicable to thermostats. |
| Number Required | Minimum heating set point that this thermostat supports, measured in Fahrenheit. Applicable to thermostats. |
| Number Required | Maximum heating set point that this thermostat supports, measured in Celsius. Applicable to thermostats. |
| Number Required | Maximum heating set point that this thermostat supports, measured in Fahrenheit. Applicable to thermostats. |
| Number Required | Minimum temperature difference—that is, delta—in degrees Celsius between the cooling and heating set points when in heat-cool (auto) mode. Applicable to thermostats. |
| Number Required | Minimum temperature difference—that is, delta—in degrees Fahrenheit between the cooling and heating set points when in heat-cool (auto) mode. Applicable to thermostats. |
| Object | Manufacturer-specific metadata for the device, where |
location
Properties
location
PropertiesProperty | Type | Description |
---|---|---|
| String | Read-only name of the device location. |
| String | Read-only time zone of the device location, as a name from the IANA time zone database. |
accessory_keypad
Properties
accessory_keypad
PropertiesProperty | Type | Description |
---|---|---|
| Boolean Required | Indicates whether the accessory keypad is connected to the device. |
| Object Optional | Keypad battery properties. See Keypad |
Keypad battery
Properties
battery
PropertiesProperty | Type | Description |
---|---|---|
| Number Required | Indicates the battery level of the keypad as a decimal value between |
keypad_battery
Properties
keypad_battery
PropertiesProperty | Type | Description |
---|---|---|
| Number Required | Indicates the battery level of the keypad as a decimal value between |
model
Properties
model
PropertiesProperty | Type | Description |
---|---|---|
| Boolean Optional | Indicates whether the device can connect a accessory keypad. |
| String Required | Display name of the device model. |
| String Required | Display name that corresponds to the manufacturer-specific terminology for the device. |
| Boolean Optional | Indicates whether the device has a built in accessory keypad. |
| Boolean Optional | Indicates whether the device supports offline access codes.
Superseded by the |
| Boolean Optional | Indicates whether the device supports online access codes.
Superseded by the |
| Boolean Optional | Indicates whether the device supports an accessory keypad.
Deprecated. Use |
Device battery
Properties
battery
PropertiesIf the device is offline, Seam does not return these properties.
Property | Type | Description |
---|---|---|
| Number Required | Indicates the battery level of the device as a decimal value between |
| Enum (string) Required | Represents the current status of the battery charge level. Values are:
|
Thermostat climate_setting
Properties
climate_setting
PropertiesProperty | Type | Description |
---|---|---|
| Enum (string) Required | HVAC mode to which the thermostat is set. Possible values:
|
| Number Optional | The cooling set point, measured in Celsius, if cooling is turned on. When the ambient temperature rises above this set point, cooling turns on. |
| Number Optional | The heating set point, measured in Celsius, if heating is turned on. When the ambient temperature drops below this set point, heating turns on. |
| Number Optional | The cooling set point, measured in Fahrenheit, if cooling is turned on. When the ambient temperature rises above this set point, cooling turns on. |
| Number Optional | The heating set point, measured in Fahrenheit, if heating is turned on. When the ambient temperature drops below this set point, heating turns on. |
| Boolean Required | Indicates whether another user can use the thermostat or API to override this climate setting. |
Device Error Types
Errors are returned in a list. For example:
Generic Errors
Seam recommends adding error handling logic to you app for each generic error in this table. Seam may add more generic errors in the future, so your app should include a fallback case if it encounters an unknown generic error code.
Error Type | Description |
---|---|
| Device is disconnected. |
| Device has been removed from the connected account. Seam can no longer sync with this device. |
| The hub that the device is connected to is offline. Seam is unable to sync updates to this device. |
Specific Errors
When Seam is able to provide more specific information beyond one of the generic errors, one or more errors from the list of specific errors may appear. This gives your app the option to display additional context or suggest provider specific resolutions.
If the connected account associated with a device has an error, it is attached to the device alongside any other device errors. Treat these errors as specific errors. See Connected Account Error Types.
Error Type | Description |
---|---|
| Missing device credentials. Create a new Connect Webview to provide the credentials. |
| The lock is not paired with a gateway. Seam cannot unlock or program access codes on the lock. Add a gateway to enable support. |
Device Warning Types
Warnings are returned in a list. For example:
Warning Type | Description |
---|---|
| Device has a flaky connection to the internet. |
| We detected that another third-party service (for example, Operto) is being used to manage this device. This situation may cause access codes that Seam sets to fail because the third-party service is making modifications to Seam codes. |
| Lock is in office mode. Access codes will not unlock doors. You can disable office mode in the Salto dashboard. |
| Lock is in privacy mode. Access Codes will not unlock doors. You can disable privacy mode by pressing the back of the lock. |
| Turn on the remote unlock feature in the lock settings to enable unlocks. This feature must be turned on from the mobile app while near the door lock. |
Device Manufacturers
On some account types, Seam provides additional information about the manufacturer of the door lock. Where the device is being connected through a smart hub, the manufacturer of the door lock might be different from that of the smart hub.
Device Providers
Seam maintains a list of device providers that you can access using the List Device Providers endpoint.
The device_provider
object includes the following information:
Property | Type | Description |
---|---|---|
| String | Name of the device provider. For example: |
| String | Formatted version of the For example: |
| String | Image URL for the provider logo. |
| Array | Array of associated categories for the provider. Supported categories:
|
| Boolean | Indicates whether at least one supported device from the provider can perform a remote unlock operation. See Capability Flags. |
| Boolean | Indicates whether at least one supported device from the provider can perform a remote lock operation. See Capability Flags. |
| Boolean | Indicates whether at least one supported device from the provider can program online access codes. See Capability Flags. |
| Boolean | Indicates whether at least one supported device from the provider can program offline access codes. See Capability Flags. |
The following example shows a device_provider
object:
Access Code Constraints
Each constraint in the code_constraints
array contains objects with the constraint_type
property. Depending on the constraint type, there may also be additional properties. Note that some constraints are manufacturer or device-specific.
The constraint_type
property can be one of the following enum values:
Constraint Type | Description |
---|---|
|
|
| The PIN code cannot start with the sequence of digits |
| No more than three digits in a row can be consecutive or the same in the PIN code. |
| You cannot specify a PIN code. You must leave the code empty, and the lock provider generates a PIN code. |
| If you specify a PIN code, it must match an existing set of PIN codes used in the account. For example, the PIN code could match the code assigned to a user in the system. |
| For time-bound codes, the start date must be in the future. |
| The PIN code cannot consist of a sequence of consecutive digits. |
| The PIN must contain at least three unique digits. |
| The PIN code cannot contain the digits For example, this restriction could apply to a cylinder lock that only includes the digits |
| The name of the code has some restrictions on length. When the |
| The name of the code must be unique within the device. |
device
Methods
device
MethodsYou can perform the following actions on device
objects:
Last updated