From 82cf759518f8cc641fa8857ebd1b1cbf743ca9dd Mon Sep 17 00:00:00 2001 From: Richard Hopton Date: Sat, 25 Mar 2023 21:08:54 -0700 Subject: [PATCH 1/2] feat: Unsubscribe from BLE advertisements fully on unsub --- aioesphomeapi/api.proto | 7 + aioesphomeapi/api_options_pb2.py | 35 +- aioesphomeapi/api_pb2.py | 990 ++----------------------------- aioesphomeapi/client.py | 4 + aioesphomeapi/core.py | 2 + 5 files changed, 68 insertions(+), 970 deletions(-) diff --git a/aioesphomeapi/api.proto b/aioesphomeapi/api.proto index b5340d44..3577d1e9 100644 --- a/aioesphomeapi/api.proto +++ b/aioesphomeapi/api.proto @@ -53,6 +53,8 @@ service APIConnection { rpc bluetooth_gatt_read_descriptor(BluetoothGATTReadDescriptorRequest) returns (void) {} rpc bluetooth_gatt_write_descriptor(BluetoothGATTWriteDescriptorRequest) returns (void) {} rpc bluetooth_gatt_notify(BluetoothGATTNotifyRequest) returns (void) {} + rpc unsubscribe_bluetooth_le_advertisements(UnsubscribeBluetoothLEAdvertisementsRequest) returns (void) {} + } @@ -1385,3 +1387,8 @@ message BluetoothDeviceUnpairingResponse { bool success = 2; int32 error = 3; } + +message UnsubscribeBluetoothLEAdvertisementsRequest { + option (id) = 87; + option (source) = SOURCE_CLIENT; +} diff --git a/aioesphomeapi/api_options_pb2.py b/aioesphomeapi/api_options_pb2.py index 01689741..937959d7 100644 --- a/aioesphomeapi/api_options_pb2.py +++ b/aioesphomeapi/api_options_pb2.py @@ -3,11 +3,9 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api_options.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database # @@protoc_insertion_point(imports) @@ -19,35 +17,8 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61pi_options.proto\x1a google/protobuf/descriptor.proto\"\x06\n\x04void*F\n\rAPISourceType\x12\x0f\n\x0bSOURCE_BOTH\x10\x00\x12\x11\n\rSOURCE_SERVER\x10\x01\x12\x11\n\rSOURCE_CLIENT\x10\x02:E\n\x16needs_setup_connection\x12\x1e.google.protobuf.MethodOptions\x18\x8e\x08 \x01(\x08:\x04true:C\n\x14needs_authentication\x12\x1e.google.protobuf.MethodOptions\x18\x8f\x08 \x01(\x08:\x04true:/\n\x02id\x12\x1f.google.protobuf.MessageOptions\x18\x8c\x08 \x01(\r:\x01\x30:M\n\x06source\x12\x1f.google.protobuf.MessageOptions\x18\x8d\x08 \x01(\x0e\x32\x0e.APISourceType:\x0bSOURCE_BOTH:/\n\x05ifdef\x12\x1f.google.protobuf.MessageOptions\x18\x8e\x08 \x01(\t:3\n\x03log\x12\x1f.google.protobuf.MessageOptions\x18\x8f\x08 \x01(\x08:\x04true:9\n\x08no_delay\x12\x1f.google.protobuf.MessageOptions\x18\x90\x08 \x01(\x08:\x05\x66\x61lse') -_APISOURCETYPE = DESCRIPTOR.enum_types_by_name['APISourceType'] -APISourceType = enum_type_wrapper.EnumTypeWrapper(_APISOURCETYPE) -SOURCE_BOTH = 0 -SOURCE_SERVER = 1 -SOURCE_CLIENT = 2 - -NEEDS_SETUP_CONNECTION_FIELD_NUMBER = 1038 -needs_setup_connection = DESCRIPTOR.extensions_by_name['needs_setup_connection'] -NEEDS_AUTHENTICATION_FIELD_NUMBER = 1039 -needs_authentication = DESCRIPTOR.extensions_by_name['needs_authentication'] -ID_FIELD_NUMBER = 1036 -id = DESCRIPTOR.extensions_by_name['id'] -SOURCE_FIELD_NUMBER = 1037 -source = DESCRIPTOR.extensions_by_name['source'] -IFDEF_FIELD_NUMBER = 1038 -ifdef = DESCRIPTOR.extensions_by_name['ifdef'] -LOG_FIELD_NUMBER = 1039 -log = DESCRIPTOR.extensions_by_name['log'] -NO_DELAY_FIELD_NUMBER = 1040 -no_delay = DESCRIPTOR.extensions_by_name['no_delay'] - -_VOID = DESCRIPTOR.message_types_by_name['void'] -void = _reflection.GeneratedProtocolMessageType('void', (_message.Message,), { - 'DESCRIPTOR' : _VOID, - '__module__' : 'api_options_pb2' - # @@protoc_insertion_point(class_scope:void) - }) -_sym_db.RegisterMessage(void) - +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_options_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(needs_setup_connection) google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(needs_authentication) diff --git a/aioesphomeapi/api_pb2.py b/aioesphomeapi/api_pb2.py index b51ce556..412249ae 100644 --- a/aioesphomeapi/api_pb2.py +++ b/aioesphomeapi/api_pb2.py @@ -3,11 +3,9 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database # @@protoc_insertion_point(imports) @@ -17,898 +15,10 @@ from . import api_options_pb2 as api__options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x1a\x11\x61pi_options.proto\"d\n\x0cHelloRequest\x12\x13\n\x0b\x63lient_info\x18\x01 \x01(\t\x12\x19\n\x11\x61pi_version_major\x18\x02 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x03 \x01(\r:\t\xe0@\x01\xe8@\x02\x80\x41\x01\"s\n\rHelloResponse\x12\x19\n\x11\x61pi_version_major\x18\x01 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x02 \x01(\r\x12\x13\n\x0bserver_info\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t:\t\xe0@\x02\xe8@\x01\x80\x41\x01\"-\n\x0e\x43onnectRequest\x12\x10\n\x08password\x18\x01 \x01(\t:\t\xe0@\x03\xe8@\x02\x80\x41\x01\"6\n\x0f\x43onnectResponse\x12\x18\n\x10invalid_password\x18\x01 \x01(\x08:\t\xe0@\x04\xe8@\x01\x80\x41\x01\"\x1e\n\x11\x44isconnectRequest:\t\xe0@\x05\xe8@\x00\x80\x41\x01\"\x1f\n\x12\x44isconnectResponse:\t\xe0@\x06\xe8@\x00\x80\x41\x01\"\x15\n\x0bPingRequest:\x06\xe0@\x07\xe8@\x00\"\x16\n\x0cPingResponse:\x06\xe0@\x08\xe8@\x00\"\x1b\n\x11\x44\x65viceInfoRequest:\x06\xe0@\t\xe8@\x02\"\xc5\x02\n\x12\x44\x65viceInfoResponse\x12\x15\n\ruses_password\x18\x01 \x01(\x08\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bmac_address\x18\x03 \x01(\t\x12\x17\n\x0f\x65sphome_version\x18\x04 \x01(\t\x12\x18\n\x10\x63ompilation_time\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x16\n\x0ehas_deep_sleep\x18\x07 \x01(\x08\x12\x14\n\x0cproject_name\x18\x08 \x01(\t\x12\x17\n\x0fproject_version\x18\t \x01(\t\x12\x16\n\x0ewebserver_port\x18\n \x01(\r\x12\x1f\n\x17\x62luetooth_proxy_version\x18\x0b \x01(\r\x12\x14\n\x0cmanufacturer\x18\x0c \x01(\t\x12\x15\n\rfriendly_name\x18\r \x01(\t:\x06\xe0@\n\xe8@\x01\"\x1d\n\x13ListEntitiesRequest:\x06\xe0@\x0b\xe8@\x02\"%\n\x18ListEntitiesDoneResponse:\t\xe0@\x13\xe8@\x01\x80\x41\x01\" \n\x16SubscribeStatesRequest:\x06\xe0@\x14\xe8@\x02\"\x8b\x02\n ListEntitiesBinarySensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x14\n\x0c\x64\x65vice_class\x18\x05 \x01(\t\x12\x1f\n\x17is_status_binary_sensor\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12\x0c\n\x04icon\x18\x08 \x01(\t\x12(\n\x0f\x65ntity_category\x18\t \x01(\x0e\x32\x0f.EntityCategory:\x1a\xe0@\x0c\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\"m\n\x19\x42inarySensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1d\xe0@\x15\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\x80\x41\x01\"\xbb\x02\n\x19ListEntitiesCoverResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x15\n\rassumed_state\x18\x05 \x01(\x08\x12\x19\n\x11supports_position\x18\x06 \x01(\x08\x12\x15\n\rsupports_tilt\x18\x07 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rsupports_stop\x18\x0c \x01(\x08:\x12\xe0@\r\xe8@\x01\xf2@\tUSE_COVER\"\xad\x01\n\x12\x43overStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\'\n\x0clegacy_state\x18\x02 \x01(\x0e\x32\x11.LegacyCoverState\x12\x10\n\x08position\x18\x03 \x01(\x02\x12\x0c\n\x04tilt\x18\x04 \x01(\x02\x12*\n\x11\x63urrent_operation\x18\x05 \x01(\x0e\x32\x0f.CoverOperation:\x15\xe0@\x16\xe8@\x01\xf2@\tUSE_COVER\x80\x41\x01\"\xd8\x01\n\x13\x43overCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x12has_legacy_command\x18\x02 \x01(\x08\x12+\n\x0elegacy_command\x18\x03 \x01(\x0e\x32\x13.LegacyCoverCommand\x12\x14\n\x0chas_position\x18\x04 \x01(\x08\x12\x10\n\x08position\x18\x05 \x01(\x02\x12\x10\n\x08has_tilt\x18\x06 \x01(\x08\x12\x0c\n\x04tilt\x18\x07 \x01(\x02\x12\x0c\n\x04stop\x18\x08 \x01(\x08:\x15\xe0@\x1e\xe8@\x02\xf2@\tUSE_COVER\x80\x41\x01\"\xb3\x02\n\x17ListEntitiesFanResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1c\n\x14supports_oscillation\x18\x05 \x01(\x08\x12\x16\n\x0esupports_speed\x18\x06 \x01(\x08\x12\x1a\n\x12supports_direction\x18\x07 \x01(\x08\x12\x1e\n\x16supported_speed_levels\x18\x08 \x01(\x05\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory:\x10\xe0@\x0e\xe8@\x01\xf2@\x07USE_FAN\"\xad\x01\n\x10\x46\x61nStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x13\n\x0boscillating\x18\x03 \x01(\x08\x12\x1c\n\x05speed\x18\x04 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12 \n\tdirection\x18\x05 \x01(\x0e\x32\r.FanDirection\x12\x13\n\x0bspeed_level\x18\x06 \x01(\x05:\x13\xe0@\x17\xe8@\x01\xf2@\x07USE_FAN\x80\x41\x01\"\xa1\x02\n\x11\x46\x61nCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x15\n\thas_speed\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x05speed\x18\x05 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12\x17\n\x0fhas_oscillating\x18\x06 \x01(\x08\x12\x13\n\x0boscillating\x18\x07 \x01(\x08\x12\x15\n\rhas_direction\x18\x08 \x01(\x08\x12 \n\tdirection\x18\t \x01(\x0e\x32\r.FanDirection\x12\x17\n\x0fhas_speed_level\x18\n \x01(\x08\x12\x13\n\x0bspeed_level\x18\x0b \x01(\x05:\x13\xe0@\x1f\xe8@\x02\xf2@\x07USE_FAN\x80\x41\x01\"\xbe\x03\n\x19ListEntitiesLightResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1d\n\x15supported_color_modes\x18\x0c \x03(\x05\x12&\n\x1alegacy_supports_brightness\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x13legacy_supports_rgb\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\'\n\x1blegacy_supports_white_value\x18\x07 \x01(\x08\x42\x02\x18\x01\x12-\n!legacy_supports_color_temperature\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x12\n\nmin_mireds\x18\t \x01(\x02\x12\x12\n\nmax_mireds\x18\n \x01(\x02\x12\x0f\n\x07\x65\x66\x66\x65\x63ts\x18\x0b \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\r \x01(\x08\x12\x0c\n\x04icon\x18\x0e \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0f \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@\x0f\xe8@\x01\xf2@\tUSE_LIGHT\"\x95\x02\n\x12LightStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x12\n\nbrightness\x18\x03 \x01(\x02\x12\x12\n\ncolor_mode\x18\x0b \x01(\x05\x12\x18\n\x10\x63olor_brightness\x18\n \x01(\x02\x12\x0b\n\x03red\x18\x04 \x01(\x02\x12\r\n\x05green\x18\x05 \x01(\x02\x12\x0c\n\x04\x62lue\x18\x06 \x01(\x02\x12\r\n\x05white\x18\x07 \x01(\x02\x12\x19\n\x11\x63olor_temperature\x18\x08 \x01(\x02\x12\x12\n\ncold_white\x18\x0c \x01(\x02\x12\x12\n\nwarm_white\x18\r \x01(\x02\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\t \x01(\t:\x15\xe0@\x18\xe8@\x01\xf2@\tUSE_LIGHT\x80\x41\x01\"\xe8\x04\n\x13LightCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x16\n\x0ehas_brightness\x18\x04 \x01(\x08\x12\x12\n\nbrightness\x18\x05 \x01(\x02\x12\x16\n\x0ehas_color_mode\x18\x16 \x01(\x08\x12\x12\n\ncolor_mode\x18\x17 \x01(\x05\x12\x1c\n\x14has_color_brightness\x18\x14 \x01(\x08\x12\x18\n\x10\x63olor_brightness\x18\x15 \x01(\x02\x12\x0f\n\x07has_rgb\x18\x06 \x01(\x08\x12\x0b\n\x03red\x18\x07 \x01(\x02\x12\r\n\x05green\x18\x08 \x01(\x02\x12\x0c\n\x04\x62lue\x18\t \x01(\x02\x12\x11\n\thas_white\x18\n \x01(\x08\x12\r\n\x05white\x18\x0b \x01(\x02\x12\x1d\n\x15has_color_temperature\x18\x0c \x01(\x08\x12\x19\n\x11\x63olor_temperature\x18\r \x01(\x02\x12\x16\n\x0ehas_cold_white\x18\x18 \x01(\x08\x12\x12\n\ncold_white\x18\x19 \x01(\x02\x12\x16\n\x0ehas_warm_white\x18\x1a \x01(\x08\x12\x12\n\nwarm_white\x18\x1b \x01(\x02\x12\x1d\n\x15has_transition_length\x18\x0e \x01(\x08\x12\x19\n\x11transition_length\x18\x0f \x01(\r\x12\x18\n\x10has_flash_length\x18\x10 \x01(\x08\x12\x14\n\x0c\x66lash_length\x18\x11 \x01(\r\x12\x12\n\nhas_effect\x18\x12 \x01(\x08\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\x13 \x01(\t:\x15\xe0@ \xe8@\x02\xf2@\tUSE_LIGHT\x80\x41\x01\"\x82\x03\n\x1aListEntitiesSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13unit_of_measurement\x18\x06 \x01(\t\x12\x19\n\x11\x61\x63\x63uracy_decimals\x18\x07 \x01(\x05\x12\x14\n\x0c\x66orce_update\x18\x08 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t\x12&\n\x0bstate_class\x18\n \x01(\x0e\x32\x11.SensorStateClass\x12-\n\x0flast_reset_type\x18\x0b \x01(\x0e\x32\x14.SensorLastResetType\x12\x1b\n\x13\x64isabled_by_default\x18\x0c \x01(\x08\x12(\n\x0f\x65ntity_category\x18\r \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@\x10\xe8@\x01\xf2@\nUSE_SENSOR\"`\n\x13SensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@\x19\xe8@\x01\xf2@\nUSE_SENSOR\x80\x41\x01\"\xf4\x01\n\x1aListEntitiesSwitchResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x15\n\rassumed_state\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t:\x13\xe0@\x11\xe8@\x01\xf2@\nUSE_SWITCH\"I\n\x13SwitchStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@\x1a\xe8@\x01\xf2@\nUSE_SWITCH\x80\x41\x01\"J\n\x14SwitchCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@!\xe8@\x02\xf2@\nUSE_SWITCH\x80\x41\x01\"\xd0\x01\n\x1eListEntitiesTextSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x18\xe0@\x12\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\"i\n\x17TextSensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1b\xe0@\x1b\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\x80\x41\x01\"M\n\x14SubscribeLogsRequest\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x13\n\x0b\x64ump_config\x18\x02 \x01(\x08:\x06\xe0@\x1c\xe8@\x02\"e\n\x15SubscribeLogsResponse\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x13\n\x0bsend_failed\x18\x04 \x01(\x08:\x0c\xe0@\x1d\xe8@\x01\xf8@\x00\x80\x41\x00\"/\n%SubscribeHomeassistantServicesRequest:\x06\xe0@\"\xe8@\x02\"5\n\x17HomeassistantServiceMap\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xd2\x01\n\x1cHomeassistantServiceResponse\x12\x0f\n\x07service\x18\x01 \x01(\t\x12&\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12/\n\rdata_template\x18\x03 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12+\n\tvariables\x18\x04 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12\x10\n\x08is_event\x18\x05 \x01(\x08:\t\xe0@#\xe8@\x01\x80\x41\x01\"-\n#SubscribeHomeAssistantStatesRequest:\x06\xe0@&\xe8@\x02\"S\n#SubscribeHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\x11\n\tattribute\x18\x02 \x01(\t:\x06\xe0@\'\xe8@\x01\"\\\n\x1aHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tattribute\x18\x03 \x01(\t:\t\xe0@(\xe8@\x02\x80\x41\x01\"\x18\n\x0eGetTimeRequest:\x06\xe0@$\xe8@\x00\"3\n\x0fGetTimeResponse\x12\x15\n\repoch_seconds\x18\x01 \x01(\x07:\t\xe0@%\xe8@\x00\x80\x41\x01\"K\n\x1cListEntitiesServicesArgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1d\n\x04type\x18\x02 \x01(\x0e\x32\x0f.ServiceArgType\"n\n\x1cListEntitiesServicesResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12+\n\x04\x61rgs\x18\x03 \x03(\x0b\x32\x1d.ListEntitiesServicesArgument:\x06\xe0@)\xe8@\x01\"\xc8\x01\n\x16\x45xecuteServiceArgument\x12\r\n\x05\x62ool_\x18\x01 \x01(\x08\x12\x12\n\nlegacy_int\x18\x02 \x01(\x05\x12\x0e\n\x06\x66loat_\x18\x03 \x01(\x02\x12\x0f\n\x07string_\x18\x04 \x01(\t\x12\x0c\n\x04int_\x18\x05 \x01(\x11\x12\x16\n\nbool_array\x18\x06 \x03(\x08\x42\x02\x10\x00\x12\x15\n\tint_array\x18\x07 \x03(\x11\x42\x02\x10\x00\x12\x17\n\x0b\x66loat_array\x18\x08 \x03(\x02\x42\x02\x10\x00\x12\x14\n\x0cstring_array\x18\t \x03(\t\"V\n\x15\x45xecuteServiceRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12%\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x17.ExecuteServiceArgument:\t\xe0@*\xe8@\x02\x80\x41\x01\"\xcd\x01\n\x1aListEntitiesCameraResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x05 \x01(\x08\x12\x0c\n\x04icon\x18\x06 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x19\xe0@+\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"Y\n\x13\x43\x61meraImageResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08:\x19\xe0@,\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"R\n\x12\x43\x61meraImageRequest\x12\x0e\n\x06single\x18\x01 \x01(\x08\x12\x0e\n\x06stream\x18\x02 \x01(\x08:\x1c\xe0@-\xe8@\x02\xf2@\x10USE_ESP32_CAMERA\x80\x41\x01\"\xde\x05\n\x1bListEntitiesClimateResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12$\n\x1csupports_current_temperature\x18\x05 \x01(\x08\x12-\n%supports_two_point_target_temperature\x18\x06 \x01(\x08\x12%\n\x0fsupported_modes\x18\x07 \x03(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16visual_min_temperature\x18\x08 \x01(\x02\x12\x1e\n\x16visual_max_temperature\x18\t \x01(\x02\x12&\n\x1evisual_target_temperature_step\x18\n \x01(\x02\x12\x1c\n\x14legacy_supports_away\x18\x0b \x01(\x08\x12\x17\n\x0fsupports_action\x18\x0c \x01(\x08\x12,\n\x13supported_fan_modes\x18\r \x03(\x0e\x32\x0f.ClimateFanMode\x12\x30\n\x15supported_swing_modes\x18\x0e \x03(\x0e\x32\x11.ClimateSwingMode\x12\"\n\x1asupported_custom_fan_modes\x18\x0f \x03(\t\x12)\n\x11supported_presets\x18\x10 \x03(\x0e\x32\x0e.ClimatePreset\x12 \n\x18supported_custom_presets\x18\x11 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x12 \x01(\x08\x12\x0c\n\x04icon\x18\x13 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x14 \x01(\x0e\x32\x0f.EntityCategory\x12\'\n\x1fvisual_current_temperature_step\x18\x15 \x01(\x02:\x14\xe0@.\xe8@\x01\xf2@\x0bUSE_CLIMATE\"\xa1\x03\n\x14\x43limateStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x04mode\x18\x02 \x01(\x0e\x32\x0c.ClimateMode\x12\x1b\n\x13\x63urrent_temperature\x18\x03 \x01(\x02\x12\x1a\n\x12target_temperature\x18\x04 \x01(\x02\x12\x1e\n\x16target_temperature_low\x18\x05 \x01(\x02\x12\x1f\n\x17target_temperature_high\x18\x06 \x01(\x02\x12\x13\n\x0blegacy_away\x18\x07 \x01(\x08\x12\x1e\n\x06\x61\x63tion\x18\x08 \x01(\x0e\x32\x0e.ClimateAction\x12!\n\x08\x66\x61n_mode\x18\t \x01(\x0e\x32\x0f.ClimateFanMode\x12%\n\nswing_mode\x18\n \x01(\x0e\x32\x11.ClimateSwingMode\x12\x17\n\x0f\x63ustom_fan_mode\x18\x0b \x01(\t\x12\x1e\n\x06preset\x18\x0c \x01(\x0e\x32\x0e.ClimatePreset\x12\x15\n\rcustom_preset\x18\r \x01(\t:\x17\xe0@/\xe8@\x01\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xf3\x04\n\x15\x43limateCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x10\n\x08has_mode\x18\x02 \x01(\x08\x12\x1a\n\x04mode\x18\x03 \x01(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16has_target_temperature\x18\x04 \x01(\x08\x12\x1a\n\x12target_temperature\x18\x05 \x01(\x02\x12\"\n\x1ahas_target_temperature_low\x18\x06 \x01(\x08\x12\x1e\n\x16target_temperature_low\x18\x07 \x01(\x02\x12#\n\x1bhas_target_temperature_high\x18\x08 \x01(\x08\x12\x1f\n\x17target_temperature_high\x18\t \x01(\x02\x12\x17\n\x0fhas_legacy_away\x18\n \x01(\x08\x12\x13\n\x0blegacy_away\x18\x0b \x01(\x08\x12\x14\n\x0chas_fan_mode\x18\x0c \x01(\x08\x12!\n\x08\x66\x61n_mode\x18\r \x01(\x0e\x32\x0f.ClimateFanMode\x12\x16\n\x0ehas_swing_mode\x18\x0e \x01(\x08\x12%\n\nswing_mode\x18\x0f \x01(\x0e\x32\x11.ClimateSwingMode\x12\x1b\n\x13has_custom_fan_mode\x18\x10 \x01(\x08\x12\x17\n\x0f\x63ustom_fan_mode\x18\x11 \x01(\t\x12\x12\n\nhas_preset\x18\x12 \x01(\x08\x12\x1e\n\x06preset\x18\x13 \x01(\x0e\x32\x0e.ClimatePreset\x12\x19\n\x11has_custom_preset\x18\x14 \x01(\x08\x12\x15\n\rcustom_preset\x18\x15 \x01(\t:\x17\xe0@0\xe8@\x02\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xc9\x02\n\x1aListEntitiesNumberResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x11\n\tmin_value\x18\x06 \x01(\x02\x12\x11\n\tmax_value\x18\x07 \x01(\x02\x12\x0c\n\x04step\x18\x08 \x01(\x02\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory\x12\x1b\n\x13unit_of_measurement\x18\x0b \x01(\t\x12\x19\n\x04mode\x18\x0c \x01(\x0e\x32\x0b.NumberMode\x12\x14\n\x0c\x64\x65vice_class\x18\r \x01(\t:\x13\xe0@1\xe8@\x01\xf2@\nUSE_NUMBER\"`\n\x13NumberStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@2\xe8@\x01\xf2@\nUSE_NUMBER\x80\x41\x01\"J\n\x14NumberCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02:\x16\xe0@3\xe8@\x02\xf2@\nUSE_NUMBER\x80\x41\x01\"\xd8\x01\n\x1aListEntitiesSelectResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x0f\n\x07options\x18\x06 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@4\xe8@\x01\xf2@\nUSE_SELECT\"`\n\x13SelectStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@5\xe8@\x01\xf2@\nUSE_SELECT\x80\x41\x01\"J\n\x14SelectCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t:\x16\xe0@6\xe8@\x02\xf2@\nUSE_SELECT\x80\x41\x01\"\x88\x02\n\x19ListEntitiesSirenResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12\r\n\x05tones\x18\x07 \x03(\t\x12\x19\n\x11supports_duration\x18\x08 \x01(\x08\x12\x17\n\x0fsupports_volume\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@7\xe8@\x01\xf2@\tUSE_SIREN\"G\n\x12SirenStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x15\xe0@8\xe8@\x01\xf2@\tUSE_SIREN\x80\x41\x01\"\xc7\x01\n\x13SirenCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x10\n\x08has_tone\x18\x04 \x01(\x08\x12\x0c\n\x04tone\x18\x05 \x01(\t\x12\x14\n\x0chas_duration\x18\x06 \x01(\x08\x12\x10\n\x08\x64uration\x18\x07 \x01(\r\x12\x12\n\nhas_volume\x18\x08 \x01(\x08\x12\x0e\n\x06volume\x18\t \x01(\x02:\x15\xe0@9\xe8@\x02\xf2@\tUSE_SIREN\x80\x41\x01\"\x9d\x02\n\x18ListEntitiesLockResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rassumed_state\x18\x08 \x01(\x08\x12\x15\n\rsupports_open\x18\t \x01(\x08\x12\x15\n\rrequires_code\x18\n \x01(\x08\x12\x13\n\x0b\x63ode_format\x18\x0b \x01(\t:\x11\xe0@:\xe8@\x01\xf2@\x08USE_LOCK\"Q\n\x11LockStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x19\n\x05state\x18\x02 \x01(\x0e\x32\n.LockState:\x14\xe0@;\xe8@\x01\xf2@\x08USE_LOCK\x80\x41\x01\"v\n\x12LockCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1d\n\x07\x63ommand\x18\x02 \x01(\x0e\x32\x0c.LockCommand\x12\x10\n\x08has_code\x18\x03 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x04 \x01(\t:\x14\xe0@<\xe8@\x02\xf2@\x08USE_LOCK\x80\x41\x01\"\xdd\x01\n\x1aListEntitiesButtonResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t:\x13\xe0@=\xe8@\x01\xf2@\nUSE_BUTTON\";\n\x14\x42uttonCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07:\x16\xe0@>\xe8@\x02\xf2@\nUSE_BUTTON\x80\x41\x01\"\xea\x01\n\x1fListEntitiesMediaPlayerResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x16\n\x0esupports_pause\x18\x08 \x01(\x08:\x19\xe0@?\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\"\x86\x01\n\x18MediaPlayerStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12 \n\x05state\x18\x02 \x01(\x0e\x32\x11.MediaPlayerState\x12\x0e\n\x06volume\x18\x03 \x01(\x02\x12\r\n\x05muted\x18\x04 \x01(\x08:\x1c\xe0@@\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"\xcf\x01\n\x19MediaPlayerCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x13\n\x0bhas_command\x18\x02 \x01(\x08\x12$\n\x07\x63ommand\x18\x03 \x01(\x0e\x32\x13.MediaPlayerCommand\x12\x12\n\nhas_volume\x18\x04 \x01(\x08\x12\x0e\n\x06volume\x18\x05 \x01(\x02\x12\x15\n\rhas_media_url\x18\x06 \x01(\x08\x12\x11\n\tmedia_url\x18\x07 \x01(\t:\x1c\xe0@A\xe8@\x02\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"3\n)SubscribeBluetoothLEAdvertisementsRequest:\x06\xe0@B\xe8@\x02\"K\n\x14\x42luetoothServiceData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x17\n\x0blegacy_data\x18\x02 \x03(\rB\x02\x10\x01\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xfc\x01\n BluetoothLEAdvertisementResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x0c\n\x04rssi\x18\x03 \x01(\x11\x12\x15\n\rservice_uuids\x18\x04 \x03(\t\x12+\n\x0cservice_data\x18\x05 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x30\n\x11manufacturer_data\x18\x06 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x07 \x01(\r:\x1f\xe0@C\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\x80\x41\x01\"\xaa\x01\n\x16\x42luetoothDeviceRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x31\n\x0crequest_type\x18\x02 \x01(\x0e\x32\x1b.BluetoothDeviceRequestType\x12\x18\n\x10has_address_type\x18\x03 \x01(\x08\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x04 \x01(\r:\x1c\xe0@D\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"\x81\x01\n!BluetoothDeviceConnectionResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12\x0b\n\x03mtu\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05:\x1c\xe0@E\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"P\n\x1f\x42luetoothGATTGetServicesRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@F\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"7\n\x17\x42luetoothGATTDescriptor\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\"~\n\x1b\x42luetoothGATTCharacteristic\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x12\n\nproperties\x18\x03 \x01(\r\x12-\n\x0b\x64\x65scriptors\x18\x04 \x03(\x0b\x32\x18.BluetoothGATTDescriptor\"k\n\x14\x42luetoothGATTService\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x35\n\x0f\x63haracteristics\x18\x03 \x03(\x0b\x32\x1c.BluetoothGATTCharacteristic\"z\n BluetoothGATTGetServicesResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\'\n\x08services\x18\x02 \x03(\x0b\x32\x15.BluetoothGATTService:\x1c\xe0@G\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"U\n$BluetoothGATTGetServicesDoneResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@H\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"Y\n\x18\x42luetoothGATTReadRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@I\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"h\n\x19\x42luetoothGATTReadResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@J\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"z\n\x19\x42luetoothGATTWriteRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x10\n\x08response\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c:\x1c\xe0@K\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"c\n\"BluetoothGATTReadDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@L\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"r\n#BluetoothGATTWriteDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@M\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"k\n\x1a\x42luetoothGATTNotifyRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x08:\x1c\xe0@N\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1f\x42luetoothGATTNotifyDataResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@O\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"H\n(SubscribeBluetoothConnectionsFreeRequest:\x1c\xe0@P\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"]\n BluetoothConnectionsFreeResponse\x12\x0c\n\x04\x66ree\x18\x01 \x01(\r\x12\r\n\x05limit\x18\x02 \x01(\r:\x1c\xe0@Q\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"j\n\x1a\x42luetoothGATTErrorResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@R\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"[\n\x1a\x42luetoothGATTWriteResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@S\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"\\\n\x1b\x42luetoothGATTNotifyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@T\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1e\x42luetoothDevicePairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06paired\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@U\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"q\n BluetoothDeviceUnpairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@V\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY*f\n\x0e\x45ntityCategory\x12\x18\n\x14\x45NTITY_CATEGORY_NONE\x10\x00\x12\x1a\n\x16\x45NTITY_CATEGORY_CONFIG\x10\x01\x12\x1e\n\x1a\x45NTITY_CATEGORY_DIAGNOSTIC\x10\x02*N\n\x10LegacyCoverState\x12\x1b\n\x17LEGACY_COVER_STATE_OPEN\x10\x00\x12\x1d\n\x19LEGACY_COVER_STATE_CLOSED\x10\x01*j\n\x0e\x43overOperation\x12\x18\n\x14\x43OVER_OPERATION_IDLE\x10\x00\x12\x1e\n\x1a\x43OVER_OPERATION_IS_OPENING\x10\x01\x12\x1e\n\x1a\x43OVER_OPERATION_IS_CLOSING\x10\x02*r\n\x12LegacyCoverCommand\x12\x1d\n\x19LEGACY_COVER_COMMAND_OPEN\x10\x00\x12\x1e\n\x1aLEGACY_COVER_COMMAND_CLOSE\x10\x01\x12\x1d\n\x19LEGACY_COVER_COMMAND_STOP\x10\x02*G\n\x08\x46\x61nSpeed\x12\x11\n\rFAN_SPEED_LOW\x10\x00\x12\x14\n\x10\x46\x41N_SPEED_MEDIUM\x10\x01\x12\x12\n\x0e\x46\x41N_SPEED_HIGH\x10\x02*D\n\x0c\x46\x61nDirection\x12\x19\n\x15\x46\x41N_DIRECTION_FORWARD\x10\x00\x12\x19\n\x15\x46\x41N_DIRECTION_REVERSE\x10\x01*~\n\x10SensorStateClass\x12\x14\n\x10STATE_CLASS_NONE\x10\x00\x12\x1b\n\x17STATE_CLASS_MEASUREMENT\x10\x01\x12 \n\x1cSTATE_CLASS_TOTAL_INCREASING\x10\x02\x12\x15\n\x11STATE_CLASS_TOTAL\x10\x03*U\n\x13SensorLastResetType\x12\x13\n\x0fLAST_RESET_NONE\x10\x00\x12\x14\n\x10LAST_RESET_NEVER\x10\x01\x12\x13\n\x0fLAST_RESET_AUTO\x10\x02*\xb9\x01\n\x08LogLevel\x12\x12\n\x0eLOG_LEVEL_NONE\x10\x00\x12\x13\n\x0fLOG_LEVEL_ERROR\x10\x01\x12\x12\n\x0eLOG_LEVEL_WARN\x10\x02\x12\x12\n\x0eLOG_LEVEL_INFO\x10\x03\x12\x14\n\x10LOG_LEVEL_CONFIG\x10\x04\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x05\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x06\x12\x1a\n\x16LOG_LEVEL_VERY_VERBOSE\x10\x07*\x84\x02\n\x0eServiceArgType\x12\x19\n\x15SERVICE_ARG_TYPE_BOOL\x10\x00\x12\x18\n\x14SERVICE_ARG_TYPE_INT\x10\x01\x12\x1a\n\x16SERVICE_ARG_TYPE_FLOAT\x10\x02\x12\x1b\n\x17SERVICE_ARG_TYPE_STRING\x10\x03\x12\x1f\n\x1bSERVICE_ARG_TYPE_BOOL_ARRAY\x10\x04\x12\x1e\n\x1aSERVICE_ARG_TYPE_INT_ARRAY\x10\x05\x12 \n\x1cSERVICE_ARG_TYPE_FLOAT_ARRAY\x10\x06\x12!\n\x1dSERVICE_ARG_TYPE_STRING_ARRAY\x10\x07*\xb5\x01\n\x0b\x43limateMode\x12\x14\n\x10\x43LIMATE_MODE_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_MODE_HEAT_COOL\x10\x01\x12\x15\n\x11\x43LIMATE_MODE_COOL\x10\x02\x12\x15\n\x11\x43LIMATE_MODE_HEAT\x10\x03\x12\x19\n\x15\x43LIMATE_MODE_FAN_ONLY\x10\x04\x12\x14\n\x10\x43LIMATE_MODE_DRY\x10\x05\x12\x15\n\x11\x43LIMATE_MODE_AUTO\x10\x06*\xf1\x01\n\x0e\x43limateFanMode\x12\x12\n\x0e\x43LIMATE_FAN_ON\x10\x00\x12\x13\n\x0f\x43LIMATE_FAN_OFF\x10\x01\x12\x14\n\x10\x43LIMATE_FAN_AUTO\x10\x02\x12\x13\n\x0f\x43LIMATE_FAN_LOW\x10\x03\x12\x16\n\x12\x43LIMATE_FAN_MEDIUM\x10\x04\x12\x14\n\x10\x43LIMATE_FAN_HIGH\x10\x05\x12\x16\n\x12\x43LIMATE_FAN_MIDDLE\x10\x06\x12\x15\n\x11\x43LIMATE_FAN_FOCUS\x10\x07\x12\x17\n\x13\x43LIMATE_FAN_DIFFUSE\x10\x08\x12\x15\n\x11\x43LIMATE_FAN_QUIET\x10\t*{\n\x10\x43limateSwingMode\x12\x15\n\x11\x43LIMATE_SWING_OFF\x10\x00\x12\x16\n\x12\x43LIMATE_SWING_BOTH\x10\x01\x12\x1a\n\x16\x43LIMATE_SWING_VERTICAL\x10\x02\x12\x1c\n\x18\x43LIMATE_SWING_HORIZONTAL\x10\x03*\xab\x01\n\rClimateAction\x12\x16\n\x12\x43LIMATE_ACTION_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_ACTION_COOLING\x10\x02\x12\x1a\n\x16\x43LIMATE_ACTION_HEATING\x10\x03\x12\x17\n\x13\x43LIMATE_ACTION_IDLE\x10\x04\x12\x19\n\x15\x43LIMATE_ACTION_DRYING\x10\x05\x12\x16\n\x12\x43LIMATE_ACTION_FAN\x10\x06*\xdf\x01\n\rClimatePreset\x12\x17\n\x13\x43LIMATE_PRESET_NONE\x10\x00\x12\x17\n\x13\x43LIMATE_PRESET_HOME\x10\x01\x12\x17\n\x13\x43LIMATE_PRESET_AWAY\x10\x02\x12\x18\n\x14\x43LIMATE_PRESET_BOOST\x10\x03\x12\x1a\n\x16\x43LIMATE_PRESET_COMFORT\x10\x04\x12\x16\n\x12\x43LIMATE_PRESET_ECO\x10\x05\x12\x18\n\x14\x43LIMATE_PRESET_SLEEP\x10\x06\x12\x1b\n\x17\x43LIMATE_PRESET_ACTIVITY\x10\x07*O\n\nNumberMode\x12\x14\n\x10NUMBER_MODE_AUTO\x10\x00\x12\x13\n\x0fNUMBER_MODE_BOX\x10\x01\x12\x16\n\x12NUMBER_MODE_SLIDER\x10\x02*\x99\x01\n\tLockState\x12\x13\n\x0fLOCK_STATE_NONE\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12\x15\n\x11LOCK_STATE_JAMMED\x10\x03\x12\x16\n\x12LOCK_STATE_LOCKING\x10\x04\x12\x18\n\x14LOCK_STATE_UNLOCKING\x10\x05*<\n\x0bLockCommand\x12\x0f\n\x0bLOCK_UNLOCK\x10\x00\x12\r\n\tLOCK_LOCK\x10\x01\x12\r\n\tLOCK_OPEN\x10\x02*\x8b\x01\n\x10MediaPlayerState\x12\x1b\n\x17MEDIA_PLAYER_STATE_NONE\x10\x00\x12\x1b\n\x17MEDIA_PLAYER_STATE_IDLE\x10\x01\x12\x1e\n\x1aMEDIA_PLAYER_STATE_PLAYING\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_STATE_PAUSED\x10\x03*\xb2\x01\n\x12MediaPlayerCommand\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_PLAY\x10\x00\x12\x1e\n\x1aMEDIA_PLAYER_COMMAND_PAUSE\x10\x01\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_STOP\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_MUTE\x10\x03\x12\x1f\n\x1bMEDIA_PLAYER_COMMAND_UNMUTE\x10\x04*\xbc\x02\n\x1a\x42luetoothDeviceRequestType\x12)\n%BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT\x10\x00\x12,\n(BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT\x10\x01\x12&\n\"BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR\x10\x02\x12(\n$BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR\x10\x03\x12\x37\n3BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE\x10\x04\x12:\n6BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE\x10\x05\x32\xd5\x0e\n\rAPIConnection\x12.\n\x05hello\x12\r.HelloRequest\x1a\x0e.HelloResponse\"\x06\xf0@\x00\xf8@\x00\x12\x34\n\x07\x63onnect\x12\x0f.ConnectRequest\x1a\x10.ConnectResponse\"\x06\xf0@\x00\xf8@\x00\x12=\n\ndisconnect\x12\x12.DisconnectRequest\x1a\x13.DisconnectResponse\"\x06\xf0@\x00\xf8@\x00\x12+\n\x04ping\x12\x0c.PingRequest\x1a\r.PingResponse\"\x06\xf0@\x00\xf8@\x00\x12;\n\x0b\x64\x65vice_info\x12\x12.DeviceInfoRequest\x1a\x13.DeviceInfoResponse\"\x03\xf8@\x00\x12.\n\rlist_entities\x12\x14.ListEntitiesRequest\x1a\x05.void\"\x00\x12\x34\n\x10subscribe_states\x12\x17.SubscribeStatesRequest\x1a\x05.void\"\x00\x12\x30\n\x0esubscribe_logs\x12\x15.SubscribeLogsRequest\x1a\x05.void\"\x00\x12S\n subscribe_homeassistant_services\x12&.SubscribeHomeassistantServicesRequest\x1a\x05.void\"\x00\x12P\n\x1fsubscribe_home_assistant_states\x12$.SubscribeHomeAssistantStatesRequest\x1a\x05.void\"\x00\x12\x32\n\x08get_time\x12\x0f.GetTimeRequest\x1a\x10.GetTimeResponse\"\x03\xf8@\x00\x12\x32\n\x0f\x65xecute_service\x12\x16.ExecuteServiceRequest\x1a\x05.void\"\x00\x12.\n\rcover_command\x12\x14.CoverCommandRequest\x1a\x05.void\"\x00\x12*\n\x0b\x66\x61n_command\x12\x12.FanCommandRequest\x1a\x05.void\"\x00\x12.\n\rlight_command\x12\x14.LightCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eswitch_command\x12\x15.SwitchCommandRequest\x1a\x05.void\"\x00\x12,\n\x0c\x63\x61mera_image\x12\x13.CameraImageRequest\x1a\x05.void\"\x00\x12\x32\n\x0f\x63limate_command\x12\x16.ClimateCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0enumber_command\x12\x15.NumberCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eselect_command\x12\x15.SelectCommandRequest\x1a\x05.void\"\x00\x12.\n\rsiren_command\x12\x14.SirenCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0e\x62utton_command\x12\x15.ButtonCommandRequest\x1a\x05.void\"\x00\x12,\n\x0clock_command\x12\x13.LockCommandRequest\x1a\x05.void\"\x00\x12;\n\x14media_player_command\x12\x1a.MediaPlayerCommandRequest\x1a\x05.void\"\x00\x12\\\n%subscribe_bluetooth_le_advertisements\x12*.SubscribeBluetoothLEAdvertisementsRequest\x1a\x05.void\"\x00\x12<\n\x18\x62luetooth_device_request\x12\x17.BluetoothDeviceRequest\x1a\x05.void\"\x00\x12H\n\x1b\x62luetooth_gatt_get_services\x12 .BluetoothGATTGetServicesRequest\x1a\x05.void\"\x00\x12\x39\n\x13\x62luetooth_gatt_read\x12\x19.BluetoothGATTReadRequest\x1a\x05.void\"\x00\x12;\n\x14\x62luetooth_gatt_write\x12\x1a.BluetoothGATTWriteRequest\x1a\x05.void\"\x00\x12N\n\x1e\x62luetooth_gatt_read_descriptor\x12#.BluetoothGATTReadDescriptorRequest\x1a\x05.void\"\x00\x12P\n\x1f\x62luetooth_gatt_write_descriptor\x12$.BluetoothGATTWriteDescriptorRequest\x1a\x05.void\"\x00\x12=\n\x15\x62luetooth_gatt_notify\x12\x1b.BluetoothGATTNotifyRequest\x1a\x05.void\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x1a\x11\x61pi_options.proto\"d\n\x0cHelloRequest\x12\x13\n\x0b\x63lient_info\x18\x01 \x01(\t\x12\x19\n\x11\x61pi_version_major\x18\x02 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x03 \x01(\r:\t\xe0@\x01\xe8@\x02\x80\x41\x01\"s\n\rHelloResponse\x12\x19\n\x11\x61pi_version_major\x18\x01 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x02 \x01(\r\x12\x13\n\x0bserver_info\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t:\t\xe0@\x02\xe8@\x01\x80\x41\x01\"-\n\x0e\x43onnectRequest\x12\x10\n\x08password\x18\x01 \x01(\t:\t\xe0@\x03\xe8@\x02\x80\x41\x01\"6\n\x0f\x43onnectResponse\x12\x18\n\x10invalid_password\x18\x01 \x01(\x08:\t\xe0@\x04\xe8@\x01\x80\x41\x01\"\x1e\n\x11\x44isconnectRequest:\t\xe0@\x05\xe8@\x00\x80\x41\x01\"\x1f\n\x12\x44isconnectResponse:\t\xe0@\x06\xe8@\x00\x80\x41\x01\"\x15\n\x0bPingRequest:\x06\xe0@\x07\xe8@\x00\"\x16\n\x0cPingResponse:\x06\xe0@\x08\xe8@\x00\"\x1b\n\x11\x44\x65viceInfoRequest:\x06\xe0@\t\xe8@\x02\"\xc5\x02\n\x12\x44\x65viceInfoResponse\x12\x15\n\ruses_password\x18\x01 \x01(\x08\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bmac_address\x18\x03 \x01(\t\x12\x17\n\x0f\x65sphome_version\x18\x04 \x01(\t\x12\x18\n\x10\x63ompilation_time\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x16\n\x0ehas_deep_sleep\x18\x07 \x01(\x08\x12\x14\n\x0cproject_name\x18\x08 \x01(\t\x12\x17\n\x0fproject_version\x18\t \x01(\t\x12\x16\n\x0ewebserver_port\x18\n \x01(\r\x12\x1f\n\x17\x62luetooth_proxy_version\x18\x0b \x01(\r\x12\x14\n\x0cmanufacturer\x18\x0c \x01(\t\x12\x15\n\rfriendly_name\x18\r \x01(\t:\x06\xe0@\n\xe8@\x01\"\x1d\n\x13ListEntitiesRequest:\x06\xe0@\x0b\xe8@\x02\"%\n\x18ListEntitiesDoneResponse:\t\xe0@\x13\xe8@\x01\x80\x41\x01\" \n\x16SubscribeStatesRequest:\x06\xe0@\x14\xe8@\x02\"\x8b\x02\n ListEntitiesBinarySensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x14\n\x0c\x64\x65vice_class\x18\x05 \x01(\t\x12\x1f\n\x17is_status_binary_sensor\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12\x0c\n\x04icon\x18\x08 \x01(\t\x12(\n\x0f\x65ntity_category\x18\t \x01(\x0e\x32\x0f.EntityCategory:\x1a\xe0@\x0c\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\"m\n\x19\x42inarySensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1d\xe0@\x15\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\x80\x41\x01\"\xbb\x02\n\x19ListEntitiesCoverResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x15\n\rassumed_state\x18\x05 \x01(\x08\x12\x19\n\x11supports_position\x18\x06 \x01(\x08\x12\x15\n\rsupports_tilt\x18\x07 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rsupports_stop\x18\x0c \x01(\x08:\x12\xe0@\r\xe8@\x01\xf2@\tUSE_COVER\"\xad\x01\n\x12\x43overStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\'\n\x0clegacy_state\x18\x02 \x01(\x0e\x32\x11.LegacyCoverState\x12\x10\n\x08position\x18\x03 \x01(\x02\x12\x0c\n\x04tilt\x18\x04 \x01(\x02\x12*\n\x11\x63urrent_operation\x18\x05 \x01(\x0e\x32\x0f.CoverOperation:\x15\xe0@\x16\xe8@\x01\xf2@\tUSE_COVER\x80\x41\x01\"\xd8\x01\n\x13\x43overCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x12has_legacy_command\x18\x02 \x01(\x08\x12+\n\x0elegacy_command\x18\x03 \x01(\x0e\x32\x13.LegacyCoverCommand\x12\x14\n\x0chas_position\x18\x04 \x01(\x08\x12\x10\n\x08position\x18\x05 \x01(\x02\x12\x10\n\x08has_tilt\x18\x06 \x01(\x08\x12\x0c\n\x04tilt\x18\x07 \x01(\x02\x12\x0c\n\x04stop\x18\x08 \x01(\x08:\x15\xe0@\x1e\xe8@\x02\xf2@\tUSE_COVER\x80\x41\x01\"\xb3\x02\n\x17ListEntitiesFanResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1c\n\x14supports_oscillation\x18\x05 \x01(\x08\x12\x16\n\x0esupports_speed\x18\x06 \x01(\x08\x12\x1a\n\x12supports_direction\x18\x07 \x01(\x08\x12\x1e\n\x16supported_speed_levels\x18\x08 \x01(\x05\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory:\x10\xe0@\x0e\xe8@\x01\xf2@\x07USE_FAN\"\xad\x01\n\x10\x46\x61nStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x13\n\x0boscillating\x18\x03 \x01(\x08\x12\x1c\n\x05speed\x18\x04 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12 \n\tdirection\x18\x05 \x01(\x0e\x32\r.FanDirection\x12\x13\n\x0bspeed_level\x18\x06 \x01(\x05:\x13\xe0@\x17\xe8@\x01\xf2@\x07USE_FAN\x80\x41\x01\"\xa1\x02\n\x11\x46\x61nCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x15\n\thas_speed\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x05speed\x18\x05 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12\x17\n\x0fhas_oscillating\x18\x06 \x01(\x08\x12\x13\n\x0boscillating\x18\x07 \x01(\x08\x12\x15\n\rhas_direction\x18\x08 \x01(\x08\x12 \n\tdirection\x18\t \x01(\x0e\x32\r.FanDirection\x12\x17\n\x0fhas_speed_level\x18\n \x01(\x08\x12\x13\n\x0bspeed_level\x18\x0b \x01(\x05:\x13\xe0@\x1f\xe8@\x02\xf2@\x07USE_FAN\x80\x41\x01\"\xbe\x03\n\x19ListEntitiesLightResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1d\n\x15supported_color_modes\x18\x0c \x03(\x05\x12&\n\x1alegacy_supports_brightness\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x13legacy_supports_rgb\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\'\n\x1blegacy_supports_white_value\x18\x07 \x01(\x08\x42\x02\x18\x01\x12-\n!legacy_supports_color_temperature\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x12\n\nmin_mireds\x18\t \x01(\x02\x12\x12\n\nmax_mireds\x18\n \x01(\x02\x12\x0f\n\x07\x65\x66\x66\x65\x63ts\x18\x0b \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\r \x01(\x08\x12\x0c\n\x04icon\x18\x0e \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0f \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@\x0f\xe8@\x01\xf2@\tUSE_LIGHT\"\x95\x02\n\x12LightStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x12\n\nbrightness\x18\x03 \x01(\x02\x12\x12\n\ncolor_mode\x18\x0b \x01(\x05\x12\x18\n\x10\x63olor_brightness\x18\n \x01(\x02\x12\x0b\n\x03red\x18\x04 \x01(\x02\x12\r\n\x05green\x18\x05 \x01(\x02\x12\x0c\n\x04\x62lue\x18\x06 \x01(\x02\x12\r\n\x05white\x18\x07 \x01(\x02\x12\x19\n\x11\x63olor_temperature\x18\x08 \x01(\x02\x12\x12\n\ncold_white\x18\x0c \x01(\x02\x12\x12\n\nwarm_white\x18\r \x01(\x02\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\t \x01(\t:\x15\xe0@\x18\xe8@\x01\xf2@\tUSE_LIGHT\x80\x41\x01\"\xe8\x04\n\x13LightCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x16\n\x0ehas_brightness\x18\x04 \x01(\x08\x12\x12\n\nbrightness\x18\x05 \x01(\x02\x12\x16\n\x0ehas_color_mode\x18\x16 \x01(\x08\x12\x12\n\ncolor_mode\x18\x17 \x01(\x05\x12\x1c\n\x14has_color_brightness\x18\x14 \x01(\x08\x12\x18\n\x10\x63olor_brightness\x18\x15 \x01(\x02\x12\x0f\n\x07has_rgb\x18\x06 \x01(\x08\x12\x0b\n\x03red\x18\x07 \x01(\x02\x12\r\n\x05green\x18\x08 \x01(\x02\x12\x0c\n\x04\x62lue\x18\t \x01(\x02\x12\x11\n\thas_white\x18\n \x01(\x08\x12\r\n\x05white\x18\x0b \x01(\x02\x12\x1d\n\x15has_color_temperature\x18\x0c \x01(\x08\x12\x19\n\x11\x63olor_temperature\x18\r \x01(\x02\x12\x16\n\x0ehas_cold_white\x18\x18 \x01(\x08\x12\x12\n\ncold_white\x18\x19 \x01(\x02\x12\x16\n\x0ehas_warm_white\x18\x1a \x01(\x08\x12\x12\n\nwarm_white\x18\x1b \x01(\x02\x12\x1d\n\x15has_transition_length\x18\x0e \x01(\x08\x12\x19\n\x11transition_length\x18\x0f \x01(\r\x12\x18\n\x10has_flash_length\x18\x10 \x01(\x08\x12\x14\n\x0c\x66lash_length\x18\x11 \x01(\r\x12\x12\n\nhas_effect\x18\x12 \x01(\x08\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\x13 \x01(\t:\x15\xe0@ \xe8@\x02\xf2@\tUSE_LIGHT\x80\x41\x01\"\x82\x03\n\x1aListEntitiesSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13unit_of_measurement\x18\x06 \x01(\t\x12\x19\n\x11\x61\x63\x63uracy_decimals\x18\x07 \x01(\x05\x12\x14\n\x0c\x66orce_update\x18\x08 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t\x12&\n\x0bstate_class\x18\n \x01(\x0e\x32\x11.SensorStateClass\x12-\n\x0flast_reset_type\x18\x0b \x01(\x0e\x32\x14.SensorLastResetType\x12\x1b\n\x13\x64isabled_by_default\x18\x0c \x01(\x08\x12(\n\x0f\x65ntity_category\x18\r \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@\x10\xe8@\x01\xf2@\nUSE_SENSOR\"`\n\x13SensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@\x19\xe8@\x01\xf2@\nUSE_SENSOR\x80\x41\x01\"\xf4\x01\n\x1aListEntitiesSwitchResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x15\n\rassumed_state\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t:\x13\xe0@\x11\xe8@\x01\xf2@\nUSE_SWITCH\"I\n\x13SwitchStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@\x1a\xe8@\x01\xf2@\nUSE_SWITCH\x80\x41\x01\"J\n\x14SwitchCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@!\xe8@\x02\xf2@\nUSE_SWITCH\x80\x41\x01\"\xd0\x01\n\x1eListEntitiesTextSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x18\xe0@\x12\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\"i\n\x17TextSensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1b\xe0@\x1b\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\x80\x41\x01\"M\n\x14SubscribeLogsRequest\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x13\n\x0b\x64ump_config\x18\x02 \x01(\x08:\x06\xe0@\x1c\xe8@\x02\"e\n\x15SubscribeLogsResponse\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x13\n\x0bsend_failed\x18\x04 \x01(\x08:\x0c\xe0@\x1d\xe8@\x01\xf8@\x00\x80\x41\x00\"/\n%SubscribeHomeassistantServicesRequest:\x06\xe0@\"\xe8@\x02\"5\n\x17HomeassistantServiceMap\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xd2\x01\n\x1cHomeassistantServiceResponse\x12\x0f\n\x07service\x18\x01 \x01(\t\x12&\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12/\n\rdata_template\x18\x03 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12+\n\tvariables\x18\x04 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12\x10\n\x08is_event\x18\x05 \x01(\x08:\t\xe0@#\xe8@\x01\x80\x41\x01\"-\n#SubscribeHomeAssistantStatesRequest:\x06\xe0@&\xe8@\x02\"S\n#SubscribeHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\x11\n\tattribute\x18\x02 \x01(\t:\x06\xe0@\'\xe8@\x01\"\\\n\x1aHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tattribute\x18\x03 \x01(\t:\t\xe0@(\xe8@\x02\x80\x41\x01\"\x18\n\x0eGetTimeRequest:\x06\xe0@$\xe8@\x00\"3\n\x0fGetTimeResponse\x12\x15\n\repoch_seconds\x18\x01 \x01(\x07:\t\xe0@%\xe8@\x00\x80\x41\x01\"K\n\x1cListEntitiesServicesArgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1d\n\x04type\x18\x02 \x01(\x0e\x32\x0f.ServiceArgType\"n\n\x1cListEntitiesServicesResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12+\n\x04\x61rgs\x18\x03 \x03(\x0b\x32\x1d.ListEntitiesServicesArgument:\x06\xe0@)\xe8@\x01\"\xc8\x01\n\x16\x45xecuteServiceArgument\x12\r\n\x05\x62ool_\x18\x01 \x01(\x08\x12\x12\n\nlegacy_int\x18\x02 \x01(\x05\x12\x0e\n\x06\x66loat_\x18\x03 \x01(\x02\x12\x0f\n\x07string_\x18\x04 \x01(\t\x12\x0c\n\x04int_\x18\x05 \x01(\x11\x12\x16\n\nbool_array\x18\x06 \x03(\x08\x42\x02\x10\x00\x12\x15\n\tint_array\x18\x07 \x03(\x11\x42\x02\x10\x00\x12\x17\n\x0b\x66loat_array\x18\x08 \x03(\x02\x42\x02\x10\x00\x12\x14\n\x0cstring_array\x18\t \x03(\t\"V\n\x15\x45xecuteServiceRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12%\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x17.ExecuteServiceArgument:\t\xe0@*\xe8@\x02\x80\x41\x01\"\xcd\x01\n\x1aListEntitiesCameraResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x05 \x01(\x08\x12\x0c\n\x04icon\x18\x06 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x19\xe0@+\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"Y\n\x13\x43\x61meraImageResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08:\x19\xe0@,\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"R\n\x12\x43\x61meraImageRequest\x12\x0e\n\x06single\x18\x01 \x01(\x08\x12\x0e\n\x06stream\x18\x02 \x01(\x08:\x1c\xe0@-\xe8@\x02\xf2@\x10USE_ESP32_CAMERA\x80\x41\x01\"\xde\x05\n\x1bListEntitiesClimateResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12$\n\x1csupports_current_temperature\x18\x05 \x01(\x08\x12-\n%supports_two_point_target_temperature\x18\x06 \x01(\x08\x12%\n\x0fsupported_modes\x18\x07 \x03(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16visual_min_temperature\x18\x08 \x01(\x02\x12\x1e\n\x16visual_max_temperature\x18\t \x01(\x02\x12&\n\x1evisual_target_temperature_step\x18\n \x01(\x02\x12\x1c\n\x14legacy_supports_away\x18\x0b \x01(\x08\x12\x17\n\x0fsupports_action\x18\x0c \x01(\x08\x12,\n\x13supported_fan_modes\x18\r \x03(\x0e\x32\x0f.ClimateFanMode\x12\x30\n\x15supported_swing_modes\x18\x0e \x03(\x0e\x32\x11.ClimateSwingMode\x12\"\n\x1asupported_custom_fan_modes\x18\x0f \x03(\t\x12)\n\x11supported_presets\x18\x10 \x03(\x0e\x32\x0e.ClimatePreset\x12 \n\x18supported_custom_presets\x18\x11 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x12 \x01(\x08\x12\x0c\n\x04icon\x18\x13 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x14 \x01(\x0e\x32\x0f.EntityCategory\x12\'\n\x1fvisual_current_temperature_step\x18\x15 \x01(\x02:\x14\xe0@.\xe8@\x01\xf2@\x0bUSE_CLIMATE\"\xa1\x03\n\x14\x43limateStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x04mode\x18\x02 \x01(\x0e\x32\x0c.ClimateMode\x12\x1b\n\x13\x63urrent_temperature\x18\x03 \x01(\x02\x12\x1a\n\x12target_temperature\x18\x04 \x01(\x02\x12\x1e\n\x16target_temperature_low\x18\x05 \x01(\x02\x12\x1f\n\x17target_temperature_high\x18\x06 \x01(\x02\x12\x13\n\x0blegacy_away\x18\x07 \x01(\x08\x12\x1e\n\x06\x61\x63tion\x18\x08 \x01(\x0e\x32\x0e.ClimateAction\x12!\n\x08\x66\x61n_mode\x18\t \x01(\x0e\x32\x0f.ClimateFanMode\x12%\n\nswing_mode\x18\n \x01(\x0e\x32\x11.ClimateSwingMode\x12\x17\n\x0f\x63ustom_fan_mode\x18\x0b \x01(\t\x12\x1e\n\x06preset\x18\x0c \x01(\x0e\x32\x0e.ClimatePreset\x12\x15\n\rcustom_preset\x18\r \x01(\t:\x17\xe0@/\xe8@\x01\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xf3\x04\n\x15\x43limateCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x10\n\x08has_mode\x18\x02 \x01(\x08\x12\x1a\n\x04mode\x18\x03 \x01(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16has_target_temperature\x18\x04 \x01(\x08\x12\x1a\n\x12target_temperature\x18\x05 \x01(\x02\x12\"\n\x1ahas_target_temperature_low\x18\x06 \x01(\x08\x12\x1e\n\x16target_temperature_low\x18\x07 \x01(\x02\x12#\n\x1bhas_target_temperature_high\x18\x08 \x01(\x08\x12\x1f\n\x17target_temperature_high\x18\t \x01(\x02\x12\x17\n\x0fhas_legacy_away\x18\n \x01(\x08\x12\x13\n\x0blegacy_away\x18\x0b \x01(\x08\x12\x14\n\x0chas_fan_mode\x18\x0c \x01(\x08\x12!\n\x08\x66\x61n_mode\x18\r \x01(\x0e\x32\x0f.ClimateFanMode\x12\x16\n\x0ehas_swing_mode\x18\x0e \x01(\x08\x12%\n\nswing_mode\x18\x0f \x01(\x0e\x32\x11.ClimateSwingMode\x12\x1b\n\x13has_custom_fan_mode\x18\x10 \x01(\x08\x12\x17\n\x0f\x63ustom_fan_mode\x18\x11 \x01(\t\x12\x12\n\nhas_preset\x18\x12 \x01(\x08\x12\x1e\n\x06preset\x18\x13 \x01(\x0e\x32\x0e.ClimatePreset\x12\x19\n\x11has_custom_preset\x18\x14 \x01(\x08\x12\x15\n\rcustom_preset\x18\x15 \x01(\t:\x17\xe0@0\xe8@\x02\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xc9\x02\n\x1aListEntitiesNumberResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x11\n\tmin_value\x18\x06 \x01(\x02\x12\x11\n\tmax_value\x18\x07 \x01(\x02\x12\x0c\n\x04step\x18\x08 \x01(\x02\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory\x12\x1b\n\x13unit_of_measurement\x18\x0b \x01(\t\x12\x19\n\x04mode\x18\x0c \x01(\x0e\x32\x0b.NumberMode\x12\x14\n\x0c\x64\x65vice_class\x18\r \x01(\t:\x13\xe0@1\xe8@\x01\xf2@\nUSE_NUMBER\"`\n\x13NumberStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@2\xe8@\x01\xf2@\nUSE_NUMBER\x80\x41\x01\"J\n\x14NumberCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02:\x16\xe0@3\xe8@\x02\xf2@\nUSE_NUMBER\x80\x41\x01\"\xd8\x01\n\x1aListEntitiesSelectResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x0f\n\x07options\x18\x06 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@4\xe8@\x01\xf2@\nUSE_SELECT\"`\n\x13SelectStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@5\xe8@\x01\xf2@\nUSE_SELECT\x80\x41\x01\"J\n\x14SelectCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t:\x16\xe0@6\xe8@\x02\xf2@\nUSE_SELECT\x80\x41\x01\"\x88\x02\n\x19ListEntitiesSirenResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12\r\n\x05tones\x18\x07 \x03(\t\x12\x19\n\x11supports_duration\x18\x08 \x01(\x08\x12\x17\n\x0fsupports_volume\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@7\xe8@\x01\xf2@\tUSE_SIREN\"G\n\x12SirenStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x15\xe0@8\xe8@\x01\xf2@\tUSE_SIREN\x80\x41\x01\"\xc7\x01\n\x13SirenCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x10\n\x08has_tone\x18\x04 \x01(\x08\x12\x0c\n\x04tone\x18\x05 \x01(\t\x12\x14\n\x0chas_duration\x18\x06 \x01(\x08\x12\x10\n\x08\x64uration\x18\x07 \x01(\r\x12\x12\n\nhas_volume\x18\x08 \x01(\x08\x12\x0e\n\x06volume\x18\t \x01(\x02:\x15\xe0@9\xe8@\x02\xf2@\tUSE_SIREN\x80\x41\x01\"\x9d\x02\n\x18ListEntitiesLockResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rassumed_state\x18\x08 \x01(\x08\x12\x15\n\rsupports_open\x18\t \x01(\x08\x12\x15\n\rrequires_code\x18\n \x01(\x08\x12\x13\n\x0b\x63ode_format\x18\x0b \x01(\t:\x11\xe0@:\xe8@\x01\xf2@\x08USE_LOCK\"Q\n\x11LockStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x19\n\x05state\x18\x02 \x01(\x0e\x32\n.LockState:\x14\xe0@;\xe8@\x01\xf2@\x08USE_LOCK\x80\x41\x01\"v\n\x12LockCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1d\n\x07\x63ommand\x18\x02 \x01(\x0e\x32\x0c.LockCommand\x12\x10\n\x08has_code\x18\x03 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x04 \x01(\t:\x14\xe0@<\xe8@\x02\xf2@\x08USE_LOCK\x80\x41\x01\"\xdd\x01\n\x1aListEntitiesButtonResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t:\x13\xe0@=\xe8@\x01\xf2@\nUSE_BUTTON\";\n\x14\x42uttonCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07:\x16\xe0@>\xe8@\x02\xf2@\nUSE_BUTTON\x80\x41\x01\"\xea\x01\n\x1fListEntitiesMediaPlayerResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x16\n\x0esupports_pause\x18\x08 \x01(\x08:\x19\xe0@?\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\"\x86\x01\n\x18MediaPlayerStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12 \n\x05state\x18\x02 \x01(\x0e\x32\x11.MediaPlayerState\x12\x0e\n\x06volume\x18\x03 \x01(\x02\x12\r\n\x05muted\x18\x04 \x01(\x08:\x1c\xe0@@\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"\xcf\x01\n\x19MediaPlayerCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x13\n\x0bhas_command\x18\x02 \x01(\x08\x12$\n\x07\x63ommand\x18\x03 \x01(\x0e\x32\x13.MediaPlayerCommand\x12\x12\n\nhas_volume\x18\x04 \x01(\x08\x12\x0e\n\x06volume\x18\x05 \x01(\x02\x12\x15\n\rhas_media_url\x18\x06 \x01(\x08\x12\x11\n\tmedia_url\x18\x07 \x01(\t:\x1c\xe0@A\xe8@\x02\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"3\n)SubscribeBluetoothLEAdvertisementsRequest:\x06\xe0@B\xe8@\x02\"K\n\x14\x42luetoothServiceData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x17\n\x0blegacy_data\x18\x02 \x03(\rB\x02\x10\x01\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xfc\x01\n BluetoothLEAdvertisementResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x0c\n\x04rssi\x18\x03 \x01(\x11\x12\x15\n\rservice_uuids\x18\x04 \x03(\t\x12+\n\x0cservice_data\x18\x05 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x30\n\x11manufacturer_data\x18\x06 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x07 \x01(\r:\x1f\xe0@C\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\x80\x41\x01\"\xaa\x01\n\x16\x42luetoothDeviceRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x31\n\x0crequest_type\x18\x02 \x01(\x0e\x32\x1b.BluetoothDeviceRequestType\x12\x18\n\x10has_address_type\x18\x03 \x01(\x08\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x04 \x01(\r:\x1c\xe0@D\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"\x81\x01\n!BluetoothDeviceConnectionResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12\x0b\n\x03mtu\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05:\x1c\xe0@E\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"P\n\x1f\x42luetoothGATTGetServicesRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@F\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"7\n\x17\x42luetoothGATTDescriptor\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\"~\n\x1b\x42luetoothGATTCharacteristic\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x12\n\nproperties\x18\x03 \x01(\r\x12-\n\x0b\x64\x65scriptors\x18\x04 \x03(\x0b\x32\x18.BluetoothGATTDescriptor\"k\n\x14\x42luetoothGATTService\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x35\n\x0f\x63haracteristics\x18\x03 \x03(\x0b\x32\x1c.BluetoothGATTCharacteristic\"z\n BluetoothGATTGetServicesResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\'\n\x08services\x18\x02 \x03(\x0b\x32\x15.BluetoothGATTService:\x1c\xe0@G\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"U\n$BluetoothGATTGetServicesDoneResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@H\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"Y\n\x18\x42luetoothGATTReadRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@I\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"h\n\x19\x42luetoothGATTReadResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@J\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"z\n\x19\x42luetoothGATTWriteRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x10\n\x08response\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c:\x1c\xe0@K\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"c\n\"BluetoothGATTReadDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@L\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"r\n#BluetoothGATTWriteDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@M\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"k\n\x1a\x42luetoothGATTNotifyRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x08:\x1c\xe0@N\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1f\x42luetoothGATTNotifyDataResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@O\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"H\n(SubscribeBluetoothConnectionsFreeRequest:\x1c\xe0@P\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"]\n BluetoothConnectionsFreeResponse\x12\x0c\n\x04\x66ree\x18\x01 \x01(\r\x12\r\n\x05limit\x18\x02 \x01(\r:\x1c\xe0@Q\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"j\n\x1a\x42luetoothGATTErrorResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@R\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"[\n\x1a\x42luetoothGATTWriteResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@S\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"\\\n\x1b\x42luetoothGATTNotifyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@T\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1e\x42luetoothDevicePairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06paired\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@U\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"q\n BluetoothDeviceUnpairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@V\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"5\n+UnsubscribeBluetoothLEAdvertisementsRequest:\x06\xe0@W\xe8@\x02*f\n\x0e\x45ntityCategory\x12\x18\n\x14\x45NTITY_CATEGORY_NONE\x10\x00\x12\x1a\n\x16\x45NTITY_CATEGORY_CONFIG\x10\x01\x12\x1e\n\x1a\x45NTITY_CATEGORY_DIAGNOSTIC\x10\x02*N\n\x10LegacyCoverState\x12\x1b\n\x17LEGACY_COVER_STATE_OPEN\x10\x00\x12\x1d\n\x19LEGACY_COVER_STATE_CLOSED\x10\x01*j\n\x0e\x43overOperation\x12\x18\n\x14\x43OVER_OPERATION_IDLE\x10\x00\x12\x1e\n\x1a\x43OVER_OPERATION_IS_OPENING\x10\x01\x12\x1e\n\x1a\x43OVER_OPERATION_IS_CLOSING\x10\x02*r\n\x12LegacyCoverCommand\x12\x1d\n\x19LEGACY_COVER_COMMAND_OPEN\x10\x00\x12\x1e\n\x1aLEGACY_COVER_COMMAND_CLOSE\x10\x01\x12\x1d\n\x19LEGACY_COVER_COMMAND_STOP\x10\x02*G\n\x08\x46\x61nSpeed\x12\x11\n\rFAN_SPEED_LOW\x10\x00\x12\x14\n\x10\x46\x41N_SPEED_MEDIUM\x10\x01\x12\x12\n\x0e\x46\x41N_SPEED_HIGH\x10\x02*D\n\x0c\x46\x61nDirection\x12\x19\n\x15\x46\x41N_DIRECTION_FORWARD\x10\x00\x12\x19\n\x15\x46\x41N_DIRECTION_REVERSE\x10\x01*~\n\x10SensorStateClass\x12\x14\n\x10STATE_CLASS_NONE\x10\x00\x12\x1b\n\x17STATE_CLASS_MEASUREMENT\x10\x01\x12 \n\x1cSTATE_CLASS_TOTAL_INCREASING\x10\x02\x12\x15\n\x11STATE_CLASS_TOTAL\x10\x03*U\n\x13SensorLastResetType\x12\x13\n\x0fLAST_RESET_NONE\x10\x00\x12\x14\n\x10LAST_RESET_NEVER\x10\x01\x12\x13\n\x0fLAST_RESET_AUTO\x10\x02*\xb9\x01\n\x08LogLevel\x12\x12\n\x0eLOG_LEVEL_NONE\x10\x00\x12\x13\n\x0fLOG_LEVEL_ERROR\x10\x01\x12\x12\n\x0eLOG_LEVEL_WARN\x10\x02\x12\x12\n\x0eLOG_LEVEL_INFO\x10\x03\x12\x14\n\x10LOG_LEVEL_CONFIG\x10\x04\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x05\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x06\x12\x1a\n\x16LOG_LEVEL_VERY_VERBOSE\x10\x07*\x84\x02\n\x0eServiceArgType\x12\x19\n\x15SERVICE_ARG_TYPE_BOOL\x10\x00\x12\x18\n\x14SERVICE_ARG_TYPE_INT\x10\x01\x12\x1a\n\x16SERVICE_ARG_TYPE_FLOAT\x10\x02\x12\x1b\n\x17SERVICE_ARG_TYPE_STRING\x10\x03\x12\x1f\n\x1bSERVICE_ARG_TYPE_BOOL_ARRAY\x10\x04\x12\x1e\n\x1aSERVICE_ARG_TYPE_INT_ARRAY\x10\x05\x12 \n\x1cSERVICE_ARG_TYPE_FLOAT_ARRAY\x10\x06\x12!\n\x1dSERVICE_ARG_TYPE_STRING_ARRAY\x10\x07*\xb5\x01\n\x0b\x43limateMode\x12\x14\n\x10\x43LIMATE_MODE_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_MODE_HEAT_COOL\x10\x01\x12\x15\n\x11\x43LIMATE_MODE_COOL\x10\x02\x12\x15\n\x11\x43LIMATE_MODE_HEAT\x10\x03\x12\x19\n\x15\x43LIMATE_MODE_FAN_ONLY\x10\x04\x12\x14\n\x10\x43LIMATE_MODE_DRY\x10\x05\x12\x15\n\x11\x43LIMATE_MODE_AUTO\x10\x06*\xf1\x01\n\x0e\x43limateFanMode\x12\x12\n\x0e\x43LIMATE_FAN_ON\x10\x00\x12\x13\n\x0f\x43LIMATE_FAN_OFF\x10\x01\x12\x14\n\x10\x43LIMATE_FAN_AUTO\x10\x02\x12\x13\n\x0f\x43LIMATE_FAN_LOW\x10\x03\x12\x16\n\x12\x43LIMATE_FAN_MEDIUM\x10\x04\x12\x14\n\x10\x43LIMATE_FAN_HIGH\x10\x05\x12\x16\n\x12\x43LIMATE_FAN_MIDDLE\x10\x06\x12\x15\n\x11\x43LIMATE_FAN_FOCUS\x10\x07\x12\x17\n\x13\x43LIMATE_FAN_DIFFUSE\x10\x08\x12\x15\n\x11\x43LIMATE_FAN_QUIET\x10\t*{\n\x10\x43limateSwingMode\x12\x15\n\x11\x43LIMATE_SWING_OFF\x10\x00\x12\x16\n\x12\x43LIMATE_SWING_BOTH\x10\x01\x12\x1a\n\x16\x43LIMATE_SWING_VERTICAL\x10\x02\x12\x1c\n\x18\x43LIMATE_SWING_HORIZONTAL\x10\x03*\xab\x01\n\rClimateAction\x12\x16\n\x12\x43LIMATE_ACTION_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_ACTION_COOLING\x10\x02\x12\x1a\n\x16\x43LIMATE_ACTION_HEATING\x10\x03\x12\x17\n\x13\x43LIMATE_ACTION_IDLE\x10\x04\x12\x19\n\x15\x43LIMATE_ACTION_DRYING\x10\x05\x12\x16\n\x12\x43LIMATE_ACTION_FAN\x10\x06*\xdf\x01\n\rClimatePreset\x12\x17\n\x13\x43LIMATE_PRESET_NONE\x10\x00\x12\x17\n\x13\x43LIMATE_PRESET_HOME\x10\x01\x12\x17\n\x13\x43LIMATE_PRESET_AWAY\x10\x02\x12\x18\n\x14\x43LIMATE_PRESET_BOOST\x10\x03\x12\x1a\n\x16\x43LIMATE_PRESET_COMFORT\x10\x04\x12\x16\n\x12\x43LIMATE_PRESET_ECO\x10\x05\x12\x18\n\x14\x43LIMATE_PRESET_SLEEP\x10\x06\x12\x1b\n\x17\x43LIMATE_PRESET_ACTIVITY\x10\x07*O\n\nNumberMode\x12\x14\n\x10NUMBER_MODE_AUTO\x10\x00\x12\x13\n\x0fNUMBER_MODE_BOX\x10\x01\x12\x16\n\x12NUMBER_MODE_SLIDER\x10\x02*\x99\x01\n\tLockState\x12\x13\n\x0fLOCK_STATE_NONE\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12\x15\n\x11LOCK_STATE_JAMMED\x10\x03\x12\x16\n\x12LOCK_STATE_LOCKING\x10\x04\x12\x18\n\x14LOCK_STATE_UNLOCKING\x10\x05*<\n\x0bLockCommand\x12\x0f\n\x0bLOCK_UNLOCK\x10\x00\x12\r\n\tLOCK_LOCK\x10\x01\x12\r\n\tLOCK_OPEN\x10\x02*\x8b\x01\n\x10MediaPlayerState\x12\x1b\n\x17MEDIA_PLAYER_STATE_NONE\x10\x00\x12\x1b\n\x17MEDIA_PLAYER_STATE_IDLE\x10\x01\x12\x1e\n\x1aMEDIA_PLAYER_STATE_PLAYING\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_STATE_PAUSED\x10\x03*\xb2\x01\n\x12MediaPlayerCommand\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_PLAY\x10\x00\x12\x1e\n\x1aMEDIA_PLAYER_COMMAND_PAUSE\x10\x01\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_STOP\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_MUTE\x10\x03\x12\x1f\n\x1bMEDIA_PLAYER_COMMAND_UNMUTE\x10\x04*\xbc\x02\n\x1a\x42luetoothDeviceRequestType\x12)\n%BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT\x10\x00\x12,\n(BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT\x10\x01\x12&\n\"BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR\x10\x02\x12(\n$BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR\x10\x03\x12\x37\n3BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE\x10\x04\x12:\n6BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE\x10\x05\x32\xb7\x0f\n\rAPIConnection\x12.\n\x05hello\x12\r.HelloRequest\x1a\x0e.HelloResponse\"\x06\xf0@\x00\xf8@\x00\x12\x34\n\x07\x63onnect\x12\x0f.ConnectRequest\x1a\x10.ConnectResponse\"\x06\xf0@\x00\xf8@\x00\x12=\n\ndisconnect\x12\x12.DisconnectRequest\x1a\x13.DisconnectResponse\"\x06\xf0@\x00\xf8@\x00\x12+\n\x04ping\x12\x0c.PingRequest\x1a\r.PingResponse\"\x06\xf0@\x00\xf8@\x00\x12;\n\x0b\x64\x65vice_info\x12\x12.DeviceInfoRequest\x1a\x13.DeviceInfoResponse\"\x03\xf8@\x00\x12.\n\rlist_entities\x12\x14.ListEntitiesRequest\x1a\x05.void\"\x00\x12\x34\n\x10subscribe_states\x12\x17.SubscribeStatesRequest\x1a\x05.void\"\x00\x12\x30\n\x0esubscribe_logs\x12\x15.SubscribeLogsRequest\x1a\x05.void\"\x00\x12S\n subscribe_homeassistant_services\x12&.SubscribeHomeassistantServicesRequest\x1a\x05.void\"\x00\x12P\n\x1fsubscribe_home_assistant_states\x12$.SubscribeHomeAssistantStatesRequest\x1a\x05.void\"\x00\x12\x32\n\x08get_time\x12\x0f.GetTimeRequest\x1a\x10.GetTimeResponse\"\x03\xf8@\x00\x12\x32\n\x0f\x65xecute_service\x12\x16.ExecuteServiceRequest\x1a\x05.void\"\x00\x12.\n\rcover_command\x12\x14.CoverCommandRequest\x1a\x05.void\"\x00\x12*\n\x0b\x66\x61n_command\x12\x12.FanCommandRequest\x1a\x05.void\"\x00\x12.\n\rlight_command\x12\x14.LightCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eswitch_command\x12\x15.SwitchCommandRequest\x1a\x05.void\"\x00\x12,\n\x0c\x63\x61mera_image\x12\x13.CameraImageRequest\x1a\x05.void\"\x00\x12\x32\n\x0f\x63limate_command\x12\x16.ClimateCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0enumber_command\x12\x15.NumberCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eselect_command\x12\x15.SelectCommandRequest\x1a\x05.void\"\x00\x12.\n\rsiren_command\x12\x14.SirenCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0e\x62utton_command\x12\x15.ButtonCommandRequest\x1a\x05.void\"\x00\x12,\n\x0clock_command\x12\x13.LockCommandRequest\x1a\x05.void\"\x00\x12;\n\x14media_player_command\x12\x1a.MediaPlayerCommandRequest\x1a\x05.void\"\x00\x12\\\n%subscribe_bluetooth_le_advertisements\x12*.SubscribeBluetoothLEAdvertisementsRequest\x1a\x05.void\"\x00\x12<\n\x18\x62luetooth_device_request\x12\x17.BluetoothDeviceRequest\x1a\x05.void\"\x00\x12H\n\x1b\x62luetooth_gatt_get_services\x12 .BluetoothGATTGetServicesRequest\x1a\x05.void\"\x00\x12\x39\n\x13\x62luetooth_gatt_read\x12\x19.BluetoothGATTReadRequest\x1a\x05.void\"\x00\x12;\n\x14\x62luetooth_gatt_write\x12\x1a.BluetoothGATTWriteRequest\x1a\x05.void\"\x00\x12N\n\x1e\x62luetooth_gatt_read_descriptor\x12#.BluetoothGATTReadDescriptorRequest\x1a\x05.void\"\x00\x12P\n\x1f\x62luetooth_gatt_write_descriptor\x12$.BluetoothGATTWriteDescriptorRequest\x1a\x05.void\"\x00\x12=\n\x15\x62luetooth_gatt_notify\x12\x1b.BluetoothGATTNotifyRequest\x1a\x05.void\"\x00\x12`\n\'unsubscribe_bluetooth_le_advertisements\x12,.UnsubscribeBluetoothLEAdvertisementsRequest\x1a\x05.void\"\x00\x62\x06proto3') -_ENTITYCATEGORY = DESCRIPTOR.enum_types_by_name['EntityCategory'] -EntityCategory = enum_type_wrapper.EnumTypeWrapper(_ENTITYCATEGORY) -_LEGACYCOVERSTATE = DESCRIPTOR.enum_types_by_name['LegacyCoverState'] -LegacyCoverState = enum_type_wrapper.EnumTypeWrapper(_LEGACYCOVERSTATE) -_COVEROPERATION = DESCRIPTOR.enum_types_by_name['CoverOperation'] -CoverOperation = enum_type_wrapper.EnumTypeWrapper(_COVEROPERATION) -_LEGACYCOVERCOMMAND = DESCRIPTOR.enum_types_by_name['LegacyCoverCommand'] -LegacyCoverCommand = enum_type_wrapper.EnumTypeWrapper(_LEGACYCOVERCOMMAND) -_FANSPEED = DESCRIPTOR.enum_types_by_name['FanSpeed'] -FanSpeed = enum_type_wrapper.EnumTypeWrapper(_FANSPEED) -_FANDIRECTION = DESCRIPTOR.enum_types_by_name['FanDirection'] -FanDirection = enum_type_wrapper.EnumTypeWrapper(_FANDIRECTION) -_SENSORSTATECLASS = DESCRIPTOR.enum_types_by_name['SensorStateClass'] -SensorStateClass = enum_type_wrapper.EnumTypeWrapper(_SENSORSTATECLASS) -_SENSORLASTRESETTYPE = DESCRIPTOR.enum_types_by_name['SensorLastResetType'] -SensorLastResetType = enum_type_wrapper.EnumTypeWrapper(_SENSORLASTRESETTYPE) -_LOGLEVEL = DESCRIPTOR.enum_types_by_name['LogLevel'] -LogLevel = enum_type_wrapper.EnumTypeWrapper(_LOGLEVEL) -_SERVICEARGTYPE = DESCRIPTOR.enum_types_by_name['ServiceArgType'] -ServiceArgType = enum_type_wrapper.EnumTypeWrapper(_SERVICEARGTYPE) -_CLIMATEMODE = DESCRIPTOR.enum_types_by_name['ClimateMode'] -ClimateMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATEMODE) -_CLIMATEFANMODE = DESCRIPTOR.enum_types_by_name['ClimateFanMode'] -ClimateFanMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATEFANMODE) -_CLIMATESWINGMODE = DESCRIPTOR.enum_types_by_name['ClimateSwingMode'] -ClimateSwingMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATESWINGMODE) -_CLIMATEACTION = DESCRIPTOR.enum_types_by_name['ClimateAction'] -ClimateAction = enum_type_wrapper.EnumTypeWrapper(_CLIMATEACTION) -_CLIMATEPRESET = DESCRIPTOR.enum_types_by_name['ClimatePreset'] -ClimatePreset = enum_type_wrapper.EnumTypeWrapper(_CLIMATEPRESET) -_NUMBERMODE = DESCRIPTOR.enum_types_by_name['NumberMode'] -NumberMode = enum_type_wrapper.EnumTypeWrapper(_NUMBERMODE) -_LOCKSTATE = DESCRIPTOR.enum_types_by_name['LockState'] -LockState = enum_type_wrapper.EnumTypeWrapper(_LOCKSTATE) -_LOCKCOMMAND = DESCRIPTOR.enum_types_by_name['LockCommand'] -LockCommand = enum_type_wrapper.EnumTypeWrapper(_LOCKCOMMAND) -_MEDIAPLAYERSTATE = DESCRIPTOR.enum_types_by_name['MediaPlayerState'] -MediaPlayerState = enum_type_wrapper.EnumTypeWrapper(_MEDIAPLAYERSTATE) -_MEDIAPLAYERCOMMAND = DESCRIPTOR.enum_types_by_name['MediaPlayerCommand'] -MediaPlayerCommand = enum_type_wrapper.EnumTypeWrapper(_MEDIAPLAYERCOMMAND) -_BLUETOOTHDEVICEREQUESTTYPE = DESCRIPTOR.enum_types_by_name['BluetoothDeviceRequestType'] -BluetoothDeviceRequestType = enum_type_wrapper.EnumTypeWrapper(_BLUETOOTHDEVICEREQUESTTYPE) -ENTITY_CATEGORY_NONE = 0 -ENTITY_CATEGORY_CONFIG = 1 -ENTITY_CATEGORY_DIAGNOSTIC = 2 -LEGACY_COVER_STATE_OPEN = 0 -LEGACY_COVER_STATE_CLOSED = 1 -COVER_OPERATION_IDLE = 0 -COVER_OPERATION_IS_OPENING = 1 -COVER_OPERATION_IS_CLOSING = 2 -LEGACY_COVER_COMMAND_OPEN = 0 -LEGACY_COVER_COMMAND_CLOSE = 1 -LEGACY_COVER_COMMAND_STOP = 2 -FAN_SPEED_LOW = 0 -FAN_SPEED_MEDIUM = 1 -FAN_SPEED_HIGH = 2 -FAN_DIRECTION_FORWARD = 0 -FAN_DIRECTION_REVERSE = 1 -STATE_CLASS_NONE = 0 -STATE_CLASS_MEASUREMENT = 1 -STATE_CLASS_TOTAL_INCREASING = 2 -STATE_CLASS_TOTAL = 3 -LAST_RESET_NONE = 0 -LAST_RESET_NEVER = 1 -LAST_RESET_AUTO = 2 -LOG_LEVEL_NONE = 0 -LOG_LEVEL_ERROR = 1 -LOG_LEVEL_WARN = 2 -LOG_LEVEL_INFO = 3 -LOG_LEVEL_CONFIG = 4 -LOG_LEVEL_DEBUG = 5 -LOG_LEVEL_VERBOSE = 6 -LOG_LEVEL_VERY_VERBOSE = 7 -SERVICE_ARG_TYPE_BOOL = 0 -SERVICE_ARG_TYPE_INT = 1 -SERVICE_ARG_TYPE_FLOAT = 2 -SERVICE_ARG_TYPE_STRING = 3 -SERVICE_ARG_TYPE_BOOL_ARRAY = 4 -SERVICE_ARG_TYPE_INT_ARRAY = 5 -SERVICE_ARG_TYPE_FLOAT_ARRAY = 6 -SERVICE_ARG_TYPE_STRING_ARRAY = 7 -CLIMATE_MODE_OFF = 0 -CLIMATE_MODE_HEAT_COOL = 1 -CLIMATE_MODE_COOL = 2 -CLIMATE_MODE_HEAT = 3 -CLIMATE_MODE_FAN_ONLY = 4 -CLIMATE_MODE_DRY = 5 -CLIMATE_MODE_AUTO = 6 -CLIMATE_FAN_ON = 0 -CLIMATE_FAN_OFF = 1 -CLIMATE_FAN_AUTO = 2 -CLIMATE_FAN_LOW = 3 -CLIMATE_FAN_MEDIUM = 4 -CLIMATE_FAN_HIGH = 5 -CLIMATE_FAN_MIDDLE = 6 -CLIMATE_FAN_FOCUS = 7 -CLIMATE_FAN_DIFFUSE = 8 -CLIMATE_FAN_QUIET = 9 -CLIMATE_SWING_OFF = 0 -CLIMATE_SWING_BOTH = 1 -CLIMATE_SWING_VERTICAL = 2 -CLIMATE_SWING_HORIZONTAL = 3 -CLIMATE_ACTION_OFF = 0 -CLIMATE_ACTION_COOLING = 2 -CLIMATE_ACTION_HEATING = 3 -CLIMATE_ACTION_IDLE = 4 -CLIMATE_ACTION_DRYING = 5 -CLIMATE_ACTION_FAN = 6 -CLIMATE_PRESET_NONE = 0 -CLIMATE_PRESET_HOME = 1 -CLIMATE_PRESET_AWAY = 2 -CLIMATE_PRESET_BOOST = 3 -CLIMATE_PRESET_COMFORT = 4 -CLIMATE_PRESET_ECO = 5 -CLIMATE_PRESET_SLEEP = 6 -CLIMATE_PRESET_ACTIVITY = 7 -NUMBER_MODE_AUTO = 0 -NUMBER_MODE_BOX = 1 -NUMBER_MODE_SLIDER = 2 -LOCK_STATE_NONE = 0 -LOCK_STATE_LOCKED = 1 -LOCK_STATE_UNLOCKED = 2 -LOCK_STATE_JAMMED = 3 -LOCK_STATE_LOCKING = 4 -LOCK_STATE_UNLOCKING = 5 -LOCK_UNLOCK = 0 -LOCK_LOCK = 1 -LOCK_OPEN = 2 -MEDIA_PLAYER_STATE_NONE = 0 -MEDIA_PLAYER_STATE_IDLE = 1 -MEDIA_PLAYER_STATE_PLAYING = 2 -MEDIA_PLAYER_STATE_PAUSED = 3 -MEDIA_PLAYER_COMMAND_PLAY = 0 -MEDIA_PLAYER_COMMAND_PAUSE = 1 -MEDIA_PLAYER_COMMAND_STOP = 2 -MEDIA_PLAYER_COMMAND_MUTE = 3 -MEDIA_PLAYER_COMMAND_UNMUTE = 4 -BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT = 0 -BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT = 1 -BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR = 2 -BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR = 3 -BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE = 4 -BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE = 5 - - -_HELLOREQUEST = DESCRIPTOR.message_types_by_name['HelloRequest'] -_HELLORESPONSE = DESCRIPTOR.message_types_by_name['HelloResponse'] -_CONNECTREQUEST = DESCRIPTOR.message_types_by_name['ConnectRequest'] -_CONNECTRESPONSE = DESCRIPTOR.message_types_by_name['ConnectResponse'] -_DISCONNECTREQUEST = DESCRIPTOR.message_types_by_name['DisconnectRequest'] -_DISCONNECTRESPONSE = DESCRIPTOR.message_types_by_name['DisconnectResponse'] -_PINGREQUEST = DESCRIPTOR.message_types_by_name['PingRequest'] -_PINGRESPONSE = DESCRIPTOR.message_types_by_name['PingResponse'] -_DEVICEINFOREQUEST = DESCRIPTOR.message_types_by_name['DeviceInfoRequest'] -_DEVICEINFORESPONSE = DESCRIPTOR.message_types_by_name['DeviceInfoResponse'] -_LISTENTITIESREQUEST = DESCRIPTOR.message_types_by_name['ListEntitiesRequest'] -_LISTENTITIESDONERESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesDoneResponse'] -_SUBSCRIBESTATESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeStatesRequest'] -_LISTENTITIESBINARYSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesBinarySensorResponse'] -_BINARYSENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['BinarySensorStateResponse'] -_LISTENTITIESCOVERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesCoverResponse'] -_COVERSTATERESPONSE = DESCRIPTOR.message_types_by_name['CoverStateResponse'] -_COVERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['CoverCommandRequest'] -_LISTENTITIESFANRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesFanResponse'] -_FANSTATERESPONSE = DESCRIPTOR.message_types_by_name['FanStateResponse'] -_FANCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['FanCommandRequest'] -_LISTENTITIESLIGHTRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesLightResponse'] -_LIGHTSTATERESPONSE = DESCRIPTOR.message_types_by_name['LightStateResponse'] -_LIGHTCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['LightCommandRequest'] -_LISTENTITIESSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSensorResponse'] -_SENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['SensorStateResponse'] -_LISTENTITIESSWITCHRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSwitchResponse'] -_SWITCHSTATERESPONSE = DESCRIPTOR.message_types_by_name['SwitchStateResponse'] -_SWITCHCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SwitchCommandRequest'] -_LISTENTITIESTEXTSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesTextSensorResponse'] -_TEXTSENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['TextSensorStateResponse'] -_SUBSCRIBELOGSREQUEST = DESCRIPTOR.message_types_by_name['SubscribeLogsRequest'] -_SUBSCRIBELOGSRESPONSE = DESCRIPTOR.message_types_by_name['SubscribeLogsResponse'] -_SUBSCRIBEHOMEASSISTANTSERVICESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeHomeassistantServicesRequest'] -_HOMEASSISTANTSERVICEMAP = DESCRIPTOR.message_types_by_name['HomeassistantServiceMap'] -_HOMEASSISTANTSERVICERESPONSE = DESCRIPTOR.message_types_by_name['HomeassistantServiceResponse'] -_SUBSCRIBEHOMEASSISTANTSTATESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeHomeAssistantStatesRequest'] -_SUBSCRIBEHOMEASSISTANTSTATERESPONSE = DESCRIPTOR.message_types_by_name['SubscribeHomeAssistantStateResponse'] -_HOMEASSISTANTSTATERESPONSE = DESCRIPTOR.message_types_by_name['HomeAssistantStateResponse'] -_GETTIMEREQUEST = DESCRIPTOR.message_types_by_name['GetTimeRequest'] -_GETTIMERESPONSE = DESCRIPTOR.message_types_by_name['GetTimeResponse'] -_LISTENTITIESSERVICESARGUMENT = DESCRIPTOR.message_types_by_name['ListEntitiesServicesArgument'] -_LISTENTITIESSERVICESRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesServicesResponse'] -_EXECUTESERVICEARGUMENT = DESCRIPTOR.message_types_by_name['ExecuteServiceArgument'] -_EXECUTESERVICEREQUEST = DESCRIPTOR.message_types_by_name['ExecuteServiceRequest'] -_LISTENTITIESCAMERARESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesCameraResponse'] -_CAMERAIMAGERESPONSE = DESCRIPTOR.message_types_by_name['CameraImageResponse'] -_CAMERAIMAGEREQUEST = DESCRIPTOR.message_types_by_name['CameraImageRequest'] -_LISTENTITIESCLIMATERESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesClimateResponse'] -_CLIMATESTATERESPONSE = DESCRIPTOR.message_types_by_name['ClimateStateResponse'] -_CLIMATECOMMANDREQUEST = DESCRIPTOR.message_types_by_name['ClimateCommandRequest'] -_LISTENTITIESNUMBERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesNumberResponse'] -_NUMBERSTATERESPONSE = DESCRIPTOR.message_types_by_name['NumberStateResponse'] -_NUMBERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['NumberCommandRequest'] -_LISTENTITIESSELECTRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSelectResponse'] -_SELECTSTATERESPONSE = DESCRIPTOR.message_types_by_name['SelectStateResponse'] -_SELECTCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SelectCommandRequest'] -_LISTENTITIESSIRENRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSirenResponse'] -_SIRENSTATERESPONSE = DESCRIPTOR.message_types_by_name['SirenStateResponse'] -_SIRENCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SirenCommandRequest'] -_LISTENTITIESLOCKRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesLockResponse'] -_LOCKSTATERESPONSE = DESCRIPTOR.message_types_by_name['LockStateResponse'] -_LOCKCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['LockCommandRequest'] -_LISTENTITIESBUTTONRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesButtonResponse'] -_BUTTONCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['ButtonCommandRequest'] -_LISTENTITIESMEDIAPLAYERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesMediaPlayerResponse'] -_MEDIAPLAYERSTATERESPONSE = DESCRIPTOR.message_types_by_name['MediaPlayerStateResponse'] -_MEDIAPLAYERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['MediaPlayerCommandRequest'] -_SUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST = DESCRIPTOR.message_types_by_name['SubscribeBluetoothLEAdvertisementsRequest'] -_BLUETOOTHSERVICEDATA = DESCRIPTOR.message_types_by_name['BluetoothServiceData'] -_BLUETOOTHLEADVERTISEMENTRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothLEAdvertisementResponse'] -_BLUETOOTHDEVICEREQUEST = DESCRIPTOR.message_types_by_name['BluetoothDeviceRequest'] -_BLUETOOTHDEVICECONNECTIONRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDeviceConnectionResponse'] -_BLUETOOTHGATTGETSERVICESREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesRequest'] -_BLUETOOTHGATTDESCRIPTOR = DESCRIPTOR.message_types_by_name['BluetoothGATTDescriptor'] -_BLUETOOTHGATTCHARACTERISTIC = DESCRIPTOR.message_types_by_name['BluetoothGATTCharacteristic'] -_BLUETOOTHGATTSERVICE = DESCRIPTOR.message_types_by_name['BluetoothGATTService'] -_BLUETOOTHGATTGETSERVICESRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesResponse'] -_BLUETOOTHGATTGETSERVICESDONERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesDoneResponse'] -_BLUETOOTHGATTREADREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTReadRequest'] -_BLUETOOTHGATTREADRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTReadResponse'] -_BLUETOOTHGATTWRITEREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteRequest'] -_BLUETOOTHGATTREADDESCRIPTORREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTReadDescriptorRequest'] -_BLUETOOTHGATTWRITEDESCRIPTORREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteDescriptorRequest'] -_BLUETOOTHGATTNOTIFYREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyRequest'] -_BLUETOOTHGATTNOTIFYDATARESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyDataResponse'] -_SUBSCRIBEBLUETOOTHCONNECTIONSFREEREQUEST = DESCRIPTOR.message_types_by_name['SubscribeBluetoothConnectionsFreeRequest'] -_BLUETOOTHCONNECTIONSFREERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothConnectionsFreeResponse'] -_BLUETOOTHGATTERRORRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTErrorResponse'] -_BLUETOOTHGATTWRITERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteResponse'] -_BLUETOOTHGATTNOTIFYRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyResponse'] -_BLUETOOTHDEVICEPAIRINGRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDevicePairingResponse'] -_BLUETOOTHDEVICEUNPAIRINGRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDeviceUnpairingResponse'] -HelloRequest = _reflection.GeneratedProtocolMessageType('HelloRequest', (_message.Message,), { - 'DESCRIPTOR' : _HELLOREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:HelloRequest) - }) -_sym_db.RegisterMessage(HelloRequest) - -HelloResponse = _reflection.GeneratedProtocolMessageType('HelloResponse', (_message.Message,), { - 'DESCRIPTOR' : _HELLORESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:HelloResponse) - }) -_sym_db.RegisterMessage(HelloResponse) - -ConnectRequest = _reflection.GeneratedProtocolMessageType('ConnectRequest', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ConnectRequest) - }) -_sym_db.RegisterMessage(ConnectRequest) - -ConnectResponse = _reflection.GeneratedProtocolMessageType('ConnectResponse', (_message.Message,), { - 'DESCRIPTOR' : _CONNECTRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ConnectResponse) - }) -_sym_db.RegisterMessage(ConnectResponse) - -DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), { - 'DESCRIPTOR' : _DISCONNECTREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:DisconnectRequest) - }) -_sym_db.RegisterMessage(DisconnectRequest) - -DisconnectResponse = _reflection.GeneratedProtocolMessageType('DisconnectResponse', (_message.Message,), { - 'DESCRIPTOR' : _DISCONNECTRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:DisconnectResponse) - }) -_sym_db.RegisterMessage(DisconnectResponse) - -PingRequest = _reflection.GeneratedProtocolMessageType('PingRequest', (_message.Message,), { - 'DESCRIPTOR' : _PINGREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:PingRequest) - }) -_sym_db.RegisterMessage(PingRequest) - -PingResponse = _reflection.GeneratedProtocolMessageType('PingResponse', (_message.Message,), { - 'DESCRIPTOR' : _PINGRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:PingResponse) - }) -_sym_db.RegisterMessage(PingResponse) - -DeviceInfoRequest = _reflection.GeneratedProtocolMessageType('DeviceInfoRequest', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEINFOREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:DeviceInfoRequest) - }) -_sym_db.RegisterMessage(DeviceInfoRequest) - -DeviceInfoResponse = _reflection.GeneratedProtocolMessageType('DeviceInfoResponse', (_message.Message,), { - 'DESCRIPTOR' : _DEVICEINFORESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:DeviceInfoResponse) - }) -_sym_db.RegisterMessage(DeviceInfoResponse) - -ListEntitiesRequest = _reflection.GeneratedProtocolMessageType('ListEntitiesRequest', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesRequest) - }) -_sym_db.RegisterMessage(ListEntitiesRequest) - -ListEntitiesDoneResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesDoneResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESDONERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesDoneResponse) - }) -_sym_db.RegisterMessage(ListEntitiesDoneResponse) - -SubscribeStatesRequest = _reflection.GeneratedProtocolMessageType('SubscribeStatesRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBESTATESREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeStatesRequest) - }) -_sym_db.RegisterMessage(SubscribeStatesRequest) - -ListEntitiesBinarySensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesBinarySensorResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESBINARYSENSORRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesBinarySensorResponse) - }) -_sym_db.RegisterMessage(ListEntitiesBinarySensorResponse) - -BinarySensorStateResponse = _reflection.GeneratedProtocolMessageType('BinarySensorStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _BINARYSENSORSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BinarySensorStateResponse) - }) -_sym_db.RegisterMessage(BinarySensorStateResponse) - -ListEntitiesCoverResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesCoverResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESCOVERRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesCoverResponse) - }) -_sym_db.RegisterMessage(ListEntitiesCoverResponse) - -CoverStateResponse = _reflection.GeneratedProtocolMessageType('CoverStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _COVERSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:CoverStateResponse) - }) -_sym_db.RegisterMessage(CoverStateResponse) - -CoverCommandRequest = _reflection.GeneratedProtocolMessageType('CoverCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _COVERCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:CoverCommandRequest) - }) -_sym_db.RegisterMessage(CoverCommandRequest) - -ListEntitiesFanResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesFanResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESFANRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesFanResponse) - }) -_sym_db.RegisterMessage(ListEntitiesFanResponse) - -FanStateResponse = _reflection.GeneratedProtocolMessageType('FanStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _FANSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:FanStateResponse) - }) -_sym_db.RegisterMessage(FanStateResponse) - -FanCommandRequest = _reflection.GeneratedProtocolMessageType('FanCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _FANCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:FanCommandRequest) - }) -_sym_db.RegisterMessage(FanCommandRequest) - -ListEntitiesLightResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesLightResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESLIGHTRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesLightResponse) - }) -_sym_db.RegisterMessage(ListEntitiesLightResponse) - -LightStateResponse = _reflection.GeneratedProtocolMessageType('LightStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _LIGHTSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:LightStateResponse) - }) -_sym_db.RegisterMessage(LightStateResponse) - -LightCommandRequest = _reflection.GeneratedProtocolMessageType('LightCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _LIGHTCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:LightCommandRequest) - }) -_sym_db.RegisterMessage(LightCommandRequest) - -ListEntitiesSensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSensorResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSENSORRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesSensorResponse) - }) -_sym_db.RegisterMessage(ListEntitiesSensorResponse) - -SensorStateResponse = _reflection.GeneratedProtocolMessageType('SensorStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _SENSORSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SensorStateResponse) - }) -_sym_db.RegisterMessage(SensorStateResponse) - -ListEntitiesSwitchResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSwitchResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSWITCHRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesSwitchResponse) - }) -_sym_db.RegisterMessage(ListEntitiesSwitchResponse) - -SwitchStateResponse = _reflection.GeneratedProtocolMessageType('SwitchStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _SWITCHSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SwitchStateResponse) - }) -_sym_db.RegisterMessage(SwitchStateResponse) - -SwitchCommandRequest = _reflection.GeneratedProtocolMessageType('SwitchCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _SWITCHCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SwitchCommandRequest) - }) -_sym_db.RegisterMessage(SwitchCommandRequest) - -ListEntitiesTextSensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesTextSensorResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESTEXTSENSORRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesTextSensorResponse) - }) -_sym_db.RegisterMessage(ListEntitiesTextSensorResponse) - -TextSensorStateResponse = _reflection.GeneratedProtocolMessageType('TextSensorStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _TEXTSENSORSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:TextSensorStateResponse) - }) -_sym_db.RegisterMessage(TextSensorStateResponse) - -SubscribeLogsRequest = _reflection.GeneratedProtocolMessageType('SubscribeLogsRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBELOGSREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeLogsRequest) - }) -_sym_db.RegisterMessage(SubscribeLogsRequest) - -SubscribeLogsResponse = _reflection.GeneratedProtocolMessageType('SubscribeLogsResponse', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBELOGSRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeLogsResponse) - }) -_sym_db.RegisterMessage(SubscribeLogsResponse) - -SubscribeHomeassistantServicesRequest = _reflection.GeneratedProtocolMessageType('SubscribeHomeassistantServicesRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSERVICESREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeHomeassistantServicesRequest) - }) -_sym_db.RegisterMessage(SubscribeHomeassistantServicesRequest) - -HomeassistantServiceMap = _reflection.GeneratedProtocolMessageType('HomeassistantServiceMap', (_message.Message,), { - 'DESCRIPTOR' : _HOMEASSISTANTSERVICEMAP, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:HomeassistantServiceMap) - }) -_sym_db.RegisterMessage(HomeassistantServiceMap) - -HomeassistantServiceResponse = _reflection.GeneratedProtocolMessageType('HomeassistantServiceResponse', (_message.Message,), { - 'DESCRIPTOR' : _HOMEASSISTANTSERVICERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:HomeassistantServiceResponse) - }) -_sym_db.RegisterMessage(HomeassistantServiceResponse) - -SubscribeHomeAssistantStatesRequest = _reflection.GeneratedProtocolMessageType('SubscribeHomeAssistantStatesRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSTATESREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeHomeAssistantStatesRequest) - }) -_sym_db.RegisterMessage(SubscribeHomeAssistantStatesRequest) - -SubscribeHomeAssistantStateResponse = _reflection.GeneratedProtocolMessageType('SubscribeHomeAssistantStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeHomeAssistantStateResponse) - }) -_sym_db.RegisterMessage(SubscribeHomeAssistantStateResponse) - -HomeAssistantStateResponse = _reflection.GeneratedProtocolMessageType('HomeAssistantStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _HOMEASSISTANTSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:HomeAssistantStateResponse) - }) -_sym_db.RegisterMessage(HomeAssistantStateResponse) - -GetTimeRequest = _reflection.GeneratedProtocolMessageType('GetTimeRequest', (_message.Message,), { - 'DESCRIPTOR' : _GETTIMEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:GetTimeRequest) - }) -_sym_db.RegisterMessage(GetTimeRequest) - -GetTimeResponse = _reflection.GeneratedProtocolMessageType('GetTimeResponse', (_message.Message,), { - 'DESCRIPTOR' : _GETTIMERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:GetTimeResponse) - }) -_sym_db.RegisterMessage(GetTimeResponse) - -ListEntitiesServicesArgument = _reflection.GeneratedProtocolMessageType('ListEntitiesServicesArgument', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSERVICESARGUMENT, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesServicesArgument) - }) -_sym_db.RegisterMessage(ListEntitiesServicesArgument) - -ListEntitiesServicesResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesServicesResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSERVICESRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesServicesResponse) - }) -_sym_db.RegisterMessage(ListEntitiesServicesResponse) - -ExecuteServiceArgument = _reflection.GeneratedProtocolMessageType('ExecuteServiceArgument', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTESERVICEARGUMENT, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ExecuteServiceArgument) - }) -_sym_db.RegisterMessage(ExecuteServiceArgument) - -ExecuteServiceRequest = _reflection.GeneratedProtocolMessageType('ExecuteServiceRequest', (_message.Message,), { - 'DESCRIPTOR' : _EXECUTESERVICEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ExecuteServiceRequest) - }) -_sym_db.RegisterMessage(ExecuteServiceRequest) - -ListEntitiesCameraResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesCameraResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESCAMERARESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesCameraResponse) - }) -_sym_db.RegisterMessage(ListEntitiesCameraResponse) - -CameraImageResponse = _reflection.GeneratedProtocolMessageType('CameraImageResponse', (_message.Message,), { - 'DESCRIPTOR' : _CAMERAIMAGERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:CameraImageResponse) - }) -_sym_db.RegisterMessage(CameraImageResponse) - -CameraImageRequest = _reflection.GeneratedProtocolMessageType('CameraImageRequest', (_message.Message,), { - 'DESCRIPTOR' : _CAMERAIMAGEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:CameraImageRequest) - }) -_sym_db.RegisterMessage(CameraImageRequest) - -ListEntitiesClimateResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesClimateResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESCLIMATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesClimateResponse) - }) -_sym_db.RegisterMessage(ListEntitiesClimateResponse) - -ClimateStateResponse = _reflection.GeneratedProtocolMessageType('ClimateStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _CLIMATESTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ClimateStateResponse) - }) -_sym_db.RegisterMessage(ClimateStateResponse) - -ClimateCommandRequest = _reflection.GeneratedProtocolMessageType('ClimateCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _CLIMATECOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ClimateCommandRequest) - }) -_sym_db.RegisterMessage(ClimateCommandRequest) - -ListEntitiesNumberResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesNumberResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESNUMBERRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesNumberResponse) - }) -_sym_db.RegisterMessage(ListEntitiesNumberResponse) - -NumberStateResponse = _reflection.GeneratedProtocolMessageType('NumberStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _NUMBERSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:NumberStateResponse) - }) -_sym_db.RegisterMessage(NumberStateResponse) - -NumberCommandRequest = _reflection.GeneratedProtocolMessageType('NumberCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _NUMBERCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:NumberCommandRequest) - }) -_sym_db.RegisterMessage(NumberCommandRequest) - -ListEntitiesSelectResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSelectResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSELECTRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesSelectResponse) - }) -_sym_db.RegisterMessage(ListEntitiesSelectResponse) - -SelectStateResponse = _reflection.GeneratedProtocolMessageType('SelectStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _SELECTSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SelectStateResponse) - }) -_sym_db.RegisterMessage(SelectStateResponse) - -SelectCommandRequest = _reflection.GeneratedProtocolMessageType('SelectCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _SELECTCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SelectCommandRequest) - }) -_sym_db.RegisterMessage(SelectCommandRequest) - -ListEntitiesSirenResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSirenResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESSIRENRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesSirenResponse) - }) -_sym_db.RegisterMessage(ListEntitiesSirenResponse) - -SirenStateResponse = _reflection.GeneratedProtocolMessageType('SirenStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _SIRENSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SirenStateResponse) - }) -_sym_db.RegisterMessage(SirenStateResponse) - -SirenCommandRequest = _reflection.GeneratedProtocolMessageType('SirenCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _SIRENCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SirenCommandRequest) - }) -_sym_db.RegisterMessage(SirenCommandRequest) - -ListEntitiesLockResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesLockResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESLOCKRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesLockResponse) - }) -_sym_db.RegisterMessage(ListEntitiesLockResponse) - -LockStateResponse = _reflection.GeneratedProtocolMessageType('LockStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _LOCKSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:LockStateResponse) - }) -_sym_db.RegisterMessage(LockStateResponse) - -LockCommandRequest = _reflection.GeneratedProtocolMessageType('LockCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _LOCKCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:LockCommandRequest) - }) -_sym_db.RegisterMessage(LockCommandRequest) - -ListEntitiesButtonResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesButtonResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESBUTTONRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesButtonResponse) - }) -_sym_db.RegisterMessage(ListEntitiesButtonResponse) - -ButtonCommandRequest = _reflection.GeneratedProtocolMessageType('ButtonCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _BUTTONCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ButtonCommandRequest) - }) -_sym_db.RegisterMessage(ButtonCommandRequest) - -ListEntitiesMediaPlayerResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesMediaPlayerResponse', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITIESMEDIAPLAYERRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:ListEntitiesMediaPlayerResponse) - }) -_sym_db.RegisterMessage(ListEntitiesMediaPlayerResponse) - -MediaPlayerStateResponse = _reflection.GeneratedProtocolMessageType('MediaPlayerStateResponse', (_message.Message,), { - 'DESCRIPTOR' : _MEDIAPLAYERSTATERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:MediaPlayerStateResponse) - }) -_sym_db.RegisterMessage(MediaPlayerStateResponse) - -MediaPlayerCommandRequest = _reflection.GeneratedProtocolMessageType('MediaPlayerCommandRequest', (_message.Message,), { - 'DESCRIPTOR' : _MEDIAPLAYERCOMMANDREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:MediaPlayerCommandRequest) - }) -_sym_db.RegisterMessage(MediaPlayerCommandRequest) - -SubscribeBluetoothLEAdvertisementsRequest = _reflection.GeneratedProtocolMessageType('SubscribeBluetoothLEAdvertisementsRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeBluetoothLEAdvertisementsRequest) - }) -_sym_db.RegisterMessage(SubscribeBluetoothLEAdvertisementsRequest) - -BluetoothServiceData = _reflection.GeneratedProtocolMessageType('BluetoothServiceData', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHSERVICEDATA, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothServiceData) - }) -_sym_db.RegisterMessage(BluetoothServiceData) - -BluetoothLEAdvertisementResponse = _reflection.GeneratedProtocolMessageType('BluetoothLEAdvertisementResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHLEADVERTISEMENTRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothLEAdvertisementResponse) - }) -_sym_db.RegisterMessage(BluetoothLEAdvertisementResponse) - -BluetoothDeviceRequest = _reflection.GeneratedProtocolMessageType('BluetoothDeviceRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHDEVICEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothDeviceRequest) - }) -_sym_db.RegisterMessage(BluetoothDeviceRequest) - -BluetoothDeviceConnectionResponse = _reflection.GeneratedProtocolMessageType('BluetoothDeviceConnectionResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHDEVICECONNECTIONRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothDeviceConnectionResponse) - }) -_sym_db.RegisterMessage(BluetoothDeviceConnectionResponse) - -BluetoothGATTGetServicesRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTGetServicesRequest) - -BluetoothGATTDescriptor = _reflection.GeneratedProtocolMessageType('BluetoothGATTDescriptor', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTDESCRIPTOR, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTDescriptor) - }) -_sym_db.RegisterMessage(BluetoothGATTDescriptor) - -BluetoothGATTCharacteristic = _reflection.GeneratedProtocolMessageType('BluetoothGATTCharacteristic', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTCHARACTERISTIC, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTCharacteristic) - }) -_sym_db.RegisterMessage(BluetoothGATTCharacteristic) - -BluetoothGATTService = _reflection.GeneratedProtocolMessageType('BluetoothGATTService', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTSERVICE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTService) - }) -_sym_db.RegisterMessage(BluetoothGATTService) - -BluetoothGATTGetServicesResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTGetServicesResponse) - -BluetoothGATTGetServicesDoneResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesDoneResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESDONERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesDoneResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTGetServicesDoneResponse) - -BluetoothGATTReadRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTREADREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTReadRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTReadRequest) - -BluetoothGATTReadResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTREADRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTReadResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTReadResponse) - -BluetoothGATTWriteRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTWRITEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTWriteRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTWriteRequest) - -BluetoothGATTReadDescriptorRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadDescriptorRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTREADDESCRIPTORREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTReadDescriptorRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTReadDescriptorRequest) - -BluetoothGATTWriteDescriptorRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteDescriptorRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTWRITEDESCRIPTORREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTWriteDescriptorRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTWriteDescriptorRequest) - -BluetoothGATTNotifyRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyRequest', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyRequest) - }) -_sym_db.RegisterMessage(BluetoothGATTNotifyRequest) - -BluetoothGATTNotifyDataResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyDataResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYDATARESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyDataResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTNotifyDataResponse) - -SubscribeBluetoothConnectionsFreeRequest = _reflection.GeneratedProtocolMessageType('SubscribeBluetoothConnectionsFreeRequest', (_message.Message,), { - 'DESCRIPTOR' : _SUBSCRIBEBLUETOOTHCONNECTIONSFREEREQUEST, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:SubscribeBluetoothConnectionsFreeRequest) - }) -_sym_db.RegisterMessage(SubscribeBluetoothConnectionsFreeRequest) - -BluetoothConnectionsFreeResponse = _reflection.GeneratedProtocolMessageType('BluetoothConnectionsFreeResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHCONNECTIONSFREERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothConnectionsFreeResponse) - }) -_sym_db.RegisterMessage(BluetoothConnectionsFreeResponse) - -BluetoothGATTErrorResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTErrorResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTERRORRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTErrorResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTErrorResponse) - -BluetoothGATTWriteResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTWRITERESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTWriteResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTWriteResponse) - -BluetoothGATTNotifyResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyResponse) - }) -_sym_db.RegisterMessage(BluetoothGATTNotifyResponse) - -BluetoothDevicePairingResponse = _reflection.GeneratedProtocolMessageType('BluetoothDevicePairingResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHDEVICEPAIRINGRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothDevicePairingResponse) - }) -_sym_db.RegisterMessage(BluetoothDevicePairingResponse) - -BluetoothDeviceUnpairingResponse = _reflection.GeneratedProtocolMessageType('BluetoothDeviceUnpairingResponse', (_message.Message,), { - 'DESCRIPTOR' : _BLUETOOTHDEVICEUNPAIRINGRESPONSE, - '__module__' : 'api_pb2' - # @@protoc_insertion_point(class_scope:BluetoothDeviceUnpairingResponse) - }) -_sym_db.RegisterMessage(BluetoothDeviceUnpairingResponse) - -_APICONNECTION = DESCRIPTOR.services_by_name['APIConnection'] +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -1106,6 +216,8 @@ _BLUETOOTHDEVICEPAIRINGRESPONSE._serialized_options = b'\340@U\350@\001\362@\023USE_BLUETOOTH_PROXY' _BLUETOOTHDEVICEUNPAIRINGRESPONSE._options = None _BLUETOOTHDEVICEUNPAIRINGRESPONSE._serialized_options = b'\340@V\350@\001\362@\023USE_BLUETOOTH_PROXY' + _UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST._options = None + _UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST._serialized_options = b'\340@W\350@\002' _APICONNECTION.methods_by_name['hello']._options = None _APICONNECTION.methods_by_name['hello']._serialized_options = b'\360@\000\370@\000' _APICONNECTION.methods_by_name['connect']._options = None @@ -1118,48 +230,48 @@ _APICONNECTION.methods_by_name['device_info']._serialized_options = b'\370@\000' _APICONNECTION.methods_by_name['get_time']._options = None _APICONNECTION.methods_by_name['get_time']._serialized_options = b'\370@\000' - _ENTITYCATEGORY._serialized_start=14332 - _ENTITYCATEGORY._serialized_end=14434 - _LEGACYCOVERSTATE._serialized_start=14436 - _LEGACYCOVERSTATE._serialized_end=14514 - _COVEROPERATION._serialized_start=14516 - _COVEROPERATION._serialized_end=14622 - _LEGACYCOVERCOMMAND._serialized_start=14624 - _LEGACYCOVERCOMMAND._serialized_end=14738 - _FANSPEED._serialized_start=14740 - _FANSPEED._serialized_end=14811 - _FANDIRECTION._serialized_start=14813 - _FANDIRECTION._serialized_end=14881 - _SENSORSTATECLASS._serialized_start=14883 - _SENSORSTATECLASS._serialized_end=15009 - _SENSORLASTRESETTYPE._serialized_start=15011 - _SENSORLASTRESETTYPE._serialized_end=15096 - _LOGLEVEL._serialized_start=15099 - _LOGLEVEL._serialized_end=15284 - _SERVICEARGTYPE._serialized_start=15287 - _SERVICEARGTYPE._serialized_end=15547 - _CLIMATEMODE._serialized_start=15550 - _CLIMATEMODE._serialized_end=15731 - _CLIMATEFANMODE._serialized_start=15734 - _CLIMATEFANMODE._serialized_end=15975 - _CLIMATESWINGMODE._serialized_start=15977 - _CLIMATESWINGMODE._serialized_end=16100 - _CLIMATEACTION._serialized_start=16103 - _CLIMATEACTION._serialized_end=16274 - _CLIMATEPRESET._serialized_start=16277 - _CLIMATEPRESET._serialized_end=16500 - _NUMBERMODE._serialized_start=16502 - _NUMBERMODE._serialized_end=16581 - _LOCKSTATE._serialized_start=16584 - _LOCKSTATE._serialized_end=16737 - _LOCKCOMMAND._serialized_start=16739 - _LOCKCOMMAND._serialized_end=16799 - _MEDIAPLAYERSTATE._serialized_start=16802 - _MEDIAPLAYERSTATE._serialized_end=16941 - _MEDIAPLAYERCOMMAND._serialized_start=16944 - _MEDIAPLAYERCOMMAND._serialized_end=17122 - _BLUETOOTHDEVICEREQUESTTYPE._serialized_start=17125 - _BLUETOOTHDEVICEREQUESTTYPE._serialized_end=17441 + _ENTITYCATEGORY._serialized_start=14387 + _ENTITYCATEGORY._serialized_end=14489 + _LEGACYCOVERSTATE._serialized_start=14491 + _LEGACYCOVERSTATE._serialized_end=14569 + _COVEROPERATION._serialized_start=14571 + _COVEROPERATION._serialized_end=14677 + _LEGACYCOVERCOMMAND._serialized_start=14679 + _LEGACYCOVERCOMMAND._serialized_end=14793 + _FANSPEED._serialized_start=14795 + _FANSPEED._serialized_end=14866 + _FANDIRECTION._serialized_start=14868 + _FANDIRECTION._serialized_end=14936 + _SENSORSTATECLASS._serialized_start=14938 + _SENSORSTATECLASS._serialized_end=15064 + _SENSORLASTRESETTYPE._serialized_start=15066 + _SENSORLASTRESETTYPE._serialized_end=15151 + _LOGLEVEL._serialized_start=15154 + _LOGLEVEL._serialized_end=15339 + _SERVICEARGTYPE._serialized_start=15342 + _SERVICEARGTYPE._serialized_end=15602 + _CLIMATEMODE._serialized_start=15605 + _CLIMATEMODE._serialized_end=15786 + _CLIMATEFANMODE._serialized_start=15789 + _CLIMATEFANMODE._serialized_end=16030 + _CLIMATESWINGMODE._serialized_start=16032 + _CLIMATESWINGMODE._serialized_end=16155 + _CLIMATEACTION._serialized_start=16158 + _CLIMATEACTION._serialized_end=16329 + _CLIMATEPRESET._serialized_start=16332 + _CLIMATEPRESET._serialized_end=16555 + _NUMBERMODE._serialized_start=16557 + _NUMBERMODE._serialized_end=16636 + _LOCKSTATE._serialized_start=16639 + _LOCKSTATE._serialized_end=16792 + _LOCKCOMMAND._serialized_start=16794 + _LOCKCOMMAND._serialized_end=16854 + _MEDIAPLAYERSTATE._serialized_start=16857 + _MEDIAPLAYERSTATE._serialized_end=16996 + _MEDIAPLAYERCOMMAND._serialized_start=16999 + _MEDIAPLAYERCOMMAND._serialized_end=17177 + _BLUETOOTHDEVICEREQUESTTYPE._serialized_start=17180 + _BLUETOOTHDEVICEREQUESTTYPE._serialized_end=17496 _HELLOREQUEST._serialized_start=32 _HELLOREQUEST._serialized_end=132 _HELLORESPONSE._serialized_start=134 @@ -1346,6 +458,8 @@ _BLUETOOTHDEVICEPAIRINGRESPONSE._serialized_end=14215 _BLUETOOTHDEVICEUNPAIRINGRESPONSE._serialized_start=14217 _BLUETOOTHDEVICEUNPAIRINGRESPONSE._serialized_end=14330 - _APICONNECTION._serialized_start=17444 - _APICONNECTION._serialized_end=19321 + _UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST._serialized_start=14332 + _UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST._serialized_end=14385 + _APICONNECTION._serialized_start=17499 + _APICONNECTION._serialized_end=19474 # @@protoc_insertion_point(module_scope) diff --git a/aioesphomeapi/client.py b/aioesphomeapi/client.py index 26bcf11a..01c46165 100644 --- a/aioesphomeapi/client.py +++ b/aioesphomeapi/client.py @@ -96,6 +96,7 @@ SwitchCommandRequest, SwitchStateResponse, TextSensorStateResponse, + UnsubscribeBluetoothLEAdvertisementsRequest, ) from .connection import APIConnection, ConnectionParams from .core import ( @@ -468,6 +469,9 @@ def on_msg(msg: BluetoothLEAdvertisementResponse) -> None: def unsub() -> None: if self._connection is not None: self._connection.remove_message_callback(on_msg, msg_types) + self._connection.send_message( + UnsubscribeBluetoothLEAdvertisementsRequest() + ) return unsub diff --git a/aioesphomeapi/core.py b/aioesphomeapi/core.py index 34b19db4..1e9882c1 100644 --- a/aioesphomeapi/core.py +++ b/aioesphomeapi/core.py @@ -89,6 +89,7 @@ SwitchCommandRequest, SwitchStateResponse, TextSensorStateResponse, + UnsubscribeBluetoothLEAdvertisementsRequest, ) TWO_CHAR = re.compile(r".{2}") @@ -306,4 +307,5 @@ def __init__(self, error: BluetoothGATTError) -> None: 84: BluetoothGATTNotifyResponse, 85: BluetoothDevicePairingResponse, 86: BluetoothDeviceUnpairingResponse, + 87: UnsubscribeBluetoothLEAdvertisementsRequest, } From 33c540b55a7f8687de872002a7256f4896f10248 Mon Sep 17 00:00:00 2001 From: Richard Hopton Date: Sat, 25 Mar 2023 21:28:33 -0700 Subject: [PATCH 2/2] Use docker for protoc --- aioesphomeapi/api_options_pb2.py | 35 +- aioesphomeapi/api_pb2.py | 904 ++++++++++++++++++++++++++++++- 2 files changed, 933 insertions(+), 6 deletions(-) diff --git a/aioesphomeapi/api_options_pb2.py b/aioesphomeapi/api_options_pb2.py index 937959d7..01689741 100644 --- a/aioesphomeapi/api_options_pb2.py +++ b/aioesphomeapi/api_options_pb2.py @@ -3,9 +3,11 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api_options.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder +from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database # @@protoc_insertion_point(imports) @@ -17,8 +19,35 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61pi_options.proto\x1a google/protobuf/descriptor.proto\"\x06\n\x04void*F\n\rAPISourceType\x12\x0f\n\x0bSOURCE_BOTH\x10\x00\x12\x11\n\rSOURCE_SERVER\x10\x01\x12\x11\n\rSOURCE_CLIENT\x10\x02:E\n\x16needs_setup_connection\x12\x1e.google.protobuf.MethodOptions\x18\x8e\x08 \x01(\x08:\x04true:C\n\x14needs_authentication\x12\x1e.google.protobuf.MethodOptions\x18\x8f\x08 \x01(\x08:\x04true:/\n\x02id\x12\x1f.google.protobuf.MessageOptions\x18\x8c\x08 \x01(\r:\x01\x30:M\n\x06source\x12\x1f.google.protobuf.MessageOptions\x18\x8d\x08 \x01(\x0e\x32\x0e.APISourceType:\x0bSOURCE_BOTH:/\n\x05ifdef\x12\x1f.google.protobuf.MessageOptions\x18\x8e\x08 \x01(\t:3\n\x03log\x12\x1f.google.protobuf.MessageOptions\x18\x8f\x08 \x01(\x08:\x04true:9\n\x08no_delay\x12\x1f.google.protobuf.MessageOptions\x18\x90\x08 \x01(\x08:\x05\x66\x61lse') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_options_pb2', globals()) +_APISOURCETYPE = DESCRIPTOR.enum_types_by_name['APISourceType'] +APISourceType = enum_type_wrapper.EnumTypeWrapper(_APISOURCETYPE) +SOURCE_BOTH = 0 +SOURCE_SERVER = 1 +SOURCE_CLIENT = 2 + +NEEDS_SETUP_CONNECTION_FIELD_NUMBER = 1038 +needs_setup_connection = DESCRIPTOR.extensions_by_name['needs_setup_connection'] +NEEDS_AUTHENTICATION_FIELD_NUMBER = 1039 +needs_authentication = DESCRIPTOR.extensions_by_name['needs_authentication'] +ID_FIELD_NUMBER = 1036 +id = DESCRIPTOR.extensions_by_name['id'] +SOURCE_FIELD_NUMBER = 1037 +source = DESCRIPTOR.extensions_by_name['source'] +IFDEF_FIELD_NUMBER = 1038 +ifdef = DESCRIPTOR.extensions_by_name['ifdef'] +LOG_FIELD_NUMBER = 1039 +log = DESCRIPTOR.extensions_by_name['log'] +NO_DELAY_FIELD_NUMBER = 1040 +no_delay = DESCRIPTOR.extensions_by_name['no_delay'] + +_VOID = DESCRIPTOR.message_types_by_name['void'] +void = _reflection.GeneratedProtocolMessageType('void', (_message.Message,), { + 'DESCRIPTOR' : _VOID, + '__module__' : 'api_options_pb2' + # @@protoc_insertion_point(class_scope:void) + }) +_sym_db.RegisterMessage(void) + if _descriptor._USE_C_DESCRIPTORS == False: google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(needs_setup_connection) google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(needs_authentication) diff --git a/aioesphomeapi/api_pb2.py b/aioesphomeapi/api_pb2.py index 412249ae..6e3fa5df 100644 --- a/aioesphomeapi/api_pb2.py +++ b/aioesphomeapi/api_pb2.py @@ -3,9 +3,11 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: api.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder +from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database # @@protoc_insertion_point(imports) @@ -17,8 +19,904 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x1a\x11\x61pi_options.proto\"d\n\x0cHelloRequest\x12\x13\n\x0b\x63lient_info\x18\x01 \x01(\t\x12\x19\n\x11\x61pi_version_major\x18\x02 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x03 \x01(\r:\t\xe0@\x01\xe8@\x02\x80\x41\x01\"s\n\rHelloResponse\x12\x19\n\x11\x61pi_version_major\x18\x01 \x01(\r\x12\x19\n\x11\x61pi_version_minor\x18\x02 \x01(\r\x12\x13\n\x0bserver_info\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t:\t\xe0@\x02\xe8@\x01\x80\x41\x01\"-\n\x0e\x43onnectRequest\x12\x10\n\x08password\x18\x01 \x01(\t:\t\xe0@\x03\xe8@\x02\x80\x41\x01\"6\n\x0f\x43onnectResponse\x12\x18\n\x10invalid_password\x18\x01 \x01(\x08:\t\xe0@\x04\xe8@\x01\x80\x41\x01\"\x1e\n\x11\x44isconnectRequest:\t\xe0@\x05\xe8@\x00\x80\x41\x01\"\x1f\n\x12\x44isconnectResponse:\t\xe0@\x06\xe8@\x00\x80\x41\x01\"\x15\n\x0bPingRequest:\x06\xe0@\x07\xe8@\x00\"\x16\n\x0cPingResponse:\x06\xe0@\x08\xe8@\x00\"\x1b\n\x11\x44\x65viceInfoRequest:\x06\xe0@\t\xe8@\x02\"\xc5\x02\n\x12\x44\x65viceInfoResponse\x12\x15\n\ruses_password\x18\x01 \x01(\x08\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bmac_address\x18\x03 \x01(\t\x12\x17\n\x0f\x65sphome_version\x18\x04 \x01(\t\x12\x18\n\x10\x63ompilation_time\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x16\n\x0ehas_deep_sleep\x18\x07 \x01(\x08\x12\x14\n\x0cproject_name\x18\x08 \x01(\t\x12\x17\n\x0fproject_version\x18\t \x01(\t\x12\x16\n\x0ewebserver_port\x18\n \x01(\r\x12\x1f\n\x17\x62luetooth_proxy_version\x18\x0b \x01(\r\x12\x14\n\x0cmanufacturer\x18\x0c \x01(\t\x12\x15\n\rfriendly_name\x18\r \x01(\t:\x06\xe0@\n\xe8@\x01\"\x1d\n\x13ListEntitiesRequest:\x06\xe0@\x0b\xe8@\x02\"%\n\x18ListEntitiesDoneResponse:\t\xe0@\x13\xe8@\x01\x80\x41\x01\" \n\x16SubscribeStatesRequest:\x06\xe0@\x14\xe8@\x02\"\x8b\x02\n ListEntitiesBinarySensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x14\n\x0c\x64\x65vice_class\x18\x05 \x01(\t\x12\x1f\n\x17is_status_binary_sensor\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12\x0c\n\x04icon\x18\x08 \x01(\t\x12(\n\x0f\x65ntity_category\x18\t \x01(\x0e\x32\x0f.EntityCategory:\x1a\xe0@\x0c\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\"m\n\x19\x42inarySensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1d\xe0@\x15\xe8@\x01\xf2@\x11USE_BINARY_SENSOR\x80\x41\x01\"\xbb\x02\n\x19ListEntitiesCoverResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x15\n\rassumed_state\x18\x05 \x01(\x08\x12\x19\n\x11supports_position\x18\x06 \x01(\x08\x12\x15\n\rsupports_tilt\x18\x07 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rsupports_stop\x18\x0c \x01(\x08:\x12\xe0@\r\xe8@\x01\xf2@\tUSE_COVER\"\xad\x01\n\x12\x43overStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\'\n\x0clegacy_state\x18\x02 \x01(\x0e\x32\x11.LegacyCoverState\x12\x10\n\x08position\x18\x03 \x01(\x02\x12\x0c\n\x04tilt\x18\x04 \x01(\x02\x12*\n\x11\x63urrent_operation\x18\x05 \x01(\x0e\x32\x0f.CoverOperation:\x15\xe0@\x16\xe8@\x01\xf2@\tUSE_COVER\x80\x41\x01\"\xd8\x01\n\x13\x43overCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x12has_legacy_command\x18\x02 \x01(\x08\x12+\n\x0elegacy_command\x18\x03 \x01(\x0e\x32\x13.LegacyCoverCommand\x12\x14\n\x0chas_position\x18\x04 \x01(\x08\x12\x10\n\x08position\x18\x05 \x01(\x02\x12\x10\n\x08has_tilt\x18\x06 \x01(\x08\x12\x0c\n\x04tilt\x18\x07 \x01(\x02\x12\x0c\n\x04stop\x18\x08 \x01(\x08:\x15\xe0@\x1e\xe8@\x02\xf2@\tUSE_COVER\x80\x41\x01\"\xb3\x02\n\x17ListEntitiesFanResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1c\n\x14supports_oscillation\x18\x05 \x01(\x08\x12\x16\n\x0esupports_speed\x18\x06 \x01(\x08\x12\x1a\n\x12supports_direction\x18\x07 \x01(\x08\x12\x1e\n\x16supported_speed_levels\x18\x08 \x01(\x05\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12\x0c\n\x04icon\x18\n \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0b \x01(\x0e\x32\x0f.EntityCategory:\x10\xe0@\x0e\xe8@\x01\xf2@\x07USE_FAN\"\xad\x01\n\x10\x46\x61nStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x13\n\x0boscillating\x18\x03 \x01(\x08\x12\x1c\n\x05speed\x18\x04 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12 \n\tdirection\x18\x05 \x01(\x0e\x32\r.FanDirection\x12\x13\n\x0bspeed_level\x18\x06 \x01(\x05:\x13\xe0@\x17\xe8@\x01\xf2@\x07USE_FAN\x80\x41\x01\"\xa1\x02\n\x11\x46\x61nCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x15\n\thas_speed\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x05speed\x18\x05 \x01(\x0e\x32\t.FanSpeedB\x02\x18\x01\x12\x17\n\x0fhas_oscillating\x18\x06 \x01(\x08\x12\x13\n\x0boscillating\x18\x07 \x01(\x08\x12\x15\n\rhas_direction\x18\x08 \x01(\x08\x12 \n\tdirection\x18\t \x01(\x0e\x32\r.FanDirection\x12\x17\n\x0fhas_speed_level\x18\n \x01(\x08\x12\x13\n\x0bspeed_level\x18\x0b \x01(\x05:\x13\xe0@\x1f\xe8@\x02\xf2@\x07USE_FAN\x80\x41\x01\"\xbe\x03\n\x19ListEntitiesLightResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1d\n\x15supported_color_modes\x18\x0c \x03(\x05\x12&\n\x1alegacy_supports_brightness\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x13legacy_supports_rgb\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\'\n\x1blegacy_supports_white_value\x18\x07 \x01(\x08\x42\x02\x18\x01\x12-\n!legacy_supports_color_temperature\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x12\n\nmin_mireds\x18\t \x01(\x02\x12\x12\n\nmax_mireds\x18\n \x01(\x02\x12\x0f\n\x07\x65\x66\x66\x65\x63ts\x18\x0b \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\r \x01(\x08\x12\x0c\n\x04icon\x18\x0e \x01(\t\x12(\n\x0f\x65ntity_category\x18\x0f \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@\x0f\xe8@\x01\xf2@\tUSE_LIGHT\"\x95\x02\n\x12LightStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08\x12\x12\n\nbrightness\x18\x03 \x01(\x02\x12\x12\n\ncolor_mode\x18\x0b \x01(\x05\x12\x18\n\x10\x63olor_brightness\x18\n \x01(\x02\x12\x0b\n\x03red\x18\x04 \x01(\x02\x12\r\n\x05green\x18\x05 \x01(\x02\x12\x0c\n\x04\x62lue\x18\x06 \x01(\x02\x12\r\n\x05white\x18\x07 \x01(\x02\x12\x19\n\x11\x63olor_temperature\x18\x08 \x01(\x02\x12\x12\n\ncold_white\x18\x0c \x01(\x02\x12\x12\n\nwarm_white\x18\r \x01(\x02\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\t \x01(\t:\x15\xe0@\x18\xe8@\x01\xf2@\tUSE_LIGHT\x80\x41\x01\"\xe8\x04\n\x13LightCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x16\n\x0ehas_brightness\x18\x04 \x01(\x08\x12\x12\n\nbrightness\x18\x05 \x01(\x02\x12\x16\n\x0ehas_color_mode\x18\x16 \x01(\x08\x12\x12\n\ncolor_mode\x18\x17 \x01(\x05\x12\x1c\n\x14has_color_brightness\x18\x14 \x01(\x08\x12\x18\n\x10\x63olor_brightness\x18\x15 \x01(\x02\x12\x0f\n\x07has_rgb\x18\x06 \x01(\x08\x12\x0b\n\x03red\x18\x07 \x01(\x02\x12\r\n\x05green\x18\x08 \x01(\x02\x12\x0c\n\x04\x62lue\x18\t \x01(\x02\x12\x11\n\thas_white\x18\n \x01(\x08\x12\r\n\x05white\x18\x0b \x01(\x02\x12\x1d\n\x15has_color_temperature\x18\x0c \x01(\x08\x12\x19\n\x11\x63olor_temperature\x18\r \x01(\x02\x12\x16\n\x0ehas_cold_white\x18\x18 \x01(\x08\x12\x12\n\ncold_white\x18\x19 \x01(\x02\x12\x16\n\x0ehas_warm_white\x18\x1a \x01(\x08\x12\x12\n\nwarm_white\x18\x1b \x01(\x02\x12\x1d\n\x15has_transition_length\x18\x0e \x01(\x08\x12\x19\n\x11transition_length\x18\x0f \x01(\r\x12\x18\n\x10has_flash_length\x18\x10 \x01(\x08\x12\x14\n\x0c\x66lash_length\x18\x11 \x01(\r\x12\x12\n\nhas_effect\x18\x12 \x01(\x08\x12\x0e\n\x06\x65\x66\x66\x65\x63t\x18\x13 \x01(\t:\x15\xe0@ \xe8@\x02\xf2@\tUSE_LIGHT\x80\x41\x01\"\x82\x03\n\x1aListEntitiesSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13unit_of_measurement\x18\x06 \x01(\t\x12\x19\n\x11\x61\x63\x63uracy_decimals\x18\x07 \x01(\x05\x12\x14\n\x0c\x66orce_update\x18\x08 \x01(\x08\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t\x12&\n\x0bstate_class\x18\n \x01(\x0e\x32\x11.SensorStateClass\x12-\n\x0flast_reset_type\x18\x0b \x01(\x0e\x32\x14.SensorLastResetType\x12\x1b\n\x13\x64isabled_by_default\x18\x0c \x01(\x08\x12(\n\x0f\x65ntity_category\x18\r \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@\x10\xe8@\x01\xf2@\nUSE_SENSOR\"`\n\x13SensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@\x19\xe8@\x01\xf2@\nUSE_SENSOR\x80\x41\x01\"\xf4\x01\n\x1aListEntitiesSwitchResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x15\n\rassumed_state\x18\x06 \x01(\x08\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\t \x01(\t:\x13\xe0@\x11\xe8@\x01\xf2@\nUSE_SWITCH\"I\n\x13SwitchStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@\x1a\xe8@\x01\xf2@\nUSE_SWITCH\x80\x41\x01\"J\n\x14SwitchCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x16\xe0@!\xe8@\x02\xf2@\nUSE_SWITCH\x80\x41\x01\"\xd0\x01\n\x1eListEntitiesTextSensorResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x18\xe0@\x12\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\"i\n\x17TextSensorStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x1b\xe0@\x1b\xe8@\x01\xf2@\x0fUSE_TEXT_SENSOR\x80\x41\x01\"M\n\x14SubscribeLogsRequest\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x13\n\x0b\x64ump_config\x18\x02 \x01(\x08:\x06\xe0@\x1c\xe8@\x02\"e\n\x15SubscribeLogsResponse\x12\x18\n\x05level\x18\x01 \x01(\x0e\x32\t.LogLevel\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x13\n\x0bsend_failed\x18\x04 \x01(\x08:\x0c\xe0@\x1d\xe8@\x01\xf8@\x00\x80\x41\x00\"/\n%SubscribeHomeassistantServicesRequest:\x06\xe0@\"\xe8@\x02\"5\n\x17HomeassistantServiceMap\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xd2\x01\n\x1cHomeassistantServiceResponse\x12\x0f\n\x07service\x18\x01 \x01(\t\x12&\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12/\n\rdata_template\x18\x03 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12+\n\tvariables\x18\x04 \x03(\x0b\x32\x18.HomeassistantServiceMap\x12\x10\n\x08is_event\x18\x05 \x01(\x08:\t\xe0@#\xe8@\x01\x80\x41\x01\"-\n#SubscribeHomeAssistantStatesRequest:\x06\xe0@&\xe8@\x02\"S\n#SubscribeHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\x11\n\tattribute\x18\x02 \x01(\t:\x06\xe0@\'\xe8@\x01\"\\\n\x1aHomeAssistantStateResponse\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\r\n\x05state\x18\x02 \x01(\t\x12\x11\n\tattribute\x18\x03 \x01(\t:\t\xe0@(\xe8@\x02\x80\x41\x01\"\x18\n\x0eGetTimeRequest:\x06\xe0@$\xe8@\x00\"3\n\x0fGetTimeResponse\x12\x15\n\repoch_seconds\x18\x01 \x01(\x07:\t\xe0@%\xe8@\x00\x80\x41\x01\"K\n\x1cListEntitiesServicesArgument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1d\n\x04type\x18\x02 \x01(\x0e\x32\x0f.ServiceArgType\"n\n\x1cListEntitiesServicesResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12+\n\x04\x61rgs\x18\x03 \x03(\x0b\x32\x1d.ListEntitiesServicesArgument:\x06\xe0@)\xe8@\x01\"\xc8\x01\n\x16\x45xecuteServiceArgument\x12\r\n\x05\x62ool_\x18\x01 \x01(\x08\x12\x12\n\nlegacy_int\x18\x02 \x01(\x05\x12\x0e\n\x06\x66loat_\x18\x03 \x01(\x02\x12\x0f\n\x07string_\x18\x04 \x01(\t\x12\x0c\n\x04int_\x18\x05 \x01(\x11\x12\x16\n\nbool_array\x18\x06 \x03(\x08\x42\x02\x10\x00\x12\x15\n\tint_array\x18\x07 \x03(\x11\x42\x02\x10\x00\x12\x17\n\x0b\x66loat_array\x18\x08 \x03(\x02\x42\x02\x10\x00\x12\x14\n\x0cstring_array\x18\t \x03(\t\"V\n\x15\x45xecuteServiceRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12%\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x17.ExecuteServiceArgument:\t\xe0@*\xe8@\x02\x80\x41\x01\"\xcd\x01\n\x1aListEntitiesCameraResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x05 \x01(\x08\x12\x0c\n\x04icon\x18\x06 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory:\x19\xe0@+\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"Y\n\x13\x43\x61meraImageResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08:\x19\xe0@,\xe8@\x01\xf2@\x10USE_ESP32_CAMERA\"R\n\x12\x43\x61meraImageRequest\x12\x0e\n\x06single\x18\x01 \x01(\x08\x12\x0e\n\x06stream\x18\x02 \x01(\x08:\x1c\xe0@-\xe8@\x02\xf2@\x10USE_ESP32_CAMERA\x80\x41\x01\"\xde\x05\n\x1bListEntitiesClimateResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12$\n\x1csupports_current_temperature\x18\x05 \x01(\x08\x12-\n%supports_two_point_target_temperature\x18\x06 \x01(\x08\x12%\n\x0fsupported_modes\x18\x07 \x03(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16visual_min_temperature\x18\x08 \x01(\x02\x12\x1e\n\x16visual_max_temperature\x18\t \x01(\x02\x12&\n\x1evisual_target_temperature_step\x18\n \x01(\x02\x12\x1c\n\x14legacy_supports_away\x18\x0b \x01(\x08\x12\x17\n\x0fsupports_action\x18\x0c \x01(\x08\x12,\n\x13supported_fan_modes\x18\r \x03(\x0e\x32\x0f.ClimateFanMode\x12\x30\n\x15supported_swing_modes\x18\x0e \x03(\x0e\x32\x11.ClimateSwingMode\x12\"\n\x1asupported_custom_fan_modes\x18\x0f \x03(\t\x12)\n\x11supported_presets\x18\x10 \x03(\x0e\x32\x0e.ClimatePreset\x12 \n\x18supported_custom_presets\x18\x11 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x12 \x01(\x08\x12\x0c\n\x04icon\x18\x13 \x01(\t\x12(\n\x0f\x65ntity_category\x18\x14 \x01(\x0e\x32\x0f.EntityCategory\x12\'\n\x1fvisual_current_temperature_step\x18\x15 \x01(\x02:\x14\xe0@.\xe8@\x01\xf2@\x0bUSE_CLIMATE\"\xa1\x03\n\x14\x43limateStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1a\n\x04mode\x18\x02 \x01(\x0e\x32\x0c.ClimateMode\x12\x1b\n\x13\x63urrent_temperature\x18\x03 \x01(\x02\x12\x1a\n\x12target_temperature\x18\x04 \x01(\x02\x12\x1e\n\x16target_temperature_low\x18\x05 \x01(\x02\x12\x1f\n\x17target_temperature_high\x18\x06 \x01(\x02\x12\x13\n\x0blegacy_away\x18\x07 \x01(\x08\x12\x1e\n\x06\x61\x63tion\x18\x08 \x01(\x0e\x32\x0e.ClimateAction\x12!\n\x08\x66\x61n_mode\x18\t \x01(\x0e\x32\x0f.ClimateFanMode\x12%\n\nswing_mode\x18\n \x01(\x0e\x32\x11.ClimateSwingMode\x12\x17\n\x0f\x63ustom_fan_mode\x18\x0b \x01(\t\x12\x1e\n\x06preset\x18\x0c \x01(\x0e\x32\x0e.ClimatePreset\x12\x15\n\rcustom_preset\x18\r \x01(\t:\x17\xe0@/\xe8@\x01\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xf3\x04\n\x15\x43limateCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x10\n\x08has_mode\x18\x02 \x01(\x08\x12\x1a\n\x04mode\x18\x03 \x01(\x0e\x32\x0c.ClimateMode\x12\x1e\n\x16has_target_temperature\x18\x04 \x01(\x08\x12\x1a\n\x12target_temperature\x18\x05 \x01(\x02\x12\"\n\x1ahas_target_temperature_low\x18\x06 \x01(\x08\x12\x1e\n\x16target_temperature_low\x18\x07 \x01(\x02\x12#\n\x1bhas_target_temperature_high\x18\x08 \x01(\x08\x12\x1f\n\x17target_temperature_high\x18\t \x01(\x02\x12\x17\n\x0fhas_legacy_away\x18\n \x01(\x08\x12\x13\n\x0blegacy_away\x18\x0b \x01(\x08\x12\x14\n\x0chas_fan_mode\x18\x0c \x01(\x08\x12!\n\x08\x66\x61n_mode\x18\r \x01(\x0e\x32\x0f.ClimateFanMode\x12\x16\n\x0ehas_swing_mode\x18\x0e \x01(\x08\x12%\n\nswing_mode\x18\x0f \x01(\x0e\x32\x11.ClimateSwingMode\x12\x1b\n\x13has_custom_fan_mode\x18\x10 \x01(\x08\x12\x17\n\x0f\x63ustom_fan_mode\x18\x11 \x01(\t\x12\x12\n\nhas_preset\x18\x12 \x01(\x08\x12\x1e\n\x06preset\x18\x13 \x01(\x0e\x32\x0e.ClimatePreset\x12\x19\n\x11has_custom_preset\x18\x14 \x01(\x08\x12\x15\n\rcustom_preset\x18\x15 \x01(\t:\x17\xe0@0\xe8@\x02\xf2@\x0bUSE_CLIMATE\x80\x41\x01\"\xc9\x02\n\x1aListEntitiesNumberResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x11\n\tmin_value\x18\x06 \x01(\x02\x12\x11\n\tmax_value\x18\x07 \x01(\x02\x12\x0c\n\x04step\x18\x08 \x01(\x02\x12\x1b\n\x13\x64isabled_by_default\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory\x12\x1b\n\x13unit_of_measurement\x18\x0b \x01(\t\x12\x19\n\x04mode\x18\x0c \x01(\x0e\x32\x0b.NumberMode\x12\x14\n\x0c\x64\x65vice_class\x18\r \x01(\t:\x13\xe0@1\xe8@\x01\xf2@\nUSE_NUMBER\"`\n\x13NumberStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@2\xe8@\x01\xf2@\nUSE_NUMBER\x80\x41\x01\"J\n\x14NumberCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x02:\x16\xe0@3\xe8@\x02\xf2@\nUSE_NUMBER\x80\x41\x01\"\xd8\x01\n\x1aListEntitiesSelectResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x0f\n\x07options\x18\x06 \x03(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x07 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x08 \x01(\x0e\x32\x0f.EntityCategory:\x13\xe0@4\xe8@\x01\xf2@\nUSE_SELECT\"`\n\x13SelectStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rmissing_state\x18\x03 \x01(\x08:\x16\xe0@5\xe8@\x01\xf2@\nUSE_SELECT\x80\x41\x01\"J\n\x14SelectCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\t:\x16\xe0@6\xe8@\x02\xf2@\nUSE_SELECT\x80\x41\x01\"\x88\x02\n\x19ListEntitiesSirenResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12\r\n\x05tones\x18\x07 \x03(\t\x12\x19\n\x11supports_duration\x18\x08 \x01(\x08\x12\x17\n\x0fsupports_volume\x18\t \x01(\x08\x12(\n\x0f\x65ntity_category\x18\n \x01(\x0e\x32\x0f.EntityCategory:\x12\xe0@7\xe8@\x01\xf2@\tUSE_SIREN\"G\n\x12SirenStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05state\x18\x02 \x01(\x08:\x15\xe0@8\xe8@\x01\xf2@\tUSE_SIREN\x80\x41\x01\"\xc7\x01\n\x13SirenCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x11\n\thas_state\x18\x02 \x01(\x08\x12\r\n\x05state\x18\x03 \x01(\x08\x12\x10\n\x08has_tone\x18\x04 \x01(\x08\x12\x0c\n\x04tone\x18\x05 \x01(\t\x12\x14\n\x0chas_duration\x18\x06 \x01(\x08\x12\x10\n\x08\x64uration\x18\x07 \x01(\r\x12\x12\n\nhas_volume\x18\x08 \x01(\x08\x12\x0e\n\x06volume\x18\t \x01(\x02:\x15\xe0@9\xe8@\x02\xf2@\tUSE_SIREN\x80\x41\x01\"\x9d\x02\n\x18ListEntitiesLockResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x15\n\rassumed_state\x18\x08 \x01(\x08\x12\x15\n\rsupports_open\x18\t \x01(\x08\x12\x15\n\rrequires_code\x18\n \x01(\x08\x12\x13\n\x0b\x63ode_format\x18\x0b \x01(\t:\x11\xe0@:\xe8@\x01\xf2@\x08USE_LOCK\"Q\n\x11LockStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x19\n\x05state\x18\x02 \x01(\x0e\x32\n.LockState:\x14\xe0@;\xe8@\x01\xf2@\x08USE_LOCK\x80\x41\x01\"v\n\x12LockCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x1d\n\x07\x63ommand\x18\x02 \x01(\x0e\x32\x0c.LockCommand\x12\x10\n\x08has_code\x18\x03 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x04 \x01(\t:\x14\xe0@<\xe8@\x02\xf2@\x08USE_LOCK\x80\x41\x01\"\xdd\x01\n\x1aListEntitiesButtonResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x14\n\x0c\x64\x65vice_class\x18\x08 \x01(\t:\x13\xe0@=\xe8@\x01\xf2@\nUSE_BUTTON\";\n\x14\x42uttonCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07:\x16\xe0@>\xe8@\x02\xf2@\nUSE_BUTTON\x80\x41\x01\"\xea\x01\n\x1fListEntitiesMediaPlayerResponse\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\x07\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\tunique_id\x18\x04 \x01(\t\x12\x0c\n\x04icon\x18\x05 \x01(\t\x12\x1b\n\x13\x64isabled_by_default\x18\x06 \x01(\x08\x12(\n\x0f\x65ntity_category\x18\x07 \x01(\x0e\x32\x0f.EntityCategory\x12\x16\n\x0esupports_pause\x18\x08 \x01(\x08:\x19\xe0@?\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\"\x86\x01\n\x18MediaPlayerStateResponse\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12 \n\x05state\x18\x02 \x01(\x0e\x32\x11.MediaPlayerState\x12\x0e\n\x06volume\x18\x03 \x01(\x02\x12\r\n\x05muted\x18\x04 \x01(\x08:\x1c\xe0@@\xe8@\x01\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"\xcf\x01\n\x19MediaPlayerCommandRequest\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\x13\n\x0bhas_command\x18\x02 \x01(\x08\x12$\n\x07\x63ommand\x18\x03 \x01(\x0e\x32\x13.MediaPlayerCommand\x12\x12\n\nhas_volume\x18\x04 \x01(\x08\x12\x0e\n\x06volume\x18\x05 \x01(\x02\x12\x15\n\rhas_media_url\x18\x06 \x01(\x08\x12\x11\n\tmedia_url\x18\x07 \x01(\t:\x1c\xe0@A\xe8@\x02\xf2@\x10USE_MEDIA_PLAYER\x80\x41\x01\"3\n)SubscribeBluetoothLEAdvertisementsRequest:\x06\xe0@B\xe8@\x02\"K\n\x14\x42luetoothServiceData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x17\n\x0blegacy_data\x18\x02 \x03(\rB\x02\x10\x01\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xfc\x01\n BluetoothLEAdvertisementResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\x0c\n\x04rssi\x18\x03 \x01(\x11\x12\x15\n\rservice_uuids\x18\x04 \x03(\t\x12+\n\x0cservice_data\x18\x05 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x30\n\x11manufacturer_data\x18\x06 \x03(\x0b\x32\x15.BluetoothServiceData\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x07 \x01(\r:\x1f\xe0@C\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\x80\x41\x01\"\xaa\x01\n\x16\x42luetoothDeviceRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x31\n\x0crequest_type\x18\x02 \x01(\x0e\x32\x1b.BluetoothDeviceRequestType\x12\x18\n\x10has_address_type\x18\x03 \x01(\x08\x12\x14\n\x0c\x61\x64\x64ress_type\x18\x04 \x01(\r:\x1c\xe0@D\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"\x81\x01\n!BluetoothDeviceConnectionResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12\x0b\n\x03mtu\x18\x03 \x01(\r\x12\r\n\x05\x65rror\x18\x04 \x01(\x05:\x1c\xe0@E\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"P\n\x1f\x42luetoothGATTGetServicesRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@F\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"7\n\x17\x42luetoothGATTDescriptor\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\"~\n\x1b\x42luetoothGATTCharacteristic\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x12\n\nproperties\x18\x03 \x01(\r\x12-\n\x0b\x64\x65scriptors\x18\x04 \x03(\x0b\x32\x18.BluetoothGATTDescriptor\"k\n\x14\x42luetoothGATTService\x12\x0c\n\x04uuid\x18\x01 \x03(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x35\n\x0f\x63haracteristics\x18\x03 \x03(\x0b\x32\x1c.BluetoothGATTCharacteristic\"z\n BluetoothGATTGetServicesResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\'\n\x08services\x18\x02 \x03(\x0b\x32\x15.BluetoothGATTService:\x1c\xe0@G\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"U\n$BluetoothGATTGetServicesDoneResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04:\x1c\xe0@H\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"Y\n\x18\x42luetoothGATTReadRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@I\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"h\n\x19\x42luetoothGATTReadResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@J\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"z\n\x19\x42luetoothGATTWriteRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x10\n\x08response\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c:\x1c\xe0@K\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"c\n\"BluetoothGATTReadDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@L\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"r\n#BluetoothGATTWriteDescriptorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@M\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"k\n\x1a\x42luetoothGATTNotifyRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x08:\x1c\xe0@N\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1f\x42luetoothGATTNotifyDataResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c:\x1c\xe0@O\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"H\n(SubscribeBluetoothConnectionsFreeRequest:\x1c\xe0@P\xe8@\x02\xf2@\x13USE_BLUETOOTH_PROXY\"]\n BluetoothConnectionsFreeResponse\x12\x0c\n\x04\x66ree\x18\x01 \x01(\r\x12\r\n\x05limit\x18\x02 \x01(\r:\x1c\xe0@Q\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"j\n\x1a\x42luetoothGATTErrorResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@R\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"[\n\x1a\x42luetoothGATTWriteResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@S\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"\\\n\x1b\x42luetoothGATTNotifyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06handle\x18\x02 \x01(\r:\x1c\xe0@T\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"n\n\x1e\x42luetoothDevicePairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0e\n\x06paired\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@U\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"q\n BluetoothDeviceUnpairingResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x04\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\x05:\x1c\xe0@V\xe8@\x01\xf2@\x13USE_BLUETOOTH_PROXY\"5\n+UnsubscribeBluetoothLEAdvertisementsRequest:\x06\xe0@W\xe8@\x02*f\n\x0e\x45ntityCategory\x12\x18\n\x14\x45NTITY_CATEGORY_NONE\x10\x00\x12\x1a\n\x16\x45NTITY_CATEGORY_CONFIG\x10\x01\x12\x1e\n\x1a\x45NTITY_CATEGORY_DIAGNOSTIC\x10\x02*N\n\x10LegacyCoverState\x12\x1b\n\x17LEGACY_COVER_STATE_OPEN\x10\x00\x12\x1d\n\x19LEGACY_COVER_STATE_CLOSED\x10\x01*j\n\x0e\x43overOperation\x12\x18\n\x14\x43OVER_OPERATION_IDLE\x10\x00\x12\x1e\n\x1a\x43OVER_OPERATION_IS_OPENING\x10\x01\x12\x1e\n\x1a\x43OVER_OPERATION_IS_CLOSING\x10\x02*r\n\x12LegacyCoverCommand\x12\x1d\n\x19LEGACY_COVER_COMMAND_OPEN\x10\x00\x12\x1e\n\x1aLEGACY_COVER_COMMAND_CLOSE\x10\x01\x12\x1d\n\x19LEGACY_COVER_COMMAND_STOP\x10\x02*G\n\x08\x46\x61nSpeed\x12\x11\n\rFAN_SPEED_LOW\x10\x00\x12\x14\n\x10\x46\x41N_SPEED_MEDIUM\x10\x01\x12\x12\n\x0e\x46\x41N_SPEED_HIGH\x10\x02*D\n\x0c\x46\x61nDirection\x12\x19\n\x15\x46\x41N_DIRECTION_FORWARD\x10\x00\x12\x19\n\x15\x46\x41N_DIRECTION_REVERSE\x10\x01*~\n\x10SensorStateClass\x12\x14\n\x10STATE_CLASS_NONE\x10\x00\x12\x1b\n\x17STATE_CLASS_MEASUREMENT\x10\x01\x12 \n\x1cSTATE_CLASS_TOTAL_INCREASING\x10\x02\x12\x15\n\x11STATE_CLASS_TOTAL\x10\x03*U\n\x13SensorLastResetType\x12\x13\n\x0fLAST_RESET_NONE\x10\x00\x12\x14\n\x10LAST_RESET_NEVER\x10\x01\x12\x13\n\x0fLAST_RESET_AUTO\x10\x02*\xb9\x01\n\x08LogLevel\x12\x12\n\x0eLOG_LEVEL_NONE\x10\x00\x12\x13\n\x0fLOG_LEVEL_ERROR\x10\x01\x12\x12\n\x0eLOG_LEVEL_WARN\x10\x02\x12\x12\n\x0eLOG_LEVEL_INFO\x10\x03\x12\x14\n\x10LOG_LEVEL_CONFIG\x10\x04\x12\x13\n\x0fLOG_LEVEL_DEBUG\x10\x05\x12\x15\n\x11LOG_LEVEL_VERBOSE\x10\x06\x12\x1a\n\x16LOG_LEVEL_VERY_VERBOSE\x10\x07*\x84\x02\n\x0eServiceArgType\x12\x19\n\x15SERVICE_ARG_TYPE_BOOL\x10\x00\x12\x18\n\x14SERVICE_ARG_TYPE_INT\x10\x01\x12\x1a\n\x16SERVICE_ARG_TYPE_FLOAT\x10\x02\x12\x1b\n\x17SERVICE_ARG_TYPE_STRING\x10\x03\x12\x1f\n\x1bSERVICE_ARG_TYPE_BOOL_ARRAY\x10\x04\x12\x1e\n\x1aSERVICE_ARG_TYPE_INT_ARRAY\x10\x05\x12 \n\x1cSERVICE_ARG_TYPE_FLOAT_ARRAY\x10\x06\x12!\n\x1dSERVICE_ARG_TYPE_STRING_ARRAY\x10\x07*\xb5\x01\n\x0b\x43limateMode\x12\x14\n\x10\x43LIMATE_MODE_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_MODE_HEAT_COOL\x10\x01\x12\x15\n\x11\x43LIMATE_MODE_COOL\x10\x02\x12\x15\n\x11\x43LIMATE_MODE_HEAT\x10\x03\x12\x19\n\x15\x43LIMATE_MODE_FAN_ONLY\x10\x04\x12\x14\n\x10\x43LIMATE_MODE_DRY\x10\x05\x12\x15\n\x11\x43LIMATE_MODE_AUTO\x10\x06*\xf1\x01\n\x0e\x43limateFanMode\x12\x12\n\x0e\x43LIMATE_FAN_ON\x10\x00\x12\x13\n\x0f\x43LIMATE_FAN_OFF\x10\x01\x12\x14\n\x10\x43LIMATE_FAN_AUTO\x10\x02\x12\x13\n\x0f\x43LIMATE_FAN_LOW\x10\x03\x12\x16\n\x12\x43LIMATE_FAN_MEDIUM\x10\x04\x12\x14\n\x10\x43LIMATE_FAN_HIGH\x10\x05\x12\x16\n\x12\x43LIMATE_FAN_MIDDLE\x10\x06\x12\x15\n\x11\x43LIMATE_FAN_FOCUS\x10\x07\x12\x17\n\x13\x43LIMATE_FAN_DIFFUSE\x10\x08\x12\x15\n\x11\x43LIMATE_FAN_QUIET\x10\t*{\n\x10\x43limateSwingMode\x12\x15\n\x11\x43LIMATE_SWING_OFF\x10\x00\x12\x16\n\x12\x43LIMATE_SWING_BOTH\x10\x01\x12\x1a\n\x16\x43LIMATE_SWING_VERTICAL\x10\x02\x12\x1c\n\x18\x43LIMATE_SWING_HORIZONTAL\x10\x03*\xab\x01\n\rClimateAction\x12\x16\n\x12\x43LIMATE_ACTION_OFF\x10\x00\x12\x1a\n\x16\x43LIMATE_ACTION_COOLING\x10\x02\x12\x1a\n\x16\x43LIMATE_ACTION_HEATING\x10\x03\x12\x17\n\x13\x43LIMATE_ACTION_IDLE\x10\x04\x12\x19\n\x15\x43LIMATE_ACTION_DRYING\x10\x05\x12\x16\n\x12\x43LIMATE_ACTION_FAN\x10\x06*\xdf\x01\n\rClimatePreset\x12\x17\n\x13\x43LIMATE_PRESET_NONE\x10\x00\x12\x17\n\x13\x43LIMATE_PRESET_HOME\x10\x01\x12\x17\n\x13\x43LIMATE_PRESET_AWAY\x10\x02\x12\x18\n\x14\x43LIMATE_PRESET_BOOST\x10\x03\x12\x1a\n\x16\x43LIMATE_PRESET_COMFORT\x10\x04\x12\x16\n\x12\x43LIMATE_PRESET_ECO\x10\x05\x12\x18\n\x14\x43LIMATE_PRESET_SLEEP\x10\x06\x12\x1b\n\x17\x43LIMATE_PRESET_ACTIVITY\x10\x07*O\n\nNumberMode\x12\x14\n\x10NUMBER_MODE_AUTO\x10\x00\x12\x13\n\x0fNUMBER_MODE_BOX\x10\x01\x12\x16\n\x12NUMBER_MODE_SLIDER\x10\x02*\x99\x01\n\tLockState\x12\x13\n\x0fLOCK_STATE_NONE\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12\x15\n\x11LOCK_STATE_JAMMED\x10\x03\x12\x16\n\x12LOCK_STATE_LOCKING\x10\x04\x12\x18\n\x14LOCK_STATE_UNLOCKING\x10\x05*<\n\x0bLockCommand\x12\x0f\n\x0bLOCK_UNLOCK\x10\x00\x12\r\n\tLOCK_LOCK\x10\x01\x12\r\n\tLOCK_OPEN\x10\x02*\x8b\x01\n\x10MediaPlayerState\x12\x1b\n\x17MEDIA_PLAYER_STATE_NONE\x10\x00\x12\x1b\n\x17MEDIA_PLAYER_STATE_IDLE\x10\x01\x12\x1e\n\x1aMEDIA_PLAYER_STATE_PLAYING\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_STATE_PAUSED\x10\x03*\xb2\x01\n\x12MediaPlayerCommand\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_PLAY\x10\x00\x12\x1e\n\x1aMEDIA_PLAYER_COMMAND_PAUSE\x10\x01\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_STOP\x10\x02\x12\x1d\n\x19MEDIA_PLAYER_COMMAND_MUTE\x10\x03\x12\x1f\n\x1bMEDIA_PLAYER_COMMAND_UNMUTE\x10\x04*\xbc\x02\n\x1a\x42luetoothDeviceRequestType\x12)\n%BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT\x10\x00\x12,\n(BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT\x10\x01\x12&\n\"BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR\x10\x02\x12(\n$BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR\x10\x03\x12\x37\n3BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE\x10\x04\x12:\n6BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE\x10\x05\x32\xb7\x0f\n\rAPIConnection\x12.\n\x05hello\x12\r.HelloRequest\x1a\x0e.HelloResponse\"\x06\xf0@\x00\xf8@\x00\x12\x34\n\x07\x63onnect\x12\x0f.ConnectRequest\x1a\x10.ConnectResponse\"\x06\xf0@\x00\xf8@\x00\x12=\n\ndisconnect\x12\x12.DisconnectRequest\x1a\x13.DisconnectResponse\"\x06\xf0@\x00\xf8@\x00\x12+\n\x04ping\x12\x0c.PingRequest\x1a\r.PingResponse\"\x06\xf0@\x00\xf8@\x00\x12;\n\x0b\x64\x65vice_info\x12\x12.DeviceInfoRequest\x1a\x13.DeviceInfoResponse\"\x03\xf8@\x00\x12.\n\rlist_entities\x12\x14.ListEntitiesRequest\x1a\x05.void\"\x00\x12\x34\n\x10subscribe_states\x12\x17.SubscribeStatesRequest\x1a\x05.void\"\x00\x12\x30\n\x0esubscribe_logs\x12\x15.SubscribeLogsRequest\x1a\x05.void\"\x00\x12S\n subscribe_homeassistant_services\x12&.SubscribeHomeassistantServicesRequest\x1a\x05.void\"\x00\x12P\n\x1fsubscribe_home_assistant_states\x12$.SubscribeHomeAssistantStatesRequest\x1a\x05.void\"\x00\x12\x32\n\x08get_time\x12\x0f.GetTimeRequest\x1a\x10.GetTimeResponse\"\x03\xf8@\x00\x12\x32\n\x0f\x65xecute_service\x12\x16.ExecuteServiceRequest\x1a\x05.void\"\x00\x12.\n\rcover_command\x12\x14.CoverCommandRequest\x1a\x05.void\"\x00\x12*\n\x0b\x66\x61n_command\x12\x12.FanCommandRequest\x1a\x05.void\"\x00\x12.\n\rlight_command\x12\x14.LightCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eswitch_command\x12\x15.SwitchCommandRequest\x1a\x05.void\"\x00\x12,\n\x0c\x63\x61mera_image\x12\x13.CameraImageRequest\x1a\x05.void\"\x00\x12\x32\n\x0f\x63limate_command\x12\x16.ClimateCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0enumber_command\x12\x15.NumberCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0eselect_command\x12\x15.SelectCommandRequest\x1a\x05.void\"\x00\x12.\n\rsiren_command\x12\x14.SirenCommandRequest\x1a\x05.void\"\x00\x12\x30\n\x0e\x62utton_command\x12\x15.ButtonCommandRequest\x1a\x05.void\"\x00\x12,\n\x0clock_command\x12\x13.LockCommandRequest\x1a\x05.void\"\x00\x12;\n\x14media_player_command\x12\x1a.MediaPlayerCommandRequest\x1a\x05.void\"\x00\x12\\\n%subscribe_bluetooth_le_advertisements\x12*.SubscribeBluetoothLEAdvertisementsRequest\x1a\x05.void\"\x00\x12<\n\x18\x62luetooth_device_request\x12\x17.BluetoothDeviceRequest\x1a\x05.void\"\x00\x12H\n\x1b\x62luetooth_gatt_get_services\x12 .BluetoothGATTGetServicesRequest\x1a\x05.void\"\x00\x12\x39\n\x13\x62luetooth_gatt_read\x12\x19.BluetoothGATTReadRequest\x1a\x05.void\"\x00\x12;\n\x14\x62luetooth_gatt_write\x12\x1a.BluetoothGATTWriteRequest\x1a\x05.void\"\x00\x12N\n\x1e\x62luetooth_gatt_read_descriptor\x12#.BluetoothGATTReadDescriptorRequest\x1a\x05.void\"\x00\x12P\n\x1f\x62luetooth_gatt_write_descriptor\x12$.BluetoothGATTWriteDescriptorRequest\x1a\x05.void\"\x00\x12=\n\x15\x62luetooth_gatt_notify\x12\x1b.BluetoothGATTNotifyRequest\x1a\x05.void\"\x00\x12`\n\'unsubscribe_bluetooth_le_advertisements\x12,.UnsubscribeBluetoothLEAdvertisementsRequest\x1a\x05.void\"\x00\x62\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api_pb2', globals()) +_ENTITYCATEGORY = DESCRIPTOR.enum_types_by_name['EntityCategory'] +EntityCategory = enum_type_wrapper.EnumTypeWrapper(_ENTITYCATEGORY) +_LEGACYCOVERSTATE = DESCRIPTOR.enum_types_by_name['LegacyCoverState'] +LegacyCoverState = enum_type_wrapper.EnumTypeWrapper(_LEGACYCOVERSTATE) +_COVEROPERATION = DESCRIPTOR.enum_types_by_name['CoverOperation'] +CoverOperation = enum_type_wrapper.EnumTypeWrapper(_COVEROPERATION) +_LEGACYCOVERCOMMAND = DESCRIPTOR.enum_types_by_name['LegacyCoverCommand'] +LegacyCoverCommand = enum_type_wrapper.EnumTypeWrapper(_LEGACYCOVERCOMMAND) +_FANSPEED = DESCRIPTOR.enum_types_by_name['FanSpeed'] +FanSpeed = enum_type_wrapper.EnumTypeWrapper(_FANSPEED) +_FANDIRECTION = DESCRIPTOR.enum_types_by_name['FanDirection'] +FanDirection = enum_type_wrapper.EnumTypeWrapper(_FANDIRECTION) +_SENSORSTATECLASS = DESCRIPTOR.enum_types_by_name['SensorStateClass'] +SensorStateClass = enum_type_wrapper.EnumTypeWrapper(_SENSORSTATECLASS) +_SENSORLASTRESETTYPE = DESCRIPTOR.enum_types_by_name['SensorLastResetType'] +SensorLastResetType = enum_type_wrapper.EnumTypeWrapper(_SENSORLASTRESETTYPE) +_LOGLEVEL = DESCRIPTOR.enum_types_by_name['LogLevel'] +LogLevel = enum_type_wrapper.EnumTypeWrapper(_LOGLEVEL) +_SERVICEARGTYPE = DESCRIPTOR.enum_types_by_name['ServiceArgType'] +ServiceArgType = enum_type_wrapper.EnumTypeWrapper(_SERVICEARGTYPE) +_CLIMATEMODE = DESCRIPTOR.enum_types_by_name['ClimateMode'] +ClimateMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATEMODE) +_CLIMATEFANMODE = DESCRIPTOR.enum_types_by_name['ClimateFanMode'] +ClimateFanMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATEFANMODE) +_CLIMATESWINGMODE = DESCRIPTOR.enum_types_by_name['ClimateSwingMode'] +ClimateSwingMode = enum_type_wrapper.EnumTypeWrapper(_CLIMATESWINGMODE) +_CLIMATEACTION = DESCRIPTOR.enum_types_by_name['ClimateAction'] +ClimateAction = enum_type_wrapper.EnumTypeWrapper(_CLIMATEACTION) +_CLIMATEPRESET = DESCRIPTOR.enum_types_by_name['ClimatePreset'] +ClimatePreset = enum_type_wrapper.EnumTypeWrapper(_CLIMATEPRESET) +_NUMBERMODE = DESCRIPTOR.enum_types_by_name['NumberMode'] +NumberMode = enum_type_wrapper.EnumTypeWrapper(_NUMBERMODE) +_LOCKSTATE = DESCRIPTOR.enum_types_by_name['LockState'] +LockState = enum_type_wrapper.EnumTypeWrapper(_LOCKSTATE) +_LOCKCOMMAND = DESCRIPTOR.enum_types_by_name['LockCommand'] +LockCommand = enum_type_wrapper.EnumTypeWrapper(_LOCKCOMMAND) +_MEDIAPLAYERSTATE = DESCRIPTOR.enum_types_by_name['MediaPlayerState'] +MediaPlayerState = enum_type_wrapper.EnumTypeWrapper(_MEDIAPLAYERSTATE) +_MEDIAPLAYERCOMMAND = DESCRIPTOR.enum_types_by_name['MediaPlayerCommand'] +MediaPlayerCommand = enum_type_wrapper.EnumTypeWrapper(_MEDIAPLAYERCOMMAND) +_BLUETOOTHDEVICEREQUESTTYPE = DESCRIPTOR.enum_types_by_name['BluetoothDeviceRequestType'] +BluetoothDeviceRequestType = enum_type_wrapper.EnumTypeWrapper(_BLUETOOTHDEVICEREQUESTTYPE) +ENTITY_CATEGORY_NONE = 0 +ENTITY_CATEGORY_CONFIG = 1 +ENTITY_CATEGORY_DIAGNOSTIC = 2 +LEGACY_COVER_STATE_OPEN = 0 +LEGACY_COVER_STATE_CLOSED = 1 +COVER_OPERATION_IDLE = 0 +COVER_OPERATION_IS_OPENING = 1 +COVER_OPERATION_IS_CLOSING = 2 +LEGACY_COVER_COMMAND_OPEN = 0 +LEGACY_COVER_COMMAND_CLOSE = 1 +LEGACY_COVER_COMMAND_STOP = 2 +FAN_SPEED_LOW = 0 +FAN_SPEED_MEDIUM = 1 +FAN_SPEED_HIGH = 2 +FAN_DIRECTION_FORWARD = 0 +FAN_DIRECTION_REVERSE = 1 +STATE_CLASS_NONE = 0 +STATE_CLASS_MEASUREMENT = 1 +STATE_CLASS_TOTAL_INCREASING = 2 +STATE_CLASS_TOTAL = 3 +LAST_RESET_NONE = 0 +LAST_RESET_NEVER = 1 +LAST_RESET_AUTO = 2 +LOG_LEVEL_NONE = 0 +LOG_LEVEL_ERROR = 1 +LOG_LEVEL_WARN = 2 +LOG_LEVEL_INFO = 3 +LOG_LEVEL_CONFIG = 4 +LOG_LEVEL_DEBUG = 5 +LOG_LEVEL_VERBOSE = 6 +LOG_LEVEL_VERY_VERBOSE = 7 +SERVICE_ARG_TYPE_BOOL = 0 +SERVICE_ARG_TYPE_INT = 1 +SERVICE_ARG_TYPE_FLOAT = 2 +SERVICE_ARG_TYPE_STRING = 3 +SERVICE_ARG_TYPE_BOOL_ARRAY = 4 +SERVICE_ARG_TYPE_INT_ARRAY = 5 +SERVICE_ARG_TYPE_FLOAT_ARRAY = 6 +SERVICE_ARG_TYPE_STRING_ARRAY = 7 +CLIMATE_MODE_OFF = 0 +CLIMATE_MODE_HEAT_COOL = 1 +CLIMATE_MODE_COOL = 2 +CLIMATE_MODE_HEAT = 3 +CLIMATE_MODE_FAN_ONLY = 4 +CLIMATE_MODE_DRY = 5 +CLIMATE_MODE_AUTO = 6 +CLIMATE_FAN_ON = 0 +CLIMATE_FAN_OFF = 1 +CLIMATE_FAN_AUTO = 2 +CLIMATE_FAN_LOW = 3 +CLIMATE_FAN_MEDIUM = 4 +CLIMATE_FAN_HIGH = 5 +CLIMATE_FAN_MIDDLE = 6 +CLIMATE_FAN_FOCUS = 7 +CLIMATE_FAN_DIFFUSE = 8 +CLIMATE_FAN_QUIET = 9 +CLIMATE_SWING_OFF = 0 +CLIMATE_SWING_BOTH = 1 +CLIMATE_SWING_VERTICAL = 2 +CLIMATE_SWING_HORIZONTAL = 3 +CLIMATE_ACTION_OFF = 0 +CLIMATE_ACTION_COOLING = 2 +CLIMATE_ACTION_HEATING = 3 +CLIMATE_ACTION_IDLE = 4 +CLIMATE_ACTION_DRYING = 5 +CLIMATE_ACTION_FAN = 6 +CLIMATE_PRESET_NONE = 0 +CLIMATE_PRESET_HOME = 1 +CLIMATE_PRESET_AWAY = 2 +CLIMATE_PRESET_BOOST = 3 +CLIMATE_PRESET_COMFORT = 4 +CLIMATE_PRESET_ECO = 5 +CLIMATE_PRESET_SLEEP = 6 +CLIMATE_PRESET_ACTIVITY = 7 +NUMBER_MODE_AUTO = 0 +NUMBER_MODE_BOX = 1 +NUMBER_MODE_SLIDER = 2 +LOCK_STATE_NONE = 0 +LOCK_STATE_LOCKED = 1 +LOCK_STATE_UNLOCKED = 2 +LOCK_STATE_JAMMED = 3 +LOCK_STATE_LOCKING = 4 +LOCK_STATE_UNLOCKING = 5 +LOCK_UNLOCK = 0 +LOCK_LOCK = 1 +LOCK_OPEN = 2 +MEDIA_PLAYER_STATE_NONE = 0 +MEDIA_PLAYER_STATE_IDLE = 1 +MEDIA_PLAYER_STATE_PLAYING = 2 +MEDIA_PLAYER_STATE_PAUSED = 3 +MEDIA_PLAYER_COMMAND_PLAY = 0 +MEDIA_PLAYER_COMMAND_PAUSE = 1 +MEDIA_PLAYER_COMMAND_STOP = 2 +MEDIA_PLAYER_COMMAND_MUTE = 3 +MEDIA_PLAYER_COMMAND_UNMUTE = 4 +BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT = 0 +BLUETOOTH_DEVICE_REQUEST_TYPE_DISCONNECT = 1 +BLUETOOTH_DEVICE_REQUEST_TYPE_PAIR = 2 +BLUETOOTH_DEVICE_REQUEST_TYPE_UNPAIR = 3 +BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITH_CACHE = 4 +BLUETOOTH_DEVICE_REQUEST_TYPE_CONNECT_V3_WITHOUT_CACHE = 5 + + +_HELLOREQUEST = DESCRIPTOR.message_types_by_name['HelloRequest'] +_HELLORESPONSE = DESCRIPTOR.message_types_by_name['HelloResponse'] +_CONNECTREQUEST = DESCRIPTOR.message_types_by_name['ConnectRequest'] +_CONNECTRESPONSE = DESCRIPTOR.message_types_by_name['ConnectResponse'] +_DISCONNECTREQUEST = DESCRIPTOR.message_types_by_name['DisconnectRequest'] +_DISCONNECTRESPONSE = DESCRIPTOR.message_types_by_name['DisconnectResponse'] +_PINGREQUEST = DESCRIPTOR.message_types_by_name['PingRequest'] +_PINGRESPONSE = DESCRIPTOR.message_types_by_name['PingResponse'] +_DEVICEINFOREQUEST = DESCRIPTOR.message_types_by_name['DeviceInfoRequest'] +_DEVICEINFORESPONSE = DESCRIPTOR.message_types_by_name['DeviceInfoResponse'] +_LISTENTITIESREQUEST = DESCRIPTOR.message_types_by_name['ListEntitiesRequest'] +_LISTENTITIESDONERESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesDoneResponse'] +_SUBSCRIBESTATESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeStatesRequest'] +_LISTENTITIESBINARYSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesBinarySensorResponse'] +_BINARYSENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['BinarySensorStateResponse'] +_LISTENTITIESCOVERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesCoverResponse'] +_COVERSTATERESPONSE = DESCRIPTOR.message_types_by_name['CoverStateResponse'] +_COVERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['CoverCommandRequest'] +_LISTENTITIESFANRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesFanResponse'] +_FANSTATERESPONSE = DESCRIPTOR.message_types_by_name['FanStateResponse'] +_FANCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['FanCommandRequest'] +_LISTENTITIESLIGHTRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesLightResponse'] +_LIGHTSTATERESPONSE = DESCRIPTOR.message_types_by_name['LightStateResponse'] +_LIGHTCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['LightCommandRequest'] +_LISTENTITIESSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSensorResponse'] +_SENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['SensorStateResponse'] +_LISTENTITIESSWITCHRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSwitchResponse'] +_SWITCHSTATERESPONSE = DESCRIPTOR.message_types_by_name['SwitchStateResponse'] +_SWITCHCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SwitchCommandRequest'] +_LISTENTITIESTEXTSENSORRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesTextSensorResponse'] +_TEXTSENSORSTATERESPONSE = DESCRIPTOR.message_types_by_name['TextSensorStateResponse'] +_SUBSCRIBELOGSREQUEST = DESCRIPTOR.message_types_by_name['SubscribeLogsRequest'] +_SUBSCRIBELOGSRESPONSE = DESCRIPTOR.message_types_by_name['SubscribeLogsResponse'] +_SUBSCRIBEHOMEASSISTANTSERVICESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeHomeassistantServicesRequest'] +_HOMEASSISTANTSERVICEMAP = DESCRIPTOR.message_types_by_name['HomeassistantServiceMap'] +_HOMEASSISTANTSERVICERESPONSE = DESCRIPTOR.message_types_by_name['HomeassistantServiceResponse'] +_SUBSCRIBEHOMEASSISTANTSTATESREQUEST = DESCRIPTOR.message_types_by_name['SubscribeHomeAssistantStatesRequest'] +_SUBSCRIBEHOMEASSISTANTSTATERESPONSE = DESCRIPTOR.message_types_by_name['SubscribeHomeAssistantStateResponse'] +_HOMEASSISTANTSTATERESPONSE = DESCRIPTOR.message_types_by_name['HomeAssistantStateResponse'] +_GETTIMEREQUEST = DESCRIPTOR.message_types_by_name['GetTimeRequest'] +_GETTIMERESPONSE = DESCRIPTOR.message_types_by_name['GetTimeResponse'] +_LISTENTITIESSERVICESARGUMENT = DESCRIPTOR.message_types_by_name['ListEntitiesServicesArgument'] +_LISTENTITIESSERVICESRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesServicesResponse'] +_EXECUTESERVICEARGUMENT = DESCRIPTOR.message_types_by_name['ExecuteServiceArgument'] +_EXECUTESERVICEREQUEST = DESCRIPTOR.message_types_by_name['ExecuteServiceRequest'] +_LISTENTITIESCAMERARESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesCameraResponse'] +_CAMERAIMAGERESPONSE = DESCRIPTOR.message_types_by_name['CameraImageResponse'] +_CAMERAIMAGEREQUEST = DESCRIPTOR.message_types_by_name['CameraImageRequest'] +_LISTENTITIESCLIMATERESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesClimateResponse'] +_CLIMATESTATERESPONSE = DESCRIPTOR.message_types_by_name['ClimateStateResponse'] +_CLIMATECOMMANDREQUEST = DESCRIPTOR.message_types_by_name['ClimateCommandRequest'] +_LISTENTITIESNUMBERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesNumberResponse'] +_NUMBERSTATERESPONSE = DESCRIPTOR.message_types_by_name['NumberStateResponse'] +_NUMBERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['NumberCommandRequest'] +_LISTENTITIESSELECTRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSelectResponse'] +_SELECTSTATERESPONSE = DESCRIPTOR.message_types_by_name['SelectStateResponse'] +_SELECTCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SelectCommandRequest'] +_LISTENTITIESSIRENRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesSirenResponse'] +_SIRENSTATERESPONSE = DESCRIPTOR.message_types_by_name['SirenStateResponse'] +_SIRENCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['SirenCommandRequest'] +_LISTENTITIESLOCKRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesLockResponse'] +_LOCKSTATERESPONSE = DESCRIPTOR.message_types_by_name['LockStateResponse'] +_LOCKCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['LockCommandRequest'] +_LISTENTITIESBUTTONRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesButtonResponse'] +_BUTTONCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['ButtonCommandRequest'] +_LISTENTITIESMEDIAPLAYERRESPONSE = DESCRIPTOR.message_types_by_name['ListEntitiesMediaPlayerResponse'] +_MEDIAPLAYERSTATERESPONSE = DESCRIPTOR.message_types_by_name['MediaPlayerStateResponse'] +_MEDIAPLAYERCOMMANDREQUEST = DESCRIPTOR.message_types_by_name['MediaPlayerCommandRequest'] +_SUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST = DESCRIPTOR.message_types_by_name['SubscribeBluetoothLEAdvertisementsRequest'] +_BLUETOOTHSERVICEDATA = DESCRIPTOR.message_types_by_name['BluetoothServiceData'] +_BLUETOOTHLEADVERTISEMENTRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothLEAdvertisementResponse'] +_BLUETOOTHDEVICEREQUEST = DESCRIPTOR.message_types_by_name['BluetoothDeviceRequest'] +_BLUETOOTHDEVICECONNECTIONRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDeviceConnectionResponse'] +_BLUETOOTHGATTGETSERVICESREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesRequest'] +_BLUETOOTHGATTDESCRIPTOR = DESCRIPTOR.message_types_by_name['BluetoothGATTDescriptor'] +_BLUETOOTHGATTCHARACTERISTIC = DESCRIPTOR.message_types_by_name['BluetoothGATTCharacteristic'] +_BLUETOOTHGATTSERVICE = DESCRIPTOR.message_types_by_name['BluetoothGATTService'] +_BLUETOOTHGATTGETSERVICESRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesResponse'] +_BLUETOOTHGATTGETSERVICESDONERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTGetServicesDoneResponse'] +_BLUETOOTHGATTREADREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTReadRequest'] +_BLUETOOTHGATTREADRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTReadResponse'] +_BLUETOOTHGATTWRITEREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteRequest'] +_BLUETOOTHGATTREADDESCRIPTORREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTReadDescriptorRequest'] +_BLUETOOTHGATTWRITEDESCRIPTORREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteDescriptorRequest'] +_BLUETOOTHGATTNOTIFYREQUEST = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyRequest'] +_BLUETOOTHGATTNOTIFYDATARESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyDataResponse'] +_SUBSCRIBEBLUETOOTHCONNECTIONSFREEREQUEST = DESCRIPTOR.message_types_by_name['SubscribeBluetoothConnectionsFreeRequest'] +_BLUETOOTHCONNECTIONSFREERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothConnectionsFreeResponse'] +_BLUETOOTHGATTERRORRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTErrorResponse'] +_BLUETOOTHGATTWRITERESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTWriteResponse'] +_BLUETOOTHGATTNOTIFYRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothGATTNotifyResponse'] +_BLUETOOTHDEVICEPAIRINGRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDevicePairingResponse'] +_BLUETOOTHDEVICEUNPAIRINGRESPONSE = DESCRIPTOR.message_types_by_name['BluetoothDeviceUnpairingResponse'] +_UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST = DESCRIPTOR.message_types_by_name['UnsubscribeBluetoothLEAdvertisementsRequest'] +HelloRequest = _reflection.GeneratedProtocolMessageType('HelloRequest', (_message.Message,), { + 'DESCRIPTOR' : _HELLOREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:HelloRequest) + }) +_sym_db.RegisterMessage(HelloRequest) + +HelloResponse = _reflection.GeneratedProtocolMessageType('HelloResponse', (_message.Message,), { + 'DESCRIPTOR' : _HELLORESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:HelloResponse) + }) +_sym_db.RegisterMessage(HelloResponse) + +ConnectRequest = _reflection.GeneratedProtocolMessageType('ConnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ConnectRequest) + }) +_sym_db.RegisterMessage(ConnectRequest) + +ConnectResponse = _reflection.GeneratedProtocolMessageType('ConnectResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ConnectResponse) + }) +_sym_db.RegisterMessage(ConnectResponse) + +DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:DisconnectRequest) + }) +_sym_db.RegisterMessage(DisconnectRequest) + +DisconnectResponse = _reflection.GeneratedProtocolMessageType('DisconnectResponse', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:DisconnectResponse) + }) +_sym_db.RegisterMessage(DisconnectResponse) + +PingRequest = _reflection.GeneratedProtocolMessageType('PingRequest', (_message.Message,), { + 'DESCRIPTOR' : _PINGREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:PingRequest) + }) +_sym_db.RegisterMessage(PingRequest) + +PingResponse = _reflection.GeneratedProtocolMessageType('PingResponse', (_message.Message,), { + 'DESCRIPTOR' : _PINGRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:PingResponse) + }) +_sym_db.RegisterMessage(PingResponse) + +DeviceInfoRequest = _reflection.GeneratedProtocolMessageType('DeviceInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _DEVICEINFOREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:DeviceInfoRequest) + }) +_sym_db.RegisterMessage(DeviceInfoRequest) + +DeviceInfoResponse = _reflection.GeneratedProtocolMessageType('DeviceInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _DEVICEINFORESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:DeviceInfoResponse) + }) +_sym_db.RegisterMessage(DeviceInfoResponse) + +ListEntitiesRequest = _reflection.GeneratedProtocolMessageType('ListEntitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesRequest) + }) +_sym_db.RegisterMessage(ListEntitiesRequest) + +ListEntitiesDoneResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesDoneResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESDONERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesDoneResponse) + }) +_sym_db.RegisterMessage(ListEntitiesDoneResponse) + +SubscribeStatesRequest = _reflection.GeneratedProtocolMessageType('SubscribeStatesRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBESTATESREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeStatesRequest) + }) +_sym_db.RegisterMessage(SubscribeStatesRequest) + +ListEntitiesBinarySensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesBinarySensorResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESBINARYSENSORRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesBinarySensorResponse) + }) +_sym_db.RegisterMessage(ListEntitiesBinarySensorResponse) + +BinarySensorStateResponse = _reflection.GeneratedProtocolMessageType('BinarySensorStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _BINARYSENSORSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BinarySensorStateResponse) + }) +_sym_db.RegisterMessage(BinarySensorStateResponse) + +ListEntitiesCoverResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesCoverResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESCOVERRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesCoverResponse) + }) +_sym_db.RegisterMessage(ListEntitiesCoverResponse) + +CoverStateResponse = _reflection.GeneratedProtocolMessageType('CoverStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _COVERSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:CoverStateResponse) + }) +_sym_db.RegisterMessage(CoverStateResponse) + +CoverCommandRequest = _reflection.GeneratedProtocolMessageType('CoverCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _COVERCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:CoverCommandRequest) + }) +_sym_db.RegisterMessage(CoverCommandRequest) + +ListEntitiesFanResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesFanResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESFANRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesFanResponse) + }) +_sym_db.RegisterMessage(ListEntitiesFanResponse) + +FanStateResponse = _reflection.GeneratedProtocolMessageType('FanStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _FANSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:FanStateResponse) + }) +_sym_db.RegisterMessage(FanStateResponse) + +FanCommandRequest = _reflection.GeneratedProtocolMessageType('FanCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _FANCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:FanCommandRequest) + }) +_sym_db.RegisterMessage(FanCommandRequest) + +ListEntitiesLightResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesLightResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESLIGHTRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesLightResponse) + }) +_sym_db.RegisterMessage(ListEntitiesLightResponse) + +LightStateResponse = _reflection.GeneratedProtocolMessageType('LightStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _LIGHTSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:LightStateResponse) + }) +_sym_db.RegisterMessage(LightStateResponse) + +LightCommandRequest = _reflection.GeneratedProtocolMessageType('LightCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _LIGHTCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:LightCommandRequest) + }) +_sym_db.RegisterMessage(LightCommandRequest) + +ListEntitiesSensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSensorResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSENSORRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesSensorResponse) + }) +_sym_db.RegisterMessage(ListEntitiesSensorResponse) + +SensorStateResponse = _reflection.GeneratedProtocolMessageType('SensorStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENSORSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SensorStateResponse) + }) +_sym_db.RegisterMessage(SensorStateResponse) + +ListEntitiesSwitchResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSwitchResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSWITCHRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesSwitchResponse) + }) +_sym_db.RegisterMessage(ListEntitiesSwitchResponse) + +SwitchStateResponse = _reflection.GeneratedProtocolMessageType('SwitchStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SWITCHSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SwitchStateResponse) + }) +_sym_db.RegisterMessage(SwitchStateResponse) + +SwitchCommandRequest = _reflection.GeneratedProtocolMessageType('SwitchCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _SWITCHCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SwitchCommandRequest) + }) +_sym_db.RegisterMessage(SwitchCommandRequest) + +ListEntitiesTextSensorResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesTextSensorResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESTEXTSENSORRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesTextSensorResponse) + }) +_sym_db.RegisterMessage(ListEntitiesTextSensorResponse) + +TextSensorStateResponse = _reflection.GeneratedProtocolMessageType('TextSensorStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _TEXTSENSORSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:TextSensorStateResponse) + }) +_sym_db.RegisterMessage(TextSensorStateResponse) + +SubscribeLogsRequest = _reflection.GeneratedProtocolMessageType('SubscribeLogsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBELOGSREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeLogsRequest) + }) +_sym_db.RegisterMessage(SubscribeLogsRequest) + +SubscribeLogsResponse = _reflection.GeneratedProtocolMessageType('SubscribeLogsResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBELOGSRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeLogsResponse) + }) +_sym_db.RegisterMessage(SubscribeLogsResponse) + +SubscribeHomeassistantServicesRequest = _reflection.GeneratedProtocolMessageType('SubscribeHomeassistantServicesRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSERVICESREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeHomeassistantServicesRequest) + }) +_sym_db.RegisterMessage(SubscribeHomeassistantServicesRequest) + +HomeassistantServiceMap = _reflection.GeneratedProtocolMessageType('HomeassistantServiceMap', (_message.Message,), { + 'DESCRIPTOR' : _HOMEASSISTANTSERVICEMAP, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:HomeassistantServiceMap) + }) +_sym_db.RegisterMessage(HomeassistantServiceMap) + +HomeassistantServiceResponse = _reflection.GeneratedProtocolMessageType('HomeassistantServiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _HOMEASSISTANTSERVICERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:HomeassistantServiceResponse) + }) +_sym_db.RegisterMessage(HomeassistantServiceResponse) + +SubscribeHomeAssistantStatesRequest = _reflection.GeneratedProtocolMessageType('SubscribeHomeAssistantStatesRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSTATESREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeHomeAssistantStatesRequest) + }) +_sym_db.RegisterMessage(SubscribeHomeAssistantStatesRequest) + +SubscribeHomeAssistantStateResponse = _reflection.GeneratedProtocolMessageType('SubscribeHomeAssistantStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEHOMEASSISTANTSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeHomeAssistantStateResponse) + }) +_sym_db.RegisterMessage(SubscribeHomeAssistantStateResponse) + +HomeAssistantStateResponse = _reflection.GeneratedProtocolMessageType('HomeAssistantStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _HOMEASSISTANTSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:HomeAssistantStateResponse) + }) +_sym_db.RegisterMessage(HomeAssistantStateResponse) + +GetTimeRequest = _reflection.GeneratedProtocolMessageType('GetTimeRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETTIMEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:GetTimeRequest) + }) +_sym_db.RegisterMessage(GetTimeRequest) + +GetTimeResponse = _reflection.GeneratedProtocolMessageType('GetTimeResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETTIMERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:GetTimeResponse) + }) +_sym_db.RegisterMessage(GetTimeResponse) + +ListEntitiesServicesArgument = _reflection.GeneratedProtocolMessageType('ListEntitiesServicesArgument', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSERVICESARGUMENT, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesServicesArgument) + }) +_sym_db.RegisterMessage(ListEntitiesServicesArgument) + +ListEntitiesServicesResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesServicesResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSERVICESRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesServicesResponse) + }) +_sym_db.RegisterMessage(ListEntitiesServicesResponse) + +ExecuteServiceArgument = _reflection.GeneratedProtocolMessageType('ExecuteServiceArgument', (_message.Message,), { + 'DESCRIPTOR' : _EXECUTESERVICEARGUMENT, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ExecuteServiceArgument) + }) +_sym_db.RegisterMessage(ExecuteServiceArgument) + +ExecuteServiceRequest = _reflection.GeneratedProtocolMessageType('ExecuteServiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _EXECUTESERVICEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ExecuteServiceRequest) + }) +_sym_db.RegisterMessage(ExecuteServiceRequest) + +ListEntitiesCameraResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesCameraResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESCAMERARESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesCameraResponse) + }) +_sym_db.RegisterMessage(ListEntitiesCameraResponse) + +CameraImageResponse = _reflection.GeneratedProtocolMessageType('CameraImageResponse', (_message.Message,), { + 'DESCRIPTOR' : _CAMERAIMAGERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:CameraImageResponse) + }) +_sym_db.RegisterMessage(CameraImageResponse) + +CameraImageRequest = _reflection.GeneratedProtocolMessageType('CameraImageRequest', (_message.Message,), { + 'DESCRIPTOR' : _CAMERAIMAGEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:CameraImageRequest) + }) +_sym_db.RegisterMessage(CameraImageRequest) + +ListEntitiesClimateResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesClimateResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESCLIMATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesClimateResponse) + }) +_sym_db.RegisterMessage(ListEntitiesClimateResponse) + +ClimateStateResponse = _reflection.GeneratedProtocolMessageType('ClimateStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _CLIMATESTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ClimateStateResponse) + }) +_sym_db.RegisterMessage(ClimateStateResponse) + +ClimateCommandRequest = _reflection.GeneratedProtocolMessageType('ClimateCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _CLIMATECOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ClimateCommandRequest) + }) +_sym_db.RegisterMessage(ClimateCommandRequest) + +ListEntitiesNumberResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesNumberResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESNUMBERRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesNumberResponse) + }) +_sym_db.RegisterMessage(ListEntitiesNumberResponse) + +NumberStateResponse = _reflection.GeneratedProtocolMessageType('NumberStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _NUMBERSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:NumberStateResponse) + }) +_sym_db.RegisterMessage(NumberStateResponse) + +NumberCommandRequest = _reflection.GeneratedProtocolMessageType('NumberCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _NUMBERCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:NumberCommandRequest) + }) +_sym_db.RegisterMessage(NumberCommandRequest) + +ListEntitiesSelectResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSelectResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSELECTRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesSelectResponse) + }) +_sym_db.RegisterMessage(ListEntitiesSelectResponse) + +SelectStateResponse = _reflection.GeneratedProtocolMessageType('SelectStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SELECTSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SelectStateResponse) + }) +_sym_db.RegisterMessage(SelectStateResponse) + +SelectCommandRequest = _reflection.GeneratedProtocolMessageType('SelectCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _SELECTCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SelectCommandRequest) + }) +_sym_db.RegisterMessage(SelectCommandRequest) + +ListEntitiesSirenResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesSirenResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESSIRENRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesSirenResponse) + }) +_sym_db.RegisterMessage(ListEntitiesSirenResponse) + +SirenStateResponse = _reflection.GeneratedProtocolMessageType('SirenStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SIRENSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SirenStateResponse) + }) +_sym_db.RegisterMessage(SirenStateResponse) + +SirenCommandRequest = _reflection.GeneratedProtocolMessageType('SirenCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _SIRENCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SirenCommandRequest) + }) +_sym_db.RegisterMessage(SirenCommandRequest) + +ListEntitiesLockResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesLockResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESLOCKRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesLockResponse) + }) +_sym_db.RegisterMessage(ListEntitiesLockResponse) + +LockStateResponse = _reflection.GeneratedProtocolMessageType('LockStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _LOCKSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:LockStateResponse) + }) +_sym_db.RegisterMessage(LockStateResponse) + +LockCommandRequest = _reflection.GeneratedProtocolMessageType('LockCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _LOCKCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:LockCommandRequest) + }) +_sym_db.RegisterMessage(LockCommandRequest) + +ListEntitiesButtonResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesButtonResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESBUTTONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesButtonResponse) + }) +_sym_db.RegisterMessage(ListEntitiesButtonResponse) + +ButtonCommandRequest = _reflection.GeneratedProtocolMessageType('ButtonCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _BUTTONCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ButtonCommandRequest) + }) +_sym_db.RegisterMessage(ButtonCommandRequest) + +ListEntitiesMediaPlayerResponse = _reflection.GeneratedProtocolMessageType('ListEntitiesMediaPlayerResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTENTITIESMEDIAPLAYERRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:ListEntitiesMediaPlayerResponse) + }) +_sym_db.RegisterMessage(ListEntitiesMediaPlayerResponse) + +MediaPlayerStateResponse = _reflection.GeneratedProtocolMessageType('MediaPlayerStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _MEDIAPLAYERSTATERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:MediaPlayerStateResponse) + }) +_sym_db.RegisterMessage(MediaPlayerStateResponse) + +MediaPlayerCommandRequest = _reflection.GeneratedProtocolMessageType('MediaPlayerCommandRequest', (_message.Message,), { + 'DESCRIPTOR' : _MEDIAPLAYERCOMMANDREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:MediaPlayerCommandRequest) + }) +_sym_db.RegisterMessage(MediaPlayerCommandRequest) + +SubscribeBluetoothLEAdvertisementsRequest = _reflection.GeneratedProtocolMessageType('SubscribeBluetoothLEAdvertisementsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeBluetoothLEAdvertisementsRequest) + }) +_sym_db.RegisterMessage(SubscribeBluetoothLEAdvertisementsRequest) + +BluetoothServiceData = _reflection.GeneratedProtocolMessageType('BluetoothServiceData', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHSERVICEDATA, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothServiceData) + }) +_sym_db.RegisterMessage(BluetoothServiceData) + +BluetoothLEAdvertisementResponse = _reflection.GeneratedProtocolMessageType('BluetoothLEAdvertisementResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHLEADVERTISEMENTRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothLEAdvertisementResponse) + }) +_sym_db.RegisterMessage(BluetoothLEAdvertisementResponse) + +BluetoothDeviceRequest = _reflection.GeneratedProtocolMessageType('BluetoothDeviceRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHDEVICEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothDeviceRequest) + }) +_sym_db.RegisterMessage(BluetoothDeviceRequest) + +BluetoothDeviceConnectionResponse = _reflection.GeneratedProtocolMessageType('BluetoothDeviceConnectionResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHDEVICECONNECTIONRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothDeviceConnectionResponse) + }) +_sym_db.RegisterMessage(BluetoothDeviceConnectionResponse) + +BluetoothGATTGetServicesRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTGetServicesRequest) + +BluetoothGATTDescriptor = _reflection.GeneratedProtocolMessageType('BluetoothGATTDescriptor', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTDESCRIPTOR, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTDescriptor) + }) +_sym_db.RegisterMessage(BluetoothGATTDescriptor) + +BluetoothGATTCharacteristic = _reflection.GeneratedProtocolMessageType('BluetoothGATTCharacteristic', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTCHARACTERISTIC, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTCharacteristic) + }) +_sym_db.RegisterMessage(BluetoothGATTCharacteristic) + +BluetoothGATTService = _reflection.GeneratedProtocolMessageType('BluetoothGATTService', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTSERVICE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTService) + }) +_sym_db.RegisterMessage(BluetoothGATTService) + +BluetoothGATTGetServicesResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTGetServicesResponse) + +BluetoothGATTGetServicesDoneResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTGetServicesDoneResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTGETSERVICESDONERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTGetServicesDoneResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTGetServicesDoneResponse) + +BluetoothGATTReadRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTREADREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTReadRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTReadRequest) + +BluetoothGATTReadResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTREADRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTReadResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTReadResponse) + +BluetoothGATTWriteRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTWRITEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTWriteRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTWriteRequest) + +BluetoothGATTReadDescriptorRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTReadDescriptorRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTREADDESCRIPTORREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTReadDescriptorRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTReadDescriptorRequest) + +BluetoothGATTWriteDescriptorRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteDescriptorRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTWRITEDESCRIPTORREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTWriteDescriptorRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTWriteDescriptorRequest) + +BluetoothGATTNotifyRequest = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyRequest', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyRequest) + }) +_sym_db.RegisterMessage(BluetoothGATTNotifyRequest) + +BluetoothGATTNotifyDataResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyDataResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYDATARESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyDataResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTNotifyDataResponse) + +SubscribeBluetoothConnectionsFreeRequest = _reflection.GeneratedProtocolMessageType('SubscribeBluetoothConnectionsFreeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEBLUETOOTHCONNECTIONSFREEREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:SubscribeBluetoothConnectionsFreeRequest) + }) +_sym_db.RegisterMessage(SubscribeBluetoothConnectionsFreeRequest) + +BluetoothConnectionsFreeResponse = _reflection.GeneratedProtocolMessageType('BluetoothConnectionsFreeResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHCONNECTIONSFREERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothConnectionsFreeResponse) + }) +_sym_db.RegisterMessage(BluetoothConnectionsFreeResponse) + +BluetoothGATTErrorResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTErrorResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTERRORRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTErrorResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTErrorResponse) + +BluetoothGATTWriteResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTWriteResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTWRITERESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTWriteResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTWriteResponse) + +BluetoothGATTNotifyResponse = _reflection.GeneratedProtocolMessageType('BluetoothGATTNotifyResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHGATTNOTIFYRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothGATTNotifyResponse) + }) +_sym_db.RegisterMessage(BluetoothGATTNotifyResponse) + +BluetoothDevicePairingResponse = _reflection.GeneratedProtocolMessageType('BluetoothDevicePairingResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHDEVICEPAIRINGRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothDevicePairingResponse) + }) +_sym_db.RegisterMessage(BluetoothDevicePairingResponse) + +BluetoothDeviceUnpairingResponse = _reflection.GeneratedProtocolMessageType('BluetoothDeviceUnpairingResponse', (_message.Message,), { + 'DESCRIPTOR' : _BLUETOOTHDEVICEUNPAIRINGRESPONSE, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:BluetoothDeviceUnpairingResponse) + }) +_sym_db.RegisterMessage(BluetoothDeviceUnpairingResponse) + +UnsubscribeBluetoothLEAdvertisementsRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeBluetoothLEAdvertisementsRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBEBLUETOOTHLEADVERTISEMENTSREQUEST, + '__module__' : 'api_pb2' + # @@protoc_insertion_point(class_scope:UnsubscribeBluetoothLEAdvertisementsRequest) + }) +_sym_db.RegisterMessage(UnsubscribeBluetoothLEAdvertisementsRequest) + +_APICONNECTION = DESCRIPTOR.services_by_name['APIConnection'] if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None