@seamapi/types 1.23.0 → 1.23.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/devicedb.cjs +3 -2
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +92 -26
- package/lib/seam/devicedb/public-models/device-model-v1.d.ts +85 -20
- package/lib/seam/devicedb/public-models/device-model-v1.js +2 -1
- package/lib/seam/devicedb/public-models/device-model-v1.js.map +1 -1
- package/lib/seam/devicedb/route-types.d.ts +6 -6
- package/package.json +1 -1
- package/src/lib/seam/devicedb/public-models/device-model-v1.ts +4 -1
- package/src/lib/seam/devicedb/route-types.ts +6 -4
package/dist/devicedb.cjs
CHANGED
|
@@ -53,7 +53,8 @@ var smartlock = zod.z.object({
|
|
|
53
53
|
"lockbox",
|
|
54
54
|
"cylinder",
|
|
55
55
|
"padlock",
|
|
56
|
-
"locker"
|
|
56
|
+
"locker",
|
|
57
|
+
"unknown"
|
|
57
58
|
]),
|
|
58
59
|
has_physical_key: zod.z.boolean(),
|
|
59
60
|
has_camera: zod.z.boolean()
|
|
@@ -108,7 +109,7 @@ var base_device_model_v1 = zod.z.object({
|
|
|
108
109
|
slug: zod.z.string(),
|
|
109
110
|
display_name: zod.z.string(),
|
|
110
111
|
primary_color_hex: zod.z.string().optional(),
|
|
111
|
-
manufacturer_sku: zod.z.string(),
|
|
112
|
+
manufacturer_sku: zod.z.string().optional(),
|
|
112
113
|
front_image: image_reference.optional(),
|
|
113
114
|
back_image: image_reference.optional()
|
|
114
115
|
}).array(),
|
package/dist/devicedb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,SAAS,SAAS;AAEX,IAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,eAAe,EAAE,OAAO;AAAA,EACxB,YAAY,EAAE,OAAO;AAAA,EACrB,uBAAuB,EAAE,OAAO;AAAA,EAChC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,SAAS,UAAU,SAAS,CAAC;AAAA,EAC9D,eAAe,EAAE,KAAK,CAAC,QAAQ,QAAQ,aAAa,CAAC;AAAA,EACrD,OAAO,EAAE,OAAO;AAAA,EAChB,UAAU,EAAE,OAAO;AAAA,EACnB,4BAA4B,EAAE,OAAO;AACvC,CAAC;;;ACXD,SAAS,KAAAA,UAAS;;;ACAlB,SAAS,KAAAA,UAAS;AAEX,IAAM,kBAAkBA,GAAE,OAAO;AAAA,EACtC,KAAKA,GAAE,OAAO,EAAE,IAAI;AAAA,EACpB,OAAOA,GAAE,OAAO;AAAA,EAChB,QAAQA,GAAE,OAAO;AACnB,CAAC;;;ACND,SAAS,KAAAA,UAAS;AAIX,IAAM,eAAeA,GAAE,OAAO;AAAA,EACnC,iBAAiBA,GAAE,OAAO,EAAE,KAAK;AAAA,EACjC,cAAcA,GAAE,OAAO;AAAA,EACvB,MAAM,gBAAgB,SAAS;AAAA,EAC/B,aAAaA,GAAE,KAAK,CAAC,UAAU,QAAQ,WAAW,eAAe,SAAS,CAAC;AAAA,EAC3E,8BAA8BA,GAAE,QAAQ;AAAA,EACxC,sCAAsCA,GAAE,QAAQ;AAClD,CAAC;;;AFND,IAAM,YAAYA,GAAE,OAAO;AAAA,EACzB,eAAeA,GAAE,QAAQ,WAAW;AAAA,EACpC,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,WAAWA,GAAE,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,kBAAkBA,GAAE,QAAQ;AAAA,IAC5B,YAAYA,GAAE,QAAQ;AAAA,EACxB,CAAC;AAAA,EACD,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,0BAA0BA,GAAE,QAAQ;AAAA,IACpC,8BAA8BA,GAAE,QAAQ;AAAA,IACxC,kCAAkCA,GAAE,QAAQ;AAAA,EAC9C,CAAC;AACH,CAAC;AAED,IAAM,SAASA,GAAE,OAAO;AAAA,EACtB,eAAeA,GAAE,QAAQ,QAAQ;AAAA,EACjC,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,kBAAkBA,GAAE,QAAQ;AAAA,IAC5B,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,wBAAwBA,GAAE,QAAQ;AAAA,IAClC,yBAAyBA,GAAE,QAAQ;AAAA,EACrC,CAAC;AACH,CAAC;AAED,IAAM,aAAaA,GAAE,OAAO;AAAA,EAC1B,eAAeA,GAAE,QAAQ,YAAY;AAAA,EACrC,qBAAqBA,GAAE,OAAO;AAAA,IAC5B,iBAAiBA,GAAE,KAAK,CAAC,QAAQ,QAAQ,OAAO,KAAK,CAAC,EAAE,MAAM;AAAA,IAC9D,yBAAyBA,GAAE,QAAQ;AAAA,IACnC,yBAAyBA,GAAE,QAAQ;AAAA,IACnC,0BAA0BA,GAAE,QAAQ;AAAA,IACpC,qBAAqBA,GAAE,QAAQ;AAAA,IAC/B,wBAAwBA,GAAE,QAAQ;AAAA,IAClC,iCAAiCA,GAAE,QAAQ;AAAA,EAC7C,CAAC;AAAA,EACD,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,+BAA+BA,GAAE,QAAQ;AAAA,EAC3C,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported', 'inquire']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
|
package/dist/devicedb.d.cts
CHANGED
|
@@ -30,18 +30,82 @@ declare const device_model_v0: z.ZodObject<{
|
|
|
30
30
|
}>;
|
|
31
31
|
type DeviceModelV0 = z.infer<typeof device_model_v0>;
|
|
32
32
|
|
|
33
|
+
declare const thermostat: z.ZodObject<{
|
|
34
|
+
main_category: z.ZodLiteral<"thermostat">;
|
|
35
|
+
physical_properties: z.ZodObject<{
|
|
36
|
+
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
37
|
+
is_heat_pump_compatible: z.ZodBoolean;
|
|
38
|
+
has_occupancy_detection: z.ZodBoolean;
|
|
39
|
+
supports_demand_response: z.ZodBoolean;
|
|
40
|
+
has_humidity_sensor: z.ZodBoolean;
|
|
41
|
+
has_temperature_sensor: z.ZodBoolean;
|
|
42
|
+
supports_emergency_heating_mode: z.ZodBoolean;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
has_humidity_sensor: boolean;
|
|
45
|
+
has_temperature_sensor: boolean;
|
|
46
|
+
has_occupancy_detection: boolean;
|
|
47
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
48
|
+
is_heat_pump_compatible: boolean;
|
|
49
|
+
supports_demand_response: boolean;
|
|
50
|
+
supports_emergency_heating_mode: boolean;
|
|
51
|
+
}, {
|
|
52
|
+
has_humidity_sensor: boolean;
|
|
53
|
+
has_temperature_sensor: boolean;
|
|
54
|
+
has_occupancy_detection: boolean;
|
|
55
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
56
|
+
is_heat_pump_compatible: boolean;
|
|
57
|
+
supports_demand_response: boolean;
|
|
58
|
+
supports_emergency_heating_mode: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
software_features: z.ZodObject<{
|
|
61
|
+
can_program_climate_schedules: z.ZodBoolean;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
can_program_climate_schedules: boolean;
|
|
64
|
+
}, {
|
|
65
|
+
can_program_climate_schedules: boolean;
|
|
66
|
+
}>;
|
|
67
|
+
}, "strip", z.ZodTypeAny, {
|
|
68
|
+
main_category: "thermostat";
|
|
69
|
+
physical_properties: {
|
|
70
|
+
has_humidity_sensor: boolean;
|
|
71
|
+
has_temperature_sensor: boolean;
|
|
72
|
+
has_occupancy_detection: boolean;
|
|
73
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
74
|
+
is_heat_pump_compatible: boolean;
|
|
75
|
+
supports_demand_response: boolean;
|
|
76
|
+
supports_emergency_heating_mode: boolean;
|
|
77
|
+
};
|
|
78
|
+
software_features: {
|
|
79
|
+
can_program_climate_schedules: boolean;
|
|
80
|
+
};
|
|
81
|
+
}, {
|
|
82
|
+
main_category: "thermostat";
|
|
83
|
+
physical_properties: {
|
|
84
|
+
has_humidity_sensor: boolean;
|
|
85
|
+
has_temperature_sensor: boolean;
|
|
86
|
+
has_occupancy_detection: boolean;
|
|
87
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
88
|
+
is_heat_pump_compatible: boolean;
|
|
89
|
+
supports_demand_response: boolean;
|
|
90
|
+
supports_emergency_heating_mode: boolean;
|
|
91
|
+
};
|
|
92
|
+
software_features: {
|
|
93
|
+
can_program_climate_schedules: boolean;
|
|
94
|
+
};
|
|
95
|
+
}>;
|
|
96
|
+
type ThermostatPropertiesV1 = z.infer<typeof thermostat>;
|
|
33
97
|
declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
|
|
34
98
|
main_category: z.ZodLiteral<"smartlock">;
|
|
35
99
|
physical_properties: z.ZodObject<{
|
|
36
|
-
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
|
|
100
|
+
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
|
|
37
101
|
has_physical_key: z.ZodBoolean;
|
|
38
102
|
has_camera: z.ZodBoolean;
|
|
39
103
|
}, "strip", z.ZodTypeAny, {
|
|
40
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
104
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
41
105
|
has_physical_key: boolean;
|
|
42
106
|
has_camera: boolean;
|
|
43
107
|
}, {
|
|
44
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
108
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
45
109
|
has_physical_key: boolean;
|
|
46
110
|
has_camera: boolean;
|
|
47
111
|
}>;
|
|
@@ -64,7 +128,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
64
128
|
}, "strip", z.ZodTypeAny, {
|
|
65
129
|
main_category: "smartlock";
|
|
66
130
|
physical_properties: {
|
|
67
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
131
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
68
132
|
has_physical_key: boolean;
|
|
69
133
|
has_camera: boolean;
|
|
70
134
|
};
|
|
@@ -77,7 +141,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
77
141
|
}, {
|
|
78
142
|
main_category: "smartlock";
|
|
79
143
|
physical_properties: {
|
|
80
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
144
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
81
145
|
has_physical_key: boolean;
|
|
82
146
|
has_camera: boolean;
|
|
83
147
|
};
|
|
@@ -243,7 +307,7 @@ declare const base_device_model_v1: z.ZodObject<{
|
|
|
243
307
|
slug: z.ZodString;
|
|
244
308
|
display_name: z.ZodString;
|
|
245
309
|
primary_color_hex: z.ZodOptional<z.ZodString>;
|
|
246
|
-
manufacturer_sku: z.ZodString
|
|
310
|
+
manufacturer_sku: z.ZodOptional<z.ZodString>;
|
|
247
311
|
front_image: z.ZodOptional<z.ZodObject<{
|
|
248
312
|
url: z.ZodString;
|
|
249
313
|
width: z.ZodNumber;
|
|
@@ -273,8 +337,8 @@ declare const base_device_model_v1: z.ZodObject<{
|
|
|
273
337
|
}, "strip", z.ZodTypeAny, {
|
|
274
338
|
display_name: string;
|
|
275
339
|
slug: string;
|
|
276
|
-
manufacturer_sku: string;
|
|
277
340
|
primary_color_hex?: string | undefined;
|
|
341
|
+
manufacturer_sku?: string | undefined;
|
|
278
342
|
front_image?: {
|
|
279
343
|
url: string;
|
|
280
344
|
width: number;
|
|
@@ -288,8 +352,8 @@ declare const base_device_model_v1: z.ZodObject<{
|
|
|
288
352
|
}, {
|
|
289
353
|
display_name: string;
|
|
290
354
|
slug: string;
|
|
291
|
-
manufacturer_sku: string;
|
|
292
355
|
primary_color_hex?: string | undefined;
|
|
356
|
+
manufacturer_sku?: string | undefined;
|
|
293
357
|
front_image?: {
|
|
294
358
|
url: string;
|
|
295
359
|
width: number;
|
|
@@ -323,8 +387,8 @@ declare const base_device_model_v1: z.ZodObject<{
|
|
|
323
387
|
aesthetic_variants: {
|
|
324
388
|
display_name: string;
|
|
325
389
|
slug: string;
|
|
326
|
-
manufacturer_sku: string;
|
|
327
390
|
primary_color_hex?: string | undefined;
|
|
391
|
+
manufacturer_sku?: string | undefined;
|
|
328
392
|
front_image?: {
|
|
329
393
|
url: string;
|
|
330
394
|
width: number;
|
|
@@ -359,8 +423,8 @@ declare const base_device_model_v1: z.ZodObject<{
|
|
|
359
423
|
aesthetic_variants: {
|
|
360
424
|
display_name: string;
|
|
361
425
|
slug: string;
|
|
362
|
-
manufacturer_sku: string;
|
|
363
426
|
primary_color_hex?: string | undefined;
|
|
427
|
+
manufacturer_sku?: string | undefined;
|
|
364
428
|
front_image?: {
|
|
365
429
|
url: string;
|
|
366
430
|
width: number;
|
|
@@ -429,7 +493,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
429
493
|
slug: z.ZodString;
|
|
430
494
|
display_name: z.ZodString;
|
|
431
495
|
primary_color_hex: z.ZodOptional<z.ZodString>;
|
|
432
|
-
manufacturer_sku: z.ZodString
|
|
496
|
+
manufacturer_sku: z.ZodOptional<z.ZodString>;
|
|
433
497
|
front_image: z.ZodOptional<z.ZodObject<{
|
|
434
498
|
url: z.ZodString;
|
|
435
499
|
width: z.ZodNumber;
|
|
@@ -459,8 +523,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
459
523
|
}, "strip", z.ZodTypeAny, {
|
|
460
524
|
display_name: string;
|
|
461
525
|
slug: string;
|
|
462
|
-
manufacturer_sku: string;
|
|
463
526
|
primary_color_hex?: string | undefined;
|
|
527
|
+
manufacturer_sku?: string | undefined;
|
|
464
528
|
front_image?: {
|
|
465
529
|
url: string;
|
|
466
530
|
width: number;
|
|
@@ -474,8 +538,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
474
538
|
}, {
|
|
475
539
|
display_name: string;
|
|
476
540
|
slug: string;
|
|
477
|
-
manufacturer_sku: string;
|
|
478
541
|
primary_color_hex?: string | undefined;
|
|
542
|
+
manufacturer_sku?: string | undefined;
|
|
479
543
|
front_image?: {
|
|
480
544
|
url: string;
|
|
481
545
|
width: number;
|
|
@@ -509,8 +573,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
509
573
|
aesthetic_variants: {
|
|
510
574
|
display_name: string;
|
|
511
575
|
slug: string;
|
|
512
|
-
manufacturer_sku: string;
|
|
513
576
|
primary_color_hex?: string | undefined;
|
|
577
|
+
manufacturer_sku?: string | undefined;
|
|
514
578
|
front_image?: {
|
|
515
579
|
url: string;
|
|
516
580
|
width: number;
|
|
@@ -545,8 +609,8 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
545
609
|
aesthetic_variants: {
|
|
546
610
|
display_name: string;
|
|
547
611
|
slug: string;
|
|
548
|
-
manufacturer_sku: string;
|
|
549
612
|
primary_color_hex?: string | undefined;
|
|
613
|
+
manufacturer_sku?: string | undefined;
|
|
550
614
|
front_image?: {
|
|
551
615
|
url: string;
|
|
552
616
|
width: number;
|
|
@@ -563,15 +627,15 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
563
627
|
}>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
|
|
564
628
|
main_category: z.ZodLiteral<"smartlock">;
|
|
565
629
|
physical_properties: z.ZodObject<{
|
|
566
|
-
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
|
|
630
|
+
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
|
|
567
631
|
has_physical_key: z.ZodBoolean;
|
|
568
632
|
has_camera: z.ZodBoolean;
|
|
569
633
|
}, "strip", z.ZodTypeAny, {
|
|
570
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
634
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
571
635
|
has_physical_key: boolean;
|
|
572
636
|
has_camera: boolean;
|
|
573
637
|
}, {
|
|
574
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
638
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
575
639
|
has_physical_key: boolean;
|
|
576
640
|
has_camera: boolean;
|
|
577
641
|
}>;
|
|
@@ -594,7 +658,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
594
658
|
}, "strip", z.ZodTypeAny, {
|
|
595
659
|
main_category: "smartlock";
|
|
596
660
|
physical_properties: {
|
|
597
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
661
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
598
662
|
has_physical_key: boolean;
|
|
599
663
|
has_camera: boolean;
|
|
600
664
|
};
|
|
@@ -607,7 +671,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
607
671
|
}, {
|
|
608
672
|
main_category: "smartlock";
|
|
609
673
|
physical_properties: {
|
|
610
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
674
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
611
675
|
has_physical_key: boolean;
|
|
612
676
|
has_camera: boolean;
|
|
613
677
|
};
|
|
@@ -786,6 +850,7 @@ type index_DeviceModelV0 = DeviceModelV0;
|
|
|
786
850
|
type index_DeviceModelV1 = DeviceModelV1;
|
|
787
851
|
type index_ImageReference = ImageReference;
|
|
788
852
|
type index_Manufacturer = Manufacturer;
|
|
853
|
+
type index_ThermostatPropertiesV1 = ThermostatPropertiesV1;
|
|
789
854
|
declare const index_base_device_model_v1: typeof base_device_model_v1;
|
|
790
855
|
declare const index_device_model_category_specific_properties: typeof device_model_category_specific_properties;
|
|
791
856
|
declare const index_device_model_v0: typeof device_model_v0;
|
|
@@ -799,6 +864,7 @@ declare namespace index {
|
|
|
799
864
|
index_DeviceModelV1 as DeviceModelV1,
|
|
800
865
|
index_ImageReference as ImageReference,
|
|
801
866
|
index_Manufacturer as Manufacturer,
|
|
867
|
+
index_ThermostatPropertiesV1 as ThermostatPropertiesV1,
|
|
802
868
|
index_base_device_model_v1 as base_device_model_v1,
|
|
803
869
|
index_device_model_category_specific_properties as device_model_category_specific_properties,
|
|
804
870
|
index_device_model_v0 as device_model_v0,
|
|
@@ -836,13 +902,13 @@ interface Routes {
|
|
|
836
902
|
is_device_supported: boolean;
|
|
837
903
|
display_name: string;
|
|
838
904
|
description: string;
|
|
839
|
-
product_url
|
|
905
|
+
product_url?: string | undefined;
|
|
840
906
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
|
|
841
907
|
aesthetic_variants: Array<{
|
|
842
908
|
slug: string;
|
|
843
909
|
display_name: string;
|
|
844
910
|
primary_color_hex?: string | undefined;
|
|
845
|
-
manufacturer_sku
|
|
911
|
+
manufacturer_sku?: string | undefined;
|
|
846
912
|
front_image?: {
|
|
847
913
|
url: string;
|
|
848
914
|
width: number;
|
|
@@ -858,7 +924,7 @@ interface Routes {
|
|
|
858
924
|
} & ({
|
|
859
925
|
main_category: 'smartlock';
|
|
860
926
|
physical_properties: {
|
|
861
|
-
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
|
|
927
|
+
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
|
|
862
928
|
has_physical_key: boolean;
|
|
863
929
|
has_camera: boolean;
|
|
864
930
|
};
|
|
@@ -926,13 +992,13 @@ interface Routes {
|
|
|
926
992
|
is_device_supported: boolean;
|
|
927
993
|
display_name: string;
|
|
928
994
|
description: string;
|
|
929
|
-
product_url
|
|
995
|
+
product_url?: string | undefined;
|
|
930
996
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
|
|
931
997
|
aesthetic_variants: Array<{
|
|
932
998
|
slug: string;
|
|
933
999
|
display_name: string;
|
|
934
1000
|
primary_color_hex?: string | undefined;
|
|
935
|
-
manufacturer_sku
|
|
1001
|
+
manufacturer_sku?: string | undefined;
|
|
936
1002
|
front_image?: {
|
|
937
1003
|
url: string;
|
|
938
1004
|
width: number;
|
|
@@ -948,7 +1014,7 @@ interface Routes {
|
|
|
948
1014
|
} & ({
|
|
949
1015
|
main_category: 'smartlock';
|
|
950
1016
|
physical_properties: {
|
|
951
|
-
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
|
|
1017
|
+
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
|
|
952
1018
|
has_physical_key: boolean;
|
|
953
1019
|
has_camera: boolean;
|
|
954
1020
|
};
|
|
@@ -1,16 +1,80 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
declare const thermostat: z.ZodObject<{
|
|
3
|
+
main_category: z.ZodLiteral<"thermostat">;
|
|
4
|
+
physical_properties: z.ZodObject<{
|
|
5
|
+
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
6
|
+
is_heat_pump_compatible: z.ZodBoolean;
|
|
7
|
+
has_occupancy_detection: z.ZodBoolean;
|
|
8
|
+
supports_demand_response: z.ZodBoolean;
|
|
9
|
+
has_humidity_sensor: z.ZodBoolean;
|
|
10
|
+
has_temperature_sensor: z.ZodBoolean;
|
|
11
|
+
supports_emergency_heating_mode: z.ZodBoolean;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
has_humidity_sensor: boolean;
|
|
14
|
+
has_temperature_sensor: boolean;
|
|
15
|
+
has_occupancy_detection: boolean;
|
|
16
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
17
|
+
is_heat_pump_compatible: boolean;
|
|
18
|
+
supports_demand_response: boolean;
|
|
19
|
+
supports_emergency_heating_mode: boolean;
|
|
20
|
+
}, {
|
|
21
|
+
has_humidity_sensor: boolean;
|
|
22
|
+
has_temperature_sensor: boolean;
|
|
23
|
+
has_occupancy_detection: boolean;
|
|
24
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
25
|
+
is_heat_pump_compatible: boolean;
|
|
26
|
+
supports_demand_response: boolean;
|
|
27
|
+
supports_emergency_heating_mode: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
software_features: z.ZodObject<{
|
|
30
|
+
can_program_climate_schedules: z.ZodBoolean;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
can_program_climate_schedules: boolean;
|
|
33
|
+
}, {
|
|
34
|
+
can_program_climate_schedules: boolean;
|
|
35
|
+
}>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
main_category: "thermostat";
|
|
38
|
+
physical_properties: {
|
|
39
|
+
has_humidity_sensor: boolean;
|
|
40
|
+
has_temperature_sensor: boolean;
|
|
41
|
+
has_occupancy_detection: boolean;
|
|
42
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
43
|
+
is_heat_pump_compatible: boolean;
|
|
44
|
+
supports_demand_response: boolean;
|
|
45
|
+
supports_emergency_heating_mode: boolean;
|
|
46
|
+
};
|
|
47
|
+
software_features: {
|
|
48
|
+
can_program_climate_schedules: boolean;
|
|
49
|
+
};
|
|
50
|
+
}, {
|
|
51
|
+
main_category: "thermostat";
|
|
52
|
+
physical_properties: {
|
|
53
|
+
has_humidity_sensor: boolean;
|
|
54
|
+
has_temperature_sensor: boolean;
|
|
55
|
+
has_occupancy_detection: boolean;
|
|
56
|
+
available_modes: ("heat" | "cool" | "fan" | "eco")[];
|
|
57
|
+
is_heat_pump_compatible: boolean;
|
|
58
|
+
supports_demand_response: boolean;
|
|
59
|
+
supports_emergency_heating_mode: boolean;
|
|
60
|
+
};
|
|
61
|
+
software_features: {
|
|
62
|
+
can_program_climate_schedules: boolean;
|
|
63
|
+
};
|
|
64
|
+
}>;
|
|
65
|
+
export type ThermostatPropertiesV1 = z.infer<typeof thermostat>;
|
|
2
66
|
export declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
|
|
3
67
|
main_category: z.ZodLiteral<"smartlock">;
|
|
4
68
|
physical_properties: z.ZodObject<{
|
|
5
|
-
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
|
|
69
|
+
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
|
|
6
70
|
has_physical_key: z.ZodBoolean;
|
|
7
71
|
has_camera: z.ZodBoolean;
|
|
8
72
|
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
73
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
10
74
|
has_physical_key: boolean;
|
|
11
75
|
has_camera: boolean;
|
|
12
76
|
}, {
|
|
13
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
77
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
14
78
|
has_physical_key: boolean;
|
|
15
79
|
has_camera: boolean;
|
|
16
80
|
}>;
|
|
@@ -33,7 +97,7 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
|
|
|
33
97
|
}, "strip", z.ZodTypeAny, {
|
|
34
98
|
main_category: "smartlock";
|
|
35
99
|
physical_properties: {
|
|
36
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
100
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
37
101
|
has_physical_key: boolean;
|
|
38
102
|
has_camera: boolean;
|
|
39
103
|
};
|
|
@@ -46,7 +110,7 @@ export declare const device_model_category_specific_properties: z.ZodDiscriminat
|
|
|
46
110
|
}, {
|
|
47
111
|
main_category: "smartlock";
|
|
48
112
|
physical_properties: {
|
|
49
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
113
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
50
114
|
has_physical_key: boolean;
|
|
51
115
|
has_camera: boolean;
|
|
52
116
|
};
|
|
@@ -212,7 +276,7 @@ export declare const base_device_model_v1: z.ZodObject<{
|
|
|
212
276
|
slug: z.ZodString;
|
|
213
277
|
display_name: z.ZodString;
|
|
214
278
|
primary_color_hex: z.ZodOptional<z.ZodString>;
|
|
215
|
-
manufacturer_sku: z.ZodString
|
|
279
|
+
manufacturer_sku: z.ZodOptional<z.ZodString>;
|
|
216
280
|
front_image: z.ZodOptional<z.ZodObject<{
|
|
217
281
|
url: z.ZodString;
|
|
218
282
|
width: z.ZodNumber;
|
|
@@ -242,8 +306,8 @@ export declare const base_device_model_v1: z.ZodObject<{
|
|
|
242
306
|
}, "strip", z.ZodTypeAny, {
|
|
243
307
|
display_name: string;
|
|
244
308
|
slug: string;
|
|
245
|
-
manufacturer_sku: string;
|
|
246
309
|
primary_color_hex?: string | undefined;
|
|
310
|
+
manufacturer_sku?: string | undefined;
|
|
247
311
|
front_image?: {
|
|
248
312
|
height: number;
|
|
249
313
|
width: number;
|
|
@@ -257,8 +321,8 @@ export declare const base_device_model_v1: z.ZodObject<{
|
|
|
257
321
|
}, {
|
|
258
322
|
display_name: string;
|
|
259
323
|
slug: string;
|
|
260
|
-
manufacturer_sku: string;
|
|
261
324
|
primary_color_hex?: string | undefined;
|
|
325
|
+
manufacturer_sku?: string | undefined;
|
|
262
326
|
front_image?: {
|
|
263
327
|
height: number;
|
|
264
328
|
width: number;
|
|
@@ -292,8 +356,8 @@ export declare const base_device_model_v1: z.ZodObject<{
|
|
|
292
356
|
aesthetic_variants: {
|
|
293
357
|
display_name: string;
|
|
294
358
|
slug: string;
|
|
295
|
-
manufacturer_sku: string;
|
|
296
359
|
primary_color_hex?: string | undefined;
|
|
360
|
+
manufacturer_sku?: string | undefined;
|
|
297
361
|
front_image?: {
|
|
298
362
|
height: number;
|
|
299
363
|
width: number;
|
|
@@ -328,8 +392,8 @@ export declare const base_device_model_v1: z.ZodObject<{
|
|
|
328
392
|
aesthetic_variants: {
|
|
329
393
|
display_name: string;
|
|
330
394
|
slug: string;
|
|
331
|
-
manufacturer_sku: string;
|
|
332
395
|
primary_color_hex?: string | undefined;
|
|
396
|
+
manufacturer_sku?: string | undefined;
|
|
333
397
|
front_image?: {
|
|
334
398
|
height: number;
|
|
335
399
|
width: number;
|
|
@@ -398,7 +462,7 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
398
462
|
slug: z.ZodString;
|
|
399
463
|
display_name: z.ZodString;
|
|
400
464
|
primary_color_hex: z.ZodOptional<z.ZodString>;
|
|
401
|
-
manufacturer_sku: z.ZodString
|
|
465
|
+
manufacturer_sku: z.ZodOptional<z.ZodString>;
|
|
402
466
|
front_image: z.ZodOptional<z.ZodObject<{
|
|
403
467
|
url: z.ZodString;
|
|
404
468
|
width: z.ZodNumber;
|
|
@@ -428,8 +492,8 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
428
492
|
}, "strip", z.ZodTypeAny, {
|
|
429
493
|
display_name: string;
|
|
430
494
|
slug: string;
|
|
431
|
-
manufacturer_sku: string;
|
|
432
495
|
primary_color_hex?: string | undefined;
|
|
496
|
+
manufacturer_sku?: string | undefined;
|
|
433
497
|
front_image?: {
|
|
434
498
|
height: number;
|
|
435
499
|
width: number;
|
|
@@ -443,8 +507,8 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
443
507
|
}, {
|
|
444
508
|
display_name: string;
|
|
445
509
|
slug: string;
|
|
446
|
-
manufacturer_sku: string;
|
|
447
510
|
primary_color_hex?: string | undefined;
|
|
511
|
+
manufacturer_sku?: string | undefined;
|
|
448
512
|
front_image?: {
|
|
449
513
|
height: number;
|
|
450
514
|
width: number;
|
|
@@ -478,8 +542,8 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
478
542
|
aesthetic_variants: {
|
|
479
543
|
display_name: string;
|
|
480
544
|
slug: string;
|
|
481
|
-
manufacturer_sku: string;
|
|
482
545
|
primary_color_hex?: string | undefined;
|
|
546
|
+
manufacturer_sku?: string | undefined;
|
|
483
547
|
front_image?: {
|
|
484
548
|
height: number;
|
|
485
549
|
width: number;
|
|
@@ -514,8 +578,8 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
514
578
|
aesthetic_variants: {
|
|
515
579
|
display_name: string;
|
|
516
580
|
slug: string;
|
|
517
|
-
manufacturer_sku: string;
|
|
518
581
|
primary_color_hex?: string | undefined;
|
|
582
|
+
manufacturer_sku?: string | undefined;
|
|
519
583
|
front_image?: {
|
|
520
584
|
height: number;
|
|
521
585
|
width: number;
|
|
@@ -532,15 +596,15 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
532
596
|
}>, z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<{
|
|
533
597
|
main_category: z.ZodLiteral<"smartlock">;
|
|
534
598
|
physical_properties: z.ZodObject<{
|
|
535
|
-
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker"]>;
|
|
599
|
+
lock_type: z.ZodEnum<["deadbolt", "lever", "mortise", "lockbox", "cylinder", "padlock", "locker", "unknown"]>;
|
|
536
600
|
has_physical_key: z.ZodBoolean;
|
|
537
601
|
has_camera: z.ZodBoolean;
|
|
538
602
|
}, "strip", z.ZodTypeAny, {
|
|
539
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
603
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
540
604
|
has_physical_key: boolean;
|
|
541
605
|
has_camera: boolean;
|
|
542
606
|
}, {
|
|
543
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
607
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
544
608
|
has_physical_key: boolean;
|
|
545
609
|
has_camera: boolean;
|
|
546
610
|
}>;
|
|
@@ -563,7 +627,7 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
563
627
|
}, "strip", z.ZodTypeAny, {
|
|
564
628
|
main_category: "smartlock";
|
|
565
629
|
physical_properties: {
|
|
566
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
630
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
567
631
|
has_physical_key: boolean;
|
|
568
632
|
has_camera: boolean;
|
|
569
633
|
};
|
|
@@ -576,7 +640,7 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
576
640
|
}, {
|
|
577
641
|
main_category: "smartlock";
|
|
578
642
|
physical_properties: {
|
|
579
|
-
lock_type: "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
643
|
+
lock_type: "unknown" | "deadbolt" | "lever" | "mortise" | "lockbox" | "cylinder" | "padlock" | "locker";
|
|
580
644
|
has_physical_key: boolean;
|
|
581
645
|
has_camera: boolean;
|
|
582
646
|
};
|
|
@@ -690,3 +754,4 @@ export declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
690
754
|
main_category: "relay";
|
|
691
755
|
}>]>>;
|
|
692
756
|
export type DeviceModelV1 = z.infer<typeof device_model_v1>;
|
|
757
|
+
export {};
|
|
@@ -12,6 +12,7 @@ const smartlock = z.object({
|
|
|
12
12
|
'cylinder',
|
|
13
13
|
'padlock',
|
|
14
14
|
'locker',
|
|
15
|
+
'unknown',
|
|
15
16
|
]),
|
|
16
17
|
has_physical_key: z.boolean(),
|
|
17
18
|
has_camera: z.boolean(),
|
|
@@ -64,7 +65,7 @@ export const base_device_model_v1 = z.object({
|
|
|
64
65
|
slug: z.string(),
|
|
65
66
|
display_name: z.string(),
|
|
66
67
|
primary_color_hex: z.string().optional(),
|
|
67
|
-
manufacturer_sku: z.string(),
|
|
68
|
+
manufacturer_sku: z.string().optional(),
|
|
68
69
|
front_image: image_reference.optional(),
|
|
69
70
|
back_image: image_reference.optional(),
|
|
70
71
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-model-v1.js","sourceRoot":"","sources":["../../../../src/lib/seam/devicedb/public-models/device-model-v1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACrC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;YAChB,UAAU;YACV,OAAO;YACP,SAAS;YACT,SAAS;YACT,UAAU;YACV,SAAS;YACT,QAAQ;
|
|
1
|
+
{"version":3,"file":"device-model-v1.js","sourceRoot":"","sources":["../../../../src/lib/seam/devicedb/public-models/device-model-v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,13 +26,13 @@ export interface Routes {
|
|
|
26
26
|
is_device_supported: boolean;
|
|
27
27
|
display_name: string;
|
|
28
28
|
description: string;
|
|
29
|
-
product_url
|
|
29
|
+
product_url?: string | undefined;
|
|
30
30
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
|
|
31
31
|
aesthetic_variants: Array<{
|
|
32
32
|
slug: string;
|
|
33
33
|
display_name: string;
|
|
34
34
|
primary_color_hex?: string | undefined;
|
|
35
|
-
manufacturer_sku
|
|
35
|
+
manufacturer_sku?: string | undefined;
|
|
36
36
|
front_image?: {
|
|
37
37
|
url: string;
|
|
38
38
|
width: number;
|
|
@@ -48,7 +48,7 @@ export interface Routes {
|
|
|
48
48
|
} & ({
|
|
49
49
|
main_category: 'smartlock';
|
|
50
50
|
physical_properties: {
|
|
51
|
-
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
|
|
51
|
+
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
|
|
52
52
|
has_physical_key: boolean;
|
|
53
53
|
has_camera: boolean;
|
|
54
54
|
};
|
|
@@ -116,13 +116,13 @@ export interface Routes {
|
|
|
116
116
|
is_device_supported: boolean;
|
|
117
117
|
display_name: string;
|
|
118
118
|
description: string;
|
|
119
|
-
product_url
|
|
119
|
+
product_url?: string | undefined;
|
|
120
120
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown';
|
|
121
121
|
aesthetic_variants: Array<{
|
|
122
122
|
slug: string;
|
|
123
123
|
display_name: string;
|
|
124
124
|
primary_color_hex?: string | undefined;
|
|
125
|
-
manufacturer_sku
|
|
125
|
+
manufacturer_sku?: string | undefined;
|
|
126
126
|
front_image?: {
|
|
127
127
|
url: string;
|
|
128
128
|
width: number;
|
|
@@ -138,7 +138,7 @@ export interface Routes {
|
|
|
138
138
|
} & ({
|
|
139
139
|
main_category: 'smartlock';
|
|
140
140
|
physical_properties: {
|
|
141
|
-
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker';
|
|
141
|
+
lock_type: 'deadbolt' | 'lever' | 'mortise' | 'lockbox' | 'cylinder' | 'padlock' | 'locker' | 'unknown';
|
|
142
142
|
has_physical_key: boolean;
|
|
143
143
|
has_camera: boolean;
|
|
144
144
|
};
|
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@ const smartlock = z.object({
|
|
|
14
14
|
'cylinder',
|
|
15
15
|
'padlock',
|
|
16
16
|
'locker',
|
|
17
|
+
'unknown',
|
|
17
18
|
]),
|
|
18
19
|
has_physical_key: z.boolean(),
|
|
19
20
|
has_camera: z.boolean(),
|
|
@@ -52,6 +53,8 @@ const thermostat = z.object({
|
|
|
52
53
|
}),
|
|
53
54
|
})
|
|
54
55
|
|
|
56
|
+
export type ThermostatPropertiesV1 = z.infer<typeof thermostat>
|
|
57
|
+
|
|
55
58
|
const relay = z.object({
|
|
56
59
|
main_category: z.literal('relay'),
|
|
57
60
|
})
|
|
@@ -74,7 +77,7 @@ export const base_device_model_v1 = z.object({
|
|
|
74
77
|
slug: z.string(),
|
|
75
78
|
display_name: z.string(),
|
|
76
79
|
primary_color_hex: z.string().optional(),
|
|
77
|
-
manufacturer_sku: z.string(),
|
|
80
|
+
manufacturer_sku: z.string().optional(),
|
|
78
81
|
front_image: image_reference.optional(),
|
|
79
82
|
back_image: image_reference.optional(),
|
|
80
83
|
})
|
|
@@ -28,13 +28,13 @@ export interface Routes {
|
|
|
28
28
|
is_device_supported: boolean
|
|
29
29
|
display_name: string
|
|
30
30
|
description: string
|
|
31
|
-
product_url
|
|
31
|
+
product_url?: string | undefined
|
|
32
32
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown'
|
|
33
33
|
aesthetic_variants: Array<{
|
|
34
34
|
slug: string
|
|
35
35
|
display_name: string
|
|
36
36
|
primary_color_hex?: string | undefined
|
|
37
|
-
manufacturer_sku
|
|
37
|
+
manufacturer_sku?: string | undefined
|
|
38
38
|
front_image?:
|
|
39
39
|
| {
|
|
40
40
|
url: string
|
|
@@ -69,6 +69,7 @@ export interface Routes {
|
|
|
69
69
|
| 'cylinder'
|
|
70
70
|
| 'padlock'
|
|
71
71
|
| 'locker'
|
|
72
|
+
| 'unknown'
|
|
72
73
|
has_physical_key: boolean
|
|
73
74
|
has_camera: boolean
|
|
74
75
|
}
|
|
@@ -150,13 +151,13 @@ export interface Routes {
|
|
|
150
151
|
is_device_supported: boolean
|
|
151
152
|
display_name: string
|
|
152
153
|
description: string
|
|
153
|
-
product_url
|
|
154
|
+
product_url?: string | undefined
|
|
154
155
|
main_connection_type: 'wifi' | 'zwave' | 'zigbee' | 'unknown'
|
|
155
156
|
aesthetic_variants: Array<{
|
|
156
157
|
slug: string
|
|
157
158
|
display_name: string
|
|
158
159
|
primary_color_hex?: string | undefined
|
|
159
|
-
manufacturer_sku
|
|
160
|
+
manufacturer_sku?: string | undefined
|
|
160
161
|
front_image?:
|
|
161
162
|
| {
|
|
162
163
|
url: string
|
|
@@ -191,6 +192,7 @@ export interface Routes {
|
|
|
191
192
|
| 'cylinder'
|
|
192
193
|
| 'padlock'
|
|
193
194
|
| 'locker'
|
|
195
|
+
| 'unknown'
|
|
194
196
|
has_physical_key: boolean
|
|
195
197
|
has_camera: boolean
|
|
196
198
|
}
|