seam 2.158.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: 25a61d2b647b8a194add41ffc332ab8708743ace9d8a6d203fb3acfb768c5475
4
- data.tar.gz: 224f3aee42977300ca859d37b15b29950cda8ceb384f75269695591e2c96c388
3
+ metadata.gz: d9ac3e0c9cb925b018222545bcee3b309b2ff98db71a6475235a2d78cee404c0
4
+ data.tar.gz: 3c1ae4fb9af5eae7103e2994a9c9e7b5073090932b89beec66dea6eaaee5b31b
5
5
  SHA512:
6
- metadata.gz: d7ed8024b8644b021a0abec47ea4eb454e2c46449f7875f5e684a9983b4069ccf2622d3735dbd949ef704d04f7f84271c51c37305e43b941416cb331ac7b8e9d
7
- data.tar.gz: bee8647cdaa28d0102de7b04ec20ee298ed4cdf6374acc54ed6195e130eabb6dfccedce6fb559b1e85415c6575b39a1219c8052a70ea02d40c8fe9d9eb1a13e3
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.158.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.158.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
@@ -248,12 +248,12 @@ module Seam
248
248
  date_accessor :created_at
249
249
  end
250
250
 
251
- # This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to remove it, and this error clears automatically once the access code is no longer active.
252
- class FailedToRemove < Errors
251
+ # This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to delete it, and this error clears automatically once the access code is no longer active.
252
+ class FailedToDelete < Errors
253
253
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
254
254
  # @return [String]
255
255
  # Known values:
256
- # - `failed_to_remove`
256
+ # - `failed_to_delete`
257
257
  attr_accessor :error_code
258
258
  # Indicates that this is an access code error.
259
259
  # @return [TrueClass]
@@ -546,7 +546,7 @@ module Seam
546
546
  # - `code_constraints_violated`
547
547
  # - `failed_to_issue`
548
548
  # - `failed_to_update`
549
- # - `failed_to_remove`
549
+ # - `failed_to_delete`
550
550
  # - `account_disconnected`
551
551
  # - `salto_ks_subscription_limit_exceeded`
552
552
  # - `insufficient_permissions`
@@ -580,7 +580,7 @@ module Seam
580
580
  "code_constraints_violated" => CodeConstraintsViolated,
581
581
  "failed_to_issue" => FailedToIssue,
582
582
  "failed_to_update" => FailedToUpdate,
583
- "failed_to_remove" => FailedToRemove,
583
+ "failed_to_delete" => FailedToDelete,
584
584
  "account_disconnected" => AccountDisconnected,
585
585
  "salto_ks_subscription_limit_exceeded" => SaltoKsSubscriptionLimitExceeded,
586
586
  "insufficient_permissions" => InsufficientPermissions,
@@ -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,
@@ -481,6 +481,24 @@ module Seam
481
481
  attr_accessor :time_zone
482
482
  end
483
483
 
484
+ class ArloMetadata < BaseResource
485
+ # Device ID reported by Arlo.
486
+ # @return [String, nil]
487
+ attr_accessor :device_id
488
+ # Device name reported by Arlo.
489
+ # @return [String, nil]
490
+ attr_accessor :device_name
491
+ # Firmware version reported by Arlo.
492
+ # @return [String, nil]
493
+ attr_accessor :firmware_version
494
+ # Hardware version reported by Arlo.
495
+ # @return [String, nil]
496
+ attr_accessor :hardware_version
497
+ # Model ID reported by Arlo.
498
+ # @return [String, nil]
499
+ attr_accessor :model_id
500
+ end
501
+
484
502
  class AssaAbloyVostioMetadata < BaseResource
485
503
  # Encoder name for an ASSA ABLOY Vostio system.
486
504
  # @return [String, nil]
@@ -1799,6 +1817,9 @@ module Seam
1799
1817
  # Metadata for an Aqara device.
1800
1818
  # @return [AqaraMetadata, nil]
1801
1819
  resource_accessor :aqara_metadata, AqaraMetadata
1820
+ # Metadata for an Arlo camera.
1821
+ # @return [ArloMetadata, nil]
1822
+ resource_accessor :arlo_metadata, ArloMetadata
1802
1823
  # Metadata for an ASSA ABLOY Vostio system.
1803
1824
  # @return [AssaAbloyVostioMetadata, nil]
1804
1825
  resource_accessor :assa_abloy_vostio_metadata, AssaAbloyVostioMetadata
@@ -2638,6 +2659,9 @@ module Seam
2638
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.
2639
2660
  # @return [Array<Warnings>]
2640
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
2641
2665
  # Indicates whether the lock supports configuring automatic locking.
2642
2666
  # @return [Boolean, nil]
2643
2667
  attr_accessor :can_configure_auto_lock
@@ -2764,6 +2788,7 @@ module Seam
2764
2788
  # - `android_phone`
2765
2789
  # - `ring_camera`
2766
2790
  # - `tapo_camera`
2791
+ # - `arlo_camera`
2767
2792
  attr_accessor :device_type
2768
2793
  # 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.
2769
2794
  # @return [String]
@@ -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
@@ -124,6 +127,7 @@ module Seam
124
127
  # - `thirty_three_lock`
125
128
  # - `ring`
126
129
  # - `tapo`
130
+ # - `arlo`
127
131
  # - `ical`
128
132
  # - `lodgify`
129
133
  # - `hostaway`
@@ -5092,7 +5092,7 @@ module Seam
5092
5092
  # - `access_code.delay_in_issuing`
5093
5093
  # - `access_code.failed_to_issue`
5094
5094
  # - `access_code.failed_to_update`
5095
- # - `access_code.failed_to_remove`
5095
+ # - `access_code.failed_to_delete`
5096
5096
  # - `access_code.deleted`
5097
5097
  # - `access_code.delay_in_removing_from_device`
5098
5098
  # - `access_code.failed_to_remove_from_device`
@@ -250,12 +250,12 @@ module Seam
250
250
  date_accessor :created_at
251
251
  end
252
252
 
253
- # This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to remove it, and this error clears automatically once the access code is no longer active.
254
- class FailedToRemove < Errors
253
+ # This access code is still active on the device even though its `ends_at` has passed, so the recipient may still be able to unlock the device after their access window ended. Seam is attempting to delete it, and this error clears automatically once the access code is no longer active.
254
+ class FailedToDelete < Errors
255
255
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
256
256
  # @return [String]
257
257
  # Known values:
258
- # - `failed_to_remove`
258
+ # - `failed_to_delete`
259
259
  attr_accessor :error_code
260
260
  # Indicates that this is an access code error.
261
261
  # @return [TrueClass]
@@ -548,7 +548,7 @@ module Seam
548
548
  # - `code_constraints_violated`
549
549
  # - `failed_to_issue`
550
550
  # - `failed_to_update`
551
- # - `failed_to_remove`
551
+ # - `failed_to_delete`
552
552
  # - `account_disconnected`
553
553
  # - `salto_ks_subscription_limit_exceeded`
554
554
  # - `insufficient_permissions`
@@ -582,7 +582,7 @@ module Seam
582
582
  "code_constraints_violated" => CodeConstraintsViolated,
583
583
  "failed_to_issue" => FailedToIssue,
584
584
  "failed_to_update" => FailedToUpdate,
585
- "failed_to_remove" => FailedToRemove,
585
+ "failed_to_delete" => FailedToDelete,
586
586
  "account_disconnected" => AccountDisconnected,
587
587
  "salto_ks_subscription_limit_exceeded" => SaltoKsSubscriptionLimitExceeded,
588
588
  "insufficient_permissions" => InsufficientPermissions,
@@ -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
@@ -1060,6 +1063,7 @@ module Seam
1060
1063
  # - `android_phone`
1061
1064
  # - `ring_camera`
1062
1065
  # - `tapo_camera`
1066
+ # - `arlo_camera`
1063
1067
  attr_accessor :device_type
1064
1068
  # 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.
1065
1069
  # @return [String]
@@ -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.158.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.158.0
4
+ version: 2.160.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.