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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29b629f49ba1b506fe148294d4847134e07fec1cc84b75ab4308a72260dfc245
4
- data.tar.gz: 2d8ad86b113c0791a9558a84d8fd38561b8be20f2b89a2df6a3ee4bd606d4200
3
+ metadata.gz: '0728def14eca9e4d20afc7b4b6c8d6a312f6369058f1a1ffb39912223af2090d'
4
+ data.tar.gz: 2fe687ec9d2b0e01b5bfff64abcd2bd162ade8f4d014754dc01acda67eae9334
5
5
  SHA512:
6
- metadata.gz: 1971e10d29dec2cd3586a9cb4ea46695057ad9c39fae07ef766438b38abf5c1cd705ba48458c3d06cb44570553a0e3a87eb2650091d34f7ae5ffb1c505135d96
7
- data.tar.gz: 3ea56b8dd69b13a194a0e6b93edd5a45e5561d250189c6267fbbdd9d93fa0b9e4b9c1291d4153d066036ac6ca399a91c68861a438da38dc1da643f41ab53d904
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.164.0)
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.164.0)
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 (e.g. `offline_access_code_not_revocable`).
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 credential has been created and the card has not yet been issued.
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 Seam is in the process of updating the access times for this access method.
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 credential has been created and the card has not yet been issued.
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>]
@@ -355,6 +355,7 @@ module Seam
355
355
  # - `noise_sensor`
356
356
  # - `access_control`
357
357
  # - `camera`
358
+ # - `speaker`
358
359
  attr_accessor :accepted_capabilities
359
360
  # Type of connected account.
360
361
  # @return [String, nil]
@@ -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]