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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/seam/resources/access_code.rb +5 -5
- data/lib/seam/resources/action_attempt.rb +42 -0
- data/lib/seam/resources/device.rb +25 -0
- data/lib/seam/resources/device_provider.rb +4 -0
- data/lib/seam/resources/event.rb +1 -1
- data/lib/seam/resources/unmanaged_access_code.rb +5 -5
- data/lib/seam/resources/unmanaged_device.rb +4 -0
- data/lib/seam/routes/thermostats.rb +11 -0
- data/lib/seam/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d9ac3e0c9cb925b018222545bcee3b309b2ff98db71a6475235a2d78cee404c0
|
|
4
|
+
data.tar.gz: 3c1ae4fb9af5eae7103e2994a9c9e7b5073090932b89beec66dea6eaaee5b31b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
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
|
|
252
|
-
class
|
|
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
|
-
# - `
|
|
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
|
-
# - `
|
|
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
|
-
"
|
|
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`
|
data/lib/seam/resources/event.rb
CHANGED
|
@@ -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.
|
|
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
|
|
254
|
-
class
|
|
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
|
-
# - `
|
|
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
|
-
# - `
|
|
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
|
-
"
|
|
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