@seamapi/types 1.406.0 → 1.406.1
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.
- package/dist/connect.cjs +2065 -559
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +7008 -366
- package/lib/seam/connect/models/devices/capabilities-supported.js +3 -1
- package/lib/seam/connect/models/devices/capabilities-supported.js.map +1 -1
- package/lib/seam/connect/models/devices/capability-properties/access-code.js +53 -21
- package/lib/seam/connect/models/devices/capability-properties/access-code.js.map +1 -1
- package/lib/seam/connect/models/devices/capability-properties/lock.js +20 -4
- package/lib/seam/connect/models/devices/capability-properties/lock.js.map +1 -1
- package/lib/seam/connect/models/devices/capability-properties/thermostat.js +175 -31
- package/lib/seam/connect/models/devices/capability-properties/thermostat.js.map +1 -1
- package/lib/seam/connect/models/devices/device-metadata.js +455 -191
- package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
- package/lib/seam/connect/models/devices/device-type.js +8 -6
- package/lib/seam/connect/models/devices/device-type.js.map +1 -1
- package/lib/seam/connect/models/devices/device.js +171 -80
- package/lib/seam/connect/models/devices/device.js.map +1 -1
- package/lib/seam/connect/models/devices/phone-properties.js +5 -7
- package/lib/seam/connect/models/devices/phone-properties.js.map +1 -1
- package/lib/seam/connect/models/devices/phone.js +22 -8
- package/lib/seam/connect/models/devices/phone.js.map +1 -1
- package/lib/seam/connect/models/devices/unmanaged-device.js +35 -1
- package/lib/seam/connect/models/devices/unmanaged-device.js.map +1 -1
- package/lib/seam/connect/models/events/devices.d.ts +4 -4
- package/lib/seam/connect/models/events/seam-event.d.ts +2 -2
- package/lib/seam/connect/models/index.d.ts +1 -0
- package/lib/seam/connect/models/index.js +1 -0
- package/lib/seam/connect/models/index.js.map +1 -1
- package/lib/seam/connect/models/partner/index.d.ts +1 -0
- package/lib/seam/connect/models/partner/index.js +2 -0
- package/lib/seam/connect/models/partner/index.js.map +1 -0
- package/lib/seam/connect/models/partner/resources.d.ts +42 -0
- package/lib/seam/connect/models/partner/resources.js +19 -0
- package/lib/seam/connect/models/partner/resources.js.map +1 -0
- package/lib/seam/connect/openapi.d.ts +782 -50
- package/lib/seam/connect/openapi.js +1173 -199
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +6228 -318
- package/package.json +2 -2
- package/src/lib/seam/connect/models/devices/capabilities-supported.ts +3 -1
- package/src/lib/seam/connect/models/devices/capability-properties/access-code.ts +64 -34
- package/src/lib/seam/connect/models/devices/capability-properties/lock.ts +20 -4
- package/src/lib/seam/connect/models/devices/capability-properties/thermostat.ts +175 -31
- package/src/lib/seam/connect/models/devices/device-metadata.ts +457 -193
- package/src/lib/seam/connect/models/devices/device-type.ts +10 -6
- package/src/lib/seam/connect/models/devices/device.ts +173 -96
- package/src/lib/seam/connect/models/devices/phone-properties.ts +34 -36
- package/src/lib/seam/connect/models/devices/phone.ts +22 -19
- package/src/lib/seam/connect/models/devices/unmanaged-device.ts +35 -1
- package/src/lib/seam/connect/models/index.ts +1 -0
- package/src/lib/seam/connect/models/partner/index.ts +1 -0
- package/src/lib/seam/connect/models/partner/resources.ts +24 -0
- package/src/lib/seam/connect/openapi.ts +1417 -204
- package/src/lib/seam/connect/route-types.ts +6231 -318
|
@@ -1,283 +1,547 @@
|
|
|
1
1
|
import { z } from 'zod'
|
|
2
2
|
|
|
3
3
|
export const dormakaba_oracode_time_slot = z.object({
|
|
4
|
-
name: z.string()
|
|
5
|
-
|
|
4
|
+
name: z.string().describe(`Name of a time slot for a dormakaba Oracode device.
|
|
5
|
+
`),
|
|
6
|
+
prefix: z.number()
|
|
7
|
+
.describe(`Prefix for a time slot for a dormakaba Oracode device.
|
|
8
|
+
`),
|
|
6
9
|
// Seam TOD
|
|
7
|
-
check_in_time: z.string()
|
|
10
|
+
check_in_time: z.string()
|
|
11
|
+
.describe(`Check in time for a time slot for a dormakaba Oracode device.
|
|
12
|
+
`),
|
|
8
13
|
// Seam TOD
|
|
9
|
-
check_out_time: z.string()
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
check_out_time: z.string()
|
|
15
|
+
.describe(`Checkout time for a time slot for a dormakaba Oracode device.
|
|
16
|
+
`),
|
|
17
|
+
|
|
18
|
+
is_24_hour: z.boolean()
|
|
19
|
+
.describe(`Indicates whether a time slot for a dormakaba Oracode device is a 24-hour time slot.
|
|
20
|
+
`),
|
|
21
|
+
is_biweekly_mode: z.boolean()
|
|
22
|
+
.describe(`Indicates whether a time slot for a dormakaba Oracode device is in biweekly mode.
|
|
23
|
+
`),
|
|
24
|
+
is_one_shot: z.boolean()
|
|
25
|
+
.describe(`Indicates whether a time slot for a dormakaba Oracode device is a one-shot time slot.
|
|
26
|
+
`),
|
|
27
|
+
is_master: z.boolean()
|
|
28
|
+
.describe(`Indicates whether a time slot for a dormakaba Oracode device is a master time slot.
|
|
29
|
+
`),
|
|
30
|
+
|
|
31
|
+
ext_dormakaba_oracode_user_level_prefix: z.number()
|
|
32
|
+
.describe(`Prefix for a user level for a dormakaba Oracode device.
|
|
33
|
+
`),
|
|
34
|
+
dormakaba_oracode_user_level_id: z.string().uuid()
|
|
35
|
+
.describe(`ID of a user level for a dormakaba Oracode device.
|
|
36
|
+
`),
|
|
37
|
+
}).describe(`Time slot for a dormakaba Oracode device.
|
|
38
|
+
`)
|
|
19
39
|
|
|
20
40
|
export const device_metadata = z
|
|
21
41
|
.object({
|
|
22
42
|
august_metadata: z.object({
|
|
23
|
-
lock_id: z.string()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
lock_id: z.string().describe(`Lock ID for an August device.
|
|
44
|
+
`),
|
|
45
|
+
lock_name: z.string().describe(`Lock name for an August device.
|
|
46
|
+
`),
|
|
47
|
+
house_name: z.string().describe(`House name for an August device.
|
|
48
|
+
`),
|
|
49
|
+
has_keypad: z.boolean()
|
|
50
|
+
.describe(`Indicates whether an August device has a keypad.
|
|
51
|
+
`),
|
|
52
|
+
keypad_battery_level: z.string().optional()
|
|
53
|
+
.describe(`Keypad battery level for an August device.
|
|
54
|
+
`),
|
|
55
|
+
model: z.string().optional().describe(`Model for an August device.
|
|
56
|
+
`),
|
|
57
|
+
house_id: z.string().optional().describe(`House ID for an August device.
|
|
58
|
+
`),
|
|
59
|
+
}).describe(`Metadata for an August device.
|
|
60
|
+
`),
|
|
31
61
|
|
|
32
62
|
avigilon_alta_metadata: z.object({
|
|
33
|
-
entry_name: z.string()
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
63
|
+
entry_name: z.string().describe(`Entry name for an Avigilon Alta system.
|
|
64
|
+
`),
|
|
65
|
+
org_name: z.string()
|
|
66
|
+
.describe(`Organization name for an Avigilon Alta system.
|
|
67
|
+
`),
|
|
68
|
+
zone_id: z.number().describe(`Zone ID for an Avigilon Alta system.
|
|
69
|
+
`),
|
|
70
|
+
zone_name: z.string().describe(`Zone name for an Avigilon Alta system.
|
|
71
|
+
`),
|
|
72
|
+
site_id: z.number().describe(`Site ID for an Avigilon Alta system.
|
|
73
|
+
`),
|
|
74
|
+
site_name: z.string().describe(`Site name for an Avigilon Alta system.
|
|
75
|
+
`),
|
|
76
|
+
entry_relays_total_count: z.number()
|
|
77
|
+
.describe(`Total count of entry relays for an Avigilon Alta system.
|
|
78
|
+
`),
|
|
79
|
+
}).describe(`Metadata for an Avigilon Alta system.
|
|
80
|
+
`),
|
|
41
81
|
|
|
42
82
|
schlage_metadata: z.object({
|
|
43
|
-
device_id: z.string()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
83
|
+
device_id: z.string().describe(`Device ID for a Schlage device.
|
|
84
|
+
`),
|
|
85
|
+
device_name: z.string().describe(`Device name for a Schlage device.
|
|
86
|
+
`),
|
|
87
|
+
model: z.string().optional().describe(`Model for a Schlage device.
|
|
88
|
+
`),
|
|
89
|
+
}).describe(`Metadata for a Schlage device.
|
|
90
|
+
`),
|
|
47
91
|
|
|
48
92
|
smartthings_metadata: z.object({
|
|
49
|
-
device_id: z.string()
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
93
|
+
device_id: z.string().describe(`Device ID for a SmartThings device.
|
|
94
|
+
`),
|
|
95
|
+
device_name: z.string().describe(`Device name for a SmartThings device.
|
|
96
|
+
`),
|
|
97
|
+
model: z.string().optional().describe(`Model for a SmartThings device.
|
|
98
|
+
`),
|
|
99
|
+
location_id: z.string().optional()
|
|
100
|
+
.describe(`Location ID for a SmartThings device.
|
|
101
|
+
`),
|
|
102
|
+
}).describe(`Metadata for a SmartThings device.
|
|
103
|
+
`),
|
|
54
104
|
|
|
55
105
|
lockly_metadata: z.object({
|
|
56
|
-
device_id: z.string()
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
106
|
+
device_id: z.string().describe(`Device ID for a Lockly device.
|
|
107
|
+
`),
|
|
108
|
+
device_name: z.string().describe(`Device name for a Lockly device.
|
|
109
|
+
`),
|
|
110
|
+
model: z.string().optional().describe(`Model for a Lockly device.
|
|
111
|
+
`),
|
|
112
|
+
}).describe(`Metadata for a Lockly device.
|
|
113
|
+
`),
|
|
60
114
|
|
|
61
115
|
nuki_metadata: z.object({
|
|
62
|
-
device_id: z.string()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
116
|
+
device_id: z.string().describe(`Device ID for a Nuki device.
|
|
117
|
+
`),
|
|
118
|
+
device_name: z.string().describe(`Device name for a Nuki device.
|
|
119
|
+
`),
|
|
120
|
+
keypad_battery_critical: z.boolean().optional()
|
|
121
|
+
.describe(`Indicates whether the keypad battery is in a critical state for a Nuki device.
|
|
122
|
+
`),
|
|
123
|
+
keypad_paired: z.boolean().optional()
|
|
124
|
+
.describe(`Indicates whether the keypad is paired for a Nuki device.
|
|
125
|
+
`),
|
|
126
|
+
keypad_2_paired: z.boolean().optional()
|
|
127
|
+
.describe(`Indicates whether keypad 2 is paired for a Nuki device.
|
|
128
|
+
`),
|
|
129
|
+
}).describe(`Metadata for a Nuki device.
|
|
130
|
+
`),
|
|
68
131
|
|
|
69
132
|
kwikset_metadata: z.object({
|
|
70
|
-
device_id: z.string()
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
133
|
+
device_id: z.string().describe(`Device ID for a Kwikset device.
|
|
134
|
+
`),
|
|
135
|
+
device_name: z.string().describe(`Device name for a Kwikset device.
|
|
136
|
+
`),
|
|
137
|
+
model_number: z.string().describe(`Model number for a Kwikset device.
|
|
138
|
+
`),
|
|
139
|
+
}).describe(`Metadata for a Kwikset device.
|
|
140
|
+
`),
|
|
74
141
|
salto_metadata: z.object({
|
|
75
|
-
lock_id: z.string()
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
142
|
+
lock_id: z.string().describe(`Lock ID for a Salto device.
|
|
143
|
+
`),
|
|
144
|
+
customer_reference: z.string()
|
|
145
|
+
.describe(`Customer reference for a Salto device.
|
|
146
|
+
`),
|
|
147
|
+
lock_type: z.string().describe(`Lock type for a Salto device.
|
|
148
|
+
`),
|
|
149
|
+
battery_level: z.string().describe(`Battery level for a Salto device.
|
|
150
|
+
`),
|
|
151
|
+
locked_state: z.string().describe(`Locked state for a Salto device.
|
|
152
|
+
`),
|
|
153
|
+
model: z.string().optional().describe(`Model for a Salto device.
|
|
154
|
+
`),
|
|
81
155
|
}).describe(`
|
|
82
156
|
---
|
|
83
157
|
deprecated: Use \`salto_ks_metadata \` instead.
|
|
158
|
+
---
|
|
159
|
+
Metada for a Salto device.
|
|
84
160
|
`),
|
|
85
161
|
salto_ks_metadata: z.object({
|
|
86
|
-
lock_id: z.string()
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
162
|
+
lock_id: z.string().describe(`Lock ID for a Salto KS device.
|
|
163
|
+
`),
|
|
164
|
+
customer_reference: z.string()
|
|
165
|
+
.describe(`Customer reference for a Salto KS device.
|
|
166
|
+
`),
|
|
167
|
+
lock_type: z.string().describe(`Lock type for a Salto KS device.
|
|
168
|
+
`),
|
|
169
|
+
battery_level: z.string().describe(`Battery level for a Salto KS device.
|
|
170
|
+
`),
|
|
171
|
+
locked_state: z.string().describe(`Locked state for a Salto KS device.
|
|
172
|
+
`),
|
|
173
|
+
model: z.string().optional().describe(`Model for a Salto KS device.
|
|
174
|
+
`),
|
|
175
|
+
}).describe(`Metadata for a Salto KS device.
|
|
176
|
+
`),
|
|
93
177
|
|
|
94
178
|
genie_metadata: z.object({
|
|
95
|
-
device_name: z.string()
|
|
96
|
-
|
|
97
|
-
|
|
179
|
+
device_name: z.string().describe(`Lock name for a Genie device.
|
|
180
|
+
`),
|
|
181
|
+
door_name: z.string().describe(`Door name for a Genie device.
|
|
182
|
+
`),
|
|
183
|
+
}).describe(`Metadata for a Genie device.
|
|
184
|
+
`),
|
|
98
185
|
|
|
99
186
|
brivo_metadata: z.object({
|
|
100
|
-
device_name: z.string()
|
|
101
|
-
|
|
187
|
+
device_name: z.string().describe(`Device name for a Brivo device.
|
|
188
|
+
`),
|
|
189
|
+
}).describe(`Metadata for a Brivo device.
|
|
190
|
+
`),
|
|
102
191
|
|
|
103
192
|
igloo_metadata: z.object({
|
|
104
|
-
device_id: z.string()
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
193
|
+
device_id: z.string().describe(`Device ID for an igloo device.
|
|
194
|
+
`),
|
|
195
|
+
bridge_id: z.string().describe(`Bridge ID for an igloo device.
|
|
196
|
+
`),
|
|
197
|
+
model: z.string().optional().describe(`Model for an igloo device.
|
|
198
|
+
`),
|
|
199
|
+
}).describe(`Metadata for an igloo device.
|
|
200
|
+
`),
|
|
108
201
|
|
|
109
202
|
noiseaware_metadata: z.object({
|
|
110
|
-
device_model: z.enum(['indoor', 'outdoor'])
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
203
|
+
device_model: z.enum(['indoor', 'outdoor'])
|
|
204
|
+
.describe(`Device model for a NoiseAware device.
|
|
205
|
+
`),
|
|
206
|
+
noise_level_nrs: z.number()
|
|
207
|
+
.describe(`Noise level, expressed as a Noise Risk Score (NRS), for a NoiseAware device.
|
|
208
|
+
`),
|
|
209
|
+
noise_level_decibel: z.number()
|
|
210
|
+
.describe(`Noise level, in decibels, for a NoiseAware device.
|
|
211
|
+
`),
|
|
212
|
+
device_name: z.string().describe(`Device name for a NoiseAware device.
|
|
213
|
+
`),
|
|
214
|
+
device_id: z.string().describe(`Device ID for a NoiseAware device.
|
|
215
|
+
`),
|
|
216
|
+
}).describe(`Metadata for a NoiseAware device.
|
|
217
|
+
`),
|
|
116
218
|
|
|
117
219
|
minut_metadata: z.object({
|
|
118
|
-
device_id: z.string()
|
|
119
|
-
|
|
220
|
+
device_id: z.string().describe(`Device ID for a Minut device.
|
|
221
|
+
`),
|
|
222
|
+
device_name: z.string().describe(`Device name for a Minut device.
|
|
223
|
+
`),
|
|
120
224
|
latest_sensor_values: z.object({
|
|
121
225
|
temperature: z.object({
|
|
122
|
-
time: z.string()
|
|
123
|
-
|
|
124
|
-
|
|
226
|
+
time: z.string()
|
|
227
|
+
.describe(`Time of latest temperature reading for a Minut device.
|
|
228
|
+
`),
|
|
229
|
+
value: z.number()
|
|
230
|
+
.describe(`Value of latest temperature reading for a Minut device.
|
|
231
|
+
`),
|
|
232
|
+
}).describe(`Latest temperature reading for a Minut device.
|
|
233
|
+
`),
|
|
125
234
|
sound: z.object({
|
|
126
|
-
time: z.string()
|
|
127
|
-
|
|
128
|
-
|
|
235
|
+
time: z.string()
|
|
236
|
+
.describe(`Time of latest sound reading for a Minut device.
|
|
237
|
+
`),
|
|
238
|
+
value: z.number()
|
|
239
|
+
.describe(`Value of latest sound reading for a Minut device.
|
|
240
|
+
`),
|
|
241
|
+
}).describe(`Latest sound reading for a Minut device.
|
|
242
|
+
`),
|
|
129
243
|
humidity: z.object({
|
|
130
|
-
time: z.string()
|
|
131
|
-
|
|
132
|
-
|
|
244
|
+
time: z.string()
|
|
245
|
+
.describe(`Time of latest humidity reading for a Minut device.
|
|
246
|
+
`),
|
|
247
|
+
value: z.number()
|
|
248
|
+
.describe(`Value of latest humidity reading for a Minut device.
|
|
249
|
+
`),
|
|
250
|
+
}).describe(`Latest humidity reading for a Minut device.
|
|
251
|
+
`),
|
|
133
252
|
pressure: z.object({
|
|
134
|
-
time: z.string()
|
|
135
|
-
|
|
136
|
-
|
|
253
|
+
time: z.string()
|
|
254
|
+
.describe(`Time of latest pressure reading for a Minut device.
|
|
255
|
+
`),
|
|
256
|
+
value: z.number()
|
|
257
|
+
.describe(`Value of latest pressure reading for a Minut device.
|
|
258
|
+
`),
|
|
259
|
+
}).describe(`Latest pressure reading for a Minut device.
|
|
260
|
+
`),
|
|
137
261
|
accelerometer_z: z.object({
|
|
138
|
-
time: z.string()
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
262
|
+
time: z.string()
|
|
263
|
+
.describe(`Time of latest accelerometer Z-axis reading for a Minut device.
|
|
264
|
+
`),
|
|
265
|
+
value: z.number()
|
|
266
|
+
.describe(`Value of latest accelerometer Z-axis reading for a Minut device.
|
|
267
|
+
`),
|
|
268
|
+
}).describe(`Latest accelerometer Z-axis reading for a Minut device.
|
|
269
|
+
`),
|
|
270
|
+
}).describe(`Latest sensor values for a Minut device.
|
|
271
|
+
`),
|
|
272
|
+
}).describe(`Metadata for a Minut device.
|
|
273
|
+
`),
|
|
143
274
|
four_suites_metadata: z.object({
|
|
144
|
-
device_id: z.number()
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
275
|
+
device_id: z.number().describe(`Device ID for a 4SUITES device.
|
|
276
|
+
`),
|
|
277
|
+
device_name: z.string().describe(`Device name for a 4SUITES device.
|
|
278
|
+
`),
|
|
279
|
+
reclose_delay_in_seconds: z.number()
|
|
280
|
+
.describe(`Reclose delay, in seconds, for a 4SUITES device.
|
|
281
|
+
`),
|
|
282
|
+
}).describe(`Metadata for a 4SUITES device.
|
|
283
|
+
`),
|
|
148
284
|
|
|
149
285
|
two_n_metadata: z.object({
|
|
150
|
-
device_id: z.number()
|
|
151
|
-
|
|
152
|
-
|
|
286
|
+
device_id: z.number().describe(`Device ID for a 2N device.
|
|
287
|
+
`),
|
|
288
|
+
device_name: z.string().describe(`Device name for a 2N device.
|
|
289
|
+
`),
|
|
290
|
+
}).describe(`Metadata for a 2N device.
|
|
291
|
+
`),
|
|
153
292
|
|
|
154
293
|
controlbyweb_metadata: z.object({
|
|
155
|
-
device_id: z.string()
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
294
|
+
device_id: z.string().describe(`Device ID for a ControlByWeb device.
|
|
295
|
+
`),
|
|
296
|
+
device_name: z.string().describe(`Device name for a ControlByWeb device.
|
|
297
|
+
`),
|
|
298
|
+
relay_name: z.string().nullable()
|
|
299
|
+
.describe(`Relay name for a ControlByWeb device.
|
|
300
|
+
`),
|
|
301
|
+
}).describe(`Metadata for a ControlByWeb device.
|
|
302
|
+
`),
|
|
159
303
|
|
|
160
304
|
ttlock_metadata: z.object({
|
|
161
|
-
lock_id: z.number()
|
|
162
|
-
|
|
163
|
-
|
|
305
|
+
lock_id: z.number().describe(`Lock ID for a TTLock device.
|
|
306
|
+
`),
|
|
307
|
+
lock_alias: z.string().describe(`Lock alias for a TTLock device.
|
|
308
|
+
`),
|
|
309
|
+
feature_value: z.string().describe(`Feature value for a TTLock device.
|
|
310
|
+
`),
|
|
164
311
|
features: z.object({
|
|
165
|
-
passcode: z.boolean()
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
312
|
+
passcode: z.boolean()
|
|
313
|
+
.describe(`Indicates whether a TTLock device supports a passcode.
|
|
314
|
+
`),
|
|
315
|
+
passcode_management: z.boolean()
|
|
316
|
+
.describe(`Indicates whether a TTLock device supports passcode management.
|
|
317
|
+
`),
|
|
318
|
+
unlock_via_gateway: z.boolean()
|
|
319
|
+
.describe(`Indicates whether a TTLock device supports unlock via gateway.
|
|
320
|
+
`),
|
|
321
|
+
lock_command: z.boolean()
|
|
322
|
+
.describe(`Indicates whether a TTLock device supports the lock command.
|
|
323
|
+
`),
|
|
324
|
+
incomplete_keyboard_passcode: z.boolean()
|
|
325
|
+
.describe(`Indicates whether a TTLock device supports an incomplete keyboard passcode.
|
|
326
|
+
`),
|
|
327
|
+
wifi: z.boolean()
|
|
328
|
+
.describe(`Indicates whether a TTLock device supports Wi-Fi.
|
|
329
|
+
`),
|
|
330
|
+
}).describe(`Features for a TTLock device.
|
|
331
|
+
`),
|
|
332
|
+
has_gateway: z.boolean().optional()
|
|
333
|
+
.describe(`Indicates whether a TTLock device has a gateway.
|
|
334
|
+
`),
|
|
173
335
|
wireless_keypads: z
|
|
174
336
|
.array(
|
|
175
337
|
z.object({
|
|
176
|
-
wireless_keypad_id: z.number()
|
|
177
|
-
|
|
338
|
+
wireless_keypad_id: z.number()
|
|
339
|
+
.describe(`ID for a wireless keypad for a TTLock device.
|
|
340
|
+
`),
|
|
341
|
+
wireless_keypad_name: z.string()
|
|
342
|
+
.describe(`Name for a wireless keypad for a TTLock device.
|
|
343
|
+
`),
|
|
178
344
|
}),
|
|
179
345
|
)
|
|
180
|
-
.optional()
|
|
181
|
-
|
|
346
|
+
.optional().describe(`Wireless keypads for a TTLock device.
|
|
347
|
+
`),
|
|
348
|
+
}).describe(`Metadata for a TTLock device.
|
|
349
|
+
`),
|
|
182
350
|
|
|
183
351
|
seam_bridge_metadata: z.object({
|
|
184
|
-
unlock_method: z.enum(['bridge', 'doorking']).optional()
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
352
|
+
unlock_method: z.enum(['bridge', 'doorking']).optional()
|
|
353
|
+
.describe(`Unlock method for Seam Bridge.
|
|
354
|
+
`),
|
|
355
|
+
device_num: z.number().describe(`Device number for Seam Bridge.
|
|
356
|
+
`),
|
|
357
|
+
name: z.string().describe(`Name for Seam Bridge.
|
|
358
|
+
`),
|
|
359
|
+
}).describe(`Metadata for Seam Bridge.
|
|
360
|
+
`),
|
|
188
361
|
|
|
189
362
|
igloohome_metadata: z.object({
|
|
190
|
-
device_id: z.string()
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
363
|
+
device_id: z.string().describe(`Device ID for an igloohome device.
|
|
364
|
+
`),
|
|
365
|
+
device_name: z.string().describe(`Device name for an igloohome device.
|
|
366
|
+
`),
|
|
367
|
+
bridge_id: z.string().optional()
|
|
368
|
+
.describe(`Bridge ID for an igloohome device.
|
|
369
|
+
`),
|
|
370
|
+
bridge_name: z.string().optional()
|
|
371
|
+
.describe(`Bridge name for an igloohome device.
|
|
372
|
+
`),
|
|
373
|
+
keypad_id: z.string().optional()
|
|
374
|
+
.describe(`Keypad ID for an igloohome device.
|
|
375
|
+
`),
|
|
376
|
+
}).describe(`Metadata for an igloohome device.
|
|
377
|
+
`),
|
|
196
378
|
|
|
197
379
|
nest_metadata: z.object({
|
|
198
|
-
nest_device_id: z.string()
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
380
|
+
nest_device_id: z.string().describe(`Device ID for a Google Nest device.
|
|
381
|
+
`),
|
|
382
|
+
device_name: z.string()
|
|
383
|
+
.describe(`Device name for a Google Nest device. Google sets this value.
|
|
384
|
+
`), // set by Google
|
|
385
|
+
device_custom_name: z.string()
|
|
386
|
+
.describe(`Custom device name for a Google Nest device. The device owner sets this value.
|
|
387
|
+
`), // set by device owner
|
|
388
|
+
display_name: z.string().optional()
|
|
389
|
+
.describe(`Display name for a Google Nest device.
|
|
390
|
+
`),
|
|
391
|
+
}).describe(`Metadata for a Google Nest device.
|
|
392
|
+
`),
|
|
203
393
|
|
|
204
394
|
ecobee_metadata: z.object({
|
|
205
|
-
ecobee_device_id: z.string()
|
|
206
|
-
|
|
207
|
-
|
|
395
|
+
ecobee_device_id: z.string().describe(`Device ID for an ecobee device.
|
|
396
|
+
`),
|
|
397
|
+
device_name: z.string().describe(`Device name for an ecobee device.
|
|
398
|
+
`),
|
|
399
|
+
}).describe(`Metadata for an ecobee device.
|
|
400
|
+
`),
|
|
208
401
|
|
|
209
402
|
honeywell_resideo_metadata: z.object({
|
|
210
|
-
honeywell_resideo_device_id: z.string()
|
|
211
|
-
|
|
212
|
-
|
|
403
|
+
honeywell_resideo_device_id: z.string()
|
|
404
|
+
.describe(`Device ID for a Honeywell Resideo device.
|
|
405
|
+
`),
|
|
406
|
+
device_name: z.string()
|
|
407
|
+
.describe(`Device name for a Honeywell Resideo device.
|
|
408
|
+
`),
|
|
409
|
+
}).describe(`Metadata for a Honeywell Resideo device.
|
|
410
|
+
`),
|
|
213
411
|
|
|
214
412
|
hubitat_metadata: z.object({
|
|
215
|
-
device_id: z.string()
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
413
|
+
device_id: z.string().describe(`Device ID for a Hubitat device.
|
|
414
|
+
`),
|
|
415
|
+
device_name: z.string().describe(`Device name for a Hubitat device.
|
|
416
|
+
`),
|
|
417
|
+
device_label: z.string().describe(`Device label for a Hubitat device.
|
|
418
|
+
`),
|
|
419
|
+
}).describe(`Metadata for a Hubitat device.
|
|
420
|
+
`),
|
|
219
421
|
|
|
220
422
|
dormakaba_oracode_metadata: z.object({
|
|
221
|
-
door_id: z.number().optional()
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
423
|
+
door_id: z.number().optional()
|
|
424
|
+
.describe(`Door ID for a dormakaba Oracode device.
|
|
425
|
+
`),
|
|
426
|
+
door_name: z.string().describe(`Door name for a dormakaba Oracode device.
|
|
427
|
+
`),
|
|
428
|
+
device_id: z.number().or(z.string()).optional()
|
|
429
|
+
.describe(`Device ID for a dormakaba Oracode device.
|
|
430
|
+
`),
|
|
431
|
+
door_is_wireless: z.boolean()
|
|
432
|
+
.describe(`Indicates whether a door is wireless for a dormakaba Oracode device.
|
|
433
|
+
`),
|
|
434
|
+
site_id: z.number().nullable().describe(`
|
|
435
|
+
---
|
|
436
|
+
deprecated: Previously marked as "@DEPRECATED."
|
|
437
|
+
---
|
|
438
|
+
Site ID for a dormakaba Oracode device.
|
|
439
|
+
`),
|
|
440
|
+
site_name: z.string().describe(`Site name for a dormakaba Oracode device.
|
|
441
|
+
`),
|
|
442
|
+
iana_timezone: z.string().optional()
|
|
443
|
+
.describe(`IANA time zone for a dormakaba Oracode device.
|
|
444
|
+
`),
|
|
445
|
+
predefined_time_slots: z.array(dormakaba_oracode_time_slot).optional()
|
|
446
|
+
.describe(`Predefined time slots for a dormakaba Oracode device.
|
|
447
|
+
`),
|
|
448
|
+
}).describe(`Metadata for a dormakaba Oracode device.
|
|
449
|
+
`),
|
|
230
450
|
|
|
231
451
|
wyze_metadata: z.object({
|
|
232
|
-
device_id: z.string()
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
452
|
+
device_id: z.string().describe(`Device ID for a Wyze device.
|
|
453
|
+
`),
|
|
454
|
+
device_name: z.string().describe(`Device name for a Wyze device.
|
|
455
|
+
`),
|
|
456
|
+
product_name: z.string().describe(`Product name for a Wyze device.
|
|
457
|
+
`),
|
|
458
|
+
product_type: z.string().describe(`Product type for a Wyze device.
|
|
459
|
+
`),
|
|
460
|
+
product_model: z.string().describe(`Product model for a Wyze device.
|
|
461
|
+
`),
|
|
462
|
+
device_info_model: z.string()
|
|
463
|
+
.describe(`Device information model for a Wyze device.
|
|
464
|
+
`),
|
|
465
|
+
keypad_uuid: z.string().optional()
|
|
466
|
+
.describe(`Keypad UUID for a Wyze device.
|
|
467
|
+
`),
|
|
468
|
+
locker_status_hardlock: z.number().optional()
|
|
469
|
+
.describe(`Locker status (hardlock) for a Wyze device.
|
|
470
|
+
`),
|
|
471
|
+
}).describe(`Metadata for a Wyze device.
|
|
472
|
+
`),
|
|
241
473
|
|
|
242
474
|
tedee_metadata: z.object({
|
|
243
|
-
device_id: z.number()
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
475
|
+
device_id: z.number().describe(`Device ID for a Tedee device.
|
|
476
|
+
`),
|
|
477
|
+
serial_number: z.string().describe(`Serial number for a Tedee device.
|
|
478
|
+
`),
|
|
479
|
+
device_name: z.string().describe(`Device name for a Tedee device.
|
|
480
|
+
`),
|
|
481
|
+
device_model: z.string().describe(`Device model for a Tedee device.
|
|
482
|
+
`),
|
|
483
|
+
bridge_id: z.number().describe(`Bridge ID for a Tedee device.
|
|
484
|
+
`),
|
|
485
|
+
bridge_name: z.string().describe(`Bridge name for a Tedee device.
|
|
486
|
+
`),
|
|
487
|
+
keypad_id: z.number().optional().describe(`Keypad ID for a Tedee device.
|
|
488
|
+
`),
|
|
489
|
+
}).describe(`Metadata for a Tedee device.
|
|
490
|
+
`),
|
|
251
491
|
|
|
252
492
|
visionline_metadata: z.object({
|
|
253
|
-
encoder_id: z.string()
|
|
254
|
-
|
|
493
|
+
encoder_id: z.string()
|
|
494
|
+
.describe(`Encoder ID for an ASSA ABLOY Visionline system.
|
|
495
|
+
`),
|
|
496
|
+
}).describe(`Metadata for an ASSA ABLOY Visionline system.
|
|
497
|
+
`),
|
|
255
498
|
|
|
256
499
|
akiles_metadata: z.object({
|
|
257
|
-
gadget_name: z.string()
|
|
258
|
-
|
|
259
|
-
|
|
500
|
+
gadget_name: z.string().describe(`Gadget name for an Akiles device.
|
|
501
|
+
`),
|
|
502
|
+
gadget_id: z.string().describe(`Gadget ID for an Akiles device.
|
|
503
|
+
`),
|
|
504
|
+
product_name: z.string().describe(`Product name for an Akiles device.
|
|
505
|
+
`),
|
|
260
506
|
|
|
261
507
|
/**
|
|
262
508
|
* Group ID to add users to for this device
|
|
263
509
|
*/
|
|
264
|
-
_member_group_id: z.string().optional()
|
|
265
|
-
|
|
510
|
+
_member_group_id: z.string().optional()
|
|
511
|
+
.describe(`Group ID to which to add users for an Akiles device.
|
|
512
|
+
`),
|
|
513
|
+
}).describe(`Metadata for an Akiles device.
|
|
514
|
+
`),
|
|
266
515
|
assa_abloy_vostio_metadata: z.object({
|
|
267
|
-
encoder_name: z.string()
|
|
268
|
-
|
|
516
|
+
encoder_name: z.string()
|
|
517
|
+
.describe(`Encoder name for an ASSA ABLOY Vostio system.
|
|
518
|
+
`),
|
|
519
|
+
}).describe(`Metadata for an ASSA ABLOY Vostio system.
|
|
520
|
+
`),
|
|
269
521
|
|
|
270
522
|
tado_metadata: z.object({
|
|
271
|
-
serial_no: z.string()
|
|
272
|
-
|
|
273
|
-
|
|
523
|
+
serial_no: z.string().describe(`Serial number for a tado° device.
|
|
524
|
+
`),
|
|
525
|
+
device_type: z.string().describe(`Device type for a tado° device.
|
|
526
|
+
`),
|
|
527
|
+
}).describe(`Metadata for a tado° device.
|
|
528
|
+
`),
|
|
274
529
|
|
|
275
530
|
sensi_metadata: z.object({
|
|
276
|
-
device_id: z.string()
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
531
|
+
device_id: z.string().describe(`Device ID for a Sensi device.
|
|
532
|
+
`),
|
|
533
|
+
device_name: z.string().describe(`Device name for a Sensi device.
|
|
534
|
+
`),
|
|
535
|
+
product_type: z.string().describe(`Product type for a Sensi device.
|
|
536
|
+
`),
|
|
537
|
+
}).describe(`Metadata for a Sensi device.
|
|
538
|
+
`),
|
|
280
539
|
})
|
|
281
|
-
.partial()
|
|
540
|
+
.partial().describe(`
|
|
541
|
+
---
|
|
542
|
+
property_group_key: provider_metadata
|
|
543
|
+
---
|
|
544
|
+
Provider-specific metadata.
|
|
545
|
+
`)
|
|
282
546
|
|
|
283
547
|
export type DeviceMetadata = z.infer<typeof device_metadata>
|