seam 2.159.0 → 2.160.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: a9738e059d61a1d27652beb8e6e7307ce7a1b3fb9b1aca822fe39b7c8c9e1339
4
- data.tar.gz: bd0b5915f52913e661522bf7bb3d184c958b65d7073a63088363dc26dbb37c6a
3
+ metadata.gz: d9ac3e0c9cb925b018222545bcee3b309b2ff98db71a6475235a2d78cee404c0
4
+ data.tar.gz: 3c1ae4fb9af5eae7103e2994a9c9e7b5073090932b89beec66dea6eaaee5b31b
5
5
  SHA512:
6
- metadata.gz: 2ac80c17ff2b1c0825e118c35d0d0921df478060db11c0629f707c3c22124d69628eb52aa9fddef390ca310568940db7009c3b10e334c7711b2b25679c1da194
7
- data.tar.gz: a9c7462968b1148781ce3d48f5fec5f444f3f1b1469121a28321bbd67a6ec4f90a3a1aa6891aa699a6f9c05db81125e312a7105ffd52e1e0b5866ffab52f732b
6
+ metadata.gz: 12634a54049fc148d9426f8cd7a022f2e0f6cf4d126a4cbb69bd3427fe79e5aa973c56cc99eae40b77259bd37ea51e52c8fe87799c3b501a7c4b836f1ba2269d
7
+ data.tar.gz: 34828e2361372b547ff08e97840a70d96b4a9a328d60c60b7f1c019708af1fb1a3d3a20d5dc2623ceb53188dbf0d376c57255e3379f75359a0086e53ed9790df
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.159.0)
4
+ seam (2.160.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -171,7 +171,7 @@ CHECKSUMS
171
171
  rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
172
172
  rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
173
173
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
174
- seam (2.159.0)
174
+ seam (2.160.0)
175
175
  simplecov (1.1.1) sha256=25825ef13f0b2e74694d769817dad6ab8e90131dabdaa666e522fea105521e78
176
176
  simplecov-console (0.9.5) sha256=b1108bcfff5f210143e2b8301698c367b01586f20d25a73e95475a5df6fc6ff6
177
177
  standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
@@ -1264,6 +1264,46 @@ module Seam
1264
1264
  attr_accessor :status
1265
1265
  end
1266
1266
 
1267
+ # Activating the weekly program is pending.
1268
+ class ActivateWeeklyProgram < ActionAttempt
1269
+ class Error < BaseResource
1270
+ # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
1271
+ # @return [String]
1272
+ attr_accessor :message
1273
+ # Type of the error.
1274
+ # @return [String]
1275
+ attr_accessor :type
1276
+ end
1277
+
1278
+ class Result < BaseResource
1279
+ end
1280
+
1281
+ # Error associated with the action.
1282
+ # @return [Error, nil]
1283
+ # Only present when `status` is `error`; `nil` otherwise.
1284
+ resource_accessor :error, Error
1285
+ available_only_for_statuses :error, ["error"]
1286
+ # Result of the action.
1287
+ # @return [Result, nil]
1288
+ # Only present when `status` is `success`; `nil` otherwise.
1289
+ resource_accessor :result, Result
1290
+ available_only_for_statuses :result, ["success"]
1291
+ # ID of the action attempt.
1292
+ # @return [String]
1293
+ attr_accessor :action_attempt_id
1294
+ # Action attempt to track the status of returning a thermostat to its weekly program.
1295
+ # @return [String]
1296
+ # Known values:
1297
+ # - `ACTIVATE_WEEKLY_PROGRAM`
1298
+ attr_accessor :action_type
1299
+ # @return [String]
1300
+ # Known values:
1301
+ # - `success`
1302
+ # - `pending`
1303
+ # - `error`
1304
+ attr_accessor :status
1305
+ end
1306
+
1267
1307
  # Simulating a keypad code entry is pending.
1268
1308
  class SimulateKeypadCodeEntry < ActionAttempt
1269
1309
  class Error < BaseResource
@@ -1732,6 +1772,7 @@ module Seam
1732
1772
  # - `SET_FAN_MODE`
1733
1773
  # - `SET_HVAC_MODE`
1734
1774
  # - `ACTIVATE_CLIMATE_PRESET`
1775
+ # - `ACTIVATE_WEEKLY_PROGRAM`
1735
1776
  # - `SIMULATE_KEYPAD_CODE_ENTRY`
1736
1777
  # - `SIMULATE_MANUAL_LOCK_VIA_KEYPAD`
1737
1778
  # - `PUSH_THERMOSTAT_PROGRAMS`
@@ -1762,6 +1803,7 @@ module Seam
1762
1803
  "SET_FAN_MODE" => SetFanMode,
1763
1804
  "SET_HVAC_MODE" => SetHvacMode,
1764
1805
  "ACTIVATE_CLIMATE_PRESET" => ActivateClimatePreset,
1806
+ "ACTIVATE_WEEKLY_PROGRAM" => ActivateWeeklyProgram,
1765
1807
  "SIMULATE_KEYPAD_CODE_ENTRY" => SimulateKeypadCodeEntry,
1766
1808
  "SIMULATE_MANUAL_LOCK_VIA_KEYPAD" => SimulateManualLockViaKeypad,
1767
1809
  "PUSH_THERMOSTAT_PROGRAMS" => PushThermostatPrograms,
@@ -2659,6 +2659,9 @@ module Seam
2659
2659
  # 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.
2660
2660
  # @return [Array<Warnings>]
2661
2661
  resource_list_accessor :warnings, Warnings
2662
+ # Indicates whether the thermostat can be returned to its weekly program, the schedule that is configured on the device itself, releasing any hold that Seam has set.
2663
+ # @return [Boolean, nil]
2664
+ attr_accessor :can_activate_weekly_program
2662
2665
  # Indicates whether the lock supports configuring automatic locking.
2663
2666
  # @return [Boolean, nil]
2664
2667
  attr_accessor :can_configure_auto_lock
@@ -3,6 +3,9 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class DeviceProvider < BaseResource
6
+ # Indicates whether the thermostat can be returned to its weekly program, the schedule that is configured on the device itself, releasing any hold that Seam has set.
7
+ # @return [Boolean, nil]
8
+ attr_accessor :can_activate_weekly_program
6
9
  # Indicates whether the lock supports configuring automatic locking.
7
10
  # @return [Boolean, nil]
8
11
  attr_accessor :can_configure_auto_lock
@@ -934,6 +934,9 @@ module Seam
934
934
  # 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.
935
935
  # @return [Array<Warnings>]
936
936
  resource_list_accessor :warnings, Warnings
937
+ # Indicates whether the thermostat can be returned to its weekly program, the schedule that is configured on the device itself, releasing any hold that Seam has set.
938
+ # @return [Boolean, nil]
939
+ attr_accessor :can_activate_weekly_program
937
940
  # Indicates whether the lock supports configuring automatic locking.
938
941
  # @return [Boolean, nil]
939
942
  attr_accessor :can_configure_auto_lock
@@ -34,6 +34,17 @@ module Seam
34
34
  Seam::ActionAttemptResolver.resolve(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
35
35
  end
36
36
 
37
+ # Returns a specified [thermostat](https://www.seam.co/docs/capability-guides/thermostats) to its [weekly program](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-thermostat-programs), the schedule that is configured on the device itself, releasing any hold that Seam has set. Seam stops managing the thermostat's climate until you [activate a climate preset](https://www.seam.co/docs/capability-guides/thermostats/configure-current-climate-settings), make a direct climate setting change, or one of the thermostat's [scheduled](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-thermostat-schedules) presets reaches its activation time.
38
+ # @param device_id [String] ID of the thermostat device that you want to return to its weekly program.
39
+ # @return [Seam::Resources::ActionAttempt] OK
40
+ def activate_weekly_program(device_id:, wait_for_action_attempt: nil)
41
+ res = @client.post("/thermostats/activate_weekly_program", {device_id: device_id}.compact)
42
+
43
+ wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
44
+
45
+ Seam::ActionAttemptResolver.resolve(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
46
+ end
47
+
37
48
  # Sets a specified [thermostat](https://www.seam.co/docs/capability-guides/thermostats) to [cool mode](https://www.seam.co/docs/capability-guides/thermostats/configure-current-climate-settings).
38
49
  # @param device_id [String] ID of the thermostat device that you want to set to cool mode.
39
50
  # @param cooling_set_point_celsius [Float, nil] [Cooling set point](https://www.seam.co/docs/capability-guides/thermostats/understanding-thermostat-concepts/set-points) in °C that you want to set for the thermostat. You must set one of the `cooling_set_point` parameters.
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.159.0"
4
+ VERSION = "2.160.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.159.0
4
+ version: 2.160.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.