seam 2.164.0 → 2.165.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_grant.rb +3 -1
- data/lib/seam/resources/access_method.rb +1 -1
- data/lib/seam/resources/acs_entrance.rb +22 -0
- data/lib/seam/resources/acs_system.rb +17 -0
- data/lib/seam/resources/action_attempt.rb +221 -4
- data/lib/seam/resources/connect_webview.rb +1 -0
- data/lib/seam/resources/connected_account.rb +1 -0
- data/lib/seam/resources/device.rb +97 -0
- data/lib/seam/resources/device_provider.rb +13 -0
- data/lib/seam/resources/phone.rb +793 -6
- data/lib/seam/resources/unmanaged_access_grant.rb +3 -1
- data/lib/seam/resources/unmanaged_access_method.rb +1 -1
- data/lib/seam/resources/unmanaged_device.rb +13 -0
- data/lib/seam/routes/customers.rb +4 -2
- 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: '0728def14eca9e4d20afc7b4b6c8d6a312f6369058f1a1ffb39912223af2090d'
|
|
4
|
+
data.tar.gz: 2fe687ec9d2b0e01b5bfff64abcd2bd162ade8f4d014754dc01acda67eae9334
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 74524876fa1bc0ca169ac6fdacc094eb06d2479da4865ec6b0150054f9ee243064b649193c4ab2080eba422ee33e469496fd413de94d025f330003439d85e6c1
|
|
7
|
+
data.tar.gz: 5334fa180093c7f8ba841e8c165bac6b711a7277f330d2eaa472ecb08a0e910388a4f8cd2c38046de359f78fb2095befc806629f6e6c64d2031fe981f6ddb472
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
seam (2.
|
|
4
|
+
seam (2.165.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.165.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
|
|
@@ -169,8 +169,10 @@ module Seam
|
|
|
169
169
|
# Device whose access code could not be revoked.
|
|
170
170
|
# @return [String]
|
|
171
171
|
attr_accessor :device_id
|
|
172
|
-
# Reason the access code could not be revoked
|
|
172
|
+
# Reason the access code could not be revoked.
|
|
173
173
|
# @return [String]
|
|
174
|
+
# Known values:
|
|
175
|
+
# - `offline_access_code_not_revocable`
|
|
174
176
|
attr_accessor :error_code
|
|
175
177
|
# Human-readable description of why revocation failed.
|
|
176
178
|
# @return [String]
|
|
@@ -258,7 +258,7 @@ module Seam
|
|
|
258
258
|
# Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
|
|
259
259
|
# @return [Boolean, nil]
|
|
260
260
|
attr_accessor :is_ready_for_assignment
|
|
261
|
-
# Indicates whether the access method is ready to be encoded. This is true when the
|
|
261
|
+
# Indicates whether the access method is ready to be encoded. This is true when the card has not yet been issued and the access system has received all the access the card needs. While it is false, `pending_mutations` contains `waiting_for_access_on_acs_system`.
|
|
262
262
|
# @return [Boolean, nil]
|
|
263
263
|
attr_accessor :is_ready_for_encoding
|
|
264
264
|
# Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
|
|
@@ -101,9 +101,27 @@ module Seam
|
|
|
101
101
|
attr_accessor :access_point_profile
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
+
# Known `error_code` values load as subclasses; unknown values remain Errors instances for forward compatibility.
|
|
104
105
|
class Errors < BaseResource
|
|
106
|
+
# Indicates that the [entrance](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details) was removed from the connected account, so Seam can no longer sync it.
|
|
107
|
+
class EntranceRemoved < Errors
|
|
108
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
109
|
+
# @return [String]
|
|
110
|
+
# Known values:
|
|
111
|
+
# - `entrance_removed`
|
|
112
|
+
attr_accessor :error_code
|
|
113
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
114
|
+
# @return [String]
|
|
115
|
+
attr_accessor :message
|
|
116
|
+
# Date and time at which Seam created the error.
|
|
117
|
+
# @return [Time]
|
|
118
|
+
date_accessor :created_at
|
|
119
|
+
end
|
|
120
|
+
|
|
105
121
|
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
106
122
|
# @return [String]
|
|
123
|
+
# Known values:
|
|
124
|
+
# - `entrance_removed`
|
|
107
125
|
attr_accessor :error_code
|
|
108
126
|
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
109
127
|
# @return [String]
|
|
@@ -111,6 +129,10 @@ module Seam
|
|
|
111
129
|
# Date and time at which Seam created the error.
|
|
112
130
|
# @return [Time]
|
|
113
131
|
date_accessor :created_at
|
|
132
|
+
|
|
133
|
+
discriminated_by :error_code, {
|
|
134
|
+
"entrance_removed" => EntranceRemoved
|
|
135
|
+
}.freeze
|
|
114
136
|
end
|
|
115
137
|
|
|
116
138
|
class HotekMetadata < BaseResource
|
|
@@ -78,6 +78,21 @@ module Seam
|
|
|
78
78
|
date_accessor :created_at
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
+
# Indicates that the access control system has reached the maximum number of users its license allows, so Seam cannot create new users on it and access for new guests is not provisioned. Remove unused users from the access control system or increase its license. The error clears once Seam can create users again.
|
|
82
|
+
class UserLicenseLimitReached < Errors
|
|
83
|
+
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
84
|
+
# @return [String]
|
|
85
|
+
# Known values:
|
|
86
|
+
# - `user_license_limit_reached`
|
|
87
|
+
attr_accessor :error_code
|
|
88
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
89
|
+
# @return [String]
|
|
90
|
+
attr_accessor :message
|
|
91
|
+
# Date and time at which Seam created the error.
|
|
92
|
+
# @return [Time]
|
|
93
|
+
date_accessor :created_at
|
|
94
|
+
end
|
|
95
|
+
|
|
81
96
|
# Indicates that the provider's system backing this [access control system](https://www.seam.co/docs/low-level-apis/access-systems) is not letting Seam act on it, so access cannot be managed until this is resolved. The error message says which of two causes applies. Either Seam's integration user does not have sufficient permissions on the provider's system, or has been suspended there: grant the integration user the required permissions in the provider's system, or reauthorize the connected account in Seam. Or the provider account or site does not have a valid subscription with the provider: set up or renew that subscription with the provider.
|
|
82
97
|
class InsufficientPermissions < Errors
|
|
83
98
|
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
@@ -160,6 +175,7 @@ module Seam
|
|
|
160
175
|
# - `bridge_disconnected`
|
|
161
176
|
# - `visionline_instance_unreachable`
|
|
162
177
|
# - `salto_ks_subscription_limit_exceeded`
|
|
178
|
+
# - `user_license_limit_reached`
|
|
163
179
|
# - `insufficient_permissions`
|
|
164
180
|
# - `acs_system_disconnected`
|
|
165
181
|
# - `account_disconnected`
|
|
@@ -178,6 +194,7 @@ module Seam
|
|
|
178
194
|
"bridge_disconnected" => BridgeDisconnected,
|
|
179
195
|
"visionline_instance_unreachable" => VisionlineInstanceUnreachable,
|
|
180
196
|
"salto_ks_subscription_limit_exceeded" => SaltoKsSubscriptionLimitExceeded,
|
|
197
|
+
"user_license_limit_reached" => UserLicenseLimitReached,
|
|
181
198
|
"insufficient_permissions" => InsufficientPermissions,
|
|
182
199
|
"acs_system_disconnected" => AcsSystemDisconnected,
|
|
183
200
|
"account_disconnected" => AccountDisconnected,
|
|
@@ -974,20 +974,21 @@ module Seam
|
|
|
974
974
|
end
|
|
975
975
|
|
|
976
976
|
# Previous access time configuration.
|
|
977
|
-
# @return [From]
|
|
977
|
+
# @return [From, nil]
|
|
978
978
|
resource_accessor :from, From
|
|
979
979
|
# New access time configuration.
|
|
980
|
-
# @return [To]
|
|
980
|
+
# @return [To, nil]
|
|
981
981
|
resource_accessor :to, To
|
|
982
982
|
# Detailed description of the mutation.
|
|
983
983
|
# @return [String]
|
|
984
984
|
attr_accessor :message
|
|
985
|
-
# Mutation code to indicate that
|
|
985
|
+
# Mutation code to indicate that the access system has not yet received all the access this card needs, so the card is not ready to be encoded.
|
|
986
986
|
# @return [String]
|
|
987
987
|
# Known values:
|
|
988
988
|
# - `provisioning_access`
|
|
989
989
|
# - `revoking_access`
|
|
990
990
|
# - `updating_access_times`
|
|
991
|
+
# - `waiting_for_access_on_acs_system`
|
|
991
992
|
attr_accessor :mutation_code
|
|
992
993
|
# Date and time at which the mutation was created.
|
|
993
994
|
# @return [Time]
|
|
@@ -1058,7 +1059,7 @@ module Seam
|
|
|
1058
1059
|
# Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
|
|
1059
1060
|
# @return [Boolean, nil]
|
|
1060
1061
|
attr_accessor :is_ready_for_assignment
|
|
1061
|
-
# Indicates whether the access method is ready to be encoded. This is true when the
|
|
1062
|
+
# Indicates whether the access method is ready to be encoded. This is true when the card has not yet been issued and the access system has received all the access the card needs. While it is false, `pending_mutations` contains `waiting_for_access_on_acs_system`.
|
|
1062
1063
|
# @return [Boolean, nil]
|
|
1063
1064
|
attr_accessor :is_ready_for_encoding
|
|
1064
1065
|
# Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
|
|
@@ -1505,6 +1506,212 @@ module Seam
|
|
|
1505
1506
|
attr_accessor :status
|
|
1506
1507
|
end
|
|
1507
1508
|
|
|
1509
|
+
# Setting the speaker volume is pending.
|
|
1510
|
+
class SetSpeakerVolume < ActionAttempt
|
|
1511
|
+
class Error < BaseResource
|
|
1512
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
1513
|
+
# @return [String]
|
|
1514
|
+
attr_accessor :message
|
|
1515
|
+
# Type of the error.
|
|
1516
|
+
# @return [String]
|
|
1517
|
+
attr_accessor :type
|
|
1518
|
+
end
|
|
1519
|
+
|
|
1520
|
+
class Result < BaseResource
|
|
1521
|
+
end
|
|
1522
|
+
|
|
1523
|
+
# Error associated with the action.
|
|
1524
|
+
# @return [Error, nil]
|
|
1525
|
+
# Only present when `status` is `error`; `nil` otherwise.
|
|
1526
|
+
resource_accessor :error, Error
|
|
1527
|
+
available_only_for_statuses :error, ["error"]
|
|
1528
|
+
# Result of the action.
|
|
1529
|
+
# @return [Result, nil]
|
|
1530
|
+
# Only present when `status` is `success`; `nil` otherwise.
|
|
1531
|
+
resource_accessor :result, Result
|
|
1532
|
+
available_only_for_statuses :result, ["success"]
|
|
1533
|
+
# ID of the action attempt.
|
|
1534
|
+
# @return [String]
|
|
1535
|
+
attr_accessor :action_attempt_id
|
|
1536
|
+
# Action attempt to track the status of setting the volume on a speaker.
|
|
1537
|
+
# @return [String]
|
|
1538
|
+
# Known values:
|
|
1539
|
+
# - `SET_SPEAKER_VOLUME`
|
|
1540
|
+
attr_accessor :action_type
|
|
1541
|
+
# @return [String]
|
|
1542
|
+
# Known values:
|
|
1543
|
+
# - `success`
|
|
1544
|
+
# - `pending`
|
|
1545
|
+
# - `error`
|
|
1546
|
+
attr_accessor :status
|
|
1547
|
+
end
|
|
1548
|
+
|
|
1549
|
+
# Muting or unmuting the speaker is pending.
|
|
1550
|
+
class SetSpeakerMute < ActionAttempt
|
|
1551
|
+
class Error < BaseResource
|
|
1552
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
1553
|
+
# @return [String]
|
|
1554
|
+
attr_accessor :message
|
|
1555
|
+
# Type of the error.
|
|
1556
|
+
# @return [String]
|
|
1557
|
+
attr_accessor :type
|
|
1558
|
+
end
|
|
1559
|
+
|
|
1560
|
+
class Result < BaseResource
|
|
1561
|
+
end
|
|
1562
|
+
|
|
1563
|
+
# Error associated with the action.
|
|
1564
|
+
# @return [Error, nil]
|
|
1565
|
+
# Only present when `status` is `error`; `nil` otherwise.
|
|
1566
|
+
resource_accessor :error, Error
|
|
1567
|
+
available_only_for_statuses :error, ["error"]
|
|
1568
|
+
# Result of the action.
|
|
1569
|
+
# @return [Result, nil]
|
|
1570
|
+
# Only present when `status` is `success`; `nil` otherwise.
|
|
1571
|
+
resource_accessor :result, Result
|
|
1572
|
+
available_only_for_statuses :result, ["success"]
|
|
1573
|
+
# ID of the action attempt.
|
|
1574
|
+
# @return [String]
|
|
1575
|
+
attr_accessor :action_attempt_id
|
|
1576
|
+
# Action attempt to track the status of muting or unmuting a speaker.
|
|
1577
|
+
# @return [String]
|
|
1578
|
+
# Known values:
|
|
1579
|
+
# - `SET_SPEAKER_MUTE`
|
|
1580
|
+
attr_accessor :action_type
|
|
1581
|
+
# @return [String]
|
|
1582
|
+
# Known values:
|
|
1583
|
+
# - `success`
|
|
1584
|
+
# - `pending`
|
|
1585
|
+
# - `error`
|
|
1586
|
+
attr_accessor :status
|
|
1587
|
+
end
|
|
1588
|
+
|
|
1589
|
+
# Pausing playback on the speaker is pending.
|
|
1590
|
+
class PauseSpeakerPlayback < ActionAttempt
|
|
1591
|
+
class Error < BaseResource
|
|
1592
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
1593
|
+
# @return [String]
|
|
1594
|
+
attr_accessor :message
|
|
1595
|
+
# Type of the error.
|
|
1596
|
+
# @return [String]
|
|
1597
|
+
attr_accessor :type
|
|
1598
|
+
end
|
|
1599
|
+
|
|
1600
|
+
class Result < BaseResource
|
|
1601
|
+
# IDs of the speakers whose playback was paused, including speakers grouped with the requested speaker.
|
|
1602
|
+
# @return [Array<String>]
|
|
1603
|
+
attr_accessor :affected_device_ids
|
|
1604
|
+
end
|
|
1605
|
+
|
|
1606
|
+
# Error associated with the action.
|
|
1607
|
+
# @return [Error, nil]
|
|
1608
|
+
# Only present when `status` is `error`; `nil` otherwise.
|
|
1609
|
+
resource_accessor :error, Error
|
|
1610
|
+
available_only_for_statuses :error, ["error"]
|
|
1611
|
+
# Result of the action.
|
|
1612
|
+
# @return [Result, nil]
|
|
1613
|
+
# Only present when `status` is `success`; `nil` otherwise.
|
|
1614
|
+
resource_accessor :result, Result
|
|
1615
|
+
available_only_for_statuses :result, ["success"]
|
|
1616
|
+
# ID of the action attempt.
|
|
1617
|
+
# @return [String]
|
|
1618
|
+
attr_accessor :action_attempt_id
|
|
1619
|
+
# Action attempt to track the status of pausing playback on a speaker.
|
|
1620
|
+
# @return [String]
|
|
1621
|
+
# Known values:
|
|
1622
|
+
# - `PAUSE_SPEAKER_PLAYBACK`
|
|
1623
|
+
attr_accessor :action_type
|
|
1624
|
+
# @return [String]
|
|
1625
|
+
# Known values:
|
|
1626
|
+
# - `success`
|
|
1627
|
+
# - `pending`
|
|
1628
|
+
# - `error`
|
|
1629
|
+
attr_accessor :status
|
|
1630
|
+
end
|
|
1631
|
+
|
|
1632
|
+
# Resuming playback on the speaker is pending.
|
|
1633
|
+
class ResumeSpeakerPlayback < ActionAttempt
|
|
1634
|
+
class Error < BaseResource
|
|
1635
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
1636
|
+
# @return [String]
|
|
1637
|
+
attr_accessor :message
|
|
1638
|
+
# Type of the error.
|
|
1639
|
+
# @return [String]
|
|
1640
|
+
attr_accessor :type
|
|
1641
|
+
end
|
|
1642
|
+
|
|
1643
|
+
class Result < BaseResource
|
|
1644
|
+
# IDs of the speakers whose playback was resumed, including speakers grouped with the requested speaker.
|
|
1645
|
+
# @return [Array<String>]
|
|
1646
|
+
attr_accessor :affected_device_ids
|
|
1647
|
+
end
|
|
1648
|
+
|
|
1649
|
+
# Error associated with the action.
|
|
1650
|
+
# @return [Error, nil]
|
|
1651
|
+
# Only present when `status` is `error`; `nil` otherwise.
|
|
1652
|
+
resource_accessor :error, Error
|
|
1653
|
+
available_only_for_statuses :error, ["error"]
|
|
1654
|
+
# Result of the action.
|
|
1655
|
+
# @return [Result, nil]
|
|
1656
|
+
# Only present when `status` is `success`; `nil` otherwise.
|
|
1657
|
+
resource_accessor :result, Result
|
|
1658
|
+
available_only_for_statuses :result, ["success"]
|
|
1659
|
+
# ID of the action attempt.
|
|
1660
|
+
# @return [String]
|
|
1661
|
+
attr_accessor :action_attempt_id
|
|
1662
|
+
# Action attempt to track the status of resuming playback on a speaker.
|
|
1663
|
+
# @return [String]
|
|
1664
|
+
# Known values:
|
|
1665
|
+
# - `RESUME_SPEAKER_PLAYBACK`
|
|
1666
|
+
attr_accessor :action_type
|
|
1667
|
+
# @return [String]
|
|
1668
|
+
# Known values:
|
|
1669
|
+
# - `success`
|
|
1670
|
+
# - `pending`
|
|
1671
|
+
# - `error`
|
|
1672
|
+
attr_accessor :status
|
|
1673
|
+
end
|
|
1674
|
+
|
|
1675
|
+
# Playing a chime on the speaker is pending.
|
|
1676
|
+
class PlaySpeakerChime < ActionAttempt
|
|
1677
|
+
class Error < BaseResource
|
|
1678
|
+
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
1679
|
+
# @return [String]
|
|
1680
|
+
attr_accessor :message
|
|
1681
|
+
# Type of the error.
|
|
1682
|
+
# @return [String]
|
|
1683
|
+
attr_accessor :type
|
|
1684
|
+
end
|
|
1685
|
+
|
|
1686
|
+
class Result < BaseResource
|
|
1687
|
+
end
|
|
1688
|
+
|
|
1689
|
+
# Error associated with the action.
|
|
1690
|
+
# @return [Error, nil]
|
|
1691
|
+
# Only present when `status` is `error`; `nil` otherwise.
|
|
1692
|
+
resource_accessor :error, Error
|
|
1693
|
+
available_only_for_statuses :error, ["error"]
|
|
1694
|
+
# Result of the action.
|
|
1695
|
+
# @return [Result, nil]
|
|
1696
|
+
# Only present when `status` is `success`; `nil` otherwise.
|
|
1697
|
+
resource_accessor :result, Result
|
|
1698
|
+
available_only_for_statuses :result, ["success"]
|
|
1699
|
+
# ID of the action attempt.
|
|
1700
|
+
# @return [String]
|
|
1701
|
+
attr_accessor :action_attempt_id
|
|
1702
|
+
# Action attempt to track the status of playing a chime on a speaker.
|
|
1703
|
+
# @return [String]
|
|
1704
|
+
# Known values:
|
|
1705
|
+
# - `PLAY_SPEAKER_CHIME`
|
|
1706
|
+
attr_accessor :action_type
|
|
1707
|
+
# @return [String]
|
|
1708
|
+
# Known values:
|
|
1709
|
+
# - `success`
|
|
1710
|
+
# - `pending`
|
|
1711
|
+
# - `error`
|
|
1712
|
+
attr_accessor :status
|
|
1713
|
+
end
|
|
1714
|
+
|
|
1508
1715
|
class SyncAccessCodes < ActionAttempt
|
|
1509
1716
|
class Error < BaseResource
|
|
1510
1717
|
# Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
|
|
@@ -1819,6 +2026,11 @@ module Seam
|
|
|
1819
2026
|
# - `PUSH_THERMOSTAT_PROGRAMS`
|
|
1820
2027
|
# - `CONFIGURE_AUTO_LOCK`
|
|
1821
2028
|
# - `CONVERT_ACCESS_CODE_TO_MANAGED`
|
|
2029
|
+
# - `SET_SPEAKER_VOLUME`
|
|
2030
|
+
# - `SET_SPEAKER_MUTE`
|
|
2031
|
+
# - `PAUSE_SPEAKER_PLAYBACK`
|
|
2032
|
+
# - `RESUME_SPEAKER_PLAYBACK`
|
|
2033
|
+
# - `PLAY_SPEAKER_CHIME`
|
|
1822
2034
|
# - `SYNC_ACCESS_CODES`
|
|
1823
2035
|
# - `CREATE_ACCESS_CODE`
|
|
1824
2036
|
# - `DELETE_ACCESS_CODE`
|
|
@@ -1851,6 +2063,11 @@ module Seam
|
|
|
1851
2063
|
"PUSH_THERMOSTAT_PROGRAMS" => PushThermostatPrograms,
|
|
1852
2064
|
"CONFIGURE_AUTO_LOCK" => ConfigureAutoLock,
|
|
1853
2065
|
"CONVERT_ACCESS_CODE_TO_MANAGED" => ConvertAccessCodeToManaged,
|
|
2066
|
+
"SET_SPEAKER_VOLUME" => SetSpeakerVolume,
|
|
2067
|
+
"SET_SPEAKER_MUTE" => SetSpeakerMute,
|
|
2068
|
+
"PAUSE_SPEAKER_PLAYBACK" => PauseSpeakerPlayback,
|
|
2069
|
+
"RESUME_SPEAKER_PLAYBACK" => ResumeSpeakerPlayback,
|
|
2070
|
+
"PLAY_SPEAKER_CHIME" => PlaySpeakerChime,
|
|
1854
2071
|
"SYNC_ACCESS_CODES" => SyncAccessCodes,
|
|
1855
2072
|
"CREATE_ACCESS_CODE" => CreateAccessCode,
|
|
1856
2073
|
"DELETE_ACCESS_CODE" => DeleteAccessCode,
|
|
@@ -22,6 +22,7 @@ module Seam
|
|
|
22
22
|
# - `noise_sensor`
|
|
23
23
|
# - `access_control`
|
|
24
24
|
# - `camera`
|
|
25
|
+
# - `speaker`
|
|
25
26
|
attr_accessor :accepted_capabilities
|
|
26
27
|
# List of accepted [provider keys](https://www.seam.co/docs/core-concepts/connect-webviews/customizing-connect-webviews#customize-the-brands-to-display-in-your-connect-webviews).
|
|
27
28
|
# @return [Array<String>]
|
|
@@ -1158,6 +1158,30 @@ module Seam
|
|
|
1158
1158
|
attr_accessor :model
|
|
1159
1159
|
end
|
|
1160
1160
|
|
|
1161
|
+
class SonosMetadata < BaseResource
|
|
1162
|
+
# Models of the speakers bonded to this speaker, such as surrounds or a subwoofer.
|
|
1163
|
+
# @return [Array<String>]
|
|
1164
|
+
attr_accessor :bonded_member_models
|
|
1165
|
+
# Color of the speaker, as reported by Sonos.
|
|
1166
|
+
# @return [String, nil]
|
|
1167
|
+
attr_accessor :color
|
|
1168
|
+
# ID of the Sonos household that the speaker belongs to.
|
|
1169
|
+
# @return [String, nil]
|
|
1170
|
+
attr_accessor :household_id
|
|
1171
|
+
# Model name of the speaker, as reported by Sonos.
|
|
1172
|
+
# @return [String, nil]
|
|
1173
|
+
attr_accessor :model_display_name
|
|
1174
|
+
# ID of the Sonos player for the speaker.
|
|
1175
|
+
# @return [String, nil]
|
|
1176
|
+
attr_accessor :player_id
|
|
1177
|
+
# Name of the speaker, as set in the Sonos app.
|
|
1178
|
+
# @return [String, nil]
|
|
1179
|
+
attr_accessor :player_name
|
|
1180
|
+
# Software version running on the speaker.
|
|
1181
|
+
# @return [String, nil]
|
|
1182
|
+
attr_accessor :software_version
|
|
1183
|
+
end
|
|
1184
|
+
|
|
1161
1185
|
class TadoMetadata < BaseResource
|
|
1162
1186
|
# Device type for a tado° device.
|
|
1163
1187
|
# @return [String, nil]
|
|
@@ -1442,6 +1466,60 @@ module Seam
|
|
|
1442
1466
|
attr_accessor :time_zone
|
|
1443
1467
|
end
|
|
1444
1468
|
|
|
1469
|
+
class Speaker < BaseResource
|
|
1470
|
+
class NowPlaying < BaseResource
|
|
1471
|
+
# Album of the content that is currently playing.
|
|
1472
|
+
# @return [String, nil]
|
|
1473
|
+
attr_accessor :album
|
|
1474
|
+
# Artist of the content that is currently playing.
|
|
1475
|
+
# @return [String, nil]
|
|
1476
|
+
attr_accessor :artist
|
|
1477
|
+
# Title of the content that is currently playing.
|
|
1478
|
+
# @return [String, nil]
|
|
1479
|
+
attr_accessor :title
|
|
1480
|
+
end
|
|
1481
|
+
|
|
1482
|
+
# Content that is currently playing on the speaker.
|
|
1483
|
+
# @return [NowPlaying, nil]
|
|
1484
|
+
resource_accessor :now_playing, NowPlaying
|
|
1485
|
+
# IDs of the other speakers that are currently grouped with this speaker. Pausing or resuming playback on a speaker also affects the speakers in its group.
|
|
1486
|
+
# @return [Array<String>]
|
|
1487
|
+
attr_accessor :grouped_with_device_ids
|
|
1488
|
+
# Indicates whether the speaker's volume is fixed, for example, because the speaker's line-out level is controlled by an external amplifier. A speaker with a fixed volume cannot have its volume set through Seam.
|
|
1489
|
+
# @return [Boolean]
|
|
1490
|
+
attr_accessor :has_fixed_volume
|
|
1491
|
+
# Indicates whether the speaker is muted.
|
|
1492
|
+
# @return [Boolean]
|
|
1493
|
+
attr_accessor :is_muted
|
|
1494
|
+
# Maximum volume that you can set on the speaker. This is the ceiling of the speaker's native volume scale, not a limit configured for guests.
|
|
1495
|
+
# @return [Float]
|
|
1496
|
+
attr_accessor :max_volume
|
|
1497
|
+
# Minimum volume that you can set on the speaker.
|
|
1498
|
+
# @return [Float]
|
|
1499
|
+
attr_accessor :min_volume
|
|
1500
|
+
# Playback state of the speaker.
|
|
1501
|
+
# @return [String]
|
|
1502
|
+
# Known values:
|
|
1503
|
+
# - `playing`
|
|
1504
|
+
# - `paused`
|
|
1505
|
+
# - `idle`
|
|
1506
|
+
# - `buffering`
|
|
1507
|
+
# - `unknown`
|
|
1508
|
+
attr_accessor :playback_state
|
|
1509
|
+
# Indicates whether the speaker can play a chime.
|
|
1510
|
+
# @return [Boolean]
|
|
1511
|
+
attr_accessor :supports_chime
|
|
1512
|
+
# Current volume of the speaker, on the speaker's native volume scale from `min_volume` to `max_volume`. This is the native volume setting, not a decibel level.
|
|
1513
|
+
# @return [Float]
|
|
1514
|
+
attr_accessor :volume
|
|
1515
|
+
# Increment between the volume values that you can set on the speaker.
|
|
1516
|
+
# @return [Float]
|
|
1517
|
+
attr_accessor :volume_step
|
|
1518
|
+
# Date and time at which the speaker first reported its current volume.
|
|
1519
|
+
# @return [Time, nil]
|
|
1520
|
+
date_accessor :volume_reported_at
|
|
1521
|
+
end
|
|
1522
|
+
|
|
1445
1523
|
class ActiveThermostatSchedule < BaseResource
|
|
1446
1524
|
class Errors < BaseResource
|
|
1447
1525
|
# Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
|
|
@@ -1925,6 +2003,9 @@ module Seam
|
|
|
1925
2003
|
# Metadata for a SmartThings device.
|
|
1926
2004
|
# @return [SmartthingsMetadata, nil]
|
|
1927
2005
|
resource_accessor :smartthings_metadata, SmartthingsMetadata
|
|
2006
|
+
# Metadata for a Sonos speaker.
|
|
2007
|
+
# @return [SonosMetadata, nil]
|
|
2008
|
+
resource_accessor :sonos_metadata, SonosMetadata
|
|
1928
2009
|
# Metadata for a tado° device.
|
|
1929
2010
|
# @return [TadoMetadata, nil]
|
|
1930
2011
|
resource_accessor :tado_metadata, TadoMetadata
|
|
@@ -1955,6 +2036,9 @@ module Seam
|
|
|
1955
2036
|
# Keypad battery status.
|
|
1956
2037
|
# @return [KeypadBattery, nil]
|
|
1957
2038
|
resource_accessor :keypad_battery, KeypadBattery
|
|
2039
|
+
# Audio state and capabilities of the speaker.
|
|
2040
|
+
# @return [Speaker, nil]
|
|
2041
|
+
resource_accessor :speaker, Speaker
|
|
1958
2042
|
# Active [thermostat schedule](https://www.seam.co/docs/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
|
|
1959
2043
|
# @return [ActiveThermostatSchedule, nil]
|
|
1960
2044
|
resource_accessor :active_thermostat_schedule, ActiveThermostatSchedule
|
|
@@ -2689,6 +2773,15 @@ module Seam
|
|
|
2689
2773
|
# Indicates whether the thermostat supports simultaneous heating and cooling.
|
|
2690
2774
|
# @return [Boolean, nil]
|
|
2691
2775
|
attr_accessor :can_hvac_heat_cool
|
|
2776
|
+
# Indicates whether the speaker supports muting and unmuting.
|
|
2777
|
+
# @return [Boolean, nil]
|
|
2778
|
+
attr_accessor :can_mute_speaker
|
|
2779
|
+
# Indicates whether the speaker supports pausing and resuming playback.
|
|
2780
|
+
# @return [Boolean, nil]
|
|
2781
|
+
attr_accessor :can_pause_speaker_playback
|
|
2782
|
+
# Indicates whether the speaker supports playing a chime.
|
|
2783
|
+
# @return [Boolean, nil]
|
|
2784
|
+
attr_accessor :can_play_speaker_chime
|
|
2692
2785
|
# Indicates whether the device supports programming offline access codes.
|
|
2693
2786
|
# @return [Boolean, nil]
|
|
2694
2787
|
attr_accessor :can_program_offline_access_codes
|
|
@@ -2713,6 +2806,9 @@ module Seam
|
|
|
2713
2806
|
# Indicates whether the thermostat supports running climate programs.
|
|
2714
2807
|
# @return [Boolean, nil]
|
|
2715
2808
|
attr_accessor :can_run_thermostat_programs
|
|
2809
|
+
# Indicates whether the speaker supports setting its volume.
|
|
2810
|
+
# @return [Boolean, nil]
|
|
2811
|
+
attr_accessor :can_set_speaker_volume
|
|
2716
2812
|
# Indicates whether the device supports simulating connection in a sandbox.
|
|
2717
2813
|
# @return [Boolean, nil]
|
|
2718
2814
|
attr_accessor :can_simulate_connection
|
|
@@ -2808,6 +2904,7 @@ module Seam
|
|
|
2808
2904
|
# - `tapo_camera`
|
|
2809
2905
|
# - `arlo_camera`
|
|
2810
2906
|
# - `reolink_camera`
|
|
2907
|
+
# - `sonos_speaker`
|
|
2811
2908
|
attr_accessor :device_type
|
|
2812
2909
|
# 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.
|
|
2813
2910
|
# @return [String]
|
|
@@ -18,6 +18,15 @@ module Seam
|
|
|
18
18
|
# Indicates whether the thermostat supports simultaneous heating and cooling.
|
|
19
19
|
# @return [Boolean, nil]
|
|
20
20
|
attr_accessor :can_hvac_heat_cool
|
|
21
|
+
# Indicates whether the speaker supports muting and unmuting.
|
|
22
|
+
# @return [Boolean, nil]
|
|
23
|
+
attr_accessor :can_mute_speaker
|
|
24
|
+
# Indicates whether the speaker supports pausing and resuming playback.
|
|
25
|
+
# @return [Boolean, nil]
|
|
26
|
+
attr_accessor :can_pause_speaker_playback
|
|
27
|
+
# Indicates whether the speaker supports playing a chime.
|
|
28
|
+
# @return [Boolean, nil]
|
|
29
|
+
attr_accessor :can_play_speaker_chime
|
|
21
30
|
# Indicates whether the device supports programming offline access codes.
|
|
22
31
|
# @return [Boolean, nil]
|
|
23
32
|
attr_accessor :can_program_offline_access_codes
|
|
@@ -42,6 +51,9 @@ module Seam
|
|
|
42
51
|
# Indicates whether the thermostat supports running climate programs.
|
|
43
52
|
# @return [Boolean, nil]
|
|
44
53
|
attr_accessor :can_run_thermostat_programs
|
|
54
|
+
# Indicates whether the speaker supports setting its volume.
|
|
55
|
+
# @return [Boolean, nil]
|
|
56
|
+
attr_accessor :can_set_speaker_volume
|
|
45
57
|
# Indicates whether the device supports simulating connection in a sandbox.
|
|
46
58
|
# @return [Boolean, nil]
|
|
47
59
|
attr_accessor :can_simulate_connection
|
|
@@ -140,6 +152,7 @@ module Seam
|
|
|
140
152
|
# - `omnitec`
|
|
141
153
|
# - `kisi`
|
|
142
154
|
# - `aqara`
|
|
155
|
+
# - `sonos`
|
|
143
156
|
attr_accessor :device_provider_name
|
|
144
157
|
# Display name for the device provider.
|
|
145
158
|
# @return [String]
|