@seamapi/types 1.242.0 → 1.243.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.
- package/dist/connect.cjs +134 -45
- package/dist/connect.cjs.map +1 -1
- package/dist/connect.d.cts +484 -62
- package/dist/devicedb.cjs +9 -6
- package/dist/devicedb.cjs.map +1 -1
- package/dist/devicedb.d.cts +123 -70
- package/lib/seam/connect/models/acs/acs-system.d.ts +86 -42
- package/lib/seam/connect/models/acs/acs-system.js +23 -20
- package/lib/seam/connect/models/acs/acs-system.js.map +1 -1
- package/lib/seam/connect/models/acs/acs-user.d.ts +8 -8
- package/lib/seam/connect/models/devices/capability-properties/index.d.ts +5 -5
- package/lib/seam/connect/models/devices/capability-properties/thermostat.d.ts +5 -5
- package/lib/seam/connect/models/devices/device-metadata.d.ts +78 -0
- package/lib/seam/connect/models/devices/device-metadata.js +14 -0
- package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
- package/lib/seam/connect/models/devices/device.d.ts +108 -6
- package/lib/seam/connect/models/devices/phone.d.ts +83 -5
- package/lib/seam/connect/models/devices/unmanaged-device.d.ts +83 -5
- package/lib/seam/connect/models/thermostats/climate-preset.d.ts +3 -3
- package/lib/seam/connect/models/thermostats/climate-preset.js +1 -1
- package/lib/seam/connect/models/thermostats/climate-preset.js.map +1 -1
- package/lib/seam/connect/models/thermostats/index.d.ts +1 -1
- package/lib/seam/connect/models/thermostats/index.js +1 -1
- package/lib/seam/connect/models/thermostats/index.js.map +1 -1
- package/lib/seam/connect/models/thermostats/{climate-setting-schedule.js → thermostat-schedule.js} +1 -1
- package/lib/seam/connect/models/thermostats/thermostat-schedule.js.map +1 -0
- package/lib/seam/connect/openapi.d.ts +49 -0
- package/lib/seam/connect/openapi.js +87 -22
- package/lib/seam/connect/openapi.js.map +1 -1
- package/lib/seam/connect/route-types.d.ts +208 -36
- package/lib/seam/devicedb/models/device-model.d.ts +59 -24
- package/lib/seam/devicedb/models/device-model.js +9 -6
- package/lib/seam/devicedb/models/device-model.js.map +1 -1
- package/lib/seam/devicedb/route-specs.d.ts +56 -38
- package/lib/seam/devicedb/route-types.d.ts +8 -8
- package/package.json +1 -1
- package/src/lib/seam/connect/models/acs/acs-system.ts +32 -24
- package/src/lib/seam/connect/models/devices/device-metadata.ts +16 -0
- package/src/lib/seam/connect/models/thermostats/climate-preset.ts +1 -1
- package/src/lib/seam/connect/models/thermostats/index.ts +1 -1
- package/src/lib/seam/connect/openapi.ts +90 -22
- package/src/lib/seam/connect/route-types.ts +236 -36
- package/src/lib/seam/devicedb/models/device-model.ts +24 -19
- package/src/lib/seam/devicedb/route-types.ts +8 -8
- package/lib/seam/connect/models/thermostats/climate-setting-schedule.js.map +0 -1
- /package/lib/seam/connect/models/thermostats/{climate-setting-schedule.d.ts → thermostat-schedule.d.ts} +0 -0
- /package/src/lib/seam/connect/models/thermostats/{climate-setting-schedule.ts → thermostat-schedule.ts} +0 -0
package/dist/devicedb.cjs
CHANGED
|
@@ -131,11 +131,7 @@ var smartlock = zod.z.object({
|
|
|
131
131
|
can_remotely_lock: true,
|
|
132
132
|
can_remotely_unlock: true,
|
|
133
133
|
can_program_offline_access_codes: true,
|
|
134
|
-
can_program_online_access_codes: true
|
|
135
|
-
can_hvac_heat: true,
|
|
136
|
-
can_hvac_cool: true,
|
|
137
|
-
can_hvac_heat_cool: true,
|
|
138
|
-
can_turn_off_hvac: true
|
|
134
|
+
can_program_online_access_codes: true
|
|
139
135
|
})
|
|
140
136
|
);
|
|
141
137
|
var sensor = zod.z.object({
|
|
@@ -161,7 +157,14 @@ var thermostat = zod.z.object({
|
|
|
161
157
|
software_features: zod.z.object({
|
|
162
158
|
can_program_climate_schedules: zod.z.boolean()
|
|
163
159
|
})
|
|
164
|
-
})
|
|
160
|
+
}).merge(
|
|
161
|
+
device_model_capability_flags.pick({
|
|
162
|
+
can_hvac_heat: true,
|
|
163
|
+
can_hvac_cool: true,
|
|
164
|
+
can_hvac_heat_cool: true,
|
|
165
|
+
can_turn_off_hvac: true
|
|
166
|
+
})
|
|
167
|
+
);
|
|
165
168
|
var relay = zod.z.object({
|
|
166
169
|
main_category: zod.z.literal(device_category.enum.relay)
|
|
167
170
|
});
|
package/dist/devicedb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/seam/devicedb/models/index.ts","../src/lib/seam/devicedb/models/device-capability.ts","../src/lib/seam/devicedb/models/device-model.ts","../src/lib/seam/devicedb/models/hardware.ts","../src/lib/seam/devicedb/models/image-reference.ts","../src/lib/seam/devicedb/models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export { device_capability_flags } from './device-capability.js'\nexport * from './device-model.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z, type ZodLiteral } from 'zod'\n\nexport const device_capability_flags = z\n .object({\n can_remotely_unlock: z.boolean(),\n can_remotely_lock: z.boolean(),\n can_program_offline_access_codes: z.boolean(),\n can_program_online_access_codes: z.boolean(),\n can_hvac_heat: z.boolean(),\n can_hvac_cool: z.boolean(),\n can_hvac_heat_cool: z.boolean(),\n can_turn_off_hvac: z.boolean(),\n })\n .partial()\n\nconst device_model_capability_flags_map: Record<\n keyof z.infer<typeof device_capability_flags>,\n ZodLiteral<true>\n> = {\n can_remotely_lock: z.literal(true),\n can_remotely_unlock: z.literal(true),\n can_program_offline_access_codes: z.literal(true),\n can_program_online_access_codes: z.literal(true),\n can_hvac_heat: z.literal(true),\n can_hvac_cool: z.literal(true),\n can_hvac_heat_cool: z.literal(true),\n can_turn_off_hvac: z.literal(true),\n}\n\nexport const device_model_capability_flags = z\n .object(device_model_capability_flags_map)\n .partial()\n","import { z } from 'zod'\n\nimport { device_model_capability_flags } from './device-capability.js'\nimport { hardware } from './hardware.js'\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z\n .object({\n main_category: z.literal(device_category.enum.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 .merge(\n device_model_capability_flags.pick({\n can_remotely_lock: true,\n can_remotely_unlock: true,\n can_program_offline_access_codes: true,\n can_program_online_access_codes: true,\n can_hvac_heat: true,\n can_hvac_cool: true,\n can_hvac_heat_cool: true,\n can_turn_off_hvac: true,\n }),\n )\n\nconst sensor = z.object({\n main_category: z.literal(device_category.enum.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\nexport const thermostat = z.object({\n main_category: z.literal(device_category.enum.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 ThermostatProperties = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n has_rfid_reader: z.boolean().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_unlock_with_face_recognition: z.boolean().default(false),\n supports_onvif: z.boolean().default(false),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\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: device_connection_type,\n hardware,\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 images: image_reference.array(),\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 BaseDeviceModel = 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 DeviceModel = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const hardware = z\n .object({\n has_physical_key: z.boolean(),\n })\n .partial()\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_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n annotations: z.array(manufacturer_annotation),\n website: z.string().url().optional(),\n legal_name: z.string().optional(),\n parent_organization: z.string().optional(),\n headquarters: z.array(z.string()).optional(),\n countries_of_origin: z.array(z.string()).optional(),\n founding_year: z.string().optional(),\n us_customer_support_tel: z.string().optional(),\n us_customer_support_email: z.string().email().optional(),\n us_customer_support_contact_url: z.string().url().optional(),\n seam_api_guide: z.string().optional(),\n description: z.string().optional(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/seam/devicedb/models/index.ts","../src/lib/seam/devicedb/models/device-capability.ts","../src/lib/seam/devicedb/models/device-model.ts","../src/lib/seam/devicedb/models/hardware.ts","../src/lib/seam/devicedb/models/image-reference.ts","../src/lib/seam/devicedb/models/manufacturer.ts","../src/lib/seam/devicedb/route-specs.ts"],"names":["z"],"mappings":"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","sourcesContent":["export { device_capability_flags } from './device-capability.js'\nexport * from './device-model.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z, type ZodLiteral } from 'zod'\n\nexport const device_capability_flags = z\n .object({\n can_remotely_unlock: z.boolean(),\n can_remotely_lock: z.boolean(),\n can_program_offline_access_codes: z.boolean(),\n can_program_online_access_codes: z.boolean(),\n can_hvac_heat: z.boolean(),\n can_hvac_cool: z.boolean(),\n can_hvac_heat_cool: z.boolean(),\n can_turn_off_hvac: z.boolean(),\n })\n .partial()\n\nconst device_model_capability_flags_map: Record<\n keyof z.infer<typeof device_capability_flags>,\n ZodLiteral<true>\n> = {\n can_remotely_lock: z.literal(true),\n can_remotely_unlock: z.literal(true),\n can_program_offline_access_codes: z.literal(true),\n can_program_online_access_codes: z.literal(true),\n can_hvac_heat: z.literal(true),\n can_hvac_cool: z.literal(true),\n can_hvac_heat_cool: z.literal(true),\n can_turn_off_hvac: z.literal(true),\n}\n\nexport const device_model_capability_flags = z\n .object(device_model_capability_flags_map)\n .partial()\n","import { z } from 'zod'\n\nimport { device_model_capability_flags } from './device-capability.js'\nimport { hardware } from './hardware.js'\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nexport const device_category = z.enum([\n 'smartlock',\n 'sensor',\n 'thermostat',\n 'relay',\n 'intercom',\n 'accessory',\n])\n\nexport type DeviceCategory = z.infer<typeof device_category>\n\nexport const device_connection_type = z.enum([\n 'wifi',\n 'zwave',\n 'zigbee',\n 'unknown',\n])\n\nexport type DeviceConnectionType = z.infer<typeof device_connection_type>\n\nconst smartlock = z\n .object({\n main_category: z.literal(device_category.enum.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 .merge(\n device_model_capability_flags.pick({\n can_remotely_lock: true,\n can_remotely_unlock: true,\n can_program_offline_access_codes: true,\n can_program_online_access_codes: true,\n }),\n )\n\nconst sensor = z.object({\n main_category: z.literal(device_category.enum.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\nexport const thermostat = z\n .object({\n main_category: z.literal(device_category.enum.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 .merge(\n device_model_capability_flags.pick({\n can_hvac_heat: true,\n can_hvac_cool: true,\n can_hvac_heat_cool: true,\n can_turn_off_hvac: true,\n }),\n )\n\nexport type ThermostatProperties = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal(device_category.enum.relay),\n})\n\nconst intercom = z.object({\n main_category: z.literal(device_category.enum.intercom),\n physical_properties: z.object({\n has_camera: z.boolean(),\n has_rfid_reader: z.boolean().default(false),\n has_nfc_reader: z.boolean().default(false),\n has_wiegand_interface: z.boolean().default(false),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_unlock_with_face_recognition: z.boolean().default(false),\n supports_onvif: z.boolean().default(false),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal(device_category.enum.accessory),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer: manufacturer.omit({\n device_model_count: true,\n }),\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: device_connection_type,\n hardware,\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 images: image_reference.array(),\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 BaseDeviceModel = 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 DeviceModel = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const hardware = z\n .object({\n has_physical_key: z.boolean(),\n })\n .partial()\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_integration_support_level = z.enum([\n 'stable',\n 'beta',\n 'planned',\n 'unsupported',\n 'inquire',\n])\n\nexport type ManufacturerIntegrationSupportLevel = z.infer<\n typeof manufacturer_integration_support_level\n>\n\nexport const manufacturer_annotation_code = z.enum(['subscription_required'])\n\nexport type ManufacturerAnnotationCode = z.infer<\n typeof manufacturer_annotation_code\n>\n\nexport const manufacturer_annotation = z.object({\n annotation_code: manufacturer_annotation_code,\n message: z.string().trim().nonempty(),\n})\n\nexport type ManufacturerAnnotation = z.infer<typeof manufacturer_annotation>\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n /** @deprecated */\n integration: manufacturer_integration_support_level,\n integration_support_level: manufacturer_integration_support_level,\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n device_model_count: z.number(),\n annotations: z.array(manufacturer_annotation),\n website: z.string().url().optional(),\n legal_name: z.string().optional(),\n parent_organization: z.string().optional(),\n headquarters: z.array(z.string()).optional(),\n countries_of_origin: z.array(z.string()).optional(),\n founding_year: z.string().optional(),\n us_customer_support_tel: z.string().optional(),\n us_customer_support_email: z.string().email().optional(),\n us_customer_support_contact_url: z.string().url().optional(),\n seam_api_guide: z.string().optional(),\n description: z.string().optional(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n","import { z } from 'zod'\n\nimport * as schemas from './models/index.js'\n\nconst dot_path = z.string().regex(/^([a-z])[a-z_.]*[a-z]+$/)\n\nexport const routes = {\n '/api/v1/device_models/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n device_model_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n device_model: schemas.device_model_v1,\n }),\n },\n '/api/v1/device_models/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n main_category: schemas.device_category.optional(),\n manufacturer_id: z.string().uuid().optional(),\n manufacturer_ids: z.string().uuid().array().optional(),\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n text_search: z.string().optional(),\n include_if: z.array(dot_path).optional(),\n exclude_if: z.array(dot_path).optional(),\n }),\n jsonResponse: z.object({\n device_models: schemas.device_model_v1.array(),\n }),\n },\n '/api/v1/manufacturers/get': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n manufacturer_id: z.string().uuid(),\n }),\n jsonResponse: z.object({\n manufacturer: schemas.manufacturer,\n }),\n },\n '/api/v1/manufacturers/list': {\n auth: 'publishable_key',\n methods: ['GET', 'OPTIONS'],\n queryParams: z.object({\n /** @deprecated */\n integration_status: schemas.manufacturer.shape.integration.optional(),\n integration_support_levels: z\n .array(schemas.manufacturer_integration_support_level)\n .optional(),\n liqe_query: z.string().optional(),\n }),\n jsonResponse: z.object({\n manufacturers: schemas.manufacturer.array(),\n }),\n },\n} as const\n"]}
|
package/dist/devicedb.d.cts
CHANGED
|
@@ -33,7 +33,7 @@ declare const device_category: z.ZodEnum<["smartlock", "sensor", "thermostat", "
|
|
|
33
33
|
type DeviceCategory = z.infer<typeof device_category>;
|
|
34
34
|
declare const device_connection_type: z.ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
|
|
35
35
|
type DeviceConnectionType = z.infer<typeof device_connection_type>;
|
|
36
|
-
declare const thermostat: z.ZodObject<{
|
|
36
|
+
declare const thermostat: z.ZodObject<z.objectUtil.extendShape<{
|
|
37
37
|
main_category: z.ZodLiteral<"thermostat">;
|
|
38
38
|
physical_properties: z.ZodObject<{
|
|
39
39
|
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
@@ -67,7 +67,16 @@ declare const thermostat: z.ZodObject<{
|
|
|
67
67
|
}, {
|
|
68
68
|
can_program_climate_schedules: boolean;
|
|
69
69
|
}>;
|
|
70
|
-
},
|
|
70
|
+
}, Pick<{
|
|
71
|
+
can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
72
|
+
can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
73
|
+
can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
74
|
+
can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
75
|
+
can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
|
|
76
|
+
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
77
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
78
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
79
|
+
}, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
|
|
71
80
|
main_category: "thermostat";
|
|
72
81
|
physical_properties: {
|
|
73
82
|
has_humidity_sensor: boolean;
|
|
@@ -81,6 +90,10 @@ declare const thermostat: z.ZodObject<{
|
|
|
81
90
|
software_features: {
|
|
82
91
|
can_program_climate_schedules: boolean;
|
|
83
92
|
};
|
|
93
|
+
can_hvac_heat?: true | undefined;
|
|
94
|
+
can_hvac_cool?: true | undefined;
|
|
95
|
+
can_hvac_heat_cool?: true | undefined;
|
|
96
|
+
can_turn_off_hvac?: true | undefined;
|
|
84
97
|
}, {
|
|
85
98
|
main_category: "thermostat";
|
|
86
99
|
physical_properties: {
|
|
@@ -95,6 +108,10 @@ declare const thermostat: z.ZodObject<{
|
|
|
95
108
|
software_features: {
|
|
96
109
|
can_program_climate_schedules: boolean;
|
|
97
110
|
};
|
|
111
|
+
can_hvac_heat?: true | undefined;
|
|
112
|
+
can_hvac_cool?: true | undefined;
|
|
113
|
+
can_hvac_heat_cool?: true | undefined;
|
|
114
|
+
can_turn_off_hvac?: true | undefined;
|
|
98
115
|
}>;
|
|
99
116
|
type ThermostatProperties = z.infer<typeof thermostat>;
|
|
100
117
|
declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion<"main_category", [z.ZodObject<z.objectUtil.extendShape<{
|
|
@@ -137,7 +154,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
137
154
|
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
138
155
|
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
139
156
|
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
140
|
-
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes"
|
|
157
|
+
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
|
|
141
158
|
main_category: "smartlock";
|
|
142
159
|
physical_properties: {
|
|
143
160
|
has_physical_key: boolean;
|
|
@@ -154,10 +171,6 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
154
171
|
can_remotely_lock?: true | undefined;
|
|
155
172
|
can_program_offline_access_codes?: true | undefined;
|
|
156
173
|
can_program_online_access_codes?: true | undefined;
|
|
157
|
-
can_hvac_heat?: true | undefined;
|
|
158
|
-
can_hvac_cool?: true | undefined;
|
|
159
|
-
can_hvac_heat_cool?: true | undefined;
|
|
160
|
-
can_turn_off_hvac?: true | undefined;
|
|
161
174
|
}, {
|
|
162
175
|
main_category: "smartlock";
|
|
163
176
|
physical_properties: {
|
|
@@ -175,10 +188,6 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
175
188
|
can_remotely_lock?: true | undefined;
|
|
176
189
|
can_program_offline_access_codes?: true | undefined;
|
|
177
190
|
can_program_online_access_codes?: true | undefined;
|
|
178
|
-
can_hvac_heat?: true | undefined;
|
|
179
|
-
can_hvac_cool?: true | undefined;
|
|
180
|
-
can_hvac_heat_cool?: true | undefined;
|
|
181
|
-
can_turn_off_hvac?: true | undefined;
|
|
182
191
|
}>, z.ZodObject<{
|
|
183
192
|
main_category: z.ZodLiteral<"sensor">;
|
|
184
193
|
physical_properties: z.ZodObject<{
|
|
@@ -213,7 +222,7 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
213
222
|
has_temperature_sensor: boolean;
|
|
214
223
|
has_occupancy_detection: boolean;
|
|
215
224
|
};
|
|
216
|
-
}>, z.ZodObject<{
|
|
225
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
217
226
|
main_category: z.ZodLiteral<"thermostat">;
|
|
218
227
|
physical_properties: z.ZodObject<{
|
|
219
228
|
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
@@ -247,7 +256,16 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
247
256
|
}, {
|
|
248
257
|
can_program_climate_schedules: boolean;
|
|
249
258
|
}>;
|
|
250
|
-
},
|
|
259
|
+
}, Pick<{
|
|
260
|
+
can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
261
|
+
can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
262
|
+
can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
263
|
+
can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
264
|
+
can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
|
|
265
|
+
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
266
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
267
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
268
|
+
}, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
|
|
251
269
|
main_category: "thermostat";
|
|
252
270
|
physical_properties: {
|
|
253
271
|
has_humidity_sensor: boolean;
|
|
@@ -261,6 +279,10 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
261
279
|
software_features: {
|
|
262
280
|
can_program_climate_schedules: boolean;
|
|
263
281
|
};
|
|
282
|
+
can_hvac_heat?: true | undefined;
|
|
283
|
+
can_hvac_cool?: true | undefined;
|
|
284
|
+
can_hvac_heat_cool?: true | undefined;
|
|
285
|
+
can_turn_off_hvac?: true | undefined;
|
|
264
286
|
}, {
|
|
265
287
|
main_category: "thermostat";
|
|
266
288
|
physical_properties: {
|
|
@@ -275,6 +297,10 @@ declare const device_model_category_specific_properties: z.ZodDiscriminatedUnion
|
|
|
275
297
|
software_features: {
|
|
276
298
|
can_program_climate_schedules: boolean;
|
|
277
299
|
};
|
|
300
|
+
can_hvac_heat?: true | undefined;
|
|
301
|
+
can_hvac_cool?: true | undefined;
|
|
302
|
+
can_hvac_heat_cool?: true | undefined;
|
|
303
|
+
can_turn_off_hvac?: true | undefined;
|
|
278
304
|
}>, z.ZodObject<{
|
|
279
305
|
main_category: z.ZodLiteral<"relay">;
|
|
280
306
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1026,7 +1052,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1026
1052
|
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1027
1053
|
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1028
1054
|
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1029
|
-
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes"
|
|
1055
|
+
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
|
|
1030
1056
|
main_category: "smartlock";
|
|
1031
1057
|
physical_properties: {
|
|
1032
1058
|
has_physical_key: boolean;
|
|
@@ -1043,10 +1069,6 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1043
1069
|
can_remotely_lock?: true | undefined;
|
|
1044
1070
|
can_program_offline_access_codes?: true | undefined;
|
|
1045
1071
|
can_program_online_access_codes?: true | undefined;
|
|
1046
|
-
can_hvac_heat?: true | undefined;
|
|
1047
|
-
can_hvac_cool?: true | undefined;
|
|
1048
|
-
can_hvac_heat_cool?: true | undefined;
|
|
1049
|
-
can_turn_off_hvac?: true | undefined;
|
|
1050
1072
|
}, {
|
|
1051
1073
|
main_category: "smartlock";
|
|
1052
1074
|
physical_properties: {
|
|
@@ -1064,10 +1086,6 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1064
1086
|
can_remotely_lock?: true | undefined;
|
|
1065
1087
|
can_program_offline_access_codes?: true | undefined;
|
|
1066
1088
|
can_program_online_access_codes?: true | undefined;
|
|
1067
|
-
can_hvac_heat?: true | undefined;
|
|
1068
|
-
can_hvac_cool?: true | undefined;
|
|
1069
|
-
can_hvac_heat_cool?: true | undefined;
|
|
1070
|
-
can_turn_off_hvac?: true | undefined;
|
|
1071
1089
|
}>, z.ZodObject<{
|
|
1072
1090
|
main_category: z.ZodLiteral<"sensor">;
|
|
1073
1091
|
physical_properties: z.ZodObject<{
|
|
@@ -1102,7 +1120,7 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1102
1120
|
has_temperature_sensor: boolean;
|
|
1103
1121
|
has_occupancy_detection: boolean;
|
|
1104
1122
|
};
|
|
1105
|
-
}>, z.ZodObject<{
|
|
1123
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
1106
1124
|
main_category: z.ZodLiteral<"thermostat">;
|
|
1107
1125
|
physical_properties: z.ZodObject<{
|
|
1108
1126
|
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
@@ -1136,7 +1154,16 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1136
1154
|
}, {
|
|
1137
1155
|
can_program_climate_schedules: boolean;
|
|
1138
1156
|
}>;
|
|
1139
|
-
},
|
|
1157
|
+
}, Pick<{
|
|
1158
|
+
can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1159
|
+
can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1160
|
+
can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1161
|
+
can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1162
|
+
can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1163
|
+
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1164
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1165
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1166
|
+
}, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
|
|
1140
1167
|
main_category: "thermostat";
|
|
1141
1168
|
physical_properties: {
|
|
1142
1169
|
has_humidity_sensor: boolean;
|
|
@@ -1150,6 +1177,10 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1150
1177
|
software_features: {
|
|
1151
1178
|
can_program_climate_schedules: boolean;
|
|
1152
1179
|
};
|
|
1180
|
+
can_hvac_heat?: true | undefined;
|
|
1181
|
+
can_hvac_cool?: true | undefined;
|
|
1182
|
+
can_hvac_heat_cool?: true | undefined;
|
|
1183
|
+
can_turn_off_hvac?: true | undefined;
|
|
1153
1184
|
}, {
|
|
1154
1185
|
main_category: "thermostat";
|
|
1155
1186
|
physical_properties: {
|
|
@@ -1164,6 +1195,10 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
|
|
|
1164
1195
|
software_features: {
|
|
1165
1196
|
can_program_climate_schedules: boolean;
|
|
1166
1197
|
};
|
|
1198
|
+
can_hvac_heat?: true | undefined;
|
|
1199
|
+
can_hvac_cool?: true | undefined;
|
|
1200
|
+
can_hvac_heat_cool?: true | undefined;
|
|
1201
|
+
can_turn_off_hvac?: true | undefined;
|
|
1167
1202
|
}>, z.ZodObject<{
|
|
1168
1203
|
main_category: z.ZodLiteral<"relay">;
|
|
1169
1204
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1769,7 +1804,7 @@ declare const routes: {
|
|
|
1769
1804
|
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1770
1805
|
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1771
1806
|
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1772
|
-
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes"
|
|
1807
|
+
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
|
|
1773
1808
|
main_category: "smartlock";
|
|
1774
1809
|
physical_properties: {
|
|
1775
1810
|
has_physical_key: boolean;
|
|
@@ -1786,10 +1821,6 @@ declare const routes: {
|
|
|
1786
1821
|
can_remotely_lock?: true | undefined;
|
|
1787
1822
|
can_program_offline_access_codes?: true | undefined;
|
|
1788
1823
|
can_program_online_access_codes?: true | undefined;
|
|
1789
|
-
can_hvac_heat?: true | undefined;
|
|
1790
|
-
can_hvac_cool?: true | undefined;
|
|
1791
|
-
can_hvac_heat_cool?: true | undefined;
|
|
1792
|
-
can_turn_off_hvac?: true | undefined;
|
|
1793
1824
|
}, {
|
|
1794
1825
|
main_category: "smartlock";
|
|
1795
1826
|
physical_properties: {
|
|
@@ -1807,10 +1838,6 @@ declare const routes: {
|
|
|
1807
1838
|
can_remotely_lock?: true | undefined;
|
|
1808
1839
|
can_program_offline_access_codes?: true | undefined;
|
|
1809
1840
|
can_program_online_access_codes?: true | undefined;
|
|
1810
|
-
can_hvac_heat?: true | undefined;
|
|
1811
|
-
can_hvac_cool?: true | undefined;
|
|
1812
|
-
can_hvac_heat_cool?: true | undefined;
|
|
1813
|
-
can_turn_off_hvac?: true | undefined;
|
|
1814
1841
|
}>, z.ZodObject<{
|
|
1815
1842
|
main_category: z.ZodLiteral<"sensor">;
|
|
1816
1843
|
physical_properties: z.ZodObject<{
|
|
@@ -1845,7 +1872,7 @@ declare const routes: {
|
|
|
1845
1872
|
has_temperature_sensor: boolean;
|
|
1846
1873
|
has_occupancy_detection: boolean;
|
|
1847
1874
|
};
|
|
1848
|
-
}>, z.ZodObject<{
|
|
1875
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
1849
1876
|
main_category: z.ZodLiteral<"thermostat">;
|
|
1850
1877
|
physical_properties: z.ZodObject<{
|
|
1851
1878
|
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
@@ -1879,7 +1906,16 @@ declare const routes: {
|
|
|
1879
1906
|
}, {
|
|
1880
1907
|
can_program_climate_schedules: boolean;
|
|
1881
1908
|
}>;
|
|
1882
|
-
},
|
|
1909
|
+
}, Pick<{
|
|
1910
|
+
can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1911
|
+
can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1912
|
+
can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1913
|
+
can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1914
|
+
can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1915
|
+
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1916
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1917
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1918
|
+
}, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
|
|
1883
1919
|
main_category: "thermostat";
|
|
1884
1920
|
physical_properties: {
|
|
1885
1921
|
has_humidity_sensor: boolean;
|
|
@@ -1893,6 +1929,10 @@ declare const routes: {
|
|
|
1893
1929
|
software_features: {
|
|
1894
1930
|
can_program_climate_schedules: boolean;
|
|
1895
1931
|
};
|
|
1932
|
+
can_hvac_heat?: true | undefined;
|
|
1933
|
+
can_hvac_cool?: true | undefined;
|
|
1934
|
+
can_hvac_heat_cool?: true | undefined;
|
|
1935
|
+
can_turn_off_hvac?: true | undefined;
|
|
1896
1936
|
}, {
|
|
1897
1937
|
main_category: "thermostat";
|
|
1898
1938
|
physical_properties: {
|
|
@@ -1907,6 +1947,10 @@ declare const routes: {
|
|
|
1907
1947
|
software_features: {
|
|
1908
1948
|
can_program_climate_schedules: boolean;
|
|
1909
1949
|
};
|
|
1950
|
+
can_hvac_heat?: true | undefined;
|
|
1951
|
+
can_hvac_cool?: true | undefined;
|
|
1952
|
+
can_hvac_heat_cool?: true | undefined;
|
|
1953
|
+
can_turn_off_hvac?: true | undefined;
|
|
1910
1954
|
}>, z.ZodObject<{
|
|
1911
1955
|
main_category: z.ZodLiteral<"relay">;
|
|
1912
1956
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -2060,10 +2104,6 @@ declare const routes: {
|
|
|
2060
2104
|
can_remotely_lock?: true | undefined;
|
|
2061
2105
|
can_program_offline_access_codes?: true | undefined;
|
|
2062
2106
|
can_program_online_access_codes?: true | undefined;
|
|
2063
|
-
can_hvac_heat?: true | undefined;
|
|
2064
|
-
can_hvac_cool?: true | undefined;
|
|
2065
|
-
can_hvac_heat_cool?: true | undefined;
|
|
2066
|
-
can_turn_off_hvac?: true | undefined;
|
|
2067
2107
|
} | {
|
|
2068
2108
|
main_category: "sensor";
|
|
2069
2109
|
physical_properties: {
|
|
@@ -2086,6 +2126,10 @@ declare const routes: {
|
|
|
2086
2126
|
software_features: {
|
|
2087
2127
|
can_program_climate_schedules: boolean;
|
|
2088
2128
|
};
|
|
2129
|
+
can_hvac_heat?: true | undefined;
|
|
2130
|
+
can_hvac_cool?: true | undefined;
|
|
2131
|
+
can_hvac_heat_cool?: true | undefined;
|
|
2132
|
+
can_turn_off_hvac?: true | undefined;
|
|
2089
2133
|
} | {
|
|
2090
2134
|
main_category: "relay";
|
|
2091
2135
|
} | {
|
|
@@ -2183,10 +2227,6 @@ declare const routes: {
|
|
|
2183
2227
|
can_remotely_lock?: true | undefined;
|
|
2184
2228
|
can_program_offline_access_codes?: true | undefined;
|
|
2185
2229
|
can_program_online_access_codes?: true | undefined;
|
|
2186
|
-
can_hvac_heat?: true | undefined;
|
|
2187
|
-
can_hvac_cool?: true | undefined;
|
|
2188
|
-
can_hvac_heat_cool?: true | undefined;
|
|
2189
|
-
can_turn_off_hvac?: true | undefined;
|
|
2190
2230
|
} | {
|
|
2191
2231
|
main_category: "sensor";
|
|
2192
2232
|
physical_properties: {
|
|
@@ -2209,6 +2249,10 @@ declare const routes: {
|
|
|
2209
2249
|
software_features: {
|
|
2210
2250
|
can_program_climate_schedules: boolean;
|
|
2211
2251
|
};
|
|
2252
|
+
can_hvac_heat?: true | undefined;
|
|
2253
|
+
can_hvac_cool?: true | undefined;
|
|
2254
|
+
can_hvac_heat_cool?: true | undefined;
|
|
2255
|
+
can_turn_off_hvac?: true | undefined;
|
|
2212
2256
|
} | {
|
|
2213
2257
|
main_category: "relay";
|
|
2214
2258
|
} | {
|
|
@@ -2621,7 +2665,7 @@ declare const routes: {
|
|
|
2621
2665
|
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2622
2666
|
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2623
2667
|
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2624
|
-
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes"
|
|
2668
|
+
}, "can_remotely_unlock" | "can_remotely_lock" | "can_program_offline_access_codes" | "can_program_online_access_codes">>, "strip", z.ZodTypeAny, {
|
|
2625
2669
|
main_category: "smartlock";
|
|
2626
2670
|
physical_properties: {
|
|
2627
2671
|
has_physical_key: boolean;
|
|
@@ -2638,10 +2682,6 @@ declare const routes: {
|
|
|
2638
2682
|
can_remotely_lock?: true | undefined;
|
|
2639
2683
|
can_program_offline_access_codes?: true | undefined;
|
|
2640
2684
|
can_program_online_access_codes?: true | undefined;
|
|
2641
|
-
can_hvac_heat?: true | undefined;
|
|
2642
|
-
can_hvac_cool?: true | undefined;
|
|
2643
|
-
can_hvac_heat_cool?: true | undefined;
|
|
2644
|
-
can_turn_off_hvac?: true | undefined;
|
|
2645
2685
|
}, {
|
|
2646
2686
|
main_category: "smartlock";
|
|
2647
2687
|
physical_properties: {
|
|
@@ -2659,10 +2699,6 @@ declare const routes: {
|
|
|
2659
2699
|
can_remotely_lock?: true | undefined;
|
|
2660
2700
|
can_program_offline_access_codes?: true | undefined;
|
|
2661
2701
|
can_program_online_access_codes?: true | undefined;
|
|
2662
|
-
can_hvac_heat?: true | undefined;
|
|
2663
|
-
can_hvac_cool?: true | undefined;
|
|
2664
|
-
can_hvac_heat_cool?: true | undefined;
|
|
2665
|
-
can_turn_off_hvac?: true | undefined;
|
|
2666
2702
|
}>, z.ZodObject<{
|
|
2667
2703
|
main_category: z.ZodLiteral<"sensor">;
|
|
2668
2704
|
physical_properties: z.ZodObject<{
|
|
@@ -2697,7 +2733,7 @@ declare const routes: {
|
|
|
2697
2733
|
has_temperature_sensor: boolean;
|
|
2698
2734
|
has_occupancy_detection: boolean;
|
|
2699
2735
|
};
|
|
2700
|
-
}>, z.ZodObject<{
|
|
2736
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
2701
2737
|
main_category: z.ZodLiteral<"thermostat">;
|
|
2702
2738
|
physical_properties: z.ZodObject<{
|
|
2703
2739
|
available_modes: z.ZodArray<z.ZodEnum<["heat", "cool", "fan", "eco"]>, "many">;
|
|
@@ -2731,7 +2767,16 @@ declare const routes: {
|
|
|
2731
2767
|
}, {
|
|
2732
2768
|
can_program_climate_schedules: boolean;
|
|
2733
2769
|
}>;
|
|
2734
|
-
},
|
|
2770
|
+
}, Pick<{
|
|
2771
|
+
can_remotely_unlock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2772
|
+
can_remotely_lock: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2773
|
+
can_program_offline_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2774
|
+
can_program_online_access_codes: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2775
|
+
can_hvac_heat: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2776
|
+
can_hvac_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2777
|
+
can_hvac_heat_cool: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2778
|
+
can_turn_off_hvac: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2779
|
+
}, "can_hvac_heat" | "can_hvac_cool" | "can_hvac_heat_cool" | "can_turn_off_hvac">>, "strip", z.ZodTypeAny, {
|
|
2735
2780
|
main_category: "thermostat";
|
|
2736
2781
|
physical_properties: {
|
|
2737
2782
|
has_humidity_sensor: boolean;
|
|
@@ -2745,6 +2790,10 @@ declare const routes: {
|
|
|
2745
2790
|
software_features: {
|
|
2746
2791
|
can_program_climate_schedules: boolean;
|
|
2747
2792
|
};
|
|
2793
|
+
can_hvac_heat?: true | undefined;
|
|
2794
|
+
can_hvac_cool?: true | undefined;
|
|
2795
|
+
can_hvac_heat_cool?: true | undefined;
|
|
2796
|
+
can_turn_off_hvac?: true | undefined;
|
|
2748
2797
|
}, {
|
|
2749
2798
|
main_category: "thermostat";
|
|
2750
2799
|
physical_properties: {
|
|
@@ -2759,6 +2808,10 @@ declare const routes: {
|
|
|
2759
2808
|
software_features: {
|
|
2760
2809
|
can_program_climate_schedules: boolean;
|
|
2761
2810
|
};
|
|
2811
|
+
can_hvac_heat?: true | undefined;
|
|
2812
|
+
can_hvac_cool?: true | undefined;
|
|
2813
|
+
can_hvac_heat_cool?: true | undefined;
|
|
2814
|
+
can_turn_off_hvac?: true | undefined;
|
|
2762
2815
|
}>, z.ZodObject<{
|
|
2763
2816
|
main_category: z.ZodLiteral<"relay">;
|
|
2764
2817
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -2912,10 +2965,6 @@ declare const routes: {
|
|
|
2912
2965
|
can_remotely_lock?: true | undefined;
|
|
2913
2966
|
can_program_offline_access_codes?: true | undefined;
|
|
2914
2967
|
can_program_online_access_codes?: true | undefined;
|
|
2915
|
-
can_hvac_heat?: true | undefined;
|
|
2916
|
-
can_hvac_cool?: true | undefined;
|
|
2917
|
-
can_hvac_heat_cool?: true | undefined;
|
|
2918
|
-
can_turn_off_hvac?: true | undefined;
|
|
2919
2968
|
} | {
|
|
2920
2969
|
main_category: "sensor";
|
|
2921
2970
|
physical_properties: {
|
|
@@ -2938,6 +2987,10 @@ declare const routes: {
|
|
|
2938
2987
|
software_features: {
|
|
2939
2988
|
can_program_climate_schedules: boolean;
|
|
2940
2989
|
};
|
|
2990
|
+
can_hvac_heat?: true | undefined;
|
|
2991
|
+
can_hvac_cool?: true | undefined;
|
|
2992
|
+
can_hvac_heat_cool?: true | undefined;
|
|
2993
|
+
can_turn_off_hvac?: true | undefined;
|
|
2941
2994
|
} | {
|
|
2942
2995
|
main_category: "relay";
|
|
2943
2996
|
} | {
|
|
@@ -3035,10 +3088,6 @@ declare const routes: {
|
|
|
3035
3088
|
can_remotely_lock?: true | undefined;
|
|
3036
3089
|
can_program_offline_access_codes?: true | undefined;
|
|
3037
3090
|
can_program_online_access_codes?: true | undefined;
|
|
3038
|
-
can_hvac_heat?: true | undefined;
|
|
3039
|
-
can_hvac_cool?: true | undefined;
|
|
3040
|
-
can_hvac_heat_cool?: true | undefined;
|
|
3041
|
-
can_turn_off_hvac?: true | undefined;
|
|
3042
3091
|
} | {
|
|
3043
3092
|
main_category: "sensor";
|
|
3044
3093
|
physical_properties: {
|
|
@@ -3061,6 +3110,10 @@ declare const routes: {
|
|
|
3061
3110
|
software_features: {
|
|
3062
3111
|
can_program_climate_schedules: boolean;
|
|
3063
3112
|
};
|
|
3113
|
+
can_hvac_heat?: true | undefined;
|
|
3114
|
+
can_hvac_cool?: true | undefined;
|
|
3115
|
+
can_hvac_heat_cool?: true | undefined;
|
|
3116
|
+
can_turn_off_hvac?: true | undefined;
|
|
3064
3117
|
} | {
|
|
3065
3118
|
main_category: "relay";
|
|
3066
3119
|
} | {
|
|
@@ -3525,10 +3578,6 @@ interface Routes {
|
|
|
3525
3578
|
can_remotely_unlock?: true | undefined;
|
|
3526
3579
|
can_program_offline_access_codes?: true | undefined;
|
|
3527
3580
|
can_program_online_access_codes?: true | undefined;
|
|
3528
|
-
can_hvac_heat?: true | undefined;
|
|
3529
|
-
can_hvac_cool?: true | undefined;
|
|
3530
|
-
can_hvac_heat_cool?: true | undefined;
|
|
3531
|
-
can_turn_off_hvac?: true | undefined;
|
|
3532
3581
|
} | {
|
|
3533
3582
|
main_category: 'sensor';
|
|
3534
3583
|
physical_properties: {
|
|
@@ -3551,6 +3600,10 @@ interface Routes {
|
|
|
3551
3600
|
software_features: {
|
|
3552
3601
|
can_program_climate_schedules: boolean;
|
|
3553
3602
|
};
|
|
3603
|
+
can_hvac_heat?: true | undefined;
|
|
3604
|
+
can_hvac_cool?: true | undefined;
|
|
3605
|
+
can_hvac_heat_cool?: true | undefined;
|
|
3606
|
+
can_turn_off_hvac?: true | undefined;
|
|
3554
3607
|
} | {
|
|
3555
3608
|
main_category: 'relay';
|
|
3556
3609
|
} | {
|
|
@@ -3666,10 +3719,6 @@ interface Routes {
|
|
|
3666
3719
|
can_remotely_unlock?: true | undefined;
|
|
3667
3720
|
can_program_offline_access_codes?: true | undefined;
|
|
3668
3721
|
can_program_online_access_codes?: true | undefined;
|
|
3669
|
-
can_hvac_heat?: true | undefined;
|
|
3670
|
-
can_hvac_cool?: true | undefined;
|
|
3671
|
-
can_hvac_heat_cool?: true | undefined;
|
|
3672
|
-
can_turn_off_hvac?: true | undefined;
|
|
3673
3722
|
} | {
|
|
3674
3723
|
main_category: 'sensor';
|
|
3675
3724
|
physical_properties: {
|
|
@@ -3692,6 +3741,10 @@ interface Routes {
|
|
|
3692
3741
|
software_features: {
|
|
3693
3742
|
can_program_climate_schedules: boolean;
|
|
3694
3743
|
};
|
|
3744
|
+
can_hvac_heat?: true | undefined;
|
|
3745
|
+
can_hvac_cool?: true | undefined;
|
|
3746
|
+
can_hvac_heat_cool?: true | undefined;
|
|
3747
|
+
can_turn_off_hvac?: true | undefined;
|
|
3695
3748
|
} | {
|
|
3696
3749
|
main_category: 'relay';
|
|
3697
3750
|
} | {
|