Retrieving Devices or Access Control Systems Connected Through a Connect Webview

Learn how to retrieve the set of devices or ACS that your app user connected to Seam through a specific Connect Webview.

When your app user completes a Connect Webview authorization flow successfully, the resulting connected_account.connected event includes a connected_account_id. Also, once the connection is successful, the connect_webview object includes the connected_account_id.

The first step in controlling connected devices or a connected ACS is to retrieve the newly-connected set of devices or ACS.


Retrieve Connected Devices

Use this connected_account_id in a List Devices command to retrieve the devices that your user has just connected to Seam.

If you set wait_for_device_creation to false when creating the Connect Webview, you should wait for the connected_account.completed_first_sync event before retrieving the user's devices. This event indicates that Seam has finished the first sync of the connected account and the devices are now available.

Code:

# Retrieve all devices for the connected_account_id.
connected_devices = seam.devices.list(
  connected_account_id="11111111-1111-1111-1111-222222222222"
)

Output:

[
  Device(
    connected_account_id='11111111-1111-1111-1111-222222222222',
    device_id='11111111-1111-1111-1111-444444444444',
    display_name='Front Door Lock',
    is_managed=True,
    ...
  ),
  ...
]

Retrieve a Connected Access Control System

Use this connected_account_id in a List Systems command to retrieve the ACS that your user has just connected to Seam.

If you set wait_for_device_creation to false when creating the Connect Webview, you should wait for the connected_account.completed_first_sync event before retrieving the user's ACS. This event indicates that Seam has finished the first sync of the connected account and the acs_system is now available.

Code:

# Retrieve all acs_systems for the connected_account_id.
connected_acs_systems = seam.acs.list(
  connected_account_id="11111111-1111-1111-2222-111111111111"
)

Output:

[
  AcsSystem(
    connected_account_ids=[
      '11111111-1111-1111-2222-111111111111'
    ],
    acs_system_id='11111111-1111-1111-1111-111111111111',
    name='My ACS',
    ...
  ),
  ...
]

Last updated

Logo

© Seam Labs, Inc. All rights reserved.