#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Void {}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ApiSourceType {
SourceBoth = 0,
SourceServer = 1,
SourceClient = 2,
}
impl ApiSourceType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SourceBoth => "SOURCE_BOTH",
Self::SourceServer => "SOURCE_SERVER",
Self::SourceClient => "SOURCE_CLIENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SOURCE_BOTH" => Some(Self::SourceBoth),
"SOURCE_SERVER" => Some(Self::SourceServer),
"SOURCE_CLIENT" => Some(Self::SourceClient),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HelloRequest {
#[prost(string, tag = "1")]
pub client_info: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub api_version_major: u32,
#[prost(uint32, tag = "3")]
pub api_version_minor: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HelloResponse {
#[prost(uint32, tag = "1")]
pub api_version_major: u32,
#[prost(uint32, tag = "2")]
pub api_version_minor: u32,
#[prost(string, tag = "3")]
pub server_info: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuthenticationRequest {
#[prost(string, tag = "1")]
pub password: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AuthenticationResponse {
#[prost(bool, tag = "1")]
pub invalid_password: bool,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisconnectRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisconnectResponse {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PingRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PingResponse {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeviceInfoRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AreaInfo {
#[prost(uint32, tag = "1")]
pub area_id: u32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceInfo {
#[prost(uint32, tag = "1")]
pub device_id: u32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub area_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceInfoResponse {
#[deprecated]
#[prost(bool, tag = "1")]
pub uses_password: bool,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub mac_address: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub esphome_version: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub compilation_time: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub model: ::prost::alloc::string::String,
#[prost(bool, tag = "7")]
pub has_deep_sleep: bool,
#[prost(string, tag = "8")]
pub project_name: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub project_version: ::prost::alloc::string::String,
#[prost(uint32, tag = "10")]
pub webserver_port: u32,
#[deprecated]
#[prost(uint32, tag = "11")]
pub legacy_bluetooth_proxy_version: u32,
#[prost(uint32, tag = "15")]
pub bluetooth_proxy_feature_flags: u32,
#[prost(string, tag = "12")]
pub manufacturer: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub friendly_name: ::prost::alloc::string::String,
#[deprecated]
#[prost(uint32, tag = "14")]
pub legacy_voice_assistant_version: u32,
#[prost(uint32, tag = "17")]
pub voice_assistant_feature_flags: u32,
#[prost(string, tag = "16")]
pub suggested_area: ::prost::alloc::string::String,
#[prost(string, tag = "18")]
pub bluetooth_mac_address: ::prost::alloc::string::String,
#[prost(bool, tag = "19")]
pub api_encryption_supported: bool,
#[prost(message, repeated, tag = "20")]
pub devices: ::prost::alloc::vec::Vec<DeviceInfo>,
#[prost(message, repeated, tag = "21")]
pub areas: ::prost::alloc::vec::Vec<AreaInfo>,
#[prost(message, optional, tag = "22")]
pub area: ::core::option::Option<AreaInfo>,
#[prost(uint32, tag = "23")]
pub zwave_proxy_feature_flags: u32,
#[prost(uint32, tag = "24")]
pub zwave_home_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ListEntitiesRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ListEntitiesDoneResponse {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeStatesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesBinarySensorResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub device_class: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub is_status_binary_sensor: bool,
#[prost(bool, tag = "7")]
pub disabled_by_default: bool,
#[prost(string, tag = "8")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "9")]
pub entity_category: i32,
#[prost(uint32, tag = "10")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BinarySensorStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesCoverResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub assumed_state: bool,
#[prost(bool, tag = "6")]
pub supports_position: bool,
#[prost(bool, tag = "7")]
pub supports_tilt: bool,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(bool, tag = "9")]
pub disabled_by_default: bool,
#[prost(string, tag = "10")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "11")]
pub entity_category: i32,
#[prost(bool, tag = "12")]
pub supports_stop: bool,
#[prost(uint32, tag = "13")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CoverStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[deprecated]
#[prost(enumeration = "LegacyCoverState", tag = "2")]
pub legacy_state: i32,
#[prost(float, tag = "3")]
pub position: f32,
#[prost(float, tag = "4")]
pub tilt: f32,
#[prost(enumeration = "CoverOperation", tag = "5")]
pub current_operation: i32,
#[prost(uint32, tag = "6")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CoverCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[deprecated]
#[prost(bool, tag = "2")]
pub has_legacy_command: bool,
#[deprecated]
#[prost(enumeration = "LegacyCoverCommand", tag = "3")]
pub legacy_command: i32,
#[prost(bool, tag = "4")]
pub has_position: bool,
#[prost(float, tag = "5")]
pub position: f32,
#[prost(bool, tag = "6")]
pub has_tilt: bool,
#[prost(float, tag = "7")]
pub tilt: f32,
#[prost(bool, tag = "8")]
pub stop: bool,
#[prost(uint32, tag = "9")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesFanResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub supports_oscillation: bool,
#[prost(bool, tag = "6")]
pub supports_speed: bool,
#[prost(bool, tag = "7")]
pub supports_direction: bool,
#[prost(int32, tag = "8")]
pub supported_speed_count: i32,
#[prost(bool, tag = "9")]
pub disabled_by_default: bool,
#[prost(string, tag = "10")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "11")]
pub entity_category: i32,
#[prost(string, repeated, tag = "12")]
pub supported_preset_modes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "13")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FanStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(bool, tag = "3")]
pub oscillating: bool,
#[deprecated]
#[prost(enumeration = "FanSpeed", tag = "4")]
pub speed: i32,
#[prost(enumeration = "FanDirection", tag = "5")]
pub direction: i32,
#[prost(int32, tag = "6")]
pub speed_level: i32,
#[prost(string, tag = "7")]
pub preset_mode: ::prost::alloc::string::String,
#[prost(uint32, tag = "8")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FanCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_state: bool,
#[prost(bool, tag = "3")]
pub state: bool,
#[deprecated]
#[prost(bool, tag = "4")]
pub has_speed: bool,
#[deprecated]
#[prost(enumeration = "FanSpeed", tag = "5")]
pub speed: i32,
#[prost(bool, tag = "6")]
pub has_oscillating: bool,
#[prost(bool, tag = "7")]
pub oscillating: bool,
#[prost(bool, tag = "8")]
pub has_direction: bool,
#[prost(enumeration = "FanDirection", tag = "9")]
pub direction: i32,
#[prost(bool, tag = "10")]
pub has_speed_level: bool,
#[prost(int32, tag = "11")]
pub speed_level: i32,
#[prost(bool, tag = "12")]
pub has_preset_mode: bool,
#[prost(string, tag = "13")]
pub preset_mode: ::prost::alloc::string::String,
#[prost(uint32, tag = "14")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesLightResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "ColorMode", repeated, packed = "false", tag = "12")]
pub supported_color_modes: ::prost::alloc::vec::Vec<i32>,
#[deprecated]
#[prost(bool, tag = "5")]
pub legacy_supports_brightness: bool,
#[deprecated]
#[prost(bool, tag = "6")]
pub legacy_supports_rgb: bool,
#[deprecated]
#[prost(bool, tag = "7")]
pub legacy_supports_white_value: bool,
#[deprecated]
#[prost(bool, tag = "8")]
pub legacy_supports_color_temperature: bool,
#[prost(float, tag = "9")]
pub min_mireds: f32,
#[prost(float, tag = "10")]
pub max_mireds: f32,
#[prost(string, repeated, tag = "11")]
pub effects: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "13")]
pub disabled_by_default: bool,
#[prost(string, tag = "14")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "15")]
pub entity_category: i32,
#[prost(uint32, tag = "16")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LightStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(float, tag = "3")]
pub brightness: f32,
#[prost(enumeration = "ColorMode", tag = "11")]
pub color_mode: i32,
#[prost(float, tag = "10")]
pub color_brightness: f32,
#[prost(float, tag = "4")]
pub red: f32,
#[prost(float, tag = "5")]
pub green: f32,
#[prost(float, tag = "6")]
pub blue: f32,
#[prost(float, tag = "7")]
pub white: f32,
#[prost(float, tag = "8")]
pub color_temperature: f32,
#[prost(float, tag = "12")]
pub cold_white: f32,
#[prost(float, tag = "13")]
pub warm_white: f32,
#[prost(string, tag = "9")]
pub effect: ::prost::alloc::string::String,
#[prost(uint32, tag = "14")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LightCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_state: bool,
#[prost(bool, tag = "3")]
pub state: bool,
#[prost(bool, tag = "4")]
pub has_brightness: bool,
#[prost(float, tag = "5")]
pub brightness: f32,
#[prost(bool, tag = "22")]
pub has_color_mode: bool,
#[prost(enumeration = "ColorMode", tag = "23")]
pub color_mode: i32,
#[prost(bool, tag = "20")]
pub has_color_brightness: bool,
#[prost(float, tag = "21")]
pub color_brightness: f32,
#[prost(bool, tag = "6")]
pub has_rgb: bool,
#[prost(float, tag = "7")]
pub red: f32,
#[prost(float, tag = "8")]
pub green: f32,
#[prost(float, tag = "9")]
pub blue: f32,
#[prost(bool, tag = "10")]
pub has_white: bool,
#[prost(float, tag = "11")]
pub white: f32,
#[prost(bool, tag = "12")]
pub has_color_temperature: bool,
#[prost(float, tag = "13")]
pub color_temperature: f32,
#[prost(bool, tag = "24")]
pub has_cold_white: bool,
#[prost(float, tag = "25")]
pub cold_white: f32,
#[prost(bool, tag = "26")]
pub has_warm_white: bool,
#[prost(float, tag = "27")]
pub warm_white: f32,
#[prost(bool, tag = "14")]
pub has_transition_length: bool,
#[prost(uint32, tag = "15")]
pub transition_length: u32,
#[prost(bool, tag = "16")]
pub has_flash_length: bool,
#[prost(uint32, tag = "17")]
pub flash_length: u32,
#[prost(bool, tag = "18")]
pub has_effect: bool,
#[prost(string, tag = "19")]
pub effect: ::prost::alloc::string::String,
#[prost(uint32, tag = "28")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesSensorResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub unit_of_measurement: ::prost::alloc::string::String,
#[prost(int32, tag = "7")]
pub accuracy_decimals: i32,
#[prost(bool, tag = "8")]
pub force_update: bool,
#[prost(string, tag = "9")]
pub device_class: ::prost::alloc::string::String,
#[prost(enumeration = "SensorStateClass", tag = "10")]
pub state_class: i32,
#[deprecated]
#[prost(enumeration = "SensorLastResetType", tag = "11")]
pub legacy_last_reset_type: i32,
#[prost(bool, tag = "12")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "13")]
pub entity_category: i32,
#[prost(uint32, tag = "14")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SensorStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(float, tag = "2")]
pub state: f32,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesSwitchResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub assumed_state: bool,
#[prost(bool, tag = "7")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "8")]
pub entity_category: i32,
#[prost(string, tag = "9")]
pub device_class: ::prost::alloc::string::String,
#[prost(uint32, tag = "10")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesTextSensorResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(uint32, tag = "9")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextSensorStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeLogsRequest {
#[prost(enumeration = "LogLevel", tag = "1")]
pub level: i32,
#[prost(bool, tag = "2")]
pub dump_config: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeLogsResponse {
#[prost(enumeration = "LogLevel", tag = "1")]
pub level: i32,
#[prost(bytes = "vec", tag = "3")]
pub message: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NoiseEncryptionSetKeyRequest {
#[prost(bytes = "vec", tag = "1")]
pub key: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NoiseEncryptionSetKeyResponse {
#[prost(bool, tag = "1")]
pub success: bool,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeHomeassistantServicesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomeassistantServiceMap {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomeassistantActionRequest {
#[prost(string, tag = "1")]
pub service: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub data: ::prost::alloc::vec::Vec<HomeassistantServiceMap>,
#[prost(message, repeated, tag = "3")]
pub data_template: ::prost::alloc::vec::Vec<HomeassistantServiceMap>,
#[prost(message, repeated, tag = "4")]
pub variables: ::prost::alloc::vec::Vec<HomeassistantServiceMap>,
#[prost(bool, tag = "5")]
pub is_event: bool,
#[prost(uint32, tag = "6")]
pub call_id: u32,
#[prost(bool, tag = "7")]
pub wants_response: bool,
#[prost(string, tag = "8")]
pub response_template: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomeassistantActionResponse {
#[prost(uint32, tag = "1")]
pub call_id: u32,
#[prost(bool, tag = "2")]
pub success: bool,
#[prost(string, tag = "3")]
pub error_message: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "4")]
pub response_data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeHomeAssistantStatesRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeHomeAssistantStateResponse {
#[prost(string, tag = "1")]
pub entity_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub attribute: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub once: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HomeAssistantStateResponse {
#[prost(string, tag = "1")]
pub entity_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub attribute: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTimeRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTimeResponse {
#[prost(fixed32, tag = "1")]
pub epoch_seconds: u32,
#[prost(string, tag = "2")]
pub timezone: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesServicesArgument {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "ServiceArgType", tag = "2")]
pub r#type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesServicesResponse {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(message, repeated, tag = "3")]
pub args: ::prost::alloc::vec::Vec<ListEntitiesServicesArgument>,
#[prost(enumeration = "SupportsResponseType", tag = "4")]
pub supports_response: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteServiceArgument {
#[prost(bool, tag = "1")]
pub bool: bool,
#[prost(int32, tag = "2")]
pub legacy_int: i32,
#[prost(float, tag = "3")]
pub float: f32,
#[prost(string, tag = "4")]
pub string: ::prost::alloc::string::String,
#[prost(sint32, tag = "5")]
pub int: i32,
#[prost(bool, repeated, packed = "false", tag = "6")]
pub bool_array: ::prost::alloc::vec::Vec<bool>,
#[prost(sint32, repeated, packed = "false", tag = "7")]
pub int_array: ::prost::alloc::vec::Vec<i32>,
#[prost(float, repeated, packed = "false", tag = "8")]
pub float_array: ::prost::alloc::vec::Vec<f32>,
#[prost(string, repeated, tag = "9")]
pub string_array: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteServiceRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(message, repeated, tag = "2")]
pub args: ::prost::alloc::vec::Vec<ExecuteServiceArgument>,
#[prost(uint32, tag = "3")]
pub call_id: u32,
#[prost(bool, tag = "4")]
pub return_response: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteServiceResponse {
#[prost(uint32, tag = "1")]
pub call_id: u32,
#[prost(bool, tag = "2")]
pub success: bool,
#[prost(string, tag = "3")]
pub error_message: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "4")]
pub response_data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesCameraResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub disabled_by_default: bool,
#[prost(string, tag = "6")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CameraImageResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "3")]
pub done: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CameraImageRequest {
#[prost(bool, tag = "1")]
pub single: bool,
#[prost(bool, tag = "2")]
pub stream: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesClimateResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub supports_current_temperature: bool,
#[prost(bool, tag = "6")]
pub supports_two_point_target_temperature: bool,
#[prost(enumeration = "ClimateMode", repeated, packed = "false", tag = "7")]
pub supported_modes: ::prost::alloc::vec::Vec<i32>,
#[prost(float, tag = "8")]
pub visual_min_temperature: f32,
#[prost(float, tag = "9")]
pub visual_max_temperature: f32,
#[prost(float, tag = "10")]
pub visual_target_temperature_step: f32,
#[deprecated]
#[prost(bool, tag = "11")]
pub legacy_supports_away: bool,
#[prost(bool, tag = "12")]
pub supports_action: bool,
#[prost(enumeration = "ClimateFanMode", repeated, packed = "false", tag = "13")]
pub supported_fan_modes: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "ClimateSwingMode", repeated, packed = "false", tag = "14")]
pub supported_swing_modes: ::prost::alloc::vec::Vec<i32>,
#[prost(string, repeated, tag = "15")]
pub supported_custom_fan_modes: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
#[prost(enumeration = "ClimatePreset", repeated, packed = "false", tag = "16")]
pub supported_presets: ::prost::alloc::vec::Vec<i32>,
#[prost(string, repeated, tag = "17")]
pub supported_custom_presets: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
#[prost(bool, tag = "18")]
pub disabled_by_default: bool,
#[prost(string, tag = "19")]
pub icon: ::prost::alloc::string::String,
#[prost(enumeration = "EntityCategory", tag = "20")]
pub entity_category: i32,
#[prost(float, tag = "21")]
pub visual_current_temperature_step: f32,
#[prost(bool, tag = "22")]
pub supports_current_humidity: bool,
#[prost(bool, tag = "23")]
pub supports_target_humidity: bool,
#[prost(float, tag = "24")]
pub visual_min_humidity: f32,
#[prost(float, tag = "25")]
pub visual_max_humidity: f32,
#[prost(uint32, tag = "26")]
pub device_id: u32,
#[prost(uint32, tag = "27")]
pub feature_flags: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClimateStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "ClimateMode", tag = "2")]
pub mode: i32,
#[prost(float, tag = "3")]
pub current_temperature: f32,
#[prost(float, tag = "4")]
pub target_temperature: f32,
#[prost(float, tag = "5")]
pub target_temperature_low: f32,
#[prost(float, tag = "6")]
pub target_temperature_high: f32,
#[deprecated]
#[prost(bool, tag = "7")]
pub unused_legacy_away: bool,
#[prost(enumeration = "ClimateAction", tag = "8")]
pub action: i32,
#[prost(enumeration = "ClimateFanMode", tag = "9")]
pub fan_mode: i32,
#[prost(enumeration = "ClimateSwingMode", tag = "10")]
pub swing_mode: i32,
#[prost(string, tag = "11")]
pub custom_fan_mode: ::prost::alloc::string::String,
#[prost(enumeration = "ClimatePreset", tag = "12")]
pub preset: i32,
#[prost(string, tag = "13")]
pub custom_preset: ::prost::alloc::string::String,
#[prost(float, tag = "14")]
pub current_humidity: f32,
#[prost(float, tag = "15")]
pub target_humidity: f32,
#[prost(uint32, tag = "16")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClimateCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_mode: bool,
#[prost(enumeration = "ClimateMode", tag = "3")]
pub mode: i32,
#[prost(bool, tag = "4")]
pub has_target_temperature: bool,
#[prost(float, tag = "5")]
pub target_temperature: f32,
#[prost(bool, tag = "6")]
pub has_target_temperature_low: bool,
#[prost(float, tag = "7")]
pub target_temperature_low: f32,
#[prost(bool, tag = "8")]
pub has_target_temperature_high: bool,
#[prost(float, tag = "9")]
pub target_temperature_high: f32,
#[deprecated]
#[prost(bool, tag = "10")]
pub unused_has_legacy_away: bool,
#[deprecated]
#[prost(bool, tag = "11")]
pub unused_legacy_away: bool,
#[prost(bool, tag = "12")]
pub has_fan_mode: bool,
#[prost(enumeration = "ClimateFanMode", tag = "13")]
pub fan_mode: i32,
#[prost(bool, tag = "14")]
pub has_swing_mode: bool,
#[prost(enumeration = "ClimateSwingMode", tag = "15")]
pub swing_mode: i32,
#[prost(bool, tag = "16")]
pub has_custom_fan_mode: bool,
#[prost(string, tag = "17")]
pub custom_fan_mode: ::prost::alloc::string::String,
#[prost(bool, tag = "18")]
pub has_preset: bool,
#[prost(enumeration = "ClimatePreset", tag = "19")]
pub preset: i32,
#[prost(bool, tag = "20")]
pub has_custom_preset: bool,
#[prost(string, tag = "21")]
pub custom_preset: ::prost::alloc::string::String,
#[prost(bool, tag = "22")]
pub has_target_humidity: bool,
#[prost(float, tag = "23")]
pub target_humidity: f32,
#[prost(uint32, tag = "24")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesWaterHeaterResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "6")]
pub entity_category: i32,
#[prost(uint32, tag = "7")]
pub device_id: u32,
#[prost(float, tag = "8")]
pub min_temperature: f32,
#[prost(float, tag = "9")]
pub max_temperature: f32,
#[prost(float, tag = "10")]
pub target_temperature_step: f32,
#[prost(enumeration = "WaterHeaterMode", repeated, packed = "false", tag = "11")]
pub supported_modes: ::prost::alloc::vec::Vec<i32>,
#[prost(uint32, tag = "12")]
pub supported_features: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WaterHeaterStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(float, tag = "2")]
pub current_temperature: f32,
#[prost(float, tag = "3")]
pub target_temperature: f32,
#[prost(enumeration = "WaterHeaterMode", tag = "4")]
pub mode: i32,
#[prost(uint32, tag = "5")]
pub device_id: u32,
#[prost(uint32, tag = "6")]
pub state: u32,
#[prost(float, tag = "7")]
pub target_temperature_low: f32,
#[prost(float, tag = "8")]
pub target_temperature_high: f32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WaterHeaterCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(uint32, tag = "2")]
pub has_fields: u32,
#[prost(enumeration = "WaterHeaterMode", tag = "3")]
pub mode: i32,
#[prost(float, tag = "4")]
pub target_temperature: f32,
#[prost(uint32, tag = "5")]
pub device_id: u32,
#[prost(uint32, tag = "6")]
pub state: u32,
#[prost(float, tag = "7")]
pub target_temperature_low: f32,
#[prost(float, tag = "8")]
pub target_temperature_high: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesNumberResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(float, tag = "6")]
pub min_value: f32,
#[prost(float, tag = "7")]
pub max_value: f32,
#[prost(float, tag = "8")]
pub step: f32,
#[prost(bool, tag = "9")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "10")]
pub entity_category: i32,
#[prost(string, tag = "11")]
pub unit_of_measurement: ::prost::alloc::string::String,
#[prost(enumeration = "NumberMode", tag = "12")]
pub mode: i32,
#[prost(string, tag = "13")]
pub device_class: ::prost::alloc::string::String,
#[prost(uint32, tag = "14")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NumberStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(float, tag = "2")]
pub state: f32,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NumberCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(float, tag = "2")]
pub state: f32,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesSelectResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "6")]
pub options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "7")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "8")]
pub entity_category: i32,
#[prost(uint32, tag = "9")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesSirenResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(string, repeated, tag = "7")]
pub tones: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "8")]
pub supports_duration: bool,
#[prost(bool, tag = "9")]
pub supports_volume: bool,
#[prost(enumeration = "EntityCategory", tag = "10")]
pub entity_category: i32,
#[prost(uint32, tag = "11")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SirenStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub state: bool,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SirenCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_state: bool,
#[prost(bool, tag = "3")]
pub state: bool,
#[prost(bool, tag = "4")]
pub has_tone: bool,
#[prost(string, tag = "5")]
pub tone: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub has_duration: bool,
#[prost(uint32, tag = "7")]
pub duration: u32,
#[prost(bool, tag = "8")]
pub has_volume: bool,
#[prost(float, tag = "9")]
pub volume: f32,
#[prost(uint32, tag = "10")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesLockResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(bool, tag = "8")]
pub assumed_state: bool,
#[prost(bool, tag = "9")]
pub supports_open: bool,
#[prost(bool, tag = "10")]
pub requires_code: bool,
#[prost(string, tag = "11")]
pub code_format: ::prost::alloc::string::String,
#[prost(uint32, tag = "12")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LockStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "LockState", tag = "2")]
pub state: i32,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "LockCommand", tag = "2")]
pub command: i32,
#[prost(bool, tag = "3")]
pub has_code: bool,
#[prost(string, tag = "4")]
pub code: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesButtonResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(uint32, tag = "9")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ButtonCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(uint32, tag = "2")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MediaPlayerSupportedFormat {
#[prost(string, tag = "1")]
pub format: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub sample_rate: u32,
#[prost(uint32, tag = "3")]
pub num_channels: u32,
#[prost(enumeration = "MediaPlayerFormatPurpose", tag = "4")]
pub purpose: i32,
#[prost(uint32, tag = "5")]
pub sample_bytes: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesMediaPlayerResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(bool, tag = "8")]
pub supports_pause: bool,
#[prost(message, repeated, tag = "9")]
pub supported_formats: ::prost::alloc::vec::Vec<MediaPlayerSupportedFormat>,
#[prost(uint32, tag = "10")]
pub device_id: u32,
#[prost(uint32, tag = "11")]
pub feature_flags: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MediaPlayerStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "MediaPlayerState", tag = "2")]
pub state: i32,
#[prost(float, tag = "3")]
pub volume: f32,
#[prost(bool, tag = "4")]
pub muted: bool,
#[prost(uint32, tag = "5")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MediaPlayerCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_command: bool,
#[prost(enumeration = "MediaPlayerCommand", tag = "3")]
pub command: i32,
#[prost(bool, tag = "4")]
pub has_volume: bool,
#[prost(float, tag = "5")]
pub volume: f32,
#[prost(bool, tag = "6")]
pub has_media_url: bool,
#[prost(string, tag = "7")]
pub media_url: ::prost::alloc::string::String,
#[prost(bool, tag = "8")]
pub has_announcement: bool,
#[prost(bool, tag = "9")]
pub announcement: bool,
#[prost(uint32, tag = "10")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeBluetoothLeAdvertisementsRequest {
#[prost(uint32, tag = "1")]
pub flags: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothServiceData {
#[prost(string, tag = "1")]
pub uuid: ::prost::alloc::string::String,
#[deprecated]
#[prost(uint32, repeated, packed = "false", tag = "2")]
pub legacy_data: ::prost::alloc::vec::Vec<u32>,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothLeAdvertisementResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(bytes = "vec", tag = "2")]
pub name: ::prost::alloc::vec::Vec<u8>,
#[prost(sint32, tag = "3")]
pub rssi: i32,
#[prost(string, repeated, tag = "4")]
pub service_uuids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub service_data: ::prost::alloc::vec::Vec<BluetoothServiceData>,
#[prost(message, repeated, tag = "6")]
pub manufacturer_data: ::prost::alloc::vec::Vec<BluetoothServiceData>,
#[prost(uint32, tag = "7")]
pub address_type: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothLeRawAdvertisement {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(sint32, tag = "2")]
pub rssi: i32,
#[prost(uint32, tag = "3")]
pub address_type: u32,
#[prost(bytes = "vec", tag = "4")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothLeRawAdvertisementsResponse {
#[prost(message, repeated, tag = "1")]
pub advertisements: ::prost::alloc::vec::Vec<BluetoothLeRawAdvertisement>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothDeviceRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(enumeration = "BluetoothDeviceRequestType", tag = "2")]
pub request_type: i32,
#[prost(bool, tag = "3")]
pub has_address_type: bool,
#[prost(uint32, tag = "4")]
pub address_type: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothDeviceConnectionResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(bool, tag = "2")]
pub connected: bool,
#[prost(uint32, tag = "3")]
pub mtu: u32,
#[prost(int32, tag = "4")]
pub error: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattGetServicesRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattDescriptor {
#[prost(uint64, repeated, packed = "false", tag = "1")]
pub uuid: ::prost::alloc::vec::Vec<u64>,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(uint32, tag = "3")]
pub short_uuid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattCharacteristic {
#[prost(uint64, repeated, packed = "false", tag = "1")]
pub uuid: ::prost::alloc::vec::Vec<u64>,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(uint32, tag = "3")]
pub properties: u32,
#[prost(message, repeated, tag = "4")]
pub descriptors: ::prost::alloc::vec::Vec<BluetoothGattDescriptor>,
#[prost(uint32, tag = "5")]
pub short_uuid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattService {
#[prost(uint64, repeated, packed = "false", tag = "1")]
pub uuid: ::prost::alloc::vec::Vec<u64>,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(message, repeated, tag = "3")]
pub characteristics: ::prost::alloc::vec::Vec<BluetoothGattCharacteristic>,
#[prost(uint32, tag = "4")]
pub short_uuid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattGetServicesResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(message, repeated, tag = "2")]
pub services: ::prost::alloc::vec::Vec<BluetoothGattService>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattGetServicesDoneResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattReadRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattReadResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattWriteRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(bool, tag = "3")]
pub response: bool,
#[prost(bytes = "vec", tag = "4")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattReadDescriptorRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattWriteDescriptorRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattNotifyRequest {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(bool, tag = "3")]
pub enable: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothGattNotifyDataResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeBluetoothConnectionsFreeRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BluetoothConnectionsFreeResponse {
#[prost(uint32, tag = "1")]
pub free: u32,
#[prost(uint32, tag = "2")]
pub limit: u32,
#[prost(uint64, repeated, packed = "false", tag = "3")]
pub allocated: ::prost::alloc::vec::Vec<u64>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattErrorResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
#[prost(int32, tag = "3")]
pub error: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattWriteResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothGattNotifyResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(uint32, tag = "2")]
pub handle: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothDevicePairingResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(bool, tag = "2")]
pub paired: bool,
#[prost(int32, tag = "3")]
pub error: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothDeviceUnpairingResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(bool, tag = "2")]
pub success: bool,
#[prost(int32, tag = "3")]
pub error: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnsubscribeBluetoothLeAdvertisementsRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothDeviceClearCacheResponse {
#[prost(uint64, tag = "1")]
pub address: u64,
#[prost(bool, tag = "2")]
pub success: bool,
#[prost(int32, tag = "3")]
pub error: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothScannerStateResponse {
#[prost(enumeration = "BluetoothScannerState", tag = "1")]
pub state: i32,
#[prost(enumeration = "BluetoothScannerMode", tag = "2")]
pub mode: i32,
#[prost(enumeration = "BluetoothScannerMode", tag = "3")]
pub configured_mode: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BluetoothScannerSetModeRequest {
#[prost(enumeration = "BluetoothScannerMode", tag = "1")]
pub mode: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubscribeVoiceAssistantRequest {
#[prost(bool, tag = "1")]
pub subscribe: bool,
#[prost(uint32, tag = "2")]
pub flags: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VoiceAssistantAudioSettings {
#[prost(uint32, tag = "1")]
pub noise_suppression_level: u32,
#[prost(uint32, tag = "2")]
pub auto_gain: u32,
#[prost(float, tag = "3")]
pub volume_multiplier: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantRequest {
#[prost(bool, tag = "1")]
pub start: bool,
#[prost(string, tag = "2")]
pub conversation_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub flags: u32,
#[prost(message, optional, tag = "4")]
pub audio_settings: ::core::option::Option<VoiceAssistantAudioSettings>,
#[prost(string, tag = "5")]
pub wake_word_phrase: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VoiceAssistantResponse {
#[prost(uint32, tag = "1")]
pub port: u32,
#[prost(bool, tag = "2")]
pub error: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantEventData {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantEventResponse {
#[prost(enumeration = "VoiceAssistantEvent", tag = "1")]
pub event_type: i32,
#[prost(message, repeated, tag = "2")]
pub data: ::prost::alloc::vec::Vec<VoiceAssistantEventData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantAudio {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "2")]
pub end: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantTimerEventResponse {
#[prost(enumeration = "VoiceAssistantTimerEvent", tag = "1")]
pub event_type: i32,
#[prost(string, tag = "2")]
pub timer_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub total_seconds: u32,
#[prost(uint32, tag = "5")]
pub seconds_left: u32,
#[prost(bool, tag = "6")]
pub is_active: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantAnnounceRequest {
#[prost(string, tag = "1")]
pub media_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub preannounce_media_id: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub start_conversation: bool,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VoiceAssistantAnnounceFinished {
#[prost(bool, tag = "1")]
pub success: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantWakeWord {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub wake_word: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub trained_languages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantExternalWakeWord {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub wake_word: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub trained_languages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub model_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub model_size: u32,
#[prost(string, tag = "6")]
pub model_hash: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub url: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantConfigurationRequest {
#[prost(message, repeated, tag = "1")]
pub external_wake_words: ::prost::alloc::vec::Vec<VoiceAssistantExternalWakeWord>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantConfigurationResponse {
#[prost(message, repeated, tag = "1")]
pub available_wake_words: ::prost::alloc::vec::Vec<VoiceAssistantWakeWord>,
#[prost(string, repeated, tag = "2")]
pub active_wake_words: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "3")]
pub max_active_wake_words: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoiceAssistantSetConfiguration {
#[prost(string, repeated, tag = "1")]
pub active_wake_words: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesAlarmControlPanelResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub supported_features: u32,
#[prost(bool, tag = "9")]
pub requires_code: bool,
#[prost(bool, tag = "10")]
pub requires_code_to_arm: bool,
#[prost(uint32, tag = "11")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlarmControlPanelStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "AlarmControlPanelState", tag = "2")]
pub state: i32,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlarmControlPanelCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "AlarmControlPanelStateCommand", tag = "2")]
pub command: i32,
#[prost(string, tag = "3")]
pub code: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesTextResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub min_length: u32,
#[prost(uint32, tag = "9")]
pub max_length: u32,
#[prost(string, tag = "10")]
pub pattern: ::prost::alloc::string::String,
#[prost(enumeration = "TextMode", tag = "11")]
pub mode: i32,
#[prost(uint32, tag = "12")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub missing_state: bool,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub state: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesDateResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DateStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub missing_state: bool,
#[prost(uint32, tag = "3")]
pub year: u32,
#[prost(uint32, tag = "4")]
pub month: u32,
#[prost(uint32, tag = "5")]
pub day: u32,
#[prost(uint32, tag = "6")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DateCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(uint32, tag = "2")]
pub year: u32,
#[prost(uint32, tag = "3")]
pub month: u32,
#[prost(uint32, tag = "4")]
pub day: u32,
#[prost(uint32, tag = "5")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesTimeResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub missing_state: bool,
#[prost(uint32, tag = "3")]
pub hour: u32,
#[prost(uint32, tag = "4")]
pub minute: u32,
#[prost(uint32, tag = "5")]
pub second: u32,
#[prost(uint32, tag = "6")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(uint32, tag = "2")]
pub hour: u32,
#[prost(uint32, tag = "3")]
pub minute: u32,
#[prost(uint32, tag = "4")]
pub second: u32,
#[prost(uint32, tag = "5")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesEventResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "9")]
pub event_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "10")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(string, tag = "2")]
pub event_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesValveResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(bool, tag = "9")]
pub assumed_state: bool,
#[prost(bool, tag = "10")]
pub supports_position: bool,
#[prost(bool, tag = "11")]
pub supports_stop: bool,
#[prost(uint32, tag = "12")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ValveStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(float, tag = "2")]
pub position: f32,
#[prost(enumeration = "ValveOperation", tag = "3")]
pub current_operation: i32,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ValveCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub has_position: bool,
#[prost(float, tag = "3")]
pub position: f32,
#[prost(bool, tag = "4")]
pub stop: bool,
#[prost(uint32, tag = "5")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesDateTimeResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(uint32, tag = "8")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DateTimeStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub missing_state: bool,
#[prost(fixed32, tag = "3")]
pub epoch_seconds: u32,
#[prost(uint32, tag = "4")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DateTimeCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(fixed32, tag = "2")]
pub epoch_seconds: u32,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesUpdateResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "7")]
pub entity_category: i32,
#[prost(string, tag = "8")]
pub device_class: ::prost::alloc::string::String,
#[prost(uint32, tag = "9")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateStateResponse {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(bool, tag = "2")]
pub missing_state: bool,
#[prost(bool, tag = "3")]
pub in_progress: bool,
#[prost(bool, tag = "4")]
pub has_progress: bool,
#[prost(float, tag = "5")]
pub progress: f32,
#[prost(string, tag = "6")]
pub current_version: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub latest_version: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub release_summary: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub release_url: ::prost::alloc::string::String,
#[prost(uint32, tag = "11")]
pub device_id: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateCommandRequest {
#[prost(fixed32, tag = "1")]
pub key: u32,
#[prost(enumeration = "UpdateCommand", tag = "2")]
pub command: i32,
#[prost(uint32, tag = "3")]
pub device_id: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ZWaveProxyFrame {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ZWaveProxyRequest {
#[prost(enumeration = "ZWaveProxyRequestType", tag = "1")]
pub r#type: i32,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEntitiesInfraredResponse {
#[prost(string, tag = "1")]
pub object_id: ::prost::alloc::string::String,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub icon: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub disabled_by_default: bool,
#[prost(enumeration = "EntityCategory", tag = "6")]
pub entity_category: i32,
#[prost(uint32, tag = "7")]
pub device_id: u32,
#[prost(uint32, tag = "8")]
pub capabilities: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InfraredRfTransmitRawTimingsRequest {
#[prost(uint32, tag = "1")]
pub device_id: u32,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(uint32, tag = "3")]
pub carrier_frequency: u32,
#[prost(uint32, tag = "4")]
pub repeat_count: u32,
#[prost(sint32, repeated, tag = "5")]
pub timings: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InfraredRfReceiveEvent {
#[prost(uint32, tag = "1")]
pub device_id: u32,
#[prost(fixed32, tag = "2")]
pub key: u32,
#[prost(sint32, repeated, tag = "3")]
pub timings: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EntityCategory {
None = 0,
Config = 1,
Diagnostic = 2,
}
impl EntityCategory {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "ENTITY_CATEGORY_NONE",
Self::Config => "ENTITY_CATEGORY_CONFIG",
Self::Diagnostic => "ENTITY_CATEGORY_DIAGNOSTIC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ENTITY_CATEGORY_NONE" => Some(Self::None),
"ENTITY_CATEGORY_CONFIG" => Some(Self::Config),
"ENTITY_CATEGORY_DIAGNOSTIC" => Some(Self::Diagnostic),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LegacyCoverState {
Open = 0,
Closed = 1,
}
impl LegacyCoverState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Open => "LEGACY_COVER_STATE_OPEN",
Self::Closed => "LEGACY_COVER_STATE_CLOSED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LEGACY_COVER_STATE_OPEN" => Some(Self::Open),
"LEGACY_COVER_STATE_CLOSED" => Some(Self::Closed),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CoverOperation {
Idle = 0,
IsOpening = 1,
IsClosing = 2,
}
impl CoverOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Idle => "COVER_OPERATION_IDLE",
Self::IsOpening => "COVER_OPERATION_IS_OPENING",
Self::IsClosing => "COVER_OPERATION_IS_CLOSING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COVER_OPERATION_IDLE" => Some(Self::Idle),
"COVER_OPERATION_IS_OPENING" => Some(Self::IsOpening),
"COVER_OPERATION_IS_CLOSING" => Some(Self::IsClosing),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LegacyCoverCommand {
Open = 0,
Close = 1,
Stop = 2,
}
impl LegacyCoverCommand {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Open => "LEGACY_COVER_COMMAND_OPEN",
Self::Close => "LEGACY_COVER_COMMAND_CLOSE",
Self::Stop => "LEGACY_COVER_COMMAND_STOP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LEGACY_COVER_COMMAND_OPEN" => Some(Self::Open),
"LEGACY_COVER_COMMAND_CLOSE" => Some(Self::Close),
"LEGACY_COVER_COMMAND_STOP" => Some(Self::Stop),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FanSpeed {
Low = 0,
Medium = 1,
High = 2,
}
impl FanSpeed {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Low => "FAN_SPEED_LOW",
Self::Medium => "FAN_SPEED_MEDIUM",
Self::High => "FAN_SPEED_HIGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FAN_SPEED_LOW" => Some(Self::Low),
"FAN_SPEED_MEDIUM" => Some(Self::Medium),
"FAN_SPEED_HIGH" => Some(Self::High),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FanDirection {
Forward = 0,
Reverse = 1,
}
impl FanDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Forward => "FAN_DIRECTION_FORWARD",
Self::Reverse => "FAN_DIRECTION_REVERSE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FAN_DIRECTION_FORWARD" => Some(Self::Forward),
"FAN_DIRECTION_REVERSE" => Some(Self::Reverse),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ColorMode {
Unknown = 0,
OnOff = 1,
LegacyBrightness = 2,
Brightness = 3,
White = 7,
ColorTemperature = 11,
ColdWarmWhite = 19,
Rgb = 35,
RgbWhite = 39,
RgbColorTemperature = 47,
RgbColdWarmWhite = 51,
}
impl ColorMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "COLOR_MODE_UNKNOWN",
Self::OnOff => "COLOR_MODE_ON_OFF",
Self::LegacyBrightness => "COLOR_MODE_LEGACY_BRIGHTNESS",
Self::Brightness => "COLOR_MODE_BRIGHTNESS",
Self::White => "COLOR_MODE_WHITE",
Self::ColorTemperature => "COLOR_MODE_COLOR_TEMPERATURE",
Self::ColdWarmWhite => "COLOR_MODE_COLD_WARM_WHITE",
Self::Rgb => "COLOR_MODE_RGB",
Self::RgbWhite => "COLOR_MODE_RGB_WHITE",
Self::RgbColorTemperature => "COLOR_MODE_RGB_COLOR_TEMPERATURE",
Self::RgbColdWarmWhite => "COLOR_MODE_RGB_COLD_WARM_WHITE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COLOR_MODE_UNKNOWN" => Some(Self::Unknown),
"COLOR_MODE_ON_OFF" => Some(Self::OnOff),
"COLOR_MODE_LEGACY_BRIGHTNESS" => Some(Self::LegacyBrightness),
"COLOR_MODE_BRIGHTNESS" => Some(Self::Brightness),
"COLOR_MODE_WHITE" => Some(Self::White),
"COLOR_MODE_COLOR_TEMPERATURE" => Some(Self::ColorTemperature),
"COLOR_MODE_COLD_WARM_WHITE" => Some(Self::ColdWarmWhite),
"COLOR_MODE_RGB" => Some(Self::Rgb),
"COLOR_MODE_RGB_WHITE" => Some(Self::RgbWhite),
"COLOR_MODE_RGB_COLOR_TEMPERATURE" => Some(Self::RgbColorTemperature),
"COLOR_MODE_RGB_COLD_WARM_WHITE" => Some(Self::RgbColdWarmWhite),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SensorStateClass {
StateClassNone = 0,
StateClassMeasurement = 1,
StateClassTotalIncreasing = 2,
StateClassTotal = 3,
StateClassMeasurementAngle = 4,
}
impl SensorStateClass {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::StateClassNone => "STATE_CLASS_NONE",
Self::StateClassMeasurement => "STATE_CLASS_MEASUREMENT",
Self::StateClassTotalIncreasing => "STATE_CLASS_TOTAL_INCREASING",
Self::StateClassTotal => "STATE_CLASS_TOTAL",
Self::StateClassMeasurementAngle => "STATE_CLASS_MEASUREMENT_ANGLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_CLASS_NONE" => Some(Self::StateClassNone),
"STATE_CLASS_MEASUREMENT" => Some(Self::StateClassMeasurement),
"STATE_CLASS_TOTAL_INCREASING" => Some(Self::StateClassTotalIncreasing),
"STATE_CLASS_TOTAL" => Some(Self::StateClassTotal),
"STATE_CLASS_MEASUREMENT_ANGLE" => Some(Self::StateClassMeasurementAngle),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SensorLastResetType {
LastResetNone = 0,
LastResetNever = 1,
LastResetAuto = 2,
}
impl SensorLastResetType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::LastResetNone => "LAST_RESET_NONE",
Self::LastResetNever => "LAST_RESET_NEVER",
Self::LastResetAuto => "LAST_RESET_AUTO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LAST_RESET_NONE" => Some(Self::LastResetNone),
"LAST_RESET_NEVER" => Some(Self::LastResetNever),
"LAST_RESET_AUTO" => Some(Self::LastResetAuto),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LogLevel {
None = 0,
Error = 1,
Warn = 2,
Info = 3,
Config = 4,
Debug = 5,
Verbose = 6,
VeryVerbose = 7,
}
impl LogLevel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "LOG_LEVEL_NONE",
Self::Error => "LOG_LEVEL_ERROR",
Self::Warn => "LOG_LEVEL_WARN",
Self::Info => "LOG_LEVEL_INFO",
Self::Config => "LOG_LEVEL_CONFIG",
Self::Debug => "LOG_LEVEL_DEBUG",
Self::Verbose => "LOG_LEVEL_VERBOSE",
Self::VeryVerbose => "LOG_LEVEL_VERY_VERBOSE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOG_LEVEL_NONE" => Some(Self::None),
"LOG_LEVEL_ERROR" => Some(Self::Error),
"LOG_LEVEL_WARN" => Some(Self::Warn),
"LOG_LEVEL_INFO" => Some(Self::Info),
"LOG_LEVEL_CONFIG" => Some(Self::Config),
"LOG_LEVEL_DEBUG" => Some(Self::Debug),
"LOG_LEVEL_VERBOSE" => Some(Self::Verbose),
"LOG_LEVEL_VERY_VERBOSE" => Some(Self::VeryVerbose),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ServiceArgType {
Bool = 0,
Int = 1,
Float = 2,
String = 3,
BoolArray = 4,
IntArray = 5,
FloatArray = 6,
StringArray = 7,
}
impl ServiceArgType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Bool => "SERVICE_ARG_TYPE_BOOL",
Self::Int => "SERVICE_ARG_TYPE_INT",
Self::Float => "SERVICE_ARG_TYPE_FLOAT",
Self::String => "SERVICE_ARG_TYPE_STRING",
Self::BoolArray => "SERVICE_ARG_TYPE_BOOL_ARRAY",
Self::IntArray => "SERVICE_ARG_TYPE_INT_ARRAY",
Self::FloatArray => "SERVICE_ARG_TYPE_FLOAT_ARRAY",
Self::StringArray => "SERVICE_ARG_TYPE_STRING_ARRAY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SERVICE_ARG_TYPE_BOOL" => Some(Self::Bool),
"SERVICE_ARG_TYPE_INT" => Some(Self::Int),
"SERVICE_ARG_TYPE_FLOAT" => Some(Self::Float),
"SERVICE_ARG_TYPE_STRING" => Some(Self::String),
"SERVICE_ARG_TYPE_BOOL_ARRAY" => Some(Self::BoolArray),
"SERVICE_ARG_TYPE_INT_ARRAY" => Some(Self::IntArray),
"SERVICE_ARG_TYPE_FLOAT_ARRAY" => Some(Self::FloatArray),
"SERVICE_ARG_TYPE_STRING_ARRAY" => Some(Self::StringArray),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SupportsResponseType {
SupportsResponseNone = 0,
SupportsResponseOptional = 1,
SupportsResponseOnly = 2,
SupportsResponseStatus = 100,
}
impl SupportsResponseType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SupportsResponseNone => "SUPPORTS_RESPONSE_NONE",
Self::SupportsResponseOptional => "SUPPORTS_RESPONSE_OPTIONAL",
Self::SupportsResponseOnly => "SUPPORTS_RESPONSE_ONLY",
Self::SupportsResponseStatus => "SUPPORTS_RESPONSE_STATUS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SUPPORTS_RESPONSE_NONE" => Some(Self::SupportsResponseNone),
"SUPPORTS_RESPONSE_OPTIONAL" => Some(Self::SupportsResponseOptional),
"SUPPORTS_RESPONSE_ONLY" => Some(Self::SupportsResponseOnly),
"SUPPORTS_RESPONSE_STATUS" => Some(Self::SupportsResponseStatus),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClimateMode {
Off = 0,
HeatCool = 1,
Cool = 2,
Heat = 3,
FanOnly = 4,
Dry = 5,
Auto = 6,
}
impl ClimateMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Off => "CLIMATE_MODE_OFF",
Self::HeatCool => "CLIMATE_MODE_HEAT_COOL",
Self::Cool => "CLIMATE_MODE_COOL",
Self::Heat => "CLIMATE_MODE_HEAT",
Self::FanOnly => "CLIMATE_MODE_FAN_ONLY",
Self::Dry => "CLIMATE_MODE_DRY",
Self::Auto => "CLIMATE_MODE_AUTO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIMATE_MODE_OFF" => Some(Self::Off),
"CLIMATE_MODE_HEAT_COOL" => Some(Self::HeatCool),
"CLIMATE_MODE_COOL" => Some(Self::Cool),
"CLIMATE_MODE_HEAT" => Some(Self::Heat),
"CLIMATE_MODE_FAN_ONLY" => Some(Self::FanOnly),
"CLIMATE_MODE_DRY" => Some(Self::Dry),
"CLIMATE_MODE_AUTO" => Some(Self::Auto),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClimateFanMode {
ClimateFanOn = 0,
ClimateFanOff = 1,
ClimateFanAuto = 2,
ClimateFanLow = 3,
ClimateFanMedium = 4,
ClimateFanHigh = 5,
ClimateFanMiddle = 6,
ClimateFanFocus = 7,
ClimateFanDiffuse = 8,
ClimateFanQuiet = 9,
}
impl ClimateFanMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ClimateFanOn => "CLIMATE_FAN_ON",
Self::ClimateFanOff => "CLIMATE_FAN_OFF",
Self::ClimateFanAuto => "CLIMATE_FAN_AUTO",
Self::ClimateFanLow => "CLIMATE_FAN_LOW",
Self::ClimateFanMedium => "CLIMATE_FAN_MEDIUM",
Self::ClimateFanHigh => "CLIMATE_FAN_HIGH",
Self::ClimateFanMiddle => "CLIMATE_FAN_MIDDLE",
Self::ClimateFanFocus => "CLIMATE_FAN_FOCUS",
Self::ClimateFanDiffuse => "CLIMATE_FAN_DIFFUSE",
Self::ClimateFanQuiet => "CLIMATE_FAN_QUIET",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIMATE_FAN_ON" => Some(Self::ClimateFanOn),
"CLIMATE_FAN_OFF" => Some(Self::ClimateFanOff),
"CLIMATE_FAN_AUTO" => Some(Self::ClimateFanAuto),
"CLIMATE_FAN_LOW" => Some(Self::ClimateFanLow),
"CLIMATE_FAN_MEDIUM" => Some(Self::ClimateFanMedium),
"CLIMATE_FAN_HIGH" => Some(Self::ClimateFanHigh),
"CLIMATE_FAN_MIDDLE" => Some(Self::ClimateFanMiddle),
"CLIMATE_FAN_FOCUS" => Some(Self::ClimateFanFocus),
"CLIMATE_FAN_DIFFUSE" => Some(Self::ClimateFanDiffuse),
"CLIMATE_FAN_QUIET" => Some(Self::ClimateFanQuiet),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClimateSwingMode {
ClimateSwingOff = 0,
ClimateSwingBoth = 1,
ClimateSwingVertical = 2,
ClimateSwingHorizontal = 3,
}
impl ClimateSwingMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ClimateSwingOff => "CLIMATE_SWING_OFF",
Self::ClimateSwingBoth => "CLIMATE_SWING_BOTH",
Self::ClimateSwingVertical => "CLIMATE_SWING_VERTICAL",
Self::ClimateSwingHorizontal => "CLIMATE_SWING_HORIZONTAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIMATE_SWING_OFF" => Some(Self::ClimateSwingOff),
"CLIMATE_SWING_BOTH" => Some(Self::ClimateSwingBoth),
"CLIMATE_SWING_VERTICAL" => Some(Self::ClimateSwingVertical),
"CLIMATE_SWING_HORIZONTAL" => Some(Self::ClimateSwingHorizontal),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClimateAction {
Off = 0,
Cooling = 2,
Heating = 3,
Idle = 4,
Drying = 5,
Fan = 6,
}
impl ClimateAction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Off => "CLIMATE_ACTION_OFF",
Self::Cooling => "CLIMATE_ACTION_COOLING",
Self::Heating => "CLIMATE_ACTION_HEATING",
Self::Idle => "CLIMATE_ACTION_IDLE",
Self::Drying => "CLIMATE_ACTION_DRYING",
Self::Fan => "CLIMATE_ACTION_FAN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIMATE_ACTION_OFF" => Some(Self::Off),
"CLIMATE_ACTION_COOLING" => Some(Self::Cooling),
"CLIMATE_ACTION_HEATING" => Some(Self::Heating),
"CLIMATE_ACTION_IDLE" => Some(Self::Idle),
"CLIMATE_ACTION_DRYING" => Some(Self::Drying),
"CLIMATE_ACTION_FAN" => Some(Self::Fan),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClimatePreset {
None = 0,
Home = 1,
Away = 2,
Boost = 3,
Comfort = 4,
Eco = 5,
Sleep = 6,
Activity = 7,
}
impl ClimatePreset {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "CLIMATE_PRESET_NONE",
Self::Home => "CLIMATE_PRESET_HOME",
Self::Away => "CLIMATE_PRESET_AWAY",
Self::Boost => "CLIMATE_PRESET_BOOST",
Self::Comfort => "CLIMATE_PRESET_COMFORT",
Self::Eco => "CLIMATE_PRESET_ECO",
Self::Sleep => "CLIMATE_PRESET_SLEEP",
Self::Activity => "CLIMATE_PRESET_ACTIVITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIMATE_PRESET_NONE" => Some(Self::None),
"CLIMATE_PRESET_HOME" => Some(Self::Home),
"CLIMATE_PRESET_AWAY" => Some(Self::Away),
"CLIMATE_PRESET_BOOST" => Some(Self::Boost),
"CLIMATE_PRESET_COMFORT" => Some(Self::Comfort),
"CLIMATE_PRESET_ECO" => Some(Self::Eco),
"CLIMATE_PRESET_SLEEP" => Some(Self::Sleep),
"CLIMATE_PRESET_ACTIVITY" => Some(Self::Activity),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WaterHeaterMode {
Off = 0,
Eco = 1,
Electric = 2,
Performance = 3,
HighDemand = 4,
HeatPump = 5,
Gas = 6,
}
impl WaterHeaterMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Off => "WATER_HEATER_MODE_OFF",
Self::Eco => "WATER_HEATER_MODE_ECO",
Self::Electric => "WATER_HEATER_MODE_ELECTRIC",
Self::Performance => "WATER_HEATER_MODE_PERFORMANCE",
Self::HighDemand => "WATER_HEATER_MODE_HIGH_DEMAND",
Self::HeatPump => "WATER_HEATER_MODE_HEAT_PUMP",
Self::Gas => "WATER_HEATER_MODE_GAS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WATER_HEATER_MODE_OFF" => Some(Self::Off),
"WATER_HEATER_MODE_ECO" => Some(Self::Eco),
"WATER_HEATER_MODE_ELECTRIC" => Some(Self::Electric),
"WATER_HEATER_MODE_PERFORMANCE" => Some(Self::Performance),
"WATER_HEATER_MODE_HIGH_DEMAND" => Some(Self::HighDemand),
"WATER_HEATER_MODE_HEAT_PUMP" => Some(Self::HeatPump),
"WATER_HEATER_MODE_GAS" => Some(Self::Gas),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WaterHeaterCommandHasField {
WaterHeaterCommandHasNone = 0,
WaterHeaterCommandHasMode = 1,
WaterHeaterCommandHasTargetTemperature = 2,
WaterHeaterCommandHasState = 4,
WaterHeaterCommandHasTargetTemperatureLow = 8,
WaterHeaterCommandHasTargetTemperatureHigh = 16,
}
impl WaterHeaterCommandHasField {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::WaterHeaterCommandHasNone => "WATER_HEATER_COMMAND_HAS_NONE",
Self::WaterHeaterCommandHasMode => "WATER_HEATER_COMMAND_HAS_MODE",
Self::WaterHeaterCommandHasTargetTemperature => {
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE"
}
Self::WaterHeaterCommandHasState => "WATER_HEATER_COMMAND_HAS_STATE",
Self::WaterHeaterCommandHasTargetTemperatureLow => {
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE_LOW"
}
Self::WaterHeaterCommandHasTargetTemperatureHigh => {
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE_HIGH"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WATER_HEATER_COMMAND_HAS_NONE" => Some(Self::WaterHeaterCommandHasNone),
"WATER_HEATER_COMMAND_HAS_MODE" => Some(Self::WaterHeaterCommandHasMode),
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE" => {
Some(Self::WaterHeaterCommandHasTargetTemperature)
}
"WATER_HEATER_COMMAND_HAS_STATE" => Some(Self::WaterHeaterCommandHasState),
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE_LOW" => {
Some(Self::WaterHeaterCommandHasTargetTemperatureLow)
}
"WATER_HEATER_COMMAND_HAS_TARGET_TEMPERATURE_HIGH" => {
Some(Self::WaterHeaterCommandHasTargetTemperatureHigh)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NumberMode {
Auto = 0,
Box = 1,
Slider = 2,
}
impl NumberMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Auto => "NUMBER_MODE_AUTO",
Self::Box => "NUMBER_MODE_BOX",
Self::Slider => "NUMBER_MODE_SLIDER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NUMBER_MODE_AUTO" => Some(Self::Auto),
"NUMBER_MODE_BOX" => Some(Self::Box),
"NUMBER_MODE_SLIDER" => Some(Self::Slider),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LockState {
None = 0,
Locked = 1,
Unlocked = 2,
Jammed = 3,
Locking = 4,
Unlocking = 5,
}
impl LockState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "LOCK_STATE_NONE",
Self::Locked => "LOCK_STATE_LOCKED",
Self::Unlocked => "LOCK_STATE_UNLOCKED",
Self::Jammed => "LOCK_STATE_JAMMED",
Self::Locking => "LOCK_STATE_LOCKING",
Self::Unlocking => "LOCK_STATE_UNLOCKING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOCK_STATE_NONE" => Some(Self::None),
"LOCK_STATE_LOCKED" => Some(Self::Locked),
"LOCK_STATE_UNLOCKED" => Some(Self::Unlocked),
"LOCK_STATE_JAMMED" => Some(Self::Jammed),
"LOCK_STATE_LOCKING" => Some(Self::Locking),
"LOCK_STATE_UNLOCKING" => Some(Self::Unlocking),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LockCommand {
LockUnlock = 0,
LockLock = 1,
LockOpen = 2,
}
impl LockCommand {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::LockUnlock => "LOCK_UNLOCK",
Self::LockLock => "LOCK_LOCK",
Self::LockOpen => "LOCK_OPEN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOCK_UNLOCK" => Some(Self::LockUnlock),
"LOCK_LOCK" => Some(Self::LockLock),
"LOCK_OPEN" => Some(Self::LockOpen),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MediaPlayerState {
None = 0,
Idle = 1,
Playing = 2,
Paused = 3,
Announcing = 4,
Off = 5,
On = 6,
}
impl MediaPlayerState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "MEDIA_PLAYER_STATE_NONE",
Self::Idle => "MEDIA_PLAYER_STATE_IDLE",
Self::Playing => "MEDIA_PLAYER_STATE_PLAYING",
Self::Paused => "MEDIA_PLAYER_STATE_PAUSED",
Self::Announcing => "MEDIA_PLAYER_STATE_ANNOUNCING",
Self::Off => "MEDIA_PLAYER_STATE_OFF",
Self::On => "MEDIA_PLAYER_STATE_ON",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_PLAYER_STATE_NONE" => Some(Self::None),
"MEDIA_PLAYER_STATE_IDLE" => Some(Self::Idle),
"MEDIA_PLAYER_STATE_PLAYING" => Some(Self::Playing),
"MEDIA_PLAYER_STATE_PAUSED" => Some(Self::Paused),
"MEDIA_PLAYER_STATE_ANNOUNCING" => Some(Self::Announcing),
"MEDIA_PLAYER_STATE_OFF" => Some(Self::Off),
"MEDIA_PLAYER_STATE_ON" => Some(Self::On),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MediaPlayerCommand {
Play = 0,
Pause = 1,
Stop = 2,
Mute = 3,
Unmute = 4,
Toggle = 5,
VolumeUp = 6,
VolumeDown = 7,
Enqueue = 8,
RepeatOne = 9,
RepeatOff = 10,
ClearPlaylist = 11,
TurnOn = 12,
TurnOff = 13,
}
impl MediaPlayerCommand {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Play => "MEDIA_PLAYER_COMMAND_PLAY",
Self::Pause => "MEDIA_PLAYER_COMMAND_PAUSE",
Self::Stop => "MEDIA_PLAYER_COMMAND_STOP",
Self::Mute => "MEDIA_PLAYER_COMMAND_MUTE",
Self::Unmute => "MEDIA_PLAYER_COMMAND_UNMUTE",
Self::Toggle => "MEDIA_PLAYER_COMMAND_TOGGLE",
Self::VolumeUp => "MEDIA_PLAYER_COMMAND_VOLUME_UP",
Self::VolumeDown => "MEDIA_PLAYER_COMMAND_VOLUME_DOWN",
Self::Enqueue => "MEDIA_PLAYER_COMMAND_ENQUEUE",
Self::RepeatOne => "MEDIA_PLAYER_COMMAND_REPEAT_ONE",
Self::RepeatOff => "MEDIA_PLAYER_COMMAND_REPEAT_OFF",
Self::ClearPlaylist => "MEDIA_PLAYER_COMMAND_CLEAR_PLAYLIST",
Self::TurnOn => "MEDIA_PLAYER_COMMAND_TURN_ON",
Self::TurnOff => "MEDIA_PLAYER_COMMAND_TURN_OFF",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_PLAYER_COMMAND_PLAY" => Some(Self::Play),
"MEDIA_PLAYER_COMMAND_PAUSE" => Some(Self::Pause),
"MEDIA_PLAYER_COMMAND_STOP" => Some(Self::Stop),
"MEDIA_PLAYER_COMMAND_MUTE" => Some(Self::Mute),
"MEDIA_PLAYER_COMMAND_UNMUTE" => Some(Self::Unmute),
"MEDIA_PLAYER_COMMAND_TOGGLE" => Some(Self::Toggle),
"MEDIA_PLAYER_COMMAND_VOLUME_UP" => Some(Self::VolumeUp),
"MEDIA_PLAYER_COMMAND_VOLUME_DOWN" => Some(Self::VolumeDown),
"MEDIA_PLAYER_COMMAND_ENQUEUE" => Some(Self::Enqueue),
"MEDIA_PLAYER_COMMAND_REPEAT_ONE" => Some(Self::RepeatOne),
"MEDIA_PLAYER_COMMAND_REPEAT_OFF" => Some(Self::RepeatOff),
"MEDIA_PLAYER_COMMAND_CLEAR_PLAYLIST" => Some(Self::ClearPlaylist),
"MEDIA_PLAYER_COMMAND_TURN_ON" => Some(Self::TurnOn),
"MEDIA_PLAYER_COMMAND_TURN_OFF" => Some(Self::TurnOff),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MediaPlayerFormatPurpose {
Default = 0,
Announcement = 1,
}
impl MediaPlayerFormatPurpose {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Default => "MEDIA_PLAYER_FORMAT_PURPOSE_DEFAULT",
Self::Announcement => "MEDIA_PLAYER_FORMAT_PURPOSE_ANNOUNCEMENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEDIA_PLAYER_FORMAT_PURPOSE_DEFAULT" => Some(Self::Default),
"MEDIA_PLAYER_FORMAT_PURPOSE_ANNOUNCEMENT" => Some(Self::Announcement),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BluetoothDeviceRequestType {
Connect = 0,
Disconnect = 1,
Pair = 2,
Unpair = 3,
ConnectV3WithCache = 4,
ConnectV3WithoutCache = 5,
ClearCache = 6,
}
impl BluetoothDeviceRequestType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Connect => "BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT",
Self::Disconnect => "BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT",
Self::Pair => "BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR",
Self::Unpair => "BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR",
Self::ConnectV3WithCache => {
"BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE"
}
Self::ConnectV3WithoutCache => {
"BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE"
}
Self::ClearCache => "BLUETOOTH_DEVICE_REQUEST_TYPE_CLEAR_CACHE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT" => Some(Self::Connect),
"BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT" => Some(Self::Disconnect),
"BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR" => Some(Self::Pair),
"BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR" => Some(Self::Unpair),
"BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE" => {
Some(Self::ConnectV3WithCache)
}
"BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE" => {
Some(Self::ConnectV3WithoutCache)
}
"BLUETOOTH_DEVICE_REQUEST_TYPE_CLEAR_CACHE" => Some(Self::ClearCache),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BluetoothScannerState {
Idle = 0,
Starting = 1,
Running = 2,
Failed = 3,
Stopping = 4,
Stopped = 5,
}
impl BluetoothScannerState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Idle => "BLUETOOTH_SCANNER_STATE_IDLE",
Self::Starting => "BLUETOOTH_SCANNER_STATE_STARTING",
Self::Running => "BLUETOOTH_SCANNER_STATE_RUNNING",
Self::Failed => "BLUETOOTH_SCANNER_STATE_FAILED",
Self::Stopping => "BLUETOOTH_SCANNER_STATE_STOPPING",
Self::Stopped => "BLUETOOTH_SCANNER_STATE_STOPPED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BLUETOOTH_SCANNER_STATE_IDLE" => Some(Self::Idle),
"BLUETOOTH_SCANNER_STATE_STARTING" => Some(Self::Starting),
"BLUETOOTH_SCANNER_STATE_RUNNING" => Some(Self::Running),
"BLUETOOTH_SCANNER_STATE_FAILED" => Some(Self::Failed),
"BLUETOOTH_SCANNER_STATE_STOPPING" => Some(Self::Stopping),
"BLUETOOTH_SCANNER_STATE_STOPPED" => Some(Self::Stopped),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BluetoothScannerMode {
Passive = 0,
Active = 1,
}
impl BluetoothScannerMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Passive => "BLUETOOTH_SCANNER_MODE_PASSIVE",
Self::Active => "BLUETOOTH_SCANNER_MODE_ACTIVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BLUETOOTH_SCANNER_MODE_PASSIVE" => Some(Self::Passive),
"BLUETOOTH_SCANNER_MODE_ACTIVE" => Some(Self::Active),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoiceAssistantSubscribeFlag {
VoiceAssistantSubscribeNone = 0,
VoiceAssistantSubscribeApiAudio = 1,
}
impl VoiceAssistantSubscribeFlag {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::VoiceAssistantSubscribeNone => "VOICE_ASSISTANT_SUBSCRIBE_NONE",
Self::VoiceAssistantSubscribeApiAudio => {
"VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOICE_ASSISTANT_SUBSCRIBE_NONE" => Some(Self::VoiceAssistantSubscribeNone),
"VOICE_ASSISTANT_SUBSCRIBE_API_AUDIO" => {
Some(Self::VoiceAssistantSubscribeApiAudio)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoiceAssistantRequestFlag {
VoiceAssistantRequestNone = 0,
VoiceAssistantRequestUseVad = 1,
VoiceAssistantRequestUseWakeWord = 2,
}
impl VoiceAssistantRequestFlag {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::VoiceAssistantRequestNone => "VOICE_ASSISTANT_REQUEST_NONE",
Self::VoiceAssistantRequestUseVad => "VOICE_ASSISTANT_REQUEST_USE_VAD",
Self::VoiceAssistantRequestUseWakeWord => {
"VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOICE_ASSISTANT_REQUEST_NONE" => Some(Self::VoiceAssistantRequestNone),
"VOICE_ASSISTANT_REQUEST_USE_VAD" => Some(Self::VoiceAssistantRequestUseVad),
"VOICE_ASSISTANT_REQUEST_USE_WAKE_WORD" => {
Some(Self::VoiceAssistantRequestUseWakeWord)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoiceAssistantEvent {
VoiceAssistantError = 0,
VoiceAssistantRunStart = 1,
VoiceAssistantRunEnd = 2,
VoiceAssistantSttStart = 3,
VoiceAssistantSttEnd = 4,
VoiceAssistantIntentStart = 5,
VoiceAssistantIntentEnd = 6,
VoiceAssistantTtsStart = 7,
VoiceAssistantTtsEnd = 8,
VoiceAssistantWakeWordStart = 9,
VoiceAssistantWakeWordEnd = 10,
VoiceAssistantSttVadStart = 11,
VoiceAssistantSttVadEnd = 12,
VoiceAssistantTtsStreamStart = 98,
VoiceAssistantTtsStreamEnd = 99,
VoiceAssistantIntentProgress = 100,
}
impl VoiceAssistantEvent {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::VoiceAssistantError => "VOICE_ASSISTANT_ERROR",
Self::VoiceAssistantRunStart => "VOICE_ASSISTANT_RUN_START",
Self::VoiceAssistantRunEnd => "VOICE_ASSISTANT_RUN_END",
Self::VoiceAssistantSttStart => "VOICE_ASSISTANT_STT_START",
Self::VoiceAssistantSttEnd => "VOICE_ASSISTANT_STT_END",
Self::VoiceAssistantIntentStart => "VOICE_ASSISTANT_INTENT_START",
Self::VoiceAssistantIntentEnd => "VOICE_ASSISTANT_INTENT_END",
Self::VoiceAssistantTtsStart => "VOICE_ASSISTANT_TTS_START",
Self::VoiceAssistantTtsEnd => "VOICE_ASSISTANT_TTS_END",
Self::VoiceAssistantWakeWordStart => "VOICE_ASSISTANT_WAKE_WORD_START",
Self::VoiceAssistantWakeWordEnd => "VOICE_ASSISTANT_WAKE_WORD_END",
Self::VoiceAssistantSttVadStart => "VOICE_ASSISTANT_STT_VAD_START",
Self::VoiceAssistantSttVadEnd => "VOICE_ASSISTANT_STT_VAD_END",
Self::VoiceAssistantTtsStreamStart => "VOICE_ASSISTANT_TTS_STREAM_START",
Self::VoiceAssistantTtsStreamEnd => "VOICE_ASSISTANT_TTS_STREAM_END",
Self::VoiceAssistantIntentProgress => "VOICE_ASSISTANT_INTENT_PROGRESS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOICE_ASSISTANT_ERROR" => Some(Self::VoiceAssistantError),
"VOICE_ASSISTANT_RUN_START" => Some(Self::VoiceAssistantRunStart),
"VOICE_ASSISTANT_RUN_END" => Some(Self::VoiceAssistantRunEnd),
"VOICE_ASSISTANT_STT_START" => Some(Self::VoiceAssistantSttStart),
"VOICE_ASSISTANT_STT_END" => Some(Self::VoiceAssistantSttEnd),
"VOICE_ASSISTANT_INTENT_START" => Some(Self::VoiceAssistantIntentStart),
"VOICE_ASSISTANT_INTENT_END" => Some(Self::VoiceAssistantIntentEnd),
"VOICE_ASSISTANT_TTS_START" => Some(Self::VoiceAssistantTtsStart),
"VOICE_ASSISTANT_TTS_END" => Some(Self::VoiceAssistantTtsEnd),
"VOICE_ASSISTANT_WAKE_WORD_START" => Some(Self::VoiceAssistantWakeWordStart),
"VOICE_ASSISTANT_WAKE_WORD_END" => Some(Self::VoiceAssistantWakeWordEnd),
"VOICE_ASSISTANT_STT_VAD_START" => Some(Self::VoiceAssistantSttVadStart),
"VOICE_ASSISTANT_STT_VAD_END" => Some(Self::VoiceAssistantSttVadEnd),
"VOICE_ASSISTANT_TTS_STREAM_START" => {
Some(Self::VoiceAssistantTtsStreamStart)
}
"VOICE_ASSISTANT_TTS_STREAM_END" => Some(Self::VoiceAssistantTtsStreamEnd),
"VOICE_ASSISTANT_INTENT_PROGRESS" => Some(Self::VoiceAssistantIntentProgress),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoiceAssistantTimerEvent {
VoiceAssistantTimerStarted = 0,
VoiceAssistantTimerUpdated = 1,
VoiceAssistantTimerCancelled = 2,
VoiceAssistantTimerFinished = 3,
}
impl VoiceAssistantTimerEvent {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::VoiceAssistantTimerStarted => "VOICE_ASSISTANT_TIMER_STARTED",
Self::VoiceAssistantTimerUpdated => "VOICE_ASSISTANT_TIMER_UPDATED",
Self::VoiceAssistantTimerCancelled => "VOICE_ASSISTANT_TIMER_CANCELLED",
Self::VoiceAssistantTimerFinished => "VOICE_ASSISTANT_TIMER_FINISHED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOICE_ASSISTANT_TIMER_STARTED" => Some(Self::VoiceAssistantTimerStarted),
"VOICE_ASSISTANT_TIMER_UPDATED" => Some(Self::VoiceAssistantTimerUpdated),
"VOICE_ASSISTANT_TIMER_CANCELLED" => Some(Self::VoiceAssistantTimerCancelled),
"VOICE_ASSISTANT_TIMER_FINISHED" => Some(Self::VoiceAssistantTimerFinished),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlarmControlPanelState {
AlarmStateDisarmed = 0,
AlarmStateArmedHome = 1,
AlarmStateArmedAway = 2,
AlarmStateArmedNight = 3,
AlarmStateArmedVacation = 4,
AlarmStateArmedCustomBypass = 5,
AlarmStatePending = 6,
AlarmStateArming = 7,
AlarmStateDisarming = 8,
AlarmStateTriggered = 9,
}
impl AlarmControlPanelState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::AlarmStateDisarmed => "ALARM_STATE_DISARMED",
Self::AlarmStateArmedHome => "ALARM_STATE_ARMED_HOME",
Self::AlarmStateArmedAway => "ALARM_STATE_ARMED_AWAY",
Self::AlarmStateArmedNight => "ALARM_STATE_ARMED_NIGHT",
Self::AlarmStateArmedVacation => "ALARM_STATE_ARMED_VACATION",
Self::AlarmStateArmedCustomBypass => "ALARM_STATE_ARMED_CUSTOM_BYPASS",
Self::AlarmStatePending => "ALARM_STATE_PENDING",
Self::AlarmStateArming => "ALARM_STATE_ARMING",
Self::AlarmStateDisarming => "ALARM_STATE_DISARMING",
Self::AlarmStateTriggered => "ALARM_STATE_TRIGGERED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ALARM_STATE_DISARMED" => Some(Self::AlarmStateDisarmed),
"ALARM_STATE_ARMED_HOME" => Some(Self::AlarmStateArmedHome),
"ALARM_STATE_ARMED_AWAY" => Some(Self::AlarmStateArmedAway),
"ALARM_STATE_ARMED_NIGHT" => Some(Self::AlarmStateArmedNight),
"ALARM_STATE_ARMED_VACATION" => Some(Self::AlarmStateArmedVacation),
"ALARM_STATE_ARMED_CUSTOM_BYPASS" => Some(Self::AlarmStateArmedCustomBypass),
"ALARM_STATE_PENDING" => Some(Self::AlarmStatePending),
"ALARM_STATE_ARMING" => Some(Self::AlarmStateArming),
"ALARM_STATE_DISARMING" => Some(Self::AlarmStateDisarming),
"ALARM_STATE_TRIGGERED" => Some(Self::AlarmStateTriggered),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlarmControlPanelStateCommand {
AlarmControlPanelDisarm = 0,
AlarmControlPanelArmAway = 1,
AlarmControlPanelArmHome = 2,
AlarmControlPanelArmNight = 3,
AlarmControlPanelArmVacation = 4,
AlarmControlPanelArmCustomBypass = 5,
AlarmControlPanelTrigger = 6,
}
impl AlarmControlPanelStateCommand {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::AlarmControlPanelDisarm => "ALARM_CONTROL_PANEL_DISARM",
Self::AlarmControlPanelArmAway => "ALARM_CONTROL_PANEL_ARM_AWAY",
Self::AlarmControlPanelArmHome => "ALARM_CONTROL_PANEL_ARM_HOME",
Self::AlarmControlPanelArmNight => "ALARM_CONTROL_PANEL_ARM_NIGHT",
Self::AlarmControlPanelArmVacation => "ALARM_CONTROL_PANEL_ARM_VACATION",
Self::AlarmControlPanelArmCustomBypass => {
"ALARM_CONTROL_PANEL_ARM_CUSTOM_BYPASS"
}
Self::AlarmControlPanelTrigger => "ALARM_CONTROL_PANEL_TRIGGER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ALARM_CONTROL_PANEL_DISARM" => Some(Self::AlarmControlPanelDisarm),
"ALARM_CONTROL_PANEL_ARM_AWAY" => Some(Self::AlarmControlPanelArmAway),
"ALARM_CONTROL_PANEL_ARM_HOME" => Some(Self::AlarmControlPanelArmHome),
"ALARM_CONTROL_PANEL_ARM_NIGHT" => Some(Self::AlarmControlPanelArmNight),
"ALARM_CONTROL_PANEL_ARM_VACATION" => {
Some(Self::AlarmControlPanelArmVacation)
}
"ALARM_CONTROL_PANEL_ARM_CUSTOM_BYPASS" => {
Some(Self::AlarmControlPanelArmCustomBypass)
}
"ALARM_CONTROL_PANEL_TRIGGER" => Some(Self::AlarmControlPanelTrigger),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TextMode {
Text = 0,
Password = 1,
}
impl TextMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Text => "TEXT_MODE_TEXT",
Self::Password => "TEXT_MODE_PASSWORD",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TEXT_MODE_TEXT" => Some(Self::Text),
"TEXT_MODE_PASSWORD" => Some(Self::Password),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ValveOperation {
Idle = 0,
IsOpening = 1,
IsClosing = 2,
}
impl ValveOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Idle => "VALVE_OPERATION_IDLE",
Self::IsOpening => "VALVE_OPERATION_IS_OPENING",
Self::IsClosing => "VALVE_OPERATION_IS_CLOSING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VALVE_OPERATION_IDLE" => Some(Self::Idle),
"VALVE_OPERATION_IS_OPENING" => Some(Self::IsOpening),
"VALVE_OPERATION_IS_CLOSING" => Some(Self::IsClosing),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UpdateCommand {
None = 0,
Update = 1,
Check = 2,
}
impl UpdateCommand {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "UPDATE_COMMAND_NONE",
Self::Update => "UPDATE_COMMAND_UPDATE",
Self::Check => "UPDATE_COMMAND_CHECK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UPDATE_COMMAND_NONE" => Some(Self::None),
"UPDATE_COMMAND_UPDATE" => Some(Self::Update),
"UPDATE_COMMAND_CHECK" => Some(Self::Check),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ZWaveProxyRequestType {
ZwaveProxyRequestTypeSubscribe = 0,
ZwaveProxyRequestTypeUnsubscribe = 1,
ZwaveProxyRequestTypeHomeIdChange = 2,
}
impl ZWaveProxyRequestType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ZwaveProxyRequestTypeSubscribe => "ZWAVE_PROXY_REQUEST_TYPE_SUBSCRIBE",
Self::ZwaveProxyRequestTypeUnsubscribe => {
"ZWAVE_PROXY_REQUEST_TYPE_UNSUBSCRIBE"
}
Self::ZwaveProxyRequestTypeHomeIdChange => {
"ZWAVE_PROXY_REQUEST_TYPE_HOME_ID_CHANGE"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ZWAVE_PROXY_REQUEST_TYPE_SUBSCRIBE" => {
Some(Self::ZwaveProxyRequestTypeSubscribe)
}
"ZWAVE_PROXY_REQUEST_TYPE_UNSUBSCRIBE" => {
Some(Self::ZwaveProxyRequestTypeUnsubscribe)
}
"ZWAVE_PROXY_REQUEST_TYPE_HOME_ID_CHANGE" => {
Some(Self::ZwaveProxyRequestTypeHomeIdChange)
}
_ => None,
}
}
}