seam 2.41.0 → 2.42.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2280bedae3810a10cd7c20285fa6797ba72b3220e734d2de50f1d21213b718eb
4
- data.tar.gz: c52808aa99ecf89b45293107c73272c506afcc9857e89cec9a417a59cf41d9de
3
+ metadata.gz: fcb8f1f118669e0a1166e38f3f318113c1f1ae9f8ac2166c4d352a971221af2c
4
+ data.tar.gz: 138ffb2a606e60ac1e703fd878c4da6a3b55b5e21a19abce73b4813a3378fe09
5
5
  SHA512:
6
- metadata.gz: 621981352c6a4a91bb5900be112d7de28e3f0555ca8811d6d4c723961cf83850737fc6ca9ce525f6706de8c1e721a7309213494dfc7d6f7bb045eb3f4da68512
7
- data.tar.gz: e1e9403e299570d6e53a578bbf5c79d4cd77cad62a7f650bf3959cd5045d83bc680f2f39fc71091b53f0131f03bc8a8763202794ffdd8b874eac4ba63a86d74b
6
+ metadata.gz: c4ce6ede6df8292a03526ad27007a7fdd3bad02173b8247d610aff8793a99562413437df84f5fa37d4588b2d3e1004f7e8e657ddb55508b99e60f9a1d5fe7b14
7
+ data.tar.gz: 7b694add84d296345d5f6d15e49586a10d43564ce90b2503d208e00ec12cc7cc2627df39144ec41a640a11a4d4afd08a59c4f401ee9351f1f3cf998dc358c6b5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.41.0)
4
+ seam (2.42.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -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,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
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "2.41.0"
4
+ VERSION = "2.42.0"
5
5
  end
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.41.0
4
+ version: 2.42.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-02 00:00:00.000000000 Z
11
+ date: 2025-07-03 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