Variable device_model_v1Const
device_model_v1: ZodIntersection<
ZodObject<
{
aesthetic_variants: ZodArray<
ZodObject<
{
back_image: ZodOptional<
ZodObject<
{ height: ZodNumber; url: ZodString; width: ZodNumber },
"strip",
ZodTypeAny,
{ height: number; url: string; width: number },
{ height: number; url: string; width: number },
>,
>;
display_name: ZodString;
front_image: ZodOptional<
ZodObject<
{ height: ZodNumber; url: ZodString; width: ZodNumber },
"strip",
ZodTypeAny,
{ height: number; url: string; width: number },
{ height: number; url: string; width: number },
>,
>;
images: ZodArray<
ZodObject<
{ height: ZodNumber; url: ZodString; width: ZodNumber },
"strip",
ZodTypeAny,
{ height: number; url: string; width: number },
{ height: number; url: string; width: number },
>,
"many",
>;
manufacturer_sku: ZodOptional<ZodString>;
primary_color_hex: ZodOptional<ZodString>;
slug: ZodString;
},
"strip",
ZodTypeAny,
{
back_image?: { height: number; url: string; width: number };
display_name: string;
front_image?: { height: number; url: string; width: number };
images: { height: number; url: string; width: number }[];
manufacturer_sku?: string;
primary_color_hex?: string;
slug: string;
},
{
back_image?: { height: number; url: string; width: number };
display_name: string;
front_image?: { height: number; url: string; width: number };
images: { height: number; url: string; width: number }[];
manufacturer_sku?: string;
primary_color_hex?: string;
slug: string;
},
>,
"many",
>;
description: ZodString;
device_model_id: ZodString;
display_name: ZodString;
hardware: ZodObject<
{ has_physical_key: ZodOptional<ZodBoolean> },
"strip",
ZodTypeAny,
{ has_physical_key?: boolean },
{ has_physical_key?: boolean },
>;
is_device_supported: ZodBoolean;
main_connection_type: ZodEnum<["wifi", "zwave", "zigbee", "unknown"]>;
manufacturer: ZodObject<
Omit<
{
annotations: ZodArray<
ZodObject<
{ annotation_code: ZodEnum<[(...)]>; message: ZodString },
"strip",
ZodTypeAny,
{ annotation_code: "subscription_required"; message: string },
{ annotation_code: "subscription_required"; message: string },
>,
"many",
>;
countries_of_origin: ZodOptional<ZodArray<ZodString, "many">>;
description: ZodOptional<ZodString>;
device_model_count: ZodNumber;
display_name: ZodString;
founding_year: ZodOptional<ZodString>;
headquarters: ZodOptional<ZodArray<ZodString, "many">>;
integration: ZodEnum<
["stable", "beta", "planned", "unsupported", "inquire"],
>;
integration_support_level: ZodEnum<
["stable", "beta", "planned", "unsupported", "inquire"],
>;
is_connect_webview_supported: ZodBoolean;
legal_name: ZodOptional<ZodString>;
logo: ZodOptional<
ZodObject<
{ height: ZodNumber; url: ZodString; width: ZodNumber },
"strip",
ZodTypeAny,
{ height: number; url: string; width: number },
{ height: number; url: string; width: number },
>,
>;
manufacturer_id: ZodString;
parent_organization: ZodOptional<ZodString>;
requires_seam_support_to_add_account: ZodBoolean;
seam_api_guide: ZodOptional<ZodString>;
us_customer_support_contact_url: ZodOptional<ZodString>;
us_customer_support_email: ZodOptional<ZodString>;
us_customer_support_tel: ZodOptional<ZodString>;
website: ZodOptional<ZodString>;
},
"device_model_count",
>,
"strip",
ZodTypeAny,
{
annotations: {
annotation_code: "subscription_required";
message: string;
}[];
countries_of_origin?: string[];
description?: string;
display_name: string;
founding_year?: string;
headquarters?: string[];
integration: "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
integration_support_level:
| "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
is_connect_webview_supported: boolean;
legal_name?: string;
logo?: { height: number; url: string; width: number };
manufacturer_id: string;
parent_organization?: string;
requires_seam_support_to_add_account: boolean;
seam_api_guide?: string;
us_customer_support_contact_url?: string;
us_customer_support_email?: string;
us_customer_support_tel?: string;
website?: string;
},
{
annotations: {
annotation_code: "subscription_required";
message: string;
}[];
countries_of_origin?: string[];
description?: string;
display_name: string;
founding_year?: string;
headquarters?: string[];
integration: "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
integration_support_level:
| "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
is_connect_webview_supported: boolean;
legal_name?: string;
logo?: { height: number; url: string; width: number };
manufacturer_id: string;
parent_organization?: string;
requires_seam_support_to_add_account: boolean;
seam_api_guide?: string;
us_customer_support_contact_url?: string;
us_customer_support_email?: string;
us_customer_support_tel?: string;
website?: string;
},
>;
power_sources: ZodArray<
ZodEnum<
[
"battery",
"hardwired",
"mechanical_harvesting",
"wireless",
"ethernet",
],
>,
"many",
>;
product_url: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
aesthetic_variants: {
back_image?: { height: number; url: string; width: number };
display_name: string;
front_image?: { height: number; url: string; width: number };
images: { height: number; url: string; width: number }[];
manufacturer_sku?: string;
primary_color_hex?: string;
slug: string;
}[];
description: string;
device_model_id: string;
display_name: string;
hardware: { has_physical_key?: boolean };
is_device_supported: boolean;
main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
manufacturer: {
annotations: {
annotation_code: "subscription_required";
message: string;
}[];
countries_of_origin?: string[];
description?: string;
display_name: string;
founding_year?: string;
headquarters?: string[];
integration: "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
integration_support_level:
| "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
is_connect_webview_supported: boolean;
legal_name?: string;
logo?: { height: number; url: string; width: number };
manufacturer_id: string;
parent_organization?: string;
requires_seam_support_to_add_account: boolean;
seam_api_guide?: string;
us_customer_support_contact_url?: string;
us_customer_support_email?: string;
us_customer_support_tel?: string;
website?: string;
};
power_sources: (
| "battery"
| "hardwired"
| "mechanical_harvesting"
| "wireless"
| "ethernet"
)[];
product_url?: string;
},
{
aesthetic_variants: {
back_image?: { height: number; url: string; width: number };
display_name: string;
front_image?: { height: number; url: string; width: number };
images: { height: number; url: string; width: number }[];
manufacturer_sku?: string;
primary_color_hex?: string;
slug: string;
}[];
description: string;
device_model_id: string;
display_name: string;
hardware: { has_physical_key?: boolean };
is_device_supported: boolean;
main_connection_type: "unknown" | "wifi" | "zwave" | "zigbee";
manufacturer: {
annotations: {
annotation_code: "subscription_required";
message: string;
}[];
countries_of_origin?: string[];
description?: string;
display_name: string;
founding_year?: string;
headquarters?: string[];
integration: "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
integration_support_level:
| "beta"
| "stable"
| "planned"
| "unsupported"
| "inquire";
is_connect_webview_supported: boolean;
legal_name?: string;
logo?: { height: number; url: string; width: number };
manufacturer_id: string;
parent_organization?: string;
requires_seam_support_to_add_account: boolean;
seam_api_guide?: string;
us_customer_support_contact_url?: string;
us_customer_support_email?: string;
us_customer_support_tel?: string;
website?: string;
};
power_sources: (
| "battery"
| "hardwired"
| "mechanical_harvesting"
| "wireless"
| "ethernet"
)[];
product_url?: string;
},
>,
ZodDiscriminatedUnion<
"main_category",
[
ZodObject<
{
main_category: ZodLiteral<"smartlock">;
physical_properties: ZodObject<
{
has_camera: ZodBoolean;
has_physical_key: ZodBoolean;
lock_type: ZodEnum<
[
"deadbolt",
"lever",
"mortise",
"lockbox",
"cylinder",
"padlock",
"locker",
"unknown",
],
>;
},
"strip",
ZodTypeAny,
{
has_camera: boolean;
has_physical_key: boolean;
lock_type: | "unknown"
| "deadbolt"
| "lever"
| "mortise"
| "lockbox"
| "cylinder"
| "padlock"
| "locker";
},
{
has_camera: boolean;
has_physical_key: boolean;
lock_type: | "unknown"
| "deadbolt"
| "lever"
| "mortise"
| "lockbox"
| "cylinder"
| "padlock"
| "locker";
},
>;
software_features: ZodObject<
{
can_program_access_codes: ZodBoolean;
can_program_access_codes_offline: ZodBoolean;
can_program_access_schedules: ZodBoolean;
can_remotely_unlock: ZodBoolean;
},
"strip",
ZodTypeAny,
{
can_program_access_codes: boolean;
can_program_access_codes_offline: boolean;
can_program_access_schedules: boolean;
can_remotely_unlock: boolean;
},
{
can_program_access_codes: boolean;
can_program_access_codes_offline: boolean;
can_program_access_schedules: boolean;
can_remotely_unlock: boolean;
},
>;
} & Pick<
{
can_hvac_cool: ZodOptional<ZodLiteral<true>>;
can_hvac_heat: ZodOptional<ZodLiteral<true>>;
can_hvac_heat_cool: ZodOptional<ZodLiteral<true>>;
can_program_offline_access_codes: ZodOptional<ZodLiteral<true>>;
can_program_online_access_codes: ZodOptional<ZodLiteral<true>>;
can_remotely_lock: ZodOptional<ZodLiteral<true>>;
can_remotely_unlock: ZodOptional<ZodLiteral<true>>;
can_turn_off_hvac: ZodOptional<ZodLiteral<true>>;
},
| "can_remotely_unlock"
| "can_remotely_lock"
| "can_program_offline_access_codes"
| "can_program_online_access_codes",
>,
"strip",
ZodTypeAny,
{
can_program_offline_access_codes?: true;
can_program_online_access_codes?: true;
can_remotely_lock?: true;
can_remotely_unlock?: true;
main_category: "smartlock";
physical_properties: {
has_camera: boolean;
has_physical_key: boolean;
lock_type: | "unknown"
| "deadbolt"
| "lever"
| "mortise"
| "lockbox"
| "cylinder"
| "padlock"
| "locker";
};
software_features: {
can_program_access_codes: boolean;
can_program_access_codes_offline: boolean;
can_program_access_schedules: boolean;
can_remotely_unlock: boolean;
};
},
{
can_program_offline_access_codes?: true;
can_program_online_access_codes?: true;
can_remotely_lock?: true;
can_remotely_unlock?: true;
main_category: "smartlock";
physical_properties: {
has_camera: boolean;
has_physical_key: boolean;
lock_type: | "unknown"
| "deadbolt"
| "lever"
| "mortise"
| "lockbox"
| "cylinder"
| "padlock"
| "locker";
};
software_features: {
can_program_access_codes: boolean;
can_program_access_codes_offline: boolean;
can_program_access_schedules: boolean;
can_remotely_unlock: boolean;
};
},
>,
ZodObject<
{
main_category: ZodLiteral<"sensor">;
physical_properties: ZodObject<
{
has_humidity_sensor: ZodBoolean;
has_noise_sensor: ZodBoolean;
has_occupancy_detection: ZodBoolean;
has_temperature_sensor: ZodBoolean;
},
"strip",
ZodTypeAny,
{
has_humidity_sensor: boolean;
has_noise_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
},
{
has_humidity_sensor: boolean;
has_noise_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
},
>;
},
"strip",
ZodTypeAny,
{
main_category: "sensor";
physical_properties: {
has_humidity_sensor: boolean;
has_noise_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
};
},
{
main_category: "sensor";
physical_properties: {
has_humidity_sensor: boolean;
has_noise_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
};
},
>,
ZodObject<
{
main_category: ZodLiteral<"thermostat">;
physical_properties: ZodObject<
{
available_modes: ZodArray<
ZodEnum<[(...), (...), (...), (...)]>,
"many",
>;
has_humidity_sensor: ZodBoolean;
has_occupancy_detection: ZodBoolean;
has_temperature_sensor: ZodBoolean;
is_heat_pump_compatible: ZodBoolean;
supports_demand_response: ZodBoolean;
supports_emergency_heating_mode: ZodBoolean;
},
"strip",
ZodTypeAny,
{
available_modes: ("heat" | "cool" | "eco" | "fan")[];
has_humidity_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
is_heat_pump_compatible: boolean;
supports_demand_response: boolean;
supports_emergency_heating_mode: boolean;
},
{
available_modes: ("heat" | "cool" | "eco" | "fan")[];
has_humidity_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
is_heat_pump_compatible: boolean;
supports_demand_response: boolean;
supports_emergency_heating_mode: boolean;
},
>;
software_features: ZodObject<
{ can_program_climate_schedules: ZodBoolean },
"strip",
ZodTypeAny,
{ can_program_climate_schedules: boolean },
{ can_program_climate_schedules: boolean },
>;
} & Pick<
{
can_hvac_cool: ZodOptional<ZodLiteral<true>>;
can_hvac_heat: ZodOptional<ZodLiteral<true>>;
can_hvac_heat_cool: ZodOptional<ZodLiteral<true>>;
can_program_offline_access_codes: ZodOptional<ZodLiteral<true>>;
can_program_online_access_codes: ZodOptional<ZodLiteral<true>>;
can_remotely_lock: ZodOptional<ZodLiteral<true>>;
can_remotely_unlock: ZodOptional<ZodLiteral<true>>;
can_turn_off_hvac: ZodOptional<ZodLiteral<true>>;
},
| "can_hvac_heat"
| "can_hvac_cool"
| "can_hvac_heat_cool"
| "can_turn_off_hvac",
>,
"strip",
ZodTypeAny,
{
can_hvac_cool?: true;
can_hvac_heat?: true;
can_hvac_heat_cool?: true;
can_turn_off_hvac?: true;
main_category: "thermostat";
physical_properties: {
available_modes: ("heat" | "cool" | "eco" | "fan")[];
has_humidity_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
is_heat_pump_compatible: boolean;
supports_demand_response: boolean;
supports_emergency_heating_mode: boolean;
};
software_features: { can_program_climate_schedules: boolean };
},
{
can_hvac_cool?: true;
can_hvac_heat?: true;
can_hvac_heat_cool?: true;
can_turn_off_hvac?: true;
main_category: "thermostat";
physical_properties: {
available_modes: ("heat" | "cool" | "eco" | "fan")[];
has_humidity_sensor: boolean;
has_occupancy_detection: boolean;
has_temperature_sensor: boolean;
is_heat_pump_compatible: boolean;
supports_demand_response: boolean;
supports_emergency_heating_mode: boolean;
};
software_features: { can_program_climate_schedules: boolean };
},
>,
],
>,
> = ...