Class: Seam::Resources::Device

Inherits:
BaseResource show all
Defined in:
lib/seam/resources/device.rb

Overview

Represents a device that has been connected to Seam.

Defined Under Namespace

Classes: DeviceManufacturer, DeviceProvider, Errors, Location, Properties, Warnings

Instance Attribute Summary collapse

Attributes inherited from BaseResource

#client, #data

Instance Method Summary collapse

Methods inherited from BaseResource

#[], aliased_accessor, attribute_aliases, date_accessor, discriminated_by, #initialize, #inspect, load_from_response, resource_accessor, resource_accessors, resource_list_accessor, resource_list_accessors, #update_from_response

Constructor Details

This class inherits a constructor from Seam::Resources::BaseResource

Instance Attribute Details

#can_configure_auto_lockBoolean?

Indicates whether the lock supports configuring automatic locking.

Returns:

  • (Boolean, nil)


2600
2601
2602
# File 'lib/seam/resources/device.rb', line 2600

def can_configure_auto_lock
  @can_configure_auto_lock
end

#can_hvac_coolBoolean?

Indicates whether the thermostat supports cooling.

Returns:

  • (Boolean, nil)


2603
2604
2605
# File 'lib/seam/resources/device.rb', line 2603

def can_hvac_cool
  @can_hvac_cool
end

#can_hvac_heatBoolean?

Indicates whether the thermostat supports heating.

Returns:

  • (Boolean, nil)


2606
2607
2608
# File 'lib/seam/resources/device.rb', line 2606

def can_hvac_heat
  @can_hvac_heat
end

#can_hvac_heat_coolBoolean?

Indicates whether the thermostat supports simultaneous heating and cooling.

Returns:

  • (Boolean, nil)


2609
2610
2611
# File 'lib/seam/resources/device.rb', line 2609

def can_hvac_heat_cool
  @can_hvac_heat_cool
end

#can_program_offline_access_codesBoolean?

Indicates whether the device supports programming offline access codes.

Returns:

  • (Boolean, nil)


2612
2613
2614
# File 'lib/seam/resources/device.rb', line 2612

def can_program_offline_access_codes
  @can_program_offline_access_codes
end

#can_program_online_access_codesBoolean?

Indicates whether the device supports programming online access codes.

Returns:

  • (Boolean, nil)


2615
2616
2617
# File 'lib/seam/resources/device.rb', line 2615

def can_program_online_access_codes
  @can_program_online_access_codes
end

#can_program_thermostat_programs_as_different_each_dayBoolean?

Indicates whether the thermostat supports different climate programs for each day of the week.

Returns:

  • (Boolean, nil)


2618
2619
2620
# File 'lib/seam/resources/device.rb', line 2618

def can_program_thermostat_programs_as_different_each_day
  @can_program_thermostat_programs_as_different_each_day
end

#can_program_thermostat_programs_as_same_each_dayBoolean?

Indicates whether the thermostat supports a single climate program applied to every day.

Returns:

  • (Boolean, nil)


2621
2622
2623
# File 'lib/seam/resources/device.rb', line 2621

def can_program_thermostat_programs_as_same_each_day
  @can_program_thermostat_programs_as_same_each_day
end

#can_program_thermostat_programs_as_weekday_weekendBoolean?

Indicates whether the thermostat supports weekday/weekend climate programs.

Returns:

  • (Boolean, nil)


2624
2625
2626
# File 'lib/seam/resources/device.rb', line 2624

def can_program_thermostat_programs_as_weekday_weekend
  @can_program_thermostat_programs_as_weekday_weekend
end

#can_remotely_lockBoolean?

Indicates whether the device supports remote locking.

Returns:

  • (Boolean, nil)


2627
2628
2629
# File 'lib/seam/resources/device.rb', line 2627

def can_remotely_lock
  @can_remotely_lock
end

#can_remotely_unlockBoolean?

Indicates whether the device supports remote unlocking.

Returns:

  • (Boolean, nil)


2630
2631
2632
# File 'lib/seam/resources/device.rb', line 2630

def can_remotely_unlock
  @can_remotely_unlock
end

#can_run_thermostat_programsBoolean?

Indicates whether the thermostat supports running climate programs.

Returns:

  • (Boolean, nil)


2633
2634
2635
# File 'lib/seam/resources/device.rb', line 2633

def can_run_thermostat_programs
  @can_run_thermostat_programs
end

#can_simulate_connectionBoolean?

Indicates whether the device supports simulating connection in a sandbox.

Returns:

  • (Boolean, nil)


2636
2637
2638
# File 'lib/seam/resources/device.rb', line 2636

def can_simulate_connection
  @can_simulate_connection
end

#can_simulate_disconnectionBoolean?

Indicates whether the device supports simulating disconnection in a sandbox.

Returns:

  • (Boolean, nil)


2639
2640
2641
# File 'lib/seam/resources/device.rb', line 2639

def can_simulate_disconnection
  @can_simulate_disconnection
end

#can_simulate_hub_connectionBoolean?

Indicates whether the hub supports simulating connection in a sandbox.

Returns:

  • (Boolean, nil)


2642
2643
2644
# File 'lib/seam/resources/device.rb', line 2642

def can_simulate_hub_connection
  @can_simulate_hub_connection
end

#can_simulate_hub_disconnectionBoolean?

Indicates whether the hub supports simulating disconnection in a sandbox.

Returns:

  • (Boolean, nil)


2645
2646
2647
# File 'lib/seam/resources/device.rb', line 2645

def can_simulate_hub_disconnection
  @can_simulate_hub_disconnection
end

#can_simulate_paid_subscriptionBoolean?

Indicates whether the device supports simulating a paid subscription in a sandbox.

Returns:

  • (Boolean, nil)


2648
2649
2650
# File 'lib/seam/resources/device.rb', line 2648

def can_simulate_paid_subscription
  @can_simulate_paid_subscription
end

#can_simulate_removalBoolean?

Indicates whether the device supports simulating removal in a sandbox.

Returns:

  • (Boolean, nil)


2651
2652
2653
# File 'lib/seam/resources/device.rb', line 2651

def can_simulate_removal
  @can_simulate_removal
end

#can_turn_off_hvacBoolean?

Indicates whether the thermostat can be turned off.

Returns:

  • (Boolean, nil)


2654
2655
2656
# File 'lib/seam/resources/device.rb', line 2654

def can_turn_off_hvac
  @can_turn_off_hvac
end

#can_unlock_with_codeBoolean?

Indicates whether the lock supports unlocking with an access code.

Returns:

  • (Boolean, nil)


2657
2658
2659
# File 'lib/seam/resources/device.rb', line 2657

def can_unlock_with_code
  @can_unlock_with_code
end

#capabilities_supportedArray<String>

Collection of capabilities that the device supports when connected to Seam. Values are access_code, which indicates that the device can manage and utilize digital PIN codes for secure access; lock, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; noise_detection, which indicates that the device supports monitoring and responding to ambient noise levels; thermostat, which indicates that the device can regulate and adjust indoor temperatures; battery, which indicates that the device can manage battery life and health; and phone, which indicates that the device is a mobile device, such as a smartphone. Important: Superseded by capability flags. Known values:

  • access_code
  • lock
  • noise_detection
  • thermostat
  • battery
  • phone

Returns:

  • (Array<String>)


2667
2668
2669
# File 'lib/seam/resources/device.rb', line 2667

def capabilities_supported
  @capabilities_supported
end

#connected_account_idString

Unique identifier for the account associated with the device.

Returns:

  • (String)


2670
2671
2672
# File 'lib/seam/resources/device.rb', line 2670

def 
  @connected_account_id
end

#custom_metadataHash{String => String, Boolean}

Set of key:value pairs. Adding custom metadata to a resource, such as a Connect Webview, connected account, or device, enables you to store custom information, like customer details or internal IDs from your application. Keys set to null or to an empty string are omitted.

Returns:

  • (Hash{String => String, Boolean})


2673
2674
2675
# File 'lib/seam/resources/device.rb', line 2673

def 
  @custom_metadata
end

#device_idString

ID of the device.

Returns:

  • (String)


2676
2677
2678
# File 'lib/seam/resources/device.rb', line 2676

def device_id
  @device_id
end

#device_typeString

Type of the device. Known values:

  • akuvox_lock
  • august_lock
  • brivo_access_point
  • butterflymx_panel
  • avigilon_alta_entry
  • doorking_lock
  • genie_door
  • igloo_lock
  • linear_lock
  • lockly_lock
  • kwikset_lock
  • nuki_lock
  • salto_lock
  • schlage_lock
  • smartthings_lock
  • wyze_lock
  • yale_lock
  • two_n_intercom
  • controlbyweb_device
  • ttlock_lock
  • igloohome_lock
  • four_suites_door
  • dormakaba_oracode_door
  • tedee_lock
  • akiles_lock
  • ultraloq_lock
  • yacan_lock
  • keyincode_lock
  • omnitec_lock
  • kisi_lock
  • aqara_lock
  • keynest_key
  • noiseaware_activity_zone
  • minut_sensor
  • ecobee_thermostat
  • nest_thermostat
  • honeywell_resideo_thermostat
  • tado_thermostat
  • sensi_thermostat
  • smartthings_thermostat
  • ios_phone
  • android_phone
  • ring_camera

Returns:

  • (String)


2723
2724
2725
# File 'lib/seam/resources/device.rb', line 2723

def device_type
  @device_type
end

#display_nameString

Display name of the device, defaults to nickname (if it is set) or properties.appearance.name, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.

Returns:

  • (String)


2726
2727
2728
# File 'lib/seam/resources/device.rb', line 2726

def display_name
  @display_name
end

#is_managedTrueClass

Indicates whether Seam manages the device. See also Managed and Unmanaged Devices.

Returns:

  • (TrueClass)


2729
2730
2731
# File 'lib/seam/resources/device.rb', line 2729

def is_managed
  @is_managed
end

#nicknameString?

Optional nickname to describe the device, settable through Seam.

Returns:

  • (String, nil)


2732
2733
2734
# File 'lib/seam/resources/device.rb', line 2732

def nickname
  @nickname
end

#space_idsArray<String>

IDs of the spaces the device is in.

Returns:

  • (Array<String>)


2735
2736
2737
# File 'lib/seam/resources/device.rb', line 2735

def space_ids
  @space_ids
end

#workspace_idString

Unique identifier for the Seam workspace associated with the device.

Returns:

  • (String)


2738
2739
2740
# File 'lib/seam/resources/device.rb', line 2738

def workspace_id
  @workspace_id
end

Instance Method Details

#created_atTime

Date and time at which the device object was created.

Returns:

  • (Time)


2742
# File 'lib/seam/resources/device.rb', line 2742

date_accessor :created_at

#device_manufacturerDeviceManufacturer?

Manufacturer of the device. Represents the hardware brand, which may differ from the provider.

Returns:



2582
# File 'lib/seam/resources/device.rb', line 2582

resource_accessor :device_manufacturer, DeviceManufacturer

#device_providerDeviceProvider?

Provider of the device. Represents the third-party service through which the device is controlled.

Returns:



2585
# File 'lib/seam/resources/device.rb', line 2585

resource_accessor :device_provider, DeviceProvider

#errorsArray<Errors>

Array of errors associated with the device. Each error object within the array contains two fields: error_code and message. error_code is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. message provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.

Returns:



2594
# File 'lib/seam/resources/device.rb', line 2594

resource_list_accessor :errors, Errors

#locationLocation?

Location information for the device.

Returns:



2588
# File 'lib/seam/resources/device.rb', line 2588

resource_accessor :location, Location

#propertiesProperties

Properties of the device.

Returns:



2591
# File 'lib/seam/resources/device.rb', line 2591

resource_accessor :properties, Properties

#warningsArray<Warnings>

Array of warnings associated with the device. Each warning object within the array contains two fields: warning_code and message. warning_code is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. message provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.

Returns:



2597
# File 'lib/seam/resources/device.rb', line 2597

resource_list_accessor :warnings, Warnings