Variable device_model_category_specific_propertiesConst
device_model_category_specific_properties: 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<["heat", "cool", "fan", "eco"]>,
"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 };
},
>,
],
> = ...