seam 2.41.0 → 2.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/seam/routes/clients/acs_entrances.rb +2 -2
- data/lib/seam/routes/clients/devices_simulate.rb +12 -0
- data/lib/seam/routes/clients/index.rb +1 -0
- data/lib/seam/routes/clients/locks.rb +4 -0
- data/lib/seam/routes/clients/locks_simulate.rb +30 -0
- data/lib/seam/routes/clients/spaces.rb +6 -0
- data/lib/seam/routes/clients/thermostats.rb +4 -4
- data/lib/seam/routes/resources/event.rb +1 -1
- data/lib/seam/routes/resources/user_identity.rb +1 -1
- data/lib/seam/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0be52f5adaca4c438e5d0f38b2c94a8689e6c97b8bd3f6507a6d4e8287195f5d
|
4
|
+
data.tar.gz: 19ed2bf1aac152b796d6088a0f115b979d750db2050cd0c47f0c1d4e237e3a6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02367f578ee63119ea211ea2f7fa3c8109592b281b1ebde28f023f40062f867a7334ffa38d6a07657e7b41da33cf259930380001a4792b55e6e49392bab921d6
|
7
|
+
data.tar.gz: 7ddfe8e936bf17fc49aabbc09ad638498bc59a68989d074ea9ba05e21158a9daedf763bc6e3d4378aa479cc017c5d5822571ae39fdba9f91482b8a6a62351aef
|
data/Gemfile.lock
CHANGED
@@ -20,8 +20,8 @@ module Seam
|
|
20
20
|
nil
|
21
21
|
end
|
22
22
|
|
23
|
-
def list(access_grant_id: nil, access_method_id: nil, acs_credential_id: nil, acs_system_id: nil, connected_account_id: nil, location_id: nil, space_id: nil)
|
24
|
-
res = @client.post("/acs/entrances/list", {access_grant_id: access_grant_id, access_method_id: access_method_id, acs_credential_id: acs_credential_id, acs_system_id: acs_system_id, connected_account_id: connected_account_id, location_id: location_id, space_id: space_id}.compact)
|
23
|
+
def list(access_grant_id: nil, access_method_id: nil, acs_credential_id: nil, acs_entrance_ids: nil, acs_system_id: nil, connected_account_id: nil, location_id: nil, space_id: nil)
|
24
|
+
res = @client.post("/acs/entrances/list", {access_grant_id: access_grant_id, access_method_id: access_method_id, acs_credential_id: acs_credential_id, acs_entrance_ids: acs_entrance_ids, acs_system_id: acs_system_id, connected_account_id: connected_account_id, location_id: location_id, space_id: space_id}.compact)
|
25
25
|
|
26
26
|
Seam::Resources::AcsEntrance.load_from_response(res.body["acs_entrances"])
|
27
27
|
end
|
@@ -14,12 +14,24 @@ module Seam
|
|
14
14
|
nil
|
15
15
|
end
|
16
16
|
|
17
|
+
def connect_to_hub(device_id:)
|
18
|
+
@client.post("/devices/simulate/connect_to_hub", {device_id: device_id}.compact)
|
19
|
+
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
|
17
23
|
def disconnect(device_id:)
|
18
24
|
@client.post("/devices/simulate/disconnect", {device_id: device_id}.compact)
|
19
25
|
|
20
26
|
nil
|
21
27
|
end
|
22
28
|
|
29
|
+
def disconnect_from_hub(device_id:)
|
30
|
+
@client.post("/devices/simulate/disconnect_from_hub", {device_id: device_id}.compact)
|
31
|
+
|
32
|
+
nil
|
33
|
+
end
|
34
|
+
|
23
35
|
def remove(device_id:)
|
24
36
|
@client.post("/devices/simulate/remove", {device_id: device_id}.compact)
|
25
37
|
|
@@ -23,6 +23,7 @@ require_relative "devices_simulate"
|
|
23
23
|
require_relative "devices_unmanaged"
|
24
24
|
require_relative "events"
|
25
25
|
require_relative "locks"
|
26
|
+
require_relative "locks_simulate"
|
26
27
|
require_relative "noise_sensors"
|
27
28
|
require_relative "noise_sensors_noise_thresholds"
|
28
29
|
require_relative "noise_sensors_simulate"
|
@@ -10,6 +10,10 @@ module Seam
|
|
10
10
|
@defaults = defaults
|
11
11
|
end
|
12
12
|
|
13
|
+
def simulate
|
14
|
+
@simulate ||= Seam::Clients::LocksSimulate.new(client: @client, defaults: @defaults)
|
15
|
+
end
|
16
|
+
|
13
17
|
def get(device_id: nil, name: nil)
|
14
18
|
res = @client.post("/locks/get", {device_id: device_id, name: name}.compact)
|
15
19
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "seam/helpers/action_attempt"
|
4
|
+
|
5
|
+
module Seam
|
6
|
+
module Clients
|
7
|
+
class LocksSimulate
|
8
|
+
def initialize(client:, defaults:)
|
9
|
+
@client = client
|
10
|
+
@defaults = defaults
|
11
|
+
end
|
12
|
+
|
13
|
+
def keypad_code_entry(code:, device_id:, wait_for_action_attempt: nil)
|
14
|
+
res = @client.post("/locks/simulate/keypad_code_entry", {code: code, device_id: device_id}.compact)
|
15
|
+
|
16
|
+
wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
|
17
|
+
|
18
|
+
Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
|
19
|
+
end
|
20
|
+
|
21
|
+
def manual_lock_via_keypad(device_id:, wait_for_action_attempt: nil)
|
22
|
+
res = @client.post("/locks/simulate/manual_lock_via_keypad", {device_id: device_id}.compact)
|
23
|
+
|
24
|
+
wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
|
25
|
+
|
26
|
+
Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -38,6 +38,12 @@ module Seam
|
|
38
38
|
Seam::Resources::Space.load_from_response(res.body["space"])
|
39
39
|
end
|
40
40
|
|
41
|
+
def get_related(space_ids:, exclude: nil, include: nil)
|
42
|
+
@client.post("/spaces/get_related", {space_ids: space_ids, exclude: exclude, include: include}.compact)
|
43
|
+
|
44
|
+
nil
|
45
|
+
end
|
46
|
+
|
41
47
|
def list
|
42
48
|
res = @client.post("/spaces/list")
|
43
49
|
|
@@ -38,8 +38,8 @@ module Seam
|
|
38
38
|
Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
|
39
39
|
end
|
40
40
|
|
41
|
-
def create_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil)
|
42
|
-
@client.post("/thermostats/create_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact)
|
41
|
+
def create_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, ecobee_metadata: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil)
|
42
|
+
@client.post("/thermostats/create_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, ecobee_metadata: ecobee_metadata, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact)
|
43
43
|
|
44
44
|
nil
|
45
45
|
end
|
@@ -108,8 +108,8 @@ module Seam
|
|
108
108
|
nil
|
109
109
|
end
|
110
110
|
|
111
|
-
def update_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil)
|
112
|
-
@client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact)
|
111
|
+
def update_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, ecobee_metadata: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil)
|
112
|
+
@client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, ecobee_metadata: ecobee_metadata, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact)
|
113
113
|
|
114
114
|
nil
|
115
115
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Seam
|
4
4
|
module Resources
|
5
5
|
class SeamEvent < BaseResource
|
6
|
-
attr_accessor :access_code_id, :connected_account_id, :device_id, :event_id, :event_type, :workspace_id, :code, :backup_access_code_id, :access_grant_id, :acs_entrance_id, :access_method_id, :acs_system_id, :acs_credential_id, :acs_user_id, :acs_encoder_id, :acs_access_group_id, :client_session_id, :connect_webview_id, :action_attempt_id, :action_type, :status, :error_code, :battery_level, :battery_status, :minut_metadata, :noise_level_decibels, :noise_level_nrs, :noise_threshold_id, :noise_threshold_name, :noiseaware_metadata, :method, :climate_preset_key, :is_fallback_climate_preset, :thermostat_schedule_id, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :lower_limit_celsius, :lower_limit_fahrenheit, :temperature_celsius, :temperature_fahrenheit, :upper_limit_celsius, :upper_limit_fahrenheit, :desired_temperature_celsius, :desired_temperature_fahrenheit, :device_name, :enrollment_automation_id
|
6
|
+
attr_accessor :access_code_id, :connected_account_custom_metadata, :connected_account_id, :device_custom_metadata, :device_id, :event_id, :event_type, :workspace_id, :code, :backup_access_code_id, :access_grant_id, :acs_entrance_id, :access_method_id, :acs_system_id, :acs_credential_id, :acs_user_id, :acs_encoder_id, :acs_access_group_id, :client_session_id, :connect_webview_id, :action_attempt_id, :action_type, :status, :error_code, :battery_level, :battery_status, :minut_metadata, :noise_level_decibels, :noise_level_nrs, :noise_threshold_id, :noise_threshold_name, :noiseaware_metadata, :method, :climate_preset_key, :is_fallback_climate_preset, :thermostat_schedule_id, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :lower_limit_celsius, :lower_limit_fahrenheit, :temperature_celsius, :temperature_fahrenheit, :upper_limit_celsius, :upper_limit_fahrenheit, :desired_temperature_celsius, :desired_temperature_fahrenheit, :device_name, :enrollment_automation_id
|
7
7
|
|
8
8
|
date_accessor :created_at, :occurred_at
|
9
9
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Seam
|
4
4
|
module Resources
|
5
5
|
class UserIdentity < BaseResource
|
6
|
-
attr_accessor :display_name, :email_address, :full_name, :phone_number, :user_identity_id, :user_identity_key, :workspace_id
|
6
|
+
attr_accessor :acs_user_ids, :display_name, :email_address, :full_name, :phone_number, :user_identity_id, :user_identity_key, :workspace_id
|
7
7
|
|
8
8
|
date_accessor :created_at
|
9
9
|
|
data/lib/seam/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.43.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seam Labs, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-07-
|
11
|
+
date: 2025-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -227,6 +227,7 @@ files:
|
|
227
227
|
- lib/seam/routes/clients/events.rb
|
228
228
|
- lib/seam/routes/clients/index.rb
|
229
229
|
- lib/seam/routes/clients/locks.rb
|
230
|
+
- lib/seam/routes/clients/locks_simulate.rb
|
230
231
|
- lib/seam/routes/clients/noise_sensors.rb
|
231
232
|
- lib/seam/routes/clients/noise_sensors_noise_thresholds.rb
|
232
233
|
- lib/seam/routes/clients/noise_sensors_simulate.rb
|