device: ZodObject<
{
capabilities_supported: ZodArray<
ZodEnum<
[
"access_code",
"lock",
"noise_detection",
"thermostat",
"battery",
"phone",
],
>,
"many",
>;
connected_account_id: ZodString;
created_at: ZodString;
custom_metadata: ZodRecord<ZodString, ZodUnion<[ZodString, ZodBoolean]>>;
device_id: ZodString;
device_type: ZodUnion<
[
ZodEnum<[LockDeviceTypeFromMapping]>,
ZodEnum<[NoiseSensorDeviceTypeFromMapping]>,
ZodEnum<[ThermostatDeviceTypeFromMapping]>,
ZodEnum<[PhoneDeviceTypeFromMapping]>,
],
>;
display_name: ZodString;
errors: ZodArray<
ZodDiscriminatedUnion<
"error_code",
[
ZodObject<
{ created_at: ZodString; message: ZodString } & {
error_code: ZodLiteral<"account_disconnected">;
is_connected_account_error: ZodLiteral<true>;
is_device_error: ZodLiteral<false>;
},
"strip",
ZodTypeAny,
{
created_at: string;
error_code: "account_disconnected";
is_connected_account_error: true;
is_device_error: false;
message: string;
},
{
created_at: string;
error_code: "account_disconnected";
is_connected_account_error: true;
is_device_error: false;
message: string;
},
>,
ZodObject<
{ created_at: ZodString; message: ZodString } & {
error_code: ZodLiteral<"salto_ks_subscription_limit_exceeded">;
is_connected_account_error: ZodLiteral<true>;
is_device_error: ZodLiteral<false>;
},
"strip",
ZodTypeAny,
{
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_connected_account_error: true;
is_device_error: false;
message: string;
},
{
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_connected_account_error: true;
is_device_error: false;
message: string;
},
>,
ZodObject<
{
created_at: ZodString;
is_device_error: ZodLiteral<true>;
message: ZodString;
} & { error_code: ZodLiteral<"device_offline"> },
"strip",
ZodTypeAny,
{
created_at: string;
error_code: "device_offline";
is_device_error: true;
message: string;
},
{
created_at: string;
error_code: "device_offline";
is_device_error: true;
message: string;
},
>,
],
>,
"many",
>;
is_managed: ZodLiteral<true>;
location: ZodNullable<
ZodObject<
{
location_name: ZodOptional<ZodString>;
timezone: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{ location_name?: string; timezone?: string },
{ location_name?: string; timezone?: string },
>,
>;
nickname: ZodOptional<ZodString>;
properties: ZodIntersection<
ZodIntersection<
ZodIntersection<
ZodObject<
{
accessory_keypad: ZodOptional<
ZodObject<
{ battery: ...; is_connected: ... },
"strip",
ZodTypeAny,
{ battery?: ...; is_connected: ... },
{ battery?: ...; is_connected: ... },
>,
>;
appearance: ZodObject<
{ name: ZodString },
"strip",
ZodTypeAny,
{ name: string },
{ name: string },
>;
battery: ZodOptional<
ZodObject<
{ level: ...; status: ... },
"strip",
ZodTypeAny,
{ level: ...; status: ... },
{ level: ...; status: ... },
>,
>;
battery_level: ZodOptional<ZodNumber>;
currently_triggering_noise_threshold_ids: ZodOptional<
ZodArray<ZodString, "many">,
>;
has_direct_power: ZodOptional<ZodBoolean>;
image_alt_text: ZodOptional<ZodString>;
image_url: ZodOptional<ZodString>;
manufacturer: ZodOptional<ZodString>;
model: ZodObject<
{
accessory_keypad_supported: ZodOptional<(...)>;
can_connect_accessory_keypad: ZodOptional<(...)>;
display_name: ZodString;
has_built_in_keypad: ZodOptional<(...)>;
manufacturer_display_name: ZodString;
offline_access_codes_supported: ZodOptional<(...)>;
online_access_codes_supported: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
accessory_keypad_supported?: (...)
| (...)
| (...);
can_connect_accessory_keypad?: (...) | (...) | (...);
display_name: string;
has_built_in_keypad?: (...) | (...) | (...);
manufacturer_display_name: string;
offline_access_codes_supported?: (...) | (...) | (...);
online_access_codes_supported?: (...) | (...) | (...);
},
{
accessory_keypad_supported?: (...)
| (...)
| (...);
can_connect_accessory_keypad?: (...) | (...) | (...);
display_name: string;
has_built_in_keypad?: (...) | (...) | (...);
manufacturer_display_name: string;
offline_access_codes_supported?: (...) | (...) | (...);
online_access_codes_supported?: (...) | (...) | (...);
},
>;
name: ZodString;
noise_level_decibels: ZodOptional<ZodNumber>;
offline_access_codes_enabled: ZodOptional<ZodBoolean>;
online: ZodBoolean;
online_access_codes_enabled: ZodOptional<ZodBoolean>;
serial_number: ZodOptional<ZodString>;
supports_accessory_keypad: ZodOptional<ZodBoolean>;
supports_offline_access_codes: ZodOptional<ZodBoolean>;
},
"strip",
ZodTypeAny,
{
accessory_keypad?: {
battery?: (...)
| (...);
is_connected: boolean;
};
appearance: { name: string };
battery?: { level: number; status: (...) | (...) | (...) | (...) };
battery_level?: number;
currently_triggering_noise_threshold_ids?: string[];
has_direct_power?: boolean;
image_alt_text?: string;
image_url?: string;
manufacturer?: string;
model: {
accessory_keypad_supported?: boolean;
can_connect_accessory_keypad?: boolean;
display_name: string;
has_built_in_keypad?: boolean;
manufacturer_display_name: string;
offline_access_codes_supported?: boolean;
online_access_codes_supported?: boolean;
};
name: string;
noise_level_decibels?: number;
offline_access_codes_enabled?: boolean;
online: boolean;
online_access_codes_enabled?: boolean;
serial_number?: string;
supports_accessory_keypad?: boolean;
supports_offline_access_codes?: boolean;
},
{
accessory_keypad?: {
battery?: (...)
| (...);
is_connected: boolean;
};
appearance: { name: string };
battery?: { level: number; status: (...) | (...) | (...) | (...) };
battery_level?: number;
currently_triggering_noise_threshold_ids?: string[];
has_direct_power?: boolean;
image_alt_text?: string;
image_url?: string;
manufacturer?: string;
model: {
accessory_keypad_supported?: boolean;
can_connect_accessory_keypad?: boolean;
display_name: string;
has_built_in_keypad?: boolean;
manufacturer_display_name: string;
offline_access_codes_supported?: boolean;
online_access_codes_supported?: boolean;
};
name: string;
noise_level_decibels?: number;
offline_access_codes_enabled?: boolean;
online: boolean;
online_access_codes_enabled?: boolean;
serial_number?: string;
supports_accessory_keypad?: boolean;
supports_offline_access_codes?: boolean;
},
>,
ZodObject<
{
assa_abloy_credential_service_metadata: ZodOptional<
ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>,
>;
salto_space_credential_service_metadata: ZodOptional<
ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>,
>;
},
"strip",
ZodTypeAny,
{
assa_abloy_credential_service_metadata?: {
endpoints: (...)[];
has_active_endpoint: boolean;
};
salto_space_credential_service_metadata?: {
has_active_phone: boolean;
};
},
{
assa_abloy_credential_service_metadata?: {
endpoints: (...)[];
has_active_endpoint: boolean;
};
salto_space_credential_service_metadata?: {
has_active_phone: boolean;
};
},
>,
>,
ZodObject<
{
akiles_metadata: ZodOptional<
ZodObject<
{
_member_group_id: ZodOptional<(...)>;
gadget_id: ZodString;
gadget_name: ZodString;
product_name: ZodString;
},
"strip",
ZodTypeAny,
{
_member_group_id?: (...)
| (...);
gadget_id: string;
gadget_name: string;
product_name: string;
},
{
_member_group_id?: (...)
| (...);
gadget_id: string;
gadget_name: string;
product_name: string;
},
>,
>;
assa_abloy_vostio_metadata: ZodOptional<
ZodObject<
{ encoder_name: ZodString },
"strip",
ZodTypeAny,
{ encoder_name: string },
{ encoder_name: string },
>,
>;
august_metadata: ZodOptional<
ZodObject<
{
has_keypad: ZodBoolean;
house_id: ZodOptional<(...)>;
house_name: ZodString;
keypad_battery_level: ZodOptional<(...)>;
lock_id: ZodString;
lock_name: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
has_keypad: boolean;
house_id?: (...)
| (...);
house_name: string;
keypad_battery_level?: (...) | (...);
lock_id: string;
lock_name: string;
model?: (...) | (...);
},
{
has_keypad: boolean;
house_id?: (...)
| (...);
house_name: string;
keypad_battery_level?: (...) | (...);
lock_id: string;
lock_name: string;
model?: (...) | (...);
},
>,
>;
avigilon_alta_metadata: ZodOptional<
ZodObject<
{
entry_name: ZodString;
entry_relays_total_count: ZodNumber;
org_name: ZodString;
site_id: ZodNumber;
site_name: ZodString;
zone_id: ZodNumber;
zone_name: ZodString;
},
"strip",
ZodTypeAny,
{
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
},
{
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
},
>,
>;
brivo_metadata: ZodOptional<
ZodObject<
{ device_name: ZodString },
"strip",
ZodTypeAny,
{ device_name: string },
{ device_name: string },
>,
>;
controlbyweb_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
relay_name: ZodNullable<(...)>;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_name: string;
relay_name: (...)
| (...);
},
{
device_id: string;
device_name: string;
relay_name: (...)
| (...);
},
>,
>;
dormakaba_oracode_metadata: ZodOptional<
ZodObject<
{
device_id: ZodOptional<(...)>;
door_id: ZodOptional<(...)>;
door_is_wireless: ZodBoolean;
door_name: ZodString;
iana_timezone: ZodOptional<(...)>;
predefined_time_slots: ZodOptional<(...)>;
site_id: ZodNullable<(...)>;
site_name: ZodString;
},
"strip",
ZodTypeAny,
{
device_id?: (...)
| (...)
| (...);
door_id?: (...) | (...);
door_is_wireless: boolean;
door_name: string;
iana_timezone?: (...) | (...);
predefined_time_slots?: (...) | (...);
site_id: (...) | (...);
site_name: string;
},
{
device_id?: (...)
| (...)
| (...);
door_id?: (...) | (...);
door_is_wireless: boolean;
door_name: string;
iana_timezone?: (...) | (...);
predefined_time_slots?: (...) | (...);
site_id: (...) | (...);
site_name: string;
},
>,
>;
ecobee_metadata: ZodOptional<
ZodObject<
{ device_name: ZodString; ecobee_device_id: ZodString },
"strip",
ZodTypeAny,
{ device_name: string; ecobee_device_id: string },
{ device_name: string; ecobee_device_id: string },
>,
>;
four_suites_metadata: ZodOptional<
ZodObject<
{
device_id: ZodNumber;
device_name: ZodString;
reclose_delay_in_seconds: ZodNumber;
},
"strip",
ZodTypeAny,
{
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
},
{
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
},
>,
>;
genie_metadata: ZodOptional<
ZodObject<
{ device_name: ZodString; door_name: ZodString },
"strip",
ZodTypeAny,
{ device_name: string; door_name: string },
{ device_name: string; door_name: string },
>,
>;
honeywell_resideo_metadata: ZodOptional<
ZodObject<
{
device_name: ZodString;
honeywell_resideo_device_id: ZodString;
},
"strip",
ZodTypeAny,
{ device_name: string; honeywell_resideo_device_id: string },
{ device_name: string; honeywell_resideo_device_id: string },
>,
>;
hubitat_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_label: ZodString;
device_name: ZodString;
},
"strip",
ZodTypeAny,
{ device_id: string; device_label: string; device_name: string },
{ device_id: string; device_label: string; device_name: string },
>,
>;
igloo_metadata: ZodOptional<
ZodObject<
{
bridge_id: ZodString;
device_id: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{ bridge_id: string; device_id: string; model?: (...)
| (...) },
{ bridge_id: string; device_id: string; model?: (...) | (...) },
>,
>;
igloohome_metadata: ZodOptional<
ZodObject<
{
bridge_id: ZodOptional<(...)>;
bridge_name: ZodOptional<(...)>;
device_id: ZodString;
device_name: ZodString;
is_keypad_linked_to_bridge: ZodOptional<(...)>;
keypad_id: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
bridge_id?: (...)
| (...);
bridge_name?: (...) | (...);
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: (...) | (...) | (...);
keypad_id?: (...) | (...);
},
{
bridge_id?: (...)
| (...);
bridge_name?: (...) | (...);
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: (...) | (...) | (...);
keypad_id?: (...) | (...);
},
>,
>;
keynest_metadata: ZodOptional<
ZodObject<
{
address: ZodNullable<(...)>;
current_or_last_store_id: ZodNumber;
current_status: ZodNullable<(...)>;
current_user_company: ZodNullable<(...)>;
current_user_email: ZodNullable<(...)>;
current_user_name: ZodNullable<(...)>;
current_user_phone_number: ZodNullable<(...)>;
default_office_id: ZodNumber;
device_name: ZodString;
fob_id: ZodNumber;
handover_method: ZodNullable<(...)>;
has_photo: ZodBoolean;
key_id: ZodString;
key_notes: ZodNullable<(...)>;
keynest_app_user: ZodNullable<(...)>;
last_movement: ZodString;
property_id: ZodNullable<(...)>;
property_postcode: ZodNullable<(...)>;
status_type: ZodString;
subscription_plan: ZodString;
},
"strip",
ZodTypeAny,
{
address: (...)
| (...);
current_or_last_store_id: number;
current_status: (...) | (...);
current_user_company: (...) | (...);
current_user_email: (...) | (...);
current_user_name: (...) | (...);
current_user_phone_number: (...) | (...);
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: (...) | (...);
has_photo: boolean;
key_id: string;
key_notes: (...) | (...);
keynest_app_user: (...) | (...);
last_movement: string;
property_id: (...) | (...);
property_postcode: (...) | (...);
status_type: string;
subscription_plan: string;
},
{
address: (...)
| (...);
current_or_last_store_id: number;
current_status: (...) | (...);
current_user_company: (...) | (...);
current_user_email: (...) | (...);
current_user_name: (...) | (...);
current_user_phone_number: (...) | (...);
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: (...) | (...);
has_photo: boolean;
key_id: string;
key_notes: (...) | (...);
keynest_app_user: (...) | (...);
last_movement: string;
property_id: (...) | (...);
property_postcode: (...) | (...);
status_type: string;
subscription_plan: string;
},
>,
>;
kwikset_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
model_number: ZodString;
},
"strip",
ZodTypeAny,
{ device_id: string; device_name: string; model_number: string },
{ device_id: string; device_name: string; model_number: string },
>,
>;
lockly_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{ device_id: string; device_name: string; model?: (...)
| (...) },
{ device_id: string; device_name: string; model?: (...) | (...) },
>,
>;
minut_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
latest_sensor_values: ZodObject<(...), (...), (...), (...), (...)>;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: ...;
humidity: ...;
pressure: ...;
sound: ...;
temperature: ...;
};
},
{
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: ...;
humidity: ...;
pressure: ...;
sound: ...;
temperature: ...;
};
},
>,
>;
nest_metadata: ZodOptional<
ZodObject<
{
device_custom_name: ZodString;
device_name: ZodString;
display_name: ZodOptional<(...)>;
nest_device_id: ZodString;
},
"strip",
ZodTypeAny,
{
device_custom_name: string;
device_name: string;
display_name?: (...)
| (...);
nest_device_id: string;
},
{
device_custom_name: string;
device_name: string;
display_name?: (...)
| (...);
nest_device_id: string;
},
>,
>;
noiseaware_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_model: ZodEnum<(...)>;
device_name: ZodString;
noise_level_decibel: ZodNumber;
noise_level_nrs: ZodNumber;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_model: (...)
| (...);
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
},
{
device_id: string;
device_model: (...)
| (...);
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
},
>,
>;
nuki_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
keypad_2_paired: ZodOptional<(...)>;
keypad_battery_critical: ZodOptional<(...)>;
keypad_paired: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_name: string;
keypad_2_paired?: (...)
| (...)
| (...);
keypad_battery_critical?: (...) | (...) | (...);
keypad_paired?: (...) | (...) | (...);
},
{
device_id: string;
device_name: string;
keypad_2_paired?: (...)
| (...)
| (...);
keypad_battery_critical?: (...) | (...) | (...);
keypad_paired?: (...) | (...) | (...);
},
>,
>;
salto_ks_metadata: ZodOptional<
ZodObject<
{
battery_level: ZodString;
customer_reference: ZodString;
lock_id: ZodString;
lock_type: ZodString;
locked_state: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: (...)
| (...);
},
{
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: (...)
| (...);
},
>,
>;
salto_metadata: ZodOptional<
ZodObject<
{
battery_level: ZodString;
customer_reference: ZodString;
lock_id: ZodString;
lock_type: ZodString;
locked_state: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: (...)
| (...);
},
{
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: (...)
| (...);
},
>,
>;
schlage_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{ device_id: string; device_name: string; model?: (...)
| (...) },
{ device_id: string; device_name: string; model?: (...) | (...) },
>,
>;
seam_bridge_metadata: ZodOptional<
ZodObject<
{
device_num: ZodNumber;
name: ZodString;
unlock_method: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
device_num: number;
name: string;
unlock_method?: (...)
| (...)
| (...);
},
{
device_num: number;
name: string;
unlock_method?: (...)
| (...)
| (...);
},
>,
>;
sensi_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
product_type: ZodString;
},
"strip",
ZodTypeAny,
{ device_id: string; device_name: string; product_type: string },
{ device_id: string; device_name: string; product_type: string },
>,
>;
smartthings_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_name: ZodString;
location_id: ZodOptional<(...)>;
model: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_name: string;
location_id?: (...)
| (...);
model?: (...) | (...);
},
{
device_id: string;
device_name: string;
location_id?: (...)
| (...);
model?: (...) | (...);
},
>,
>;
tado_metadata: ZodOptional<
ZodObject<
{ device_type: ZodString; serial_no: ZodString },
"strip",
ZodTypeAny,
{ device_type: string; serial_no: string },
{ device_type: string; serial_no: string },
>,
>;
tedee_metadata: ZodOptional<
ZodObject<
{
bridge_id: ZodNumber;
bridge_name: ZodString;
device_id: ZodNumber;
device_model: ZodString;
device_name: ZodString;
keypad_id: ZodOptional<(...)>;
serial_number: ZodString;
},
"strip",
ZodTypeAny,
{
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: (...)
| (...);
serial_number: string;
},
{
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: (...)
| (...);
serial_number: string;
},
>,
>;
ttlock_metadata: ZodOptional<
ZodObject<
{
feature_value: ZodString;
features: ZodObject<(...), (...), (...), (...), (...)>;
has_gateway: ZodOptional<(...)>;
lock_alias: ZodString;
lock_id: ZodNumber;
wireless_keypads: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
feature_value: string;
features: {
incomplete_keyboard_passcode: ...;
lock_command: ...;
passcode: ...;
passcode_management: ...;
unlock_via_gateway: ...;
wifi: ...;
};
has_gateway?: (...)
| (...)
| (...);
lock_alias: string;
lock_id: number;
wireless_keypads?: (...) | (...);
},
{
feature_value: string;
features: {
incomplete_keyboard_passcode: ...;
lock_command: ...;
passcode: ...;
passcode_management: ...;
unlock_via_gateway: ...;
wifi: ...;
};
has_gateway?: (...)
| (...)
| (...);
lock_alias: string;
lock_id: number;
wireless_keypads?: (...) | (...);
},
>,
>;
two_n_metadata: ZodOptional<
ZodObject<
{ device_id: ZodNumber; device_name: ZodString },
"strip",
ZodTypeAny,
{ device_id: number; device_name: string },
{ device_id: number; device_name: string },
>,
>;
visionline_metadata: ZodOptional<
ZodObject<
{ encoder_id: ZodString },
"strip",
ZodTypeAny,
{ encoder_id: string },
{ encoder_id: string },
>,
>;
wyze_metadata: ZodOptional<
ZodObject<
{
device_id: ZodString;
device_info_model: ZodString;
device_name: ZodString;
keypad_uuid: ZodOptional<(...)>;
locker_status_hardlock: ZodOptional<(...)>;
product_model: ZodString;
product_name: ZodString;
product_type: ZodString;
},
"strip",
ZodTypeAny,
{
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: (...)
| (...);
locker_status_hardlock?: (...) | (...);
product_model: string;
product_name: string;
product_type: string;
},
{
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: (...)
| (...);
locker_status_hardlock?: (...) | (...);
product_model: string;
product_name: string;
product_type: string;
},
>,
>;
},
"strip",
ZodTypeAny,
{
akiles_metadata?: {
_member_group_id?: string;
gadget_id: string;
gadget_name: string;
product_name: string;
};
assa_abloy_vostio_metadata?: { encoder_name: string };
august_metadata?: {
has_keypad: boolean;
house_id?: string;
house_name: string;
keypad_battery_level?: string;
lock_id: string;
lock_name: string;
model?: string;
};
avigilon_alta_metadata?: {
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
};
brivo_metadata?: { device_name: string };
controlbyweb_metadata?: {
device_id: string;
device_name: string;
relay_name: null | string;
};
dormakaba_oracode_metadata?: {
device_id?: string
| number;
door_id?: number;
door_is_wireless: boolean;
door_name: string;
iana_timezone?: string;
predefined_time_slots?: (...)[];
site_id: null | number;
site_name: string;
};
ecobee_metadata?: { device_name: string; ecobee_device_id: string };
four_suites_metadata?: {
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
};
genie_metadata?: { device_name: string; door_name: string };
honeywell_resideo_metadata?: {
device_name: string;
honeywell_resideo_device_id: string;
};
hubitat_metadata?: {
device_id: string;
device_label: string;
device_name: string;
};
igloo_metadata?: {
bridge_id: string;
device_id: string;
model?: string;
};
igloohome_metadata?: {
bridge_id?: string;
bridge_name?: string;
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: boolean;
keypad_id?: string;
};
keynest_metadata?: {
address: null
| string;
current_or_last_store_id: number;
current_status: null | string;
current_user_company: null | string;
current_user_email: null | string;
current_user_name: null | string;
current_user_phone_number: null | string;
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: null | string;
has_photo: boolean;
key_id: string;
key_notes: null | string;
keynest_app_user: null | string;
last_movement: string;
property_id: null | string;
property_postcode: null | string;
status_type: string;
subscription_plan: string;
};
kwikset_metadata?: {
device_id: string;
device_name: string;
model_number: string;
};
lockly_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
minut_metadata?: {
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: { time: ...; value: ... };
humidity: { time: ...; value: ... };
pressure: { time: ...; value: ... };
sound: { time: ...; value: ... };
temperature: { time: ...; value: ... };
};
};
nest_metadata?: {
device_custom_name: string;
device_name: string;
display_name?: string;
nest_device_id: string;
};
noiseaware_metadata?: {
device_id: string;
device_model: "indoor"
| "outdoor";
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
};
nuki_metadata?: {
device_id: string;
device_name: string;
keypad_2_paired?: boolean;
keypad_battery_critical?: boolean;
keypad_paired?: boolean;
};
salto_ks_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
salto_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
schlage_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
seam_bridge_metadata?: {
device_num: number;
name: string;
unlock_method?: "bridge"
| "doorking";
};
sensi_metadata?: {
device_id: string;
device_name: string;
product_type: string;
};
smartthings_metadata?: {
device_id: string;
device_name: string;
location_id?: string;
model?: string;
};
tado_metadata?: { device_type: string; serial_no: string };
tedee_metadata?: {
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: number;
serial_number: string;
};
ttlock_metadata?: {
feature_value: string;
features: {
incomplete_keyboard_passcode: boolean;
lock_command: boolean;
passcode: boolean;
passcode_management: boolean;
unlock_via_gateway: boolean;
wifi: boolean;
};
has_gateway?: boolean;
lock_alias: string;
lock_id: number;
wireless_keypads?: (...)[];
};
two_n_metadata?: { device_id: number; device_name: string };
visionline_metadata?: { encoder_id: string };
wyze_metadata?: {
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: string;
locker_status_hardlock?: number;
product_model: string;
product_name: string;
product_type: string;
};
},
{
akiles_metadata?: {
_member_group_id?: string;
gadget_id: string;
gadget_name: string;
product_name: string;
};
assa_abloy_vostio_metadata?: { encoder_name: string };
august_metadata?: {
has_keypad: boolean;
house_id?: string;
house_name: string;
keypad_battery_level?: string;
lock_id: string;
lock_name: string;
model?: string;
};
avigilon_alta_metadata?: {
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
};
brivo_metadata?: { device_name: string };
controlbyweb_metadata?: {
device_id: string;
device_name: string;
relay_name: null | string;
};
dormakaba_oracode_metadata?: {
device_id?: string
| number;
door_id?: number;
door_is_wireless: boolean;
door_name: string;
iana_timezone?: string;
predefined_time_slots?: (...)[];
site_id: null | number;
site_name: string;
};
ecobee_metadata?: { device_name: string; ecobee_device_id: string };
four_suites_metadata?: {
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
};
genie_metadata?: { device_name: string; door_name: string };
honeywell_resideo_metadata?: {
device_name: string;
honeywell_resideo_device_id: string;
};
hubitat_metadata?: {
device_id: string;
device_label: string;
device_name: string;
};
igloo_metadata?: {
bridge_id: string;
device_id: string;
model?: string;
};
igloohome_metadata?: {
bridge_id?: string;
bridge_name?: string;
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: boolean;
keypad_id?: string;
};
keynest_metadata?: {
address: null
| string;
current_or_last_store_id: number;
current_status: null | string;
current_user_company: null | string;
current_user_email: null | string;
current_user_name: null | string;
current_user_phone_number: null | string;
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: null | string;
has_photo: boolean;
key_id: string;
key_notes: null | string;
keynest_app_user: null | string;
last_movement: string;
property_id: null | string;
property_postcode: null | string;
status_type: string;
subscription_plan: string;
};
kwikset_metadata?: {
device_id: string;
device_name: string;
model_number: string;
};
lockly_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
minut_metadata?: {
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: { time: ...; value: ... };
humidity: { time: ...; value: ... };
pressure: { time: ...; value: ... };
sound: { time: ...; value: ... };
temperature: { time: ...; value: ... };
};
};
nest_metadata?: {
device_custom_name: string;
device_name: string;
display_name?: string;
nest_device_id: string;
};
noiseaware_metadata?: {
device_id: string;
device_model: "indoor"
| "outdoor";
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
};
nuki_metadata?: {
device_id: string;
device_name: string;
keypad_2_paired?: boolean;
keypad_battery_critical?: boolean;
keypad_paired?: boolean;
};
salto_ks_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
salto_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
schlage_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
seam_bridge_metadata?: {
device_num: number;
name: string;
unlock_method?: "bridge"
| "doorking";
};
sensi_metadata?: {
device_id: string;
device_name: string;
product_type: string;
};
smartthings_metadata?: {
device_id: string;
device_name: string;
location_id?: string;
model?: string;
};
tado_metadata?: { device_type: string; serial_no: string };
tedee_metadata?: {
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: number;
serial_number: string;
};
ttlock_metadata?: {
feature_value: string;
features: {
incomplete_keyboard_passcode: boolean;
lock_command: boolean;
passcode: boolean;
passcode_management: boolean;
unlock_via_gateway: boolean;
wifi: boolean;
};
has_gateway?: boolean;
lock_alias: string;
lock_id: number;
wireless_keypads?: (...)[];
};
two_n_metadata?: { device_id: number; device_name: string };
visionline_metadata?: { encoder_id: string };
wyze_metadata?: {
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: string;
locker_status_hardlock?: number;
product_model: string;
product_name: string;
product_type: string;
};
},
>,
>,
ZodIntersection<
ZodObject<
{
_experimental_supported_code_from_access_codes_lengths: ZodOptional<
ZodOptional<ZodArray<(...), (...)>>,
>;
code_constraints: ZodOptional<ZodOptional<ZodArray<(...), (...)>>>;
has_native_entry_events: ZodOptional<ZodOptional<ZodBoolean>>;
max_active_codes_supported: ZodOptional<ZodOptional<ZodNumber>>;
supported_code_lengths: ZodOptional<
ZodOptional<ZodArray<(...), (...)>>,
>;
supports_backup_access_code_pool: ZodOptional<ZodOptional<ZodBoolean>>;
} & {
door_open: ZodOptional<ZodOptional<ZodBoolean>>;
keypad_battery: ZodOptional<
ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>,
>;
locked: ZodOptional<ZodOptional<ZodBoolean>>;
},
"strip",
ZodTypeAny,
{
_experimental_supported_code_from_access_codes_lengths?: number[];
code_constraints?: (
| { constraint_type: ... }
| { constraint_type: ...; max_length?: ...; min_length?: ... }
)[];
door_open?: boolean;
has_native_entry_events?: boolean;
keypad_battery?: { level: number };
locked?: boolean;
max_active_codes_supported?: number;
supported_code_lengths?: number[];
supports_backup_access_code_pool?: boolean;
},
{
_experimental_supported_code_from_access_codes_lengths?: number[];
code_constraints?: (
| { constraint_type: ... }
| { constraint_type: ...; max_length?: ...; min_length?: ... }
)[];
door_open?: boolean;
has_native_entry_events?: boolean;
keypad_battery?: { level: number };
locked?: boolean;
max_active_codes_supported?: number;
supported_code_lengths?: number[];
supports_backup_access_code_pool?: boolean;
},
>,
ZodObject<
{
active_thermostat_schedule: ZodOptional<
ZodNullable<
ZodObject<
{
climate_preset_key: ...;
created_at: ...;
device_id: ...;
ends_at: ...;
errors: ...;
is_override_allowed: ...;
max_override_period_minutes: ...;
name: ...;
starts_at: ...;
thermostat_schedule_id: ...;
workspace_id: ...;
},
"strip",
ZodTypeAny,
{
climate_preset_key: ...;
created_at: ...;
device_id: ...;
ends_at: ...;
errors: ...;
is_override_allowed?: ...;
max_override_period_minutes?: ...;
name: ...;
starts_at: ...;
thermostat_schedule_id: ...;
workspace_id: ...;
},
{
climate_preset_key: ...;
created_at: ...;
device_id: ...;
ends_at: ...;
errors: ...;
is_override_allowed?: ...;
max_override_period_minutes?: ...;
name: ...;
starts_at: ...;
thermostat_schedule_id: ...;
workspace_id: ...;
},
>,
>,
>;
active_thermostat_schedule_id: ZodOptional<ZodNullable<ZodString>>;
available_climate_preset_modes: ZodOptional<
ZodArray<
ZodEnum<[(...), (...), (...), (...), (...), (...)]>,
"many",
>,
>;
available_climate_presets: ZodOptional<
ZodArray<
ZodObject<
{
can_delete: ...;
can_edit: ...;
can_program: ...;
climate_preset_key: ...;
climate_preset_mode: ...;
cooling_set_point_celsius: ...;
cooling_set_point_fahrenheit: ...;
display_name: ...;
ecobee_metadata: ...;
fan_mode_setting: ...;
heating_set_point_celsius: ...;
heating_set_point_fahrenheit: ...;
hvac_mode_setting: ...;
manual_override_allowed: ...;
name: ...;
},
"strip",
ZodTypeAny,
{
can_delete: ...;
can_edit: ...;
can_program: ...;
climate_preset_key: ...;
climate_preset_mode?: ...;
cooling_set_point_celsius?: ...;
cooling_set_point_fahrenheit?: ...;
display_name: ...;
ecobee_metadata?: ...;
fan_mode_setting?: ...;
heating_set_point_celsius?: ...;
heating_set_point_fahrenheit?: ...;
hvac_mode_setting?: ...;
manual_override_allowed: ...;
name?: ...;
},
{
can_delete: ...;
can_edit: ...;
can_program: ...;
climate_preset_key: ...;
climate_preset_mode?: ...;
cooling_set_point_celsius?: ...;
cooling_set_point_fahrenheit?: ...;
display_name: ...;
ecobee_metadata?: ...;
fan_mode_setting?: ...;
heating_set_point_celsius?: ...;
heating_set_point_fahrenheit?: ...;
hvac_mode_setting?: ...;
manual_override_allowed: ...;
name?: ...;
},
>,
"many",
>,
>;
available_fan_mode_settings: ZodOptional<
ZodArray<ZodEnum<[(...), (...), (...)]>, "many">,
>;
available_hvac_mode_settings: ZodOptional<
ZodArray<ZodEnum<[(...), (...), (...), (...), (...)]>, "many">,
>;
current_climate_setting: ZodOptional<
ZodObject<
{
can_delete: ZodOptional<(...)>;
can_edit: ZodOptional<(...)>;
can_program: ZodOptional<(...)>;
climate_preset_key: ZodOptional<(...)>;
climate_preset_mode: ZodOptional<(...)>;
cooling_set_point_celsius: ZodOptional<(...)>;
cooling_set_point_fahrenheit: ZodOptional<(...)>;
display_name: ZodOptional<(...)>;
ecobee_metadata: ZodOptional<(...)>;
fan_mode_setting: ZodOptional<(...)>;
heating_set_point_celsius: ZodOptional<(...)>;
heating_set_point_fahrenheit: ZodOptional<(...)>;
hvac_mode_setting: ZodOptional<(...)>;
manual_override_allowed: ZodOptional<(...)>;
name: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
can_delete?: (...)
| (...)
| (...);
can_edit?: (...) | (...) | (...);
can_program?: (...) | (...) | (...);
climate_preset_key?: (...) | (...);
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name?: (...) | (...);
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed?: (...) | (...) | (...);
name?: (...) | (...) | (...);
},
{
can_delete?: (...)
| (...)
| (...);
can_edit?: (...) | (...) | (...);
can_program?: (...) | (...) | (...);
climate_preset_key?: (...) | (...);
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name?: (...) | (...);
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed?: (...) | (...) | (...);
name?: (...) | (...) | (...);
},
>,
>;
default_climate_setting: ZodOptional<
ZodObject<
{
can_delete: ZodOptional<(...)>;
can_edit: ZodOptional<(...)>;
can_program: ZodOptional<(...)>;
climate_preset_key: ZodOptional<(...)>;
climate_preset_mode: ZodOptional<(...)>;
cooling_set_point_celsius: ZodOptional<(...)>;
cooling_set_point_fahrenheit: ZodOptional<(...)>;
display_name: ZodOptional<(...)>;
ecobee_metadata: ZodOptional<(...)>;
fan_mode_setting: ZodOptional<(...)>;
heating_set_point_celsius: ZodOptional<(...)>;
heating_set_point_fahrenheit: ZodOptional<(...)>;
hvac_mode_setting: ZodOptional<(...)>;
manual_override_allowed: ZodOptional<(...)>;
name: ZodOptional<(...)>;
},
"strip",
ZodTypeAny,
{
can_delete?: (...)
| (...)
| (...);
can_edit?: (...) | (...) | (...);
can_program?: (...) | (...) | (...);
climate_preset_key?: (...) | (...);
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name?: (...) | (...);
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed?: (...) | (...) | (...);
name?: (...) | (...) | (...);
},
{
can_delete?: (...)
| (...)
| (...);
can_edit?: (...) | (...) | (...);
can_program?: (...) | (...) | (...);
climate_preset_key?: (...) | (...);
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name?: (...) | (...);
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed?: (...) | (...) | (...);
name?: (...) | (...) | (...);
},
>,
>;
fallback_climate_preset_key: ZodOptional<ZodNullable<ZodString>>;
fan_mode_setting: ZodOptional<ZodEnum<["auto", "on", "circulate"]>>;
is_cooling: ZodOptional<ZodBoolean>;
is_fan_running: ZodOptional<ZodBoolean>;
is_heating: ZodOptional<ZodBoolean>;
is_temporary_manual_override_active: ZodOptional<ZodBoolean>;
max_cooling_set_point_celsius: ZodOptional<ZodNumber>;
max_cooling_set_point_fahrenheit: ZodOptional<ZodNumber>;
max_heating_set_point_celsius: ZodOptional<ZodNumber>;
max_heating_set_point_fahrenheit: ZodOptional<ZodNumber>;
min_cooling_set_point_celsius: ZodOptional<ZodNumber>;
min_cooling_set_point_fahrenheit: ZodOptional<ZodNumber>;
min_heating_cooling_delta_celsius: ZodOptional<ZodNumber>;
min_heating_cooling_delta_fahrenheit: ZodOptional<ZodNumber>;
min_heating_set_point_celsius: ZodOptional<ZodNumber>;
min_heating_set_point_fahrenheit: ZodOptional<ZodNumber>;
relative_humidity: ZodOptional<ZodNumber>;
temperature_celsius: ZodOptional<ZodNumber>;
temperature_fahrenheit: ZodOptional<ZodNumber>;
temperature_threshold: ZodOptional<
ZodOptional<
ZodObject<
{
lower_limit_celsius: ...;
lower_limit_fahrenheit: ...;
upper_limit_celsius: ...;
upper_limit_fahrenheit: ...;
},
"strip",
ZodTypeAny,
{
lower_limit_celsius: ...;
lower_limit_fahrenheit: ...;
upper_limit_celsius: ...;
upper_limit_fahrenheit: ...;
},
{
lower_limit_celsius: ...;
lower_limit_fahrenheit: ...;
upper_limit_celsius: ...;
upper_limit_fahrenheit: ...;
},
>,
>,
>;
thermostat_daily_programs: ZodOptional<
ZodOptional<
ZodArray<ZodObject<(...), (...), (...), (...), (...)>, "many">,
>,
>;
thermostat_weekly_program: ZodOptional<
ZodOptional<
ZodNullable<ZodObject<(...), (...), (...), (...), (...)>>,
>,
>;
},
"strip",
ZodTypeAny,
{
active_thermostat_schedule?: | null
| {
climate_preset_key: string;
created_at: string;
device_id: string;
ends_at: string;
errors: { error_code: ...; message: ... }[];
is_override_allowed?: boolean;
max_override_period_minutes?: null | number;
name: null | string;
starts_at: string;
thermostat_schedule_id: string;
workspace_id: string;
};
active_thermostat_schedule_id?: null
| string;
available_climate_preset_modes?: (
"home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied"
)[];
available_climate_presets?: {
can_delete: boolean;
can_edit: boolean;
can_program: boolean;
climate_preset_key: string;
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name: string;
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed: boolean;
name?: (...) | (...) | (...);
}[];
available_fan_mode_settings?: ("auto" | "on" | "circulate")[];
available_hvac_mode_settings?: (
"off"
| "heat"
| "cool"
| "heat_cool"
| "eco"
)[];
current_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: { climate_ref: ...; is_optimized: ...; owner: ... };
fan_mode_setting?: "auto" | "on" | "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
default_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: { climate_ref: ...; is_optimized: ...; owner: ... };
fan_mode_setting?: "auto" | "on" | "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
fallback_climate_preset_key?: null
| string;
fan_mode_setting?: "auto" | "on" | "circulate";
is_cooling?: boolean;
is_fan_running?: boolean;
is_heating?: boolean;
is_temporary_manual_override_active?: boolean;
max_cooling_set_point_celsius?: number;
max_cooling_set_point_fahrenheit?: number;
max_heating_set_point_celsius?: number;
max_heating_set_point_fahrenheit?: number;
min_cooling_set_point_celsius?: number;
min_cooling_set_point_fahrenheit?: number;
min_heating_cooling_delta_celsius?: number;
min_heating_cooling_delta_fahrenheit?: number;
min_heating_set_point_celsius?: number;
min_heating_set_point_fahrenheit?: number;
relative_humidity?: number;
temperature_celsius?: number;
temperature_fahrenheit?: number;
temperature_threshold?: {
lower_limit_celsius: null | number;
lower_limit_fahrenheit: null | number;
upper_limit_celsius: null | number;
upper_limit_fahrenheit: null | number;
};
thermostat_daily_programs?: {
created_at: string;
device_id: string;
name: (...)
| (...);
periods: (...)[];
thermostat_daily_program_id: string;
workspace_id: string;
}[];
thermostat_weekly_program?: | null
| {
created_at: string;
friday_program_id: null
| string;
monday_program_id: null | string;
saturday_program_id: null | string;
sunday_program_id: null | string;
thursday_program_id: null | string;
tuesday_program_id: null | string;
wednesday_program_id: null | string;
};
},
{
active_thermostat_schedule?: | null
| {
climate_preset_key: string;
created_at: string;
device_id: string;
ends_at: string;
errors: { error_code: ...; message: ... }[];
is_override_allowed?: boolean;
max_override_period_minutes?: null | number;
name: null | string;
starts_at: string;
thermostat_schedule_id: string;
workspace_id: string;
};
active_thermostat_schedule_id?: null
| string;
available_climate_preset_modes?: (
"home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied"
)[];
available_climate_presets?: {
can_delete: boolean;
can_edit: boolean;
can_program: boolean;
climate_preset_key: string;
climate_preset_mode?:
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...);
cooling_set_point_celsius?: (...) | (...);
cooling_set_point_fahrenheit?: (...) | (...);
display_name: string;
ecobee_metadata?: (...) | (...);
fan_mode_setting?: (...) | (...) | (...) | (...);
heating_set_point_celsius?: (...) | (...);
heating_set_point_fahrenheit?: (...) | (...);
hvac_mode_setting?: (...) | (...) | (...) | (...) | (...) | (...);
manual_override_allowed: boolean;
name?: (...) | (...) | (...);
}[];
available_fan_mode_settings?: ("auto" | "on" | "circulate")[];
available_hvac_mode_settings?: (
"off"
| "heat"
| "cool"
| "heat_cool"
| "eco"
)[];
current_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: { climate_ref: ...; is_optimized: ...; owner: ... };
fan_mode_setting?: "auto" | "on" | "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
default_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: { climate_ref: ...; is_optimized: ...; owner: ... };
fan_mode_setting?: "auto" | "on" | "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
fallback_climate_preset_key?: null
| string;
fan_mode_setting?: "auto" | "on" | "circulate";
is_cooling?: boolean;
is_fan_running?: boolean;
is_heating?: boolean;
is_temporary_manual_override_active?: boolean;
max_cooling_set_point_celsius?: number;
max_cooling_set_point_fahrenheit?: number;
max_heating_set_point_celsius?: number;
max_heating_set_point_fahrenheit?: number;
min_cooling_set_point_celsius?: number;
min_cooling_set_point_fahrenheit?: number;
min_heating_cooling_delta_celsius?: number;
min_heating_cooling_delta_fahrenheit?: number;
min_heating_set_point_celsius?: number;
min_heating_set_point_fahrenheit?: number;
relative_humidity?: number;
temperature_celsius?: number;
temperature_fahrenheit?: number;
temperature_threshold?: {
lower_limit_celsius: null | number;
lower_limit_fahrenheit: null | number;
upper_limit_celsius: null | number;
upper_limit_fahrenheit: null | number;
};
thermostat_daily_programs?: {
created_at: string;
device_id: string;
name: (...)
| (...);
periods: (...)[];
thermostat_daily_program_id: string;
workspace_id: string;
}[];
thermostat_weekly_program?: | null
| {
created_at: string;
friday_program_id: null
| string;
monday_program_id: null | string;
saturday_program_id: null | string;
sunday_program_id: null | string;
thursday_program_id: null | string;
tuesday_program_id: null | string;
wednesday_program_id: null | string;
};
},
>,
>,
>;
warnings: ZodArray<
ZodDiscriminatedUnion<
"warning_code",
[
ZodObject<
{ created_at: ZodString; message: ZodString } & {
warning_code: ZodLiteral<"partial_backup_access_code_pool">;
},
"strip",
ZodTypeAny,
{
created_at: string;
message: string;
warning_code: "partial_backup_access_code_pool";
},
{
created_at: string;
message: string;
warning_code: "partial_backup_access_code_pool";
},
>,
ZodObject<
{ created_at: ZodString; message: ZodString } & {
warning_code: ZodLiteral<"many_active_backup_codes">;
},
"strip",
ZodTypeAny,
{
created_at: string;
message: string;
warning_code: "many_active_backup_codes";
},
{
created_at: string;
message: string;
warning_code: "many_active_backup_codes";
},
>,
ZodObject<
{ created_at: ZodString; message: ZodString } & {
warning_code: ZodLiteral<"wyze_device_missing_gateway">;
},
"strip",
ZodTypeAny,
{
created_at: string;
message: string;
warning_code: "wyze_device_missing_gateway";
},
{
created_at: string;
message: string;
warning_code: "wyze_device_missing_gateway";
},
>,
],
>,
"many",
>;
workspace_id: ZodString;
} & {
can_hvac_cool: ZodOptional<ZodBoolean>;
can_hvac_heat: ZodOptional<ZodBoolean>;
can_hvac_heat_cool: ZodOptional<ZodBoolean>;
can_program_offline_access_codes: ZodOptional<ZodBoolean>;
can_program_online_access_codes: ZodOptional<ZodBoolean>;
can_remotely_lock: ZodOptional<ZodBoolean>;
can_remotely_unlock: ZodOptional<ZodBoolean>;
can_simulate_connection: ZodOptional<ZodBoolean>;
can_simulate_disconnection: ZodOptional<ZodBoolean>;
can_simulate_removal: ZodOptional<ZodBoolean>;
can_turn_off_hvac: ZodOptional<ZodBoolean>;
can_unlock_with_code: ZodOptional<ZodBoolean>;
},
"strip",
ZodTypeAny,
{
can_hvac_cool?: boolean;
can_hvac_heat?: boolean;
can_hvac_heat_cool?: boolean;
can_program_offline_access_codes?: boolean;
can_program_online_access_codes?: boolean;
can_remotely_lock?: boolean;
can_remotely_unlock?: boolean;
can_simulate_connection?: boolean;
can_simulate_disconnection?: boolean;
can_simulate_removal?: boolean;
can_turn_off_hvac?: boolean;
can_unlock_with_code?: boolean;
capabilities_supported: (
| "access_code"
| "lock"
| "noise_detection"
| "thermostat"
| "battery"
| "phone"
)[];
connected_account_id: string;
created_at: string;
custom_metadata: Record<string, string | boolean>;
device_id: string;
device_type:
| LockDeviceTypeFromMapping
| NoiseSensorDeviceTypeFromMapping
| ThermostatDeviceTypeFromMapping
| PhoneDeviceTypeFromMapping;
display_name: string;
errors: (
| {
created_at: string;
error_code: "account_disconnected";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "invalid_credentials";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "bridge_disconnected";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
salto_ks_metadata: {
sites: {
site_id: string;
site_name: string;
site_user_subscription_limit: number;
subscribed_site_user_count: number;
}[];
};
}
| {
created_at: string;
error_code: "device_offline";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "device_removed";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "hub_disconnected";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "device_disconnected";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "account_disconnected";
is_connected_account_error: true;
is_device_error: false;
message: string;
}
| {
created_at: string;
error_code: "empty_backup_access_code_pool";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "august_lock_not_authorized";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "august_lock_missing_bridge";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_connected_account_error: true;
is_device_error: false;
message: string;
}
| {
created_at: string;
error_code: "ttlock_lock_not_paired_to_gateway";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "missing_device_credentials";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "auxiliary_heat_running";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "subscription_required";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "lockly_missing_wifi_bridge";
is_device_error: true;
message: string;
}
)[];
is_managed: true;
location: null
| { location_name?: string; timezone?: string };
nickname?: string;
properties: {
accessory_keypad?: {
battery?: { level: number };
is_connected: boolean;
};
appearance: { name: string };
battery?: { level: number; status: "low" | "full" | "critical" | "good" };
battery_level?: number;
currently_triggering_noise_threshold_ids?: string[];
has_direct_power?: boolean;
image_alt_text?: string;
image_url?: string;
manufacturer?: string;
model: {
accessory_keypad_supported?: boolean;
can_connect_accessory_keypad?: boolean;
display_name: string;
has_built_in_keypad?: boolean;
manufacturer_display_name: string;
offline_access_codes_supported?: boolean;
online_access_codes_supported?: boolean;
};
name: string;
noise_level_decibels?: number;
offline_access_codes_enabled?: boolean;
online: boolean;
online_access_codes_enabled?: boolean;
serial_number?: string;
supports_accessory_keypad?: boolean;
supports_offline_access_codes?: boolean;
} & {
assa_abloy_credential_service_metadata?: {
endpoints: { endpoint_id: string; is_active: boolean }[];
has_active_endpoint: boolean;
};
salto_space_credential_service_metadata?: { has_active_phone: boolean };
} & {
akiles_metadata?: {
_member_group_id?: string;
gadget_id: string;
gadget_name: string;
product_name: string;
};
assa_abloy_vostio_metadata?: { encoder_name: string };
august_metadata?: {
has_keypad: boolean;
house_id?: string;
house_name: string;
keypad_battery_level?: string;
lock_id: string;
lock_name: string;
model?: string;
};
avigilon_alta_metadata?: {
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
};
brivo_metadata?: { device_name: string };
controlbyweb_metadata?: {
device_id: string;
device_name: string;
relay_name: null | string;
};
dormakaba_oracode_metadata?: {
device_id?: string
| number;
door_id?: number;
door_is_wireless: boolean;
door_name: string;
iana_timezone?: string;
predefined_time_slots?: {
check_in_time: string;
check_out_time: string;
dormakaba_oracode_user_level_id: string;
ext_dormakaba_oracode_user_level_prefix: number;
is_24_hour: boolean;
is_biweekly_mode: boolean;
is_master: boolean;
is_one_shot: boolean;
name: string;
prefix: number;
}[];
site_id: null
| number;
site_name: string;
};
ecobee_metadata?: { device_name: string; ecobee_device_id: string };
four_suites_metadata?: {
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
};
genie_metadata?: { device_name: string; door_name: string };
honeywell_resideo_metadata?: {
device_name: string;
honeywell_resideo_device_id: string;
};
hubitat_metadata?: {
device_id: string;
device_label: string;
device_name: string;
};
igloo_metadata?: { bridge_id: string; device_id: string; model?: string };
igloohome_metadata?: {
bridge_id?: string;
bridge_name?: string;
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: boolean;
keypad_id?: string;
};
keynest_metadata?: {
address: null
| string;
current_or_last_store_id: number;
current_status: null | string;
current_user_company: null | string;
current_user_email: null | string;
current_user_name: null | string;
current_user_phone_number: null | string;
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: null | string;
has_photo: boolean;
key_id: string;
key_notes: null | string;
keynest_app_user: null | string;
last_movement: string;
property_id: null | string;
property_postcode: null | string;
status_type: string;
subscription_plan: string;
};
kwikset_metadata?: {
device_id: string;
device_name: string;
model_number: string;
};
lockly_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
minut_metadata?: {
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: { time: string; value: number };
humidity: { time: string; value: number };
pressure: { time: string; value: number };
sound: { time: string; value: number };
temperature: { time: string; value: number };
};
};
nest_metadata?: {
device_custom_name: string;
device_name: string;
display_name?: string;
nest_device_id: string;
};
noiseaware_metadata?: {
device_id: string;
device_model: "indoor"
| "outdoor";
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
};
nuki_metadata?: {
device_id: string;
device_name: string;
keypad_2_paired?: boolean;
keypad_battery_critical?: boolean;
keypad_paired?: boolean;
};
salto_ks_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
salto_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
schlage_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
seam_bridge_metadata?: {
device_num: number;
name: string;
unlock_method?: "bridge"
| "doorking";
};
sensi_metadata?: {
device_id: string;
device_name: string;
product_type: string;
};
smartthings_metadata?: {
device_id: string;
device_name: string;
location_id?: string;
model?: string;
};
tado_metadata?: { device_type: string; serial_no: string };
tedee_metadata?: {
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: number;
serial_number: string;
};
ttlock_metadata?: {
feature_value: string;
features: {
incomplete_keyboard_passcode: boolean;
lock_command: boolean;
passcode: boolean;
passcode_management: boolean;
unlock_via_gateway: boolean;
wifi: boolean;
};
has_gateway?: boolean;
lock_alias: string;
lock_id: number;
wireless_keypads?: {
wireless_keypad_id: number;
wireless_keypad_name: string;
}[];
};
two_n_metadata?: { device_id: number; device_name: string };
visionline_metadata?: { encoder_id: string };
wyze_metadata?: {
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: string;
locker_status_hardlock?: number;
product_model: string;
product_name: string;
product_type: string;
};
} & {
_experimental_supported_code_from_access_codes_lengths?: number[];
code_constraints?: (
| {
constraint_type: | "no_zeros"
| "cannot_start_with_12"
| "no_triple_consecutive_ints"
| "cannot_specify_pin_code"
| "pin_code_matches_existing_set"
| "start_date_in_future"
| "no_ascending_or_descending_sequence"
| "at_least_three_unique_digits"
| "cannot_contain_089"
| "cannot_contain_0789";
}
| {
constraint_type: "name_length"
| "name_must_be_unique";
max_length?: number;
min_length?: number;
}
)[];
door_open?: boolean;
has_native_entry_events?: boolean;
keypad_battery?: { level: number };
locked?: boolean;
max_active_codes_supported?: number;
supported_code_lengths?: number[];
supports_backup_access_code_pool?: boolean;
} & {
active_thermostat_schedule?: | null
| {
climate_preset_key: string;
created_at: string;
device_id: string;
ends_at: string;
errors: { error_code: string; message: string }[];
is_override_allowed?: boolean;
max_override_period_minutes?: null | number;
name: null | string;
starts_at: string;
thermostat_schedule_id: string;
workspace_id: string;
};
active_thermostat_schedule_id?: null
| string;
available_climate_preset_modes?: (
"home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied"
)[];
available_climate_presets?: {
can_delete: boolean;
can_edit: boolean;
can_program: boolean;
climate_preset_key: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed: boolean;
name?: null | string;
}[];
available_fan_mode_settings?: ("auto" | "on" | "circulate")[];
available_hvac_mode_settings?: (
"off"
| "heat"
| "cool"
| "heat_cool"
| "eco"
)[];
current_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
default_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
fallback_climate_preset_key?: null
| string;
fan_mode_setting?: "auto" | "on" | "circulate";
is_cooling?: boolean;
is_fan_running?: boolean;
is_heating?: boolean;
is_temporary_manual_override_active?: boolean;
max_cooling_set_point_celsius?: number;
max_cooling_set_point_fahrenheit?: number;
max_heating_set_point_celsius?: number;
max_heating_set_point_fahrenheit?: number;
min_cooling_set_point_celsius?: number;
min_cooling_set_point_fahrenheit?: number;
min_heating_cooling_delta_celsius?: number;
min_heating_cooling_delta_fahrenheit?: number;
min_heating_set_point_celsius?: number;
min_heating_set_point_fahrenheit?: number;
relative_humidity?: number;
temperature_celsius?: number;
temperature_fahrenheit?: number;
temperature_threshold?: {
lower_limit_celsius: null | number;
lower_limit_fahrenheit: null | number;
upper_limit_celsius: null | number;
upper_limit_fahrenheit: null | number;
};
thermostat_daily_programs?: {
created_at: string;
device_id: string;
name: null
| string;
periods: { climate_preset_key: string; starts_at_time: string }[];
thermostat_daily_program_id: string;
workspace_id: string;
}[];
thermostat_weekly_program?: | null
| {
created_at: string;
friday_program_id: null
| string;
monday_program_id: null | string;
saturday_program_id: null | string;
sunday_program_id: null | string;
thursday_program_id: null | string;
tuesday_program_id: null | string;
wednesday_program_id: null | string;
};
};
warnings: (
| {
created_at: string;
message: string;
warning_code: "partial_backup_access_code_pool";
}
| {
created_at: string;
message: string;
warning_code: "many_active_backup_codes";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_office_mode";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_privacy_mode";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_subscription_limit_almost_reached";
}
| {
created_at: string;
message: string;
warning_code: "wyze_device_missing_gateway";
}
| {
created_at: string;
message: string;
warning_code: "functional_offline_device";
}
| {
created_at: string;
message: string;
warning_code: "third_party_integration_detected";
}
| {
created_at: string;
message: string;
warning_code: "nest_thermostat_in_manual_eco_mode";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_lock_gateway_unlocking_not_enabled";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_weak_gateway_signal";
}
| {
created_at: string;
message: string;
warning_code: "power_saving_mode";
}
| {
created_at: string;
message: string;
warning_code: "temperature_threshold_exceeded";
}
| {
created_at: string;
message: string;
warning_code: "device_communication_degraded";
}
| {
created_at: string;
message: string;
warning_code: "scheduled_maintenance_window";
}
| {
created_at: string;
message: string;
warning_code: "device_has_flaky_connection";
}
| {
created_at: string;
message: string;
warning_code: "lockly_time_zone_not_configured";
}
| {
created_at: string;
message: string;
warning_code: "unknown_issue_with_phone";
}
)[];
workspace_id: string;
},
{
can_hvac_cool?: boolean;
can_hvac_heat?: boolean;
can_hvac_heat_cool?: boolean;
can_program_offline_access_codes?: boolean;
can_program_online_access_codes?: boolean;
can_remotely_lock?: boolean;
can_remotely_unlock?: boolean;
can_simulate_connection?: boolean;
can_simulate_disconnection?: boolean;
can_simulate_removal?: boolean;
can_turn_off_hvac?: boolean;
can_unlock_with_code?: boolean;
capabilities_supported: (
| "access_code"
| "lock"
| "noise_detection"
| "thermostat"
| "battery"
| "phone"
)[];
connected_account_id: string;
created_at: string;
custom_metadata: Record<string, string | boolean>;
device_id: string;
device_type:
| LockDeviceTypeFromMapping
| NoiseSensorDeviceTypeFromMapping
| ThermostatDeviceTypeFromMapping
| PhoneDeviceTypeFromMapping;
display_name: string;
errors: (
| {
created_at: string;
error_code: "account_disconnected";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "invalid_credentials";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "bridge_disconnected";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
}
| {
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_bridge_error?: boolean;
is_connected_account_error?: boolean;
message: string;
salto_ks_metadata: {
sites: {
site_id: string;
site_name: string;
site_user_subscription_limit: number;
subscribed_site_user_count: number;
}[];
};
}
| {
created_at: string;
error_code: "device_offline";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "device_removed";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "hub_disconnected";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "device_disconnected";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "account_disconnected";
is_connected_account_error: true;
is_device_error: false;
message: string;
}
| {
created_at: string;
error_code: "empty_backup_access_code_pool";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "august_lock_not_authorized";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "august_lock_missing_bridge";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "salto_ks_subscription_limit_exceeded";
is_connected_account_error: true;
is_device_error: false;
message: string;
}
| {
created_at: string;
error_code: "ttlock_lock_not_paired_to_gateway";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "missing_device_credentials";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "auxiliary_heat_running";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "subscription_required";
is_device_error: true;
message: string;
}
| {
created_at: string;
error_code: "lockly_missing_wifi_bridge";
is_device_error: true;
message: string;
}
)[];
is_managed: true;
location: null
| { location_name?: string; timezone?: string };
nickname?: string;
properties: {
accessory_keypad?: {
battery?: { level: number };
is_connected: boolean;
};
appearance: { name: string };
battery?: { level: number; status: "low" | "full" | "critical" | "good" };
battery_level?: number;
currently_triggering_noise_threshold_ids?: string[];
has_direct_power?: boolean;
image_alt_text?: string;
image_url?: string;
manufacturer?: string;
model: {
accessory_keypad_supported?: boolean;
can_connect_accessory_keypad?: boolean;
display_name: string;
has_built_in_keypad?: boolean;
manufacturer_display_name: string;
offline_access_codes_supported?: boolean;
online_access_codes_supported?: boolean;
};
name: string;
noise_level_decibels?: number;
offline_access_codes_enabled?: boolean;
online: boolean;
online_access_codes_enabled?: boolean;
serial_number?: string;
supports_accessory_keypad?: boolean;
supports_offline_access_codes?: boolean;
} & {
assa_abloy_credential_service_metadata?: {
endpoints: { endpoint_id: string; is_active: boolean }[];
has_active_endpoint: boolean;
};
salto_space_credential_service_metadata?: { has_active_phone: boolean };
} & {
akiles_metadata?: {
_member_group_id?: string;
gadget_id: string;
gadget_name: string;
product_name: string;
};
assa_abloy_vostio_metadata?: { encoder_name: string };
august_metadata?: {
has_keypad: boolean;
house_id?: string;
house_name: string;
keypad_battery_level?: string;
lock_id: string;
lock_name: string;
model?: string;
};
avigilon_alta_metadata?: {
entry_name: string;
entry_relays_total_count: number;
org_name: string;
site_id: number;
site_name: string;
zone_id: number;
zone_name: string;
};
brivo_metadata?: { device_name: string };
controlbyweb_metadata?: {
device_id: string;
device_name: string;
relay_name: null | string;
};
dormakaba_oracode_metadata?: {
device_id?: string
| number;
door_id?: number;
door_is_wireless: boolean;
door_name: string;
iana_timezone?: string;
predefined_time_slots?: {
check_in_time: string;
check_out_time: string;
dormakaba_oracode_user_level_id: string;
ext_dormakaba_oracode_user_level_prefix: number;
is_24_hour: boolean;
is_biweekly_mode: boolean;
is_master: boolean;
is_one_shot: boolean;
name: string;
prefix: number;
}[];
site_id: null
| number;
site_name: string;
};
ecobee_metadata?: { device_name: string; ecobee_device_id: string };
four_suites_metadata?: {
device_id: number;
device_name: string;
reclose_delay_in_seconds: number;
};
genie_metadata?: { device_name: string; door_name: string };
honeywell_resideo_metadata?: {
device_name: string;
honeywell_resideo_device_id: string;
};
hubitat_metadata?: {
device_id: string;
device_label: string;
device_name: string;
};
igloo_metadata?: { bridge_id: string; device_id: string; model?: string };
igloohome_metadata?: {
bridge_id?: string;
bridge_name?: string;
device_id: string;
device_name: string;
is_keypad_linked_to_bridge?: boolean;
keypad_id?: string;
};
keynest_metadata?: {
address: null
| string;
current_or_last_store_id: number;
current_status: null | string;
current_user_company: null | string;
current_user_email: null | string;
current_user_name: null | string;
current_user_phone_number: null | string;
default_office_id: number;
device_name: string;
fob_id: number;
handover_method: null | string;
has_photo: boolean;
key_id: string;
key_notes: null | string;
keynest_app_user: null | string;
last_movement: string;
property_id: null | string;
property_postcode: null | string;
status_type: string;
subscription_plan: string;
};
kwikset_metadata?: {
device_id: string;
device_name: string;
model_number: string;
};
lockly_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
minut_metadata?: {
device_id: string;
device_name: string;
latest_sensor_values: {
accelerometer_z: { time: string; value: number };
humidity: { time: string; value: number };
pressure: { time: string; value: number };
sound: { time: string; value: number };
temperature: { time: string; value: number };
};
};
nest_metadata?: {
device_custom_name: string;
device_name: string;
display_name?: string;
nest_device_id: string;
};
noiseaware_metadata?: {
device_id: string;
device_model: "indoor"
| "outdoor";
device_name: string;
noise_level_decibel: number;
noise_level_nrs: number;
};
nuki_metadata?: {
device_id: string;
device_name: string;
keypad_2_paired?: boolean;
keypad_battery_critical?: boolean;
keypad_paired?: boolean;
};
salto_ks_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
salto_metadata?: {
battery_level: string;
customer_reference: string;
lock_id: string;
lock_type: string;
locked_state: string;
model?: string;
};
schlage_metadata?: {
device_id: string;
device_name: string;
model?: string;
};
seam_bridge_metadata?: {
device_num: number;
name: string;
unlock_method?: "bridge"
| "doorking";
};
sensi_metadata?: {
device_id: string;
device_name: string;
product_type: string;
};
smartthings_metadata?: {
device_id: string;
device_name: string;
location_id?: string;
model?: string;
};
tado_metadata?: { device_type: string; serial_no: string };
tedee_metadata?: {
bridge_id: number;
bridge_name: string;
device_id: number;
device_model: string;
device_name: string;
keypad_id?: number;
serial_number: string;
};
ttlock_metadata?: {
feature_value: string;
features: {
incomplete_keyboard_passcode: boolean;
lock_command: boolean;
passcode: boolean;
passcode_management: boolean;
unlock_via_gateway: boolean;
wifi: boolean;
};
has_gateway?: boolean;
lock_alias: string;
lock_id: number;
wireless_keypads?: {
wireless_keypad_id: number;
wireless_keypad_name: string;
}[];
};
two_n_metadata?: { device_id: number; device_name: string };
visionline_metadata?: { encoder_id: string };
wyze_metadata?: {
device_id: string;
device_info_model: string;
device_name: string;
keypad_uuid?: string;
locker_status_hardlock?: number;
product_model: string;
product_name: string;
product_type: string;
};
} & {
_experimental_supported_code_from_access_codes_lengths?: number[];
code_constraints?: (
| {
constraint_type: | "no_zeros"
| "cannot_start_with_12"
| "no_triple_consecutive_ints"
| "cannot_specify_pin_code"
| "pin_code_matches_existing_set"
| "start_date_in_future"
| "no_ascending_or_descending_sequence"
| "at_least_three_unique_digits"
| "cannot_contain_089"
| "cannot_contain_0789";
}
| {
constraint_type: "name_length"
| "name_must_be_unique";
max_length?: number;
min_length?: number;
}
)[];
door_open?: boolean;
has_native_entry_events?: boolean;
keypad_battery?: { level: number };
locked?: boolean;
max_active_codes_supported?: number;
supported_code_lengths?: number[];
supports_backup_access_code_pool?: boolean;
} & {
active_thermostat_schedule?: | null
| {
climate_preset_key: string;
created_at: string;
device_id: string;
ends_at: string;
errors: { error_code: string; message: string }[];
is_override_allowed?: boolean;
max_override_period_minutes?: null | number;
name: null | string;
starts_at: string;
thermostat_schedule_id: string;
workspace_id: string;
};
active_thermostat_schedule_id?: null
| string;
available_climate_preset_modes?: (
"home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied"
)[];
available_climate_presets?: {
can_delete: boolean;
can_edit: boolean;
can_program: boolean;
climate_preset_key: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed: boolean;
name?: null | string;
}[];
available_fan_mode_settings?: ("auto" | "on" | "circulate")[];
available_hvac_mode_settings?: (
"off"
| "heat"
| "cool"
| "heat_cool"
| "eco"
)[];
current_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?:
| "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
default_climate_setting?: {
can_delete?: boolean;
can_edit?: boolean;
can_program?: boolean;
climate_preset_key?: string;
climate_preset_mode?: | "home"
| "away"
| "wake"
| "sleep"
| "occupied"
| "unoccupied";
cooling_set_point_celsius?: number;
cooling_set_point_fahrenheit?: number;
display_name?: string;
ecobee_metadata?: {
climate_ref: string;
is_optimized: boolean;
owner: "user"
| "system";
};
fan_mode_setting?: "auto"
| "on"
| "circulate";
heating_set_point_celsius?: number;
heating_set_point_fahrenheit?: number;
hvac_mode_setting?: "off" | "heat" | "cool" | "heat_cool" | "eco";
manual_override_allowed?: boolean;
name?: null | string;
};
fallback_climate_preset_key?: null
| string;
fan_mode_setting?: "auto" | "on" | "circulate";
is_cooling?: boolean;
is_fan_running?: boolean;
is_heating?: boolean;
is_temporary_manual_override_active?: boolean;
max_cooling_set_point_celsius?: number;
max_cooling_set_point_fahrenheit?: number;
max_heating_set_point_celsius?: number;
max_heating_set_point_fahrenheit?: number;
min_cooling_set_point_celsius?: number;
min_cooling_set_point_fahrenheit?: number;
min_heating_cooling_delta_celsius?: number;
min_heating_cooling_delta_fahrenheit?: number;
min_heating_set_point_celsius?: number;
min_heating_set_point_fahrenheit?: number;
relative_humidity?: number;
temperature_celsius?: number;
temperature_fahrenheit?: number;
temperature_threshold?: {
lower_limit_celsius: null | number;
lower_limit_fahrenheit: null | number;
upper_limit_celsius: null | number;
upper_limit_fahrenheit: null | number;
};
thermostat_daily_programs?: {
created_at: string;
device_id: string;
name: null
| string;
periods: { climate_preset_key: string; starts_at_time: string }[];
thermostat_daily_program_id: string;
workspace_id: string;
}[];
thermostat_weekly_program?: | null
| {
created_at: string;
friday_program_id: null
| string;
monday_program_id: null | string;
saturday_program_id: null | string;
sunday_program_id: null | string;
thursday_program_id: null | string;
tuesday_program_id: null | string;
wednesday_program_id: null | string;
};
};
warnings: (
| {
created_at: string;
message: string;
warning_code: "partial_backup_access_code_pool";
}
| {
created_at: string;
message: string;
warning_code: "many_active_backup_codes";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_office_mode";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_privacy_mode";
}
| {
created_at: string;
message: string;
warning_code: "salto_ks_subscription_limit_almost_reached";
}
| {
created_at: string;
message: string;
warning_code: "wyze_device_missing_gateway";
}
| {
created_at: string;
message: string;
warning_code: "functional_offline_device";
}
| {
created_at: string;
message: string;
warning_code: "third_party_integration_detected";
}
| {
created_at: string;
message: string;
warning_code: "nest_thermostat_in_manual_eco_mode";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_lock_gateway_unlocking_not_enabled";
}
| {
created_at: string;
message: string;
warning_code: "ttlock_weak_gateway_signal";
}
| {
created_at: string;
message: string;
warning_code: "power_saving_mode";
}
| {
created_at: string;
message: string;
warning_code: "temperature_threshold_exceeded";
}
| {
created_at: string;
message: string;
warning_code: "device_communication_degraded";
}
| {
created_at: string;
message: string;
warning_code: "scheduled_maintenance_window";
}
| {
created_at: string;
message: string;
warning_code: "device_has_flaky_connection";
}
| {
created_at: string;
message: string;
warning_code: "lockly_time_zone_not_configured";
}
| {
created_at: string;
message: string;
warning_code: "unknown_issue_with_phone";
}
)[];
workspace_id: string;
},
> = ...