seam 2.138.0 → 2.140.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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +69 -66
  3. data/README.md +12 -0
  4. data/lib/seam/http_single_workspace.rb +34 -2
  5. data/lib/seam/http_without_workspace.rb +41 -12
  6. data/lib/seam/paginator.rb +4 -1
  7. data/lib/seam/request.rb +5 -1
  8. data/lib/seam/resources/access_code.rb +74 -0
  9. data/lib/seam/resources/access_grant.rb +60 -0
  10. data/lib/seam/resources/access_method.rb +39 -0
  11. data/lib/seam/resources/acs_access_group.rb +45 -0
  12. data/lib/seam/resources/acs_credential.rb +67 -0
  13. data/lib/seam/resources/acs_encoder.rb +11 -0
  14. data/lib/seam/resources/acs_entrance.rb +95 -0
  15. data/lib/seam/resources/acs_system.rb +36 -0
  16. data/lib/seam/resources/acs_user.rb +66 -0
  17. data/lib/seam/resources/action_attempt.rb +192 -0
  18. data/lib/seam/resources/batch.rb +24 -0
  19. data/lib/seam/resources/client_session.rb +12 -0
  20. data/lib/seam/resources/connect_webview.rb +19 -0
  21. data/lib/seam/resources/connected_account.rb +50 -0
  22. data/lib/seam/resources/customer_portal.rb +5 -0
  23. data/lib/seam/resources/device.rb +622 -4
  24. data/lib/seam/resources/device_provider.rb +24 -0
  25. data/lib/seam/resources/event.rb +142 -3
  26. data/lib/seam/resources/instant_key.rb +13 -0
  27. data/lib/seam/resources/noise_threshold.rb +7 -0
  28. data/lib/seam/resources/pagination.rb +3 -0
  29. data/lib/seam/resources/phone.rb +29 -0
  30. data/lib/seam/resources/space.rb +19 -0
  31. data/lib/seam/resources/thermostat_daily_program.rb +9 -0
  32. data/lib/seam/resources/thermostat_schedule.rb +15 -0
  33. data/lib/seam/resources/unmanaged_access_code.rb +51 -0
  34. data/lib/seam/resources/unmanaged_access_grant.rb +56 -0
  35. data/lib/seam/resources/unmanaged_access_method.rb +36 -0
  36. data/lib/seam/resources/unmanaged_device.rb +80 -0
  37. data/lib/seam/resources/unmanaged_user_identity.rb +20 -0
  38. data/lib/seam/resources/user_identity.rb +21 -0
  39. data/lib/seam/resources/webhook.rb +4 -0
  40. data/lib/seam/resources/workspace.rb +15 -0
  41. data/lib/seam/routes/access_codes.rb +79 -79
  42. data/lib/seam/routes/access_codes_simulate.rb +3 -3
  43. data/lib/seam/routes/access_codes_unmanaged.rb +27 -23
  44. data/lib/seam/routes/access_grants.rb +57 -45
  45. data/lib/seam/routes/access_grants_unmanaged.rb +13 -13
  46. data/lib/seam/routes/access_methods.rb +32 -24
  47. data/lib/seam/routes/access_methods_unmanaged.rb +7 -7
  48. data/lib/seam/routes/acs_access_groups.rb +21 -21
  49. data/lib/seam/routes/acs_credentials.rb +40 -40
  50. data/lib/seam/routes/acs_encoders.rb +16 -16
  51. data/lib/seam/routes/acs_encoders_simulate.rb +11 -11
  52. data/lib/seam/routes/acs_entrances.rb +20 -20
  53. data/lib/seam/routes/acs_systems.rb +11 -11
  54. data/lib/seam/routes/acs_users.rb +83 -55
  55. data/lib/seam/routes/action_attempts.rb +6 -6
  56. data/lib/seam/routes/client_sessions.rb +38 -34
  57. data/lib/seam/routes/connect_webviews.rb +20 -20
  58. data/lib/seam/routes/connected_accounts.rb +24 -20
  59. data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
  60. data/lib/seam/routes/customers.rb +50 -50
  61. data/lib/seam/routes/devices.rb +33 -29
  62. data/lib/seam/routes/devices_simulate.rb +7 -7
  63. data/lib/seam/routes/devices_unmanaged.rb +25 -26
  64. data/lib/seam/routes/events.rb +40 -32
  65. data/lib/seam/routes/instant_keys.rb +11 -7
  66. data/lib/seam/routes/locks.rb +20 -27
  67. data/lib/seam/routes/locks_simulate.rb +3 -3
  68. data/lib/seam/routes/noise_sensors.rb +8 -19
  69. data/lib/seam/routes/noise_sensors_noise_thresholds.rb +21 -21
  70. data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
  71. data/lib/seam/routes/phones.rb +7 -7
  72. data/lib/seam/routes/phones_simulate.rb +4 -4
  73. data/lib/seam/routes/spaces.rb +53 -45
  74. data/lib/seam/routes/thermostats.rb +75 -86
  75. data/lib/seam/routes/thermostats_daily_programs.rb +9 -9
  76. data/lib/seam/routes/thermostats_schedules.rb +22 -22
  77. data/lib/seam/routes/thermostats_simulate.rb +9 -9
  78. data/lib/seam/routes/user_identities.rb +50 -46
  79. data/lib/seam/routes/user_identities_unmanaged.rb +11 -11
  80. data/lib/seam/routes/webhooks.rb +10 -10
  81. data/lib/seam/routes/workspaces.rb +19 -19
  82. data/lib/seam/version.rb +1 -1
  83. metadata +8 -11
@@ -4,52 +4,76 @@ module Seam
4
4
  module Resources
5
5
  class DeviceProvider < BaseResource
6
6
  # Indicates whether the lock supports configuring automatic locking.
7
+ # @return [Boolean, nil]
7
8
  attr_accessor :can_configure_auto_lock
8
9
  # Indicates whether the thermostat supports cooling.
10
+ # @return [Boolean, nil]
9
11
  attr_accessor :can_hvac_cool
10
12
  # Indicates whether the thermostat supports heating.
13
+ # @return [Boolean, nil]
11
14
  attr_accessor :can_hvac_heat
12
15
  # Indicates whether the thermostat supports simultaneous heating and cooling.
16
+ # @return [Boolean, nil]
13
17
  attr_accessor :can_hvac_heat_cool
14
18
  # Indicates whether the device supports programming offline access codes.
19
+ # @return [Boolean, nil]
15
20
  attr_accessor :can_program_offline_access_codes
16
21
  # Indicates whether the device supports programming online access codes.
22
+ # @return [Boolean, nil]
17
23
  attr_accessor :can_program_online_access_codes
18
24
  # Indicates whether the thermostat supports different climate programs for each day of the week.
25
+ # @return [Boolean, nil]
19
26
  attr_accessor :can_program_thermostat_programs_as_different_each_day
20
27
  # Indicates whether the thermostat supports a single climate program applied to every day.
28
+ # @return [Boolean, nil]
21
29
  attr_accessor :can_program_thermostat_programs_as_same_each_day
22
30
  # Indicates whether the thermostat supports weekday/weekend climate programs.
31
+ # @return [Boolean, nil]
23
32
  attr_accessor :can_program_thermostat_programs_as_weekday_weekend
24
33
  # Indicates whether the device supports remote locking.
34
+ # @return [Boolean, nil]
25
35
  attr_accessor :can_remotely_lock
26
36
  # Indicates whether the device supports remote unlocking.
37
+ # @return [Boolean, nil]
27
38
  attr_accessor :can_remotely_unlock
28
39
  # Indicates whether the thermostat supports running climate programs.
40
+ # @return [Boolean, nil]
29
41
  attr_accessor :can_run_thermostat_programs
30
42
  # Indicates whether the device supports simulating connection in a sandbox.
43
+ # @return [Boolean, nil]
31
44
  attr_accessor :can_simulate_connection
32
45
  # Indicates whether the device supports simulating disconnection in a sandbox.
46
+ # @return [Boolean, nil]
33
47
  attr_accessor :can_simulate_disconnection
34
48
  # Indicates whether the hub supports simulating connection in a sandbox.
49
+ # @return [Boolean, nil]
35
50
  attr_accessor :can_simulate_hub_connection
36
51
  # Indicates whether the hub supports simulating disconnection in a sandbox.
52
+ # @return [Boolean, nil]
37
53
  attr_accessor :can_simulate_hub_disconnection
38
54
  # Indicates whether the device supports simulating a paid subscription in a sandbox.
55
+ # @return [Boolean, nil]
39
56
  attr_accessor :can_simulate_paid_subscription
40
57
  # Indicates whether the device supports simulating removal in a sandbox.
58
+ # @return [Boolean, nil]
41
59
  attr_accessor :can_simulate_removal
42
60
  # Indicates whether the thermostat can be turned off.
61
+ # @return [Boolean, nil]
43
62
  attr_accessor :can_turn_off_hvac
44
63
  # Indicates whether the lock supports unlocking with an access code.
64
+ # @return [Boolean, nil]
45
65
  attr_accessor :can_unlock_with_code
46
66
  # Name of the device provider.
67
+ # @return [String]
47
68
  attr_accessor :device_provider_name
48
69
  # Display name for the device provider.
70
+ # @return [String]
49
71
  attr_accessor :display_name
50
72
  # Image URL for the device provider.
73
+ # @return [String]
51
74
  attr_accessor :image_url
52
75
  # List of provider categories to which the device provider belongs, such as `stable`, `consumer_smartlocks`, `thermostats`, and so on.
76
+ # @return [Array<String>]
53
77
  attr_accessor :provider_categories
54
78
  end
55
79
  end
@@ -5,272 +5,411 @@ module Seam
5
5
  class SeamEvent < BaseResource
6
6
  class AccessCodeErrors < BaseResource
7
7
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
8
+ # @return [String]
8
9
  attr_accessor :error_code
9
10
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
11
+ # @return [String]
10
12
  attr_accessor :message
11
13
  # Date and time at which Seam created the error.
14
+ # @return [Time]
12
15
  date_accessor :created_at
13
16
  end
14
17
 
15
18
  class AccessCodeWarnings < BaseResource
16
19
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
20
+ # @return [String]
17
21
  attr_accessor :message
18
22
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
23
+ # @return [String]
19
24
  attr_accessor :warning_code
20
25
  # Date and time at which Seam created the warning.
26
+ # @return [Time]
21
27
  date_accessor :created_at
22
28
  end
23
29
 
24
30
  class AcsSystemErrors < BaseResource
25
31
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
32
+ # @return [String]
26
33
  attr_accessor :error_code
27
34
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
35
+ # @return [String]
28
36
  attr_accessor :message
29
37
  # Date and time at which Seam created the error.
38
+ # @return [Time]
30
39
  date_accessor :created_at
31
40
  end
32
41
 
33
42
  class AcsSystemWarnings < BaseResource
34
43
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
44
+ # @return [String]
35
45
  attr_accessor :message
36
46
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
47
+ # @return [String]
37
48
  attr_accessor :warning_code
38
49
  # Date and time at which Seam created the warning.
50
+ # @return [Time]
39
51
  date_accessor :created_at
40
52
  end
41
53
 
42
54
  class ChangedProperties < BaseResource
43
55
  # Previous value of the property, or null if not set.
56
+ # @return [String, nil]
44
57
  attr_accessor :from
45
58
  # Name of the property that changed (e.g. `code`).
59
+ # @return [String]
46
60
  attr_accessor :property
47
61
  # New value of the property, or null if cleared.
62
+ # @return [String, nil]
48
63
  attr_accessor :to
49
64
  end
50
65
 
51
66
  class ConnectedAccountErrors < BaseResource
52
67
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
68
+ # @return [String]
53
69
  attr_accessor :error_code
54
70
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
71
+ # @return [String]
55
72
  attr_accessor :message
56
73
  # Date and time at which Seam created the error.
74
+ # @return [Time]
57
75
  date_accessor :created_at
58
76
  end
59
77
 
60
78
  class ConnectedAccountWarnings < BaseResource
61
79
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
80
+ # @return [String]
62
81
  attr_accessor :message
63
82
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
83
+ # @return [String]
64
84
  attr_accessor :warning_code
65
85
  # Date and time at which Seam created the warning.
86
+ # @return [Time]
66
87
  date_accessor :created_at
67
88
  end
68
89
 
69
90
  class DeviceErrors < BaseResource
70
91
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
92
+ # @return [String]
71
93
  attr_accessor :error_code
72
94
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
95
+ # @return [String]
73
96
  attr_accessor :message
74
97
  # Date and time at which Seam created the error.
98
+ # @return [Time]
75
99
  date_accessor :created_at
76
100
  end
77
101
 
78
102
  class DeviceWarnings < BaseResource
79
103
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
104
+ # @return [String]
80
105
  attr_accessor :message
81
106
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
107
+ # @return [String]
82
108
  attr_accessor :warning_code
83
109
  # Date and time at which Seam created the warning.
110
+ # @return [Time]
84
111
  date_accessor :created_at
85
112
  end
86
113
 
87
114
  class From < BaseResource
88
115
  # Previous pin code.
116
+ # @return [String, nil]
89
117
  attr_accessor :code
90
118
  # Previous end time.
119
+ # @return [String, nil]
91
120
  attr_accessor :ends_at
92
121
  # Previous name of the access code.
122
+ # @return [String, nil]
93
123
  attr_accessor :name
94
124
  # Previous start time.
125
+ # @return [String, nil]
95
126
  attr_accessor :starts_at
96
127
  end
97
128
 
98
129
  class Reason < BaseResource
99
130
  # Human-readable explanation of why access was denied.
131
+ # @return [String]
100
132
  attr_accessor :message
101
133
  # Normalized reason a lock denied access. Provider-agnostic; not all providers report every value.
134
+ # @return [String]
102
135
  attr_accessor :reason_code
103
136
  end
104
137
 
105
138
  class RequestedMutations < BaseResource
106
139
  # Previous property values before the requested change. Keys depend on the mutation type. Absent for non-property mutations like `deleting`.
140
+ # @return [Hash, nil]
107
141
  attr_accessor :from
108
142
  # Code identifying the type of mutation requested, such as `updating_name`, `updating_code`, `updating_time_frame`, or `deleting`.
143
+ # @return [String]
109
144
  attr_accessor :mutation_code
110
145
  # New property values after the requested change. Keys depend on the mutation type. Absent for non-property mutations like `deleting`.
146
+ # @return [Hash, nil]
111
147
  attr_accessor :to
112
148
  end
113
149
 
114
150
  class To < BaseResource
115
151
  # New pin code.
152
+ # @return [String, nil]
116
153
  attr_accessor :code
117
154
  # New end time.
155
+ # @return [String, nil]
118
156
  attr_accessor :ends_at
119
157
  # New name of the access code.
158
+ # @return [String, nil]
120
159
  attr_accessor :name
121
160
  # New start time.
161
+ # @return [String, nil]
122
162
  attr_accessor :starts_at
123
163
  end
124
164
 
165
+ # @return [From]
125
166
  resource_accessor :from, From
167
+ # Why access was denied, when the provider reports a determinable cause. Omitted when unknown.
168
+ # @return [Reason, nil]
126
169
  resource_accessor :reason, Reason
170
+ # @return [To]
127
171
  resource_accessor :to, To
172
+ # Errors associated with the access code.
173
+ # @return [Array<AccessCodeErrors>]
128
174
  resource_list_accessor :access_code_errors, AccessCodeErrors
175
+ # Warnings associated with the access code.
176
+ # @return [Array<AccessCodeWarnings>]
129
177
  resource_list_accessor :access_code_warnings, AccessCodeWarnings
178
+ # Errors associated with the access control system.
179
+ # @return [Array<AcsSystemErrors>]
130
180
  resource_list_accessor :acs_system_errors, AcsSystemErrors
181
+ # Warnings associated with the access control system.
182
+ # @return [Array<AcsSystemWarnings>]
131
183
  resource_list_accessor :acs_system_warnings, AcsSystemWarnings
184
+ # List of properties that changed on the access code.
185
+ # @return [Array<ChangedProperties>]
132
186
  resource_list_accessor :changed_properties, ChangedProperties
187
+ # Errors associated with the connected account.
188
+ # @return [Array<ConnectedAccountErrors>]
133
189
  resource_list_accessor :connected_account_errors, ConnectedAccountErrors
190
+ # Warnings associated with the connected account.
191
+ # @return [Array<ConnectedAccountWarnings>]
134
192
  resource_list_accessor :connected_account_warnings, ConnectedAccountWarnings
193
+ # Errors associated with the device.
194
+ # @return [Array<DeviceErrors>]
135
195
  resource_list_accessor :device_errors, DeviceErrors
196
+ # Warnings associated with the device.
197
+ # @return [Array<DeviceWarnings>]
136
198
  resource_list_accessor :device_warnings, DeviceWarnings
199
+ # Array of mutations requested on the access code, each containing the mutation type and from/to values.
200
+ # @return [Array<RequestedMutations>]
137
201
  resource_list_accessor :requested_mutations, RequestedMutations
202
+ # @return [String, nil]
138
203
  attr_accessor :access_code_id
139
204
  # Whether the access code is managed by Seam (true) or unmanaged (false). Only present when access_code_id is set.
205
+ # @return [Boolean, nil]
140
206
  attr_accessor :access_code_is_managed
141
207
  # ID of the affected Access Grant.
208
+ # @return [String]
142
209
  attr_accessor :access_grant_id
143
210
  # IDs of the access grants associated with this access method.
211
+ # @return [Array<String>]
144
212
  attr_accessor :access_grant_ids
145
213
  # Key of the affected Access Grant (if present).
214
+ # @return [String, nil]
146
215
  attr_accessor :access_grant_key
147
216
  # Keys of the access grants associated with this access method (if present).
217
+ # @return [Array<String>]
148
218
  attr_accessor :access_grant_keys
149
219
  # ID of the affected access method.
220
+ # @return [String]
150
221
  attr_accessor :access_method_id
151
222
  # ID of the affected access group.
223
+ # @return [String]
152
224
  attr_accessor :acs_access_group_id
153
225
  # ID of the affected credential.
226
+ # @return [String]
154
227
  attr_accessor :acs_credential_id
155
228
  # ID of the affected encoder.
229
+ # @return [String]
156
230
  attr_accessor :acs_encoder_id
231
+ # @return [String]
157
232
  attr_accessor :acs_entrance_id
233
+ # @return [Array<String>]
158
234
  attr_accessor :acs_entrance_ids
235
+ # ID of the access system.
236
+ # @return [String]
159
237
  attr_accessor :acs_system_id
238
+ # ID of the affected access system user.
239
+ # @return [String]
160
240
  attr_accessor :acs_user_id
241
+ # @return [String, nil]
161
242
  attr_accessor :action_attempt_id
162
243
  # Type of the action.
244
+ # @return [String]
163
245
  attr_accessor :action_type
164
246
  # The reason the camera was activated.
247
+ # @return [String]
165
248
  attr_accessor :activation_reason
166
249
  # ID of the backup access code that was pulled from the pool.
250
+ # @return [String]
167
251
  attr_accessor :backup_access_code_id
168
252
  # Number in the range 0 to 1.0 indicating the amount of battery in the affected device, as reported by the device.
253
+ # @return [Float]
169
254
  attr_accessor :battery_level
170
255
  # Battery status of the affected device, calculated from the numeric `battery_level` value.
256
+ # @return [String]
171
257
  attr_accessor :battery_status
172
258
  # Human-readable reason for the change (e.g. `ongoing code auto-renewed`).
259
+ # @return [String, nil]
173
260
  attr_accessor :change_reason
174
261
  # ID of the affected client session.
262
+ # @return [String]
175
263
  attr_accessor :client_session_id
176
264
  # Key of the climate preset that was activated.
265
+ # @return [String]
177
266
  attr_accessor :climate_preset_key
267
+ # @return [String, nil]
178
268
  attr_accessor :code
269
+ # @return [String, nil]
179
270
  attr_accessor :connect_webview_id
271
+ # @return [Hash, nil]
180
272
  attr_accessor :connected_account_custom_metadata
273
+ # @return [String, nil]
181
274
  attr_accessor :connected_account_id
182
- # undocumented: Unreleased.
183
- attr_accessor :connected_account_type
184
275
  # Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
276
+ # @return [Float, nil]
185
277
  attr_accessor :cooling_set_point_celsius
186
278
  # Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
279
+ # @return [Float, nil]
187
280
  attr_accessor :cooling_set_point_fahrenheit
281
+ # @return [String, nil]
188
282
  attr_accessor :customer_key
189
283
  # Human-readable description of the change and its source.
284
+ # @return [String]
190
285
  attr_accessor :description
191
286
  # Desired temperature, in °C, defined by the affected thermostat's cooling or heating set point.
287
+ # @return [Float, nil]
192
288
  attr_accessor :desired_temperature_celsius
193
289
  # Desired temperature, in °F, defined by the affected thermostat's cooling or heating set point.
290
+ # @return [Float, nil]
194
291
  attr_accessor :desired_temperature_fahrenheit
292
+ # @return [Hash, nil]
195
293
  attr_accessor :device_custom_metadata
294
+ # @return [String, nil]
196
295
  attr_accessor :device_id
296
+ # @return [Array<String>]
197
297
  attr_accessor :device_ids
298
+ # @return [String, nil]
198
299
  attr_accessor :device_name
199
300
  # The new end time for the access grant.
301
+ # @return [String, nil]
200
302
  attr_accessor :ends_at
201
303
  # Error code associated with the disconnection event, if any.
304
+ # @return [String]
202
305
  attr_accessor :error_code
203
306
  # Description of why the access methods could not be created.
307
+ # @return [String]
204
308
  attr_accessor :error_message
205
309
  # Human-readable description of the event. Persisted when the event is created (so the creating code, including a provider, can supply a tailored description) and otherwise derived from the event.
310
+ # @return [String, nil]
206
311
  attr_accessor :event_description
207
312
  # ID of the event.
313
+ # @return [String, nil]
208
314
  attr_accessor :event_id
209
315
  # Type of the event.
316
+ # @return [String, nil]
210
317
  attr_accessor :event_type
211
318
  # Desired [fan mode setting](https://docs.seam.co/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.
319
+ # @return [String, nil]
212
320
  attr_accessor :fan_mode_setting
213
321
  # Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
322
+ # @return [Float, nil]
214
323
  attr_accessor :heating_set_point_celsius
215
324
  # Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/set-points).
325
+ # @return [Float, nil]
216
326
  attr_accessor :heating_set_point_fahrenheit
217
327
  # Desired [HVAC mode](https://docs.seam.co/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.
328
+ # @return [String, nil]
218
329
  attr_accessor :hvac_mode_setting
330
+ # @return [String, nil]
219
331
  attr_accessor :image_url
220
332
  # Indicates whether the code is a backup code (only present when mode is 'code' and a backup code was used).
333
+ # @return [Boolean, nil]
221
334
  attr_accessor :is_backup_code
222
335
  # Indicates whether the climate preset that was activated is the fallback climate preset for the thermostat.
336
+ # @return [Boolean]
223
337
  attr_accessor :is_fallback_climate_preset
338
+ # @return [Boolean, nil]
224
339
  attr_accessor :is_via_bluetooth
340
+ # @return [Boolean, nil]
225
341
  attr_accessor :is_via_nfc
226
342
  # Lower temperature limit, in °C, defined by the set threshold.
343
+ # @return [Float, nil]
227
344
  attr_accessor :lower_limit_celsius
228
345
  # Lower temperature limit, in °F, defined by the set threshold.
346
+ # @return [Float, nil]
229
347
  attr_accessor :lower_limit_fahrenheit
348
+ # @return [String]
230
349
  attr_accessor :method
231
350
  # Metadata from Minut.
351
+ # @return [Hash, nil]
232
352
  attr_accessor :minut_metadata
233
353
  # IDs of the devices that did not receive a requested access method. Use these to identify which specific devices failed without having to fetch the Access Grant.
354
+ # @return [Array<String>]
234
355
  attr_accessor :missing_device_ids
235
356
  # Sub-type of motion detected, if available.
357
+ # @return [String, nil]
236
358
  attr_accessor :motion_sub_type
237
359
  # Detected noise level in decibels.
360
+ # @return [Float, nil]
238
361
  attr_accessor :noise_level_decibels
239
362
  # Detected noise level in Noiseaware Noise Risk Score (NRS).
363
+ # @return [Float, nil]
240
364
  attr_accessor :noise_level_nrs
241
365
  # ID of the noise threshold that was triggered.
366
+ # @return [String, nil]
242
367
  attr_accessor :noise_threshold_id
243
368
  # Name of the noise threshold that was triggered.
369
+ # @return [String, nil]
244
370
  attr_accessor :noise_threshold_name
245
371
  # Metadata from Noiseaware.
372
+ # @return [Hash, nil]
246
373
  attr_accessor :noiseaware_metadata
247
374
  # ID of the affected space.
375
+ # @return [String]
248
376
  attr_accessor :space_id
249
377
  # Unique key for the space within the workspace.
378
+ # @return [String, nil]
250
379
  attr_accessor :space_key
251
380
  # The new start time for the access grant.
381
+ # @return [String, nil]
252
382
  attr_accessor :starts_at
253
383
  # Status of the action.
384
+ # @return [String]
254
385
  attr_accessor :status
255
386
  # Temperature, in °C, reported by the affected thermostat.
387
+ # @return [Float]
256
388
  attr_accessor :temperature_celsius
257
389
  # Temperature, in °F, reported by the affected thermostat.
390
+ # @return [Float]
258
391
  attr_accessor :temperature_fahrenheit
259
392
  # ID of the thermostat schedule that prompted the affected climate preset to be activated.
393
+ # @return [String, nil]
260
394
  attr_accessor :thermostat_schedule_id
261
395
  # Upper temperature limit, in °C, defined by the set threshold.
396
+ # @return [Float, nil]
262
397
  attr_accessor :upper_limit_celsius
263
398
  # Upper temperature limit, in °F, defined by the set threshold.
399
+ # @return [Float, nil]
264
400
  attr_accessor :upper_limit_fahrenheit
265
- attr_accessor :user_identity_id
401
+ # @return [String, nil]
266
402
  attr_accessor :video_url
267
403
  # ID of the workspace associated with the event.
404
+ # @return [String, nil]
268
405
  attr_accessor :workspace_id
269
406
 
270
407
  # Date and time at which the event was created.
408
+ # @return [Time, nil]
271
409
  date_accessor :created_at
272
410
 
273
411
  # Date and time at which the event occurred.
412
+ # @return [Time, nil]
274
413
  date_accessor :occurred_at
275
414
  end
276
415
  end
@@ -8,31 +8,44 @@ module Seam
8
8
  class InstantKey < BaseResource
9
9
  class Customization < BaseResource
10
10
  # URL of the logo displayed on the Instant Key.
11
+ # @return [String, nil]
11
12
  attr_accessor :logo_url
12
13
  # Primary color used in the Instant Key UI.
14
+ # @return [String, nil]
13
15
  attr_accessor :primary_color
14
16
  # Secondary color used in the Instant Key UI.
17
+ # @return [String, nil]
15
18
  attr_accessor :secondary_color
16
19
  end
17
20
 
21
+ # Customization applied to the Instant Key UI.
22
+ # @return [Customization, nil]
18
23
  resource_accessor :customization, Customization
19
24
  # ID of the client session associated with the Instant Key.
25
+ # @return [String]
20
26
  attr_accessor :client_session_id
21
27
  # ID of the customization profile associated with the Instant Key.
28
+ # @return [String, nil]
22
29
  attr_accessor :customization_profile_id
23
30
  # ID of the Instant Key.
31
+ # @return [String]
24
32
  attr_accessor :instant_key_id
25
33
  # Shareable URL for the Instant Key. Use the URL to deliver the Instant Key to your user through a link in a text message or email or by embedding it in your web app.
34
+ # @return [String]
26
35
  attr_accessor :instant_key_url
27
36
  # ID of the user identity associated with the Instant Key.
37
+ # @return [String]
28
38
  attr_accessor :user_identity_id
29
39
  # ID of the workspace that contains the Instant Key.
40
+ # @return [String]
30
41
  attr_accessor :workspace_id
31
42
 
32
43
  # Date and time at which the Instant Key was created.
44
+ # @return [Time]
33
45
  date_accessor :created_at
34
46
 
35
47
  # Date and time at which the Instant Key expires.
48
+ # @return [Time]
36
49
  date_accessor :expires_at
37
50
  end
38
51
  end
@@ -5,18 +5,25 @@ module Seam
5
5
  # Represents a [noise threshold](https://docs.seam.co/capability-guides/noise-sensors/configure-noise-threshold-settings) for a [noise sensor](https://docs.seam.co/capability-guides/noise-sensors). Thresholds represent the limits of noise tolerated at a property, which can be customized for each hour of the day. Each device has its own default thresholds, but you can use the Seam API to modify them.
6
6
  class NoiseThreshold < BaseResource
7
7
  # Unique identifier for the device that contains the noise threshold.
8
+ # @return [String]
8
9
  attr_accessor :device_id
9
10
  # Time at which the noise threshold should become inactive daily.
11
+ # @return [String]
10
12
  attr_accessor :ends_daily_at
11
13
  # Name of the noise threshold.
14
+ # @return [String]
12
15
  attr_accessor :name
13
16
  # Noise level in decibels for the noise threshold.
17
+ # @return [Float]
14
18
  attr_accessor :noise_threshold_decibels
15
19
  # Unique identifier for the noise threshold.
20
+ # @return [String]
16
21
  attr_accessor :noise_threshold_id
17
22
  # Noise level in Noiseaware Noise Risk Score (NRS) for the noise threshold. This parameter is only relevant for [Noiseaware sensors](https://docs.seam.co/device-and-system-integration-guides/noiseaware-sensors).
23
+ # @return [Float, nil]
18
24
  attr_accessor :noise_threshold_nrs
19
25
  # Time at which the noise threshold should become active daily.
26
+ # @return [String]
20
27
  attr_accessor :starts_daily_at
21
28
  end
22
29
  end
@@ -5,10 +5,13 @@ module Seam
5
5
  # Information about the current page of results.
6
6
  class Pagination < BaseResource
7
7
  # Indicates whether there is another page of results after this one.
8
+ # @return [Boolean]
8
9
  attr_accessor :has_next_page
9
10
  # Opaque value that can be used to select the next page of results via the `page_cursor` parameter.
11
+ # @return [String, nil]
10
12
  attr_accessor :next_page_cursor
11
13
  # URL to get the next page of results.
14
+ # @return [String, nil]
12
15
  attr_accessor :next_page_url
13
16
  end
14
17
  end
@@ -6,10 +6,13 @@ module Seam
6
6
  class Phone < BaseResource
7
7
  class Errors < BaseResource
8
8
  # Unique identifier of the type of error.
9
+ # @return [String]
9
10
  attr_accessor :error_code
10
11
  # Detailed description of the error.
12
+ # @return [String]
11
13
  attr_accessor :message
12
14
  # Date and time at which Seam created the error.
15
+ # @return [Time]
13
16
  date_accessor :created_at
14
17
  end
15
18
 
@@ -17,51 +20,77 @@ module Seam
17
20
  class AssaAbloyCredentialServiceMetadata < BaseResource
18
21
  class Endpoints < BaseResource
19
22
  # ID of the associated endpoint.
23
+ # @return [String, nil]
20
24
  attr_accessor :endpoint_id
21
25
  # Indicated whether the endpoint is active.
26
+ # @return [Boolean, nil]
22
27
  attr_accessor :is_active
23
28
  end
24
29
 
30
+ # Endpoints associated with the phone.
31
+ # @return [Array<Endpoints>]
25
32
  resource_list_accessor :endpoints, Endpoints
26
33
  # Indicates whether the credential service has active endpoints associated with the phone.
34
+ # @return [Boolean, nil]
27
35
  attr_accessor :has_active_endpoint
28
36
  end
29
37
 
30
38
  class SaltoSpaceCredentialServiceMetadata < BaseResource
31
39
  # Indicates whether the credential service has an active associated phone.
40
+ # @return [Boolean, nil]
32
41
  attr_accessor :has_active_phone
33
42
  end
34
43
 
44
+ # ASSA ABLOY Credential Service metadata for the phone.
45
+ # @return [AssaAbloyCredentialServiceMetadata, nil]
35
46
  resource_accessor :assa_abloy_credential_service_metadata, AssaAbloyCredentialServiceMetadata
47
+ # Salto Space credential service metadata for the phone.
48
+ # @return [SaltoSpaceCredentialServiceMetadata, nil]
36
49
  resource_accessor :salto_space_credential_service_metadata, SaltoSpaceCredentialServiceMetadata
37
50
  end
38
51
 
39
52
  class Warnings < BaseResource
40
53
  # Detailed description of the warning.
54
+ # @return [String]
41
55
  attr_accessor :message
42
56
  # Unique identifier of the type of warning.
57
+ # @return [String]
43
58
  attr_accessor :warning_code
44
59
  # Date and time at which Seam created the warning.
60
+ # @return [Time]
45
61
  date_accessor :created_at
46
62
  end
47
63
 
64
+ # Properties of the phone.
65
+ # @return [Properties]
48
66
  resource_accessor :properties, Properties
67
+ # Errors associated with the phone.
68
+ # @return [Array<Errors>]
49
69
  resource_list_accessor :errors, Errors
70
+ # Warnings associated with the phone.
71
+ # @return [Array<Warnings>]
50
72
  resource_list_accessor :warnings, Warnings
51
73
  # Optional [custom metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device) for the phone.
74
+ # @return [Hash]
52
75
  attr_accessor :custom_metadata
53
76
  # ID of the phone.
77
+ # @return [String]
54
78
  attr_accessor :device_id
55
79
  # Type of the phone device, such as `ios_phone` or `android_phone`.
80
+ # @return [String]
56
81
  attr_accessor :device_type
57
82
  # Display name of the phone. Defaults to `nickname` (if it is set) or `properties.appearance.name`, otherwise. Enables administrators and users to identify the phone easily, especially when there are numerous phones.
83
+ # @return [String]
58
84
  attr_accessor :display_name
59
85
  # Optional nickname to describe the phone, settable through Seam.
86
+ # @return [String, nil]
60
87
  attr_accessor :nickname
61
88
  # ID of the workspace that contains the phone.
89
+ # @return [String]
62
90
  attr_accessor :workspace_id
63
91
 
64
92
  # Date and time at which the phone was created.
93
+ # @return [Time]
65
94
  date_accessor :created_at
66
95
  end
67
96
  end