From 7e24e98f1f0366bcd248811d52740b5fdc722609 Mon Sep 17 00:00:00 2001 From: Emmanuel Levijarvi Date: Thu, 4 Jun 2026 13:01:22 -0700 Subject: [PATCH] feat: add HVAC mode 8 (DRY) to HVACMode enum Added support for the new DRY (dehumidification) mode that the Quilt API now returns. This is a new mode available on the Quilt system. - Updated HVACMode enum in enums.py to include DRY = 8 - Updated proto definition in quilt_hds.proto - Regenerated protobuf files --- proto/cleaned/quilt_hds.proto | 1 + src/quilt_hp/_proto/quilt_hds_pb2.py | 84 +++++++++++++-------------- src/quilt_hp/_proto/quilt_hds_pb2.pyi | 2 + src/quilt_hp/models/enums.py | 1 + 4 files changed, 46 insertions(+), 42 deletions(-) diff --git a/proto/cleaned/quilt_hds.proto b/proto/cleaned/quilt_hds.proto index 507bd3e..879ac2f 100644 --- a/proto/cleaned/quilt_hds.proto +++ b/proto/cleaned/quilt_hds.proto @@ -26,6 +26,7 @@ enum HVACMode { HVAC_MODE_FAN = 5; HVAC_MODE_FALLBACK_AUTO = 6; HVAC_MODE_FALLBACK_OFF = 7; + HVAC_MODE_DRY = 8; } // Confirmed by Android proto Java enum SJ (implements ProtocolMessageEnum). diff --git a/src/quilt_hp/_proto/quilt_hds_pb2.py b/src/quilt_hp/_proto/quilt_hds_pb2.py index c659b86..b5bc8d5 100644 --- a/src/quilt_hp/_proto/quilt_hds_pb2.py +++ b/src/quilt_hp/_proto/quilt_hds_pb2.py @@ -27,7 +27,7 @@ from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fquilt_hds.proto\x12\x1a\x63ore.protos.home_datastore\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x96\x01\n\x0e\x45ntityMetadata\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12.\n\ncreated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tsystem_id\x18\x04 \x01(\t\"i\n\x12LocationAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rtz_identifier\x18\x03 \x01(\t\"\x8d\x01\n\x10LocationControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\x12schedule_execution\x18\x02 \x01(\x0e\x32-.core.protos.home_datastore.ScheduleExecution\"\xca\x01\n\x08Location\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x42\n\nattributes\x18\x02 \x01(\x0b\x32..core.protos.home_datastore.LocationAttributes\x12>\n\x08\x63ontrols\x18\x03 \x01(\x0b\x32,.core.protos.home_datastore.LocationControls\"z\n\x12SpaceRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x17\n\x0fparent_space_id\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x81\x03\n\rSpaceSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08timezone\x18\x04 \x01(\t\x12<\n\toccupancy\x18\x05 \x01(\x0e\x32).core.protos.home_datastore.OccupancyMode\x12L\n\x14hvac_controller_type\x18\x06 \x01(\x0e\x32..core.protos.home_datastore.HvacControllerType\x12\x1a\n\x12occupied_timeout_s\x18\x07 \x01(\x02\x12\x1c\n\x14unoccupied_timeout_s\x18\x08 \x01(\x02\x12\x45\n\x0esafety_heating\x18\t \x01(\x0e\x32-.core.protos.home_datastore.SafetyHeatingMode\"\xb8\x03\n\rSpaceControls\x12\x37\n\thvac_mode\x18\x01 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x1e\n\x16temperature_setpoint_c\x18\x02 \x01(\x02\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\x04 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x05 \x01(\x02\x12\x1a\n\x12\x63omfort_setting_id\x18\x06 \x01(\t\x12\x39\n\nboost_mode\x18\x07 \x01(\x0e\x32%.core.protos.home_datastore.BoostMode\x12T\n\x18\x63omfort_setting_override\x18\x08 \x01(\x0e\x32\x32.core.protos.home_datastore.ComfortSettingOverride\x12!\n\x19\x63omfort_setting_id_string\x18\t \x01(\t\"\xd2\x01\n\nSpaceState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16setpoint_temperature_c\x18\x02 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x03 \x01(\x02\x12\x39\n\nhvac_state\x18\x04 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x1a\n\x12\x63omfort_setting_id\x18\x05 \x01(\t\"\xbb\x02\n\x05Space\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x45\n\rrelationships\x18\x02 \x01(\x0b\x32..core.protos.home_datastore.SpaceRelationships\x12;\n\x08settings\x18\x03 \x01(\x0b\x32).core.protos.home_datastore.SpaceSettings\x12;\n\x08\x63ontrols\x18\x04 \x01(\x0b\x32).core.protos.home_datastore.SpaceControls\x12\x35\n\x05state\x18\x05 \x01(\x0b\x32&.core.protos.home_datastore.SpaceState\"\xe6\x01\n\x17IndoorUnitRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x17\n\x0foutdoor_unit_id\x18\x03 \x01(\t\x12\x13\n\x0bhardware_id\x18\x04 \x01(\t\x12\x1d\n\x15quilt_smart_module_id\x18\x05 \x01(\t\x12.\n\nupdated_ts\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17\x66irmware_update_info_id\x18\x07 \x01(\t\"\x9e\x02\n\x12IndoorUnitSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12(\n light_brightness_default_percent\x18\x03 \x01(\x02\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15presence_fence_left_m\x18\x05 \x01(\x02\x12\x1e\n\x16presence_fence_right_m\x18\x06 \x01(\x02\x12 \n\x18presence_fence_forward_m\x18\x07 \x01(\x02\x12*\n\"radar_sensor_distance_from_floor_m\x18\x08 \x01(\x02\"\xc3\x03\n\x12IndoorUnitControls\x12\x16\n\x0eled_color_code\x18\x03 \x01(\r\x12$\n\x1cled_color_brightness_percent\x18\x04 \x01(\x02\x12@\n\x0e\x66\x61n_speed_mode\x18\x05 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x06 \x01(\x02\x12.\n\nupdated_ts\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\x0blouver_mode\x18\n \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\x0b \x01(\x02\x12\x41\n\rled_animation\x18\x0c \x01(\x0e\x32*.core.protos.home_datastore.LightAnimation\x12\x39\n\tled_state\x18\r \x01(\x0e\x32&.core.protos.home_datastore.LightState\"\x9c\x04\n\x0fIndoorUnitState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16temperature_setpoint_c\x18\x02 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x03 \x01(\x02\x12\x39\n\nhvac_state\x18\x04 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x1e\n\x16\x66\x61n_speed_setpoint_rpm\x18\x05 \x01(\x02\x12\x15\n\rfan_speed_rpm\x18\x06 \x01(\x02\x12 \n\x18light_brightness_percent\x18\x07 \x01(\x02\x12 \n\x18presence_detection_level\x18\x08 \x01(\x02\x12\x1b\n\x13inlet_temperature_c\x18\t \x01(\x02\x12\x1c\n\x14outlet_temperature_c\x18\n \x01(\x02\x12 \n\x18\x61mbient_humidity_percent\x18\x0b \x01(\x02\x12\x37\n\thvac_mode\x18\x0c \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12(\n calculated_ambient_temperature_c\x18\r \x01(\x02\x12$\n\x1clouver_angle_up_down_degrees\x18\x0e \x01(\x02\"\xee\x06\n\x14IndoorUnitConditions\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\rmode_conflict\x18\x02 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x42\n\x0e\x61nti_cold_wind\x18\x03 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12T\n abnormal_outdoor_air_temperature\x18\x04 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12M\n\x19hvac_mode_switching_delay\x18\x05 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x41\n\rdefrost_cycle\x18\x06 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x42\n\x0esafety_heating\x18\x07 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12>\n\noil_return\x18\x08 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12N\n\x1amodbus_communication_error\x18\t \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12@\n\x0c\x63oil_preheat\x18\n \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12K\n\x17mode_conflict_avoidance\x18\x0b \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12T\n outdoor_unit_communication_error\x18\x0c \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\"\xc9\x01\n\x17IndoorUnitPresenceState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x10sensor0_presence\x18\x02 \x01(\x0e\x32$.core.protos.home_datastore.Presence\x12>\n\x10sensor1_presence\x18\x03 \x01(\x0e\x32$.core.protos.home_datastore.Presence\"\x9a\x01\n\x12IndoorUnitCommands\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12T\n\x18\x66\x61llback_control_command\x18\x02 \x01(\x0e\x32\x32.core.protos.home_datastore.FallbackControlCommand\"\xad\x02\n\x1cIndoorUnitHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12\x19\n\x11\x66\x61n_speed_max_rpm\x18\x05 \x01(\x02\x12.\n\nupdated_ts\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12!\n\x19indoor_unit_serial_number\x18\x07 \x01(\t\x12(\n quilt_smart_module_serial_number\x18\x08 \x01(\t\"\x9e\x01\n\x12IndoorUnitHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.IndoorUnitHardwareAttributes\"\xf4\x02\n\x14IndoorUnitHvacInputs\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x1e\x65xternal_ambient_temperature_c\x18\x02 \x01(\x02\x12\"\n\x1a\x61mbient_temperature_source\x18\x03 \x01(\x05\x12\x1e\n\x16temperature_setpoint_c\x18\x04 \x01(\x02\x12\x37\n\thvac_mode\x18\x05 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12L\n\x14hvac_controller_type\x18\x06 \x01(\x0e\x32..core.protos.home_datastore.HvacControllerType\x12\x39\n\nhvac_state\x18\x07 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\xd1\x03\n\x19IndoorUnitPerformanceData\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_interval_s\x18\x02 \x01(\x02\x12\x1c\n\x14\x65nergy_measurement_j\x18\x03 \x01(\x02\x12\x37\n\thvac_mode\x18\x04 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x1c\n\x14\x61\x63tual_fan_speed_rpm\x18\x05 \x01(\x02\x12\x1c\n\x14outlet_temperature_c\x18\x06 \x01(\x02\x12\x1a\n\x12inlet_humidity_pct\x18\x07 \x01(\x02\x12\x1b\n\x13inlet_temperature_c\x18\x08 \x01(\x02\x12\x1a\n\x12\x63oil_temperature_c\x18\t \x01(\x02\x12\x1e\n\x16gas_pipe_temperature_c\x18\n \x01(\x02\x12!\n\x19liquid_pipe_temperature_c\x18\x0b \x01(\x02\x12\x39\n\nhvac_state\x18\x0c \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\x8a\x03\n\x1cIndoorUnitPerformanceMetrics\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_duration_s\x18\x0b \x01(\x02\x12\x16\n\x0e\x65nergy_total_j\x18\x04 \x01(\x02\x12\x12\n\ncapacity_w\x18\x05 \x01(\x02\x12\"\n\x1a\x63oefficient_of_performance\x18\x06 \x01(\x02\x12\x37\n\thvac_mode\x18\x07 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x14\n\x0chvac_power_w\x18\x08 \x01(\x02\x12\x13\n\x0bled_power_w\x18\t \x01(\x02\x12\x39\n\nhvac_state\x18\n \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x15\n\rhvac_energy_j\x18\x0c \x01(\x02\x12\x14\n\x0cled_energy_j\x18\r \x01(\x02\"\x8a\x01\n\x13IndoorUnitOccupancy\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0foccupancy_state\x18\x02 \x01(\x0e\x32*.core.protos.home_datastore.OccupancyState\"\xd6\x06\n\nIndoorUnit\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12J\n\rrelationships\x18\x02 \x01(\x0b\x32\x33.core.protos.home_datastore.IndoorUnitRelationships\x12@\n\x08settings\x18\x03 \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitSettings\x12@\n\x08\x63ontrols\x18\x04 \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitControls\x12:\n\x05state\x18\x05 \x01(\x0b\x32+.core.protos.home_datastore.IndoorUnitState\x12\x45\n\x0bhvac_inputs\x18\x06 \x01(\x0b\x32\x30.core.protos.home_datastore.IndoorUnitHvacInputs\x12\x45\n\x08presence\x18\x07 \x01(\x0b\x32\x33.core.protos.home_datastore.IndoorUnitPresenceState\x12\x44\n\nconditions\x18\x08 \x01(\x0b\x32\x30.core.protos.home_datastore.IndoorUnitConditions\x12@\n\x08\x63ommands\x18\t \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitCommands\x12O\n\x10performance_data\x18\n \x01(\x0b\x32\x35.core.protos.home_datastore.IndoorUnitPerformanceData\x12U\n\x13performance_metrics\x18\x0b \x01(\x0b\x32\x38.core.protos.home_datastore.IndoorUnitPerformanceMetrics\x12\x42\n\toccupancy\x18\x0c \x01(\x0b\x32/.core.protos.home_datastore.IndoorUnitOccupancy\"\xaf\x01\n\x18OutdoorUnitRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x13\n\x0bhardware_id\x18\x03 \x01(\t\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17\x66irmware_update_info_id\x18\x05 \x01(\t\"h\n\x13OutdoorUnitSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"}\n\x10OutdoorUnitState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\nhvac_state\x18\x02 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\xba\x02\n\x1aOutdoorUnitPerformanceData\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_interval_s\x18\x02 \x01(\x02\x12\x1c\n\x14\x65nergy_measurement_j\x18\x03 \x01(\x02\x12\x1f\n\x17\x63ompressor_frequency_hz\x18\x04 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x05 \x01(\x02\x12\x1a\n\x12\x63oil_temperature_c\x18\x06 \x01(\x02\x12\x1d\n\x15\x65xhaust_temperature_c\x18\x07 \x01(\x02\x12\x19\n\x11high_pressure_kpa\x18\x08 \x01(\x02\x12\x18\n\x10low_pressure_kpa\x18\t \x01(\x02\"\xc6\x01\n\x1dOutdoorUnitHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12.\n\nupdated_ts\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa0\x01\n\x13OutdoorUnitHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12M\n\nattributes\x18\x02 \x01(\x0b\x32\x39.core.protos.home_datastore.OutdoorUnitHardwareAttributes\"\xe8\x02\n\x0bOutdoorUnit\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12K\n\rrelationships\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.OutdoorUnitRelationships\x12\x41\n\x08settings\x18\x03 \x01(\x0b\x32/.core.protos.home_datastore.OutdoorUnitSettings\x12;\n\x05state\x18\x04 \x01(\x0b\x32,.core.protos.home_datastore.OutdoorUnitState\x12P\n\x10performance_data\x18\x05 \x01(\x0b\x32\x36.core.protos.home_datastore.OutdoorUnitPerformanceData\"\xcf\x01\n\x17\x43ontrollerRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x13\n\x0bhardware_id\x18\x03 \x01(\t\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17software_update_info_id\x18\x05 \x01(\t\x12\x1f\n\x17\x66irmware_update_info_id\x18\x06 \x01(\t\"g\n\x12\x43ontrollerSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa8\x01\n\x0f\x43ontrollerState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15\x61mbient_temperature_c\x18\x02 \x01(\x02\x12\x16\n\x0etemperature_f3\x18\x03 \x01(\x02\x12\x16\n\x0etemperature_f4\x18\x04 \x01(\x02\x12\x16\n\x0etemperature_f5\x18\x05 \x01(\x02\"\x9d\x01\n\x12\x43ontrollerControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12W\n\x1aremote_sensor_control_mode\x18\x02 \x01(\x0e\x32\x33.core.protos.home_datastore.RemoteSensorControlMode\"\xde\x02\n\tWifiState\x12\x43\n\nwifi_state\x18\x01 \x01(\x0e\x32/.core.protos.home_datastore.WifiConnectionState\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\r\n\x05\x62ssid\x18\x03 \x01(\t\x12\x15\n\rfrequency_mhz\x18\x04 \x01(\x05\x12\x12\n\npassphrase\x18\x05 \x01(\t\x12\x18\n\x10signal_level_dbm\x18\x06 \x01(\x05\x12\x17\n\x0fnoise_level_dbm\x18\x07 \x01(\x05\x12\x17\n\x0frx_invalid_frag\x18\x08 \x01(\x05\x12\x1c\n\x14tx_excessive_retries\x18\t \x01(\x05\x12\x14\n\x0cipv4_address\x18\n \x01(\t\x12\x14\n\x0cipv6_address\x18\x0b \x01(\t\x12.\n\nupdated_ts\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc5\x01\n\x1c\x43ontrollerHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12.\n\nupdated_ts\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9e\x01\n\x12\x43ontrollerHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.ControllerHardwareAttributes\"\x93\x04\n\nController\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12J\n\rrelationships\x18\x02 \x01(\x0b\x32\x33.core.protos.home_datastore.ControllerRelationships\x12@\n\x08settings\x18\x03 \x01(\x0b\x32..core.protos.home_datastore.ControllerSettings\x12:\n\x05state\x18\x04 \x01(\x0b\x32+.core.protos.home_datastore.ControllerState\x12@\n\x11hosted_wifi_state\x18\x05 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12<\n\rap_wifi_state\x18\x06 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12=\n\x0ep2p_wifi_state\x18\x07 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12@\n\x08\x63ontrols\x18\x08 \x01(\x0b\x32..core.protos.home_datastore.ControllerControls\"U\n\x16RemoteSensorAttributes\x12\x0b\n\x03mac\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb5\x01\n\x11RemoteSensorState\x12\x1d\n\x15\x61mbient_temperature_c\x18\x01 \x01(\x02\x12\x18\n\x10humidity_percent\x18\x02 \x01(\x02\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15\x62\x61ttery_level_percent\x18\x04 \x01(\x02\x12\x18\n\x10signal_level_dbm\x18\x05 \x01(\x05\"c\n\x19RemoteSensorRelationships\x12\x16\n\x0eindoor_unit_id\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"l\n#ControllerRemoteSensorRelationships\x12\x15\n\rcontroller_id\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x91\x01\n\x14RemoteSensorControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\x0c\x63ontrol_mode\x18\x02 \x01(\x0e\x32\x33.core.protos.home_datastore.RemoteSensorControlMode\"\xe2\x02\n\x0cRemoteSensor\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\nattributes\x18\x02 \x01(\x0b\x32\x32.core.protos.home_datastore.RemoteSensorAttributes\x12<\n\x05state\x18\x03 \x01(\x0b\x32-.core.protos.home_datastore.RemoteSensorState\x12L\n\rrelationships\x18\x04 \x01(\x0b\x32\x35.core.protos.home_datastore.RemoteSensorRelationships\x12\x42\n\x08\x63ontrols\x18\x05 \x01(\x0b\x32\x30.core.protos.home_datastore.RemoteSensorControls\"\xf6\x02\n\x16\x43ontrollerRemoteSensor\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\nattributes\x18\x02 \x01(\x0b\x32\x32.core.protos.home_datastore.RemoteSensorAttributes\x12<\n\x05state\x18\x03 \x01(\x0b\x32-.core.protos.home_datastore.RemoteSensorState\x12V\n\rrelationships\x18\x04 \x01(\x0b\x32?.core.protos.home_datastore.ControllerRemoteSensorRelationships\x12\x42\n\x08\x63ontrols\x18\x05 \x01(\x0b\x32\x30.core.protos.home_datastore.RemoteSensorControls\"\xe2\x03\n\x18\x43omfortSettingAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\x12@\n\x0e\x66\x61n_speed_mode\x18\x03 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x04 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x05 \x01(\x02\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\x06 \x01(\x02\x12<\n\x04type\x18\x07 \x01(\x0e\x32..core.protos.home_datastore.ComfortSettingType\x12\x37\n\thvac_mode\x18\x08 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x45\n\x0blouver_mode\x18\t \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\n \x01(\x02\"_\n\x1b\x43omfortSettingRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xe6\x01\n\x0e\x43omfortSetting\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12H\n\nattributes\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.ComfortSettingAttributes\x12N\n\rrelationships\x18\x03 \x01(\x0b\x32\x37.core.protos.home_datastore.ComfortSettingRelationships\"\xd0\x01\n\x10LedScheduleEvent\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07start_s\x18\x02 \x01(\x05\x12\x16\n\x0eled_color_code\x18\x03 \x01(\r\x12$\n\x1cled_color_brightness_percent\x18\x04 \x01(\x02\x12=\n\tanimation\x18\x05 \x01(\x0e\x32*.core.protos.home_datastore.LightAnimation\"\x99\x04\n\rScheduleEvent\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12\x63omfort_setting_id\x18\x02 \x01(\t\x12\x0f\n\x07start_s\x18\x03 \x01(\x05\x12\x14\n\x0cprecondition\x18\x04 \x01(\x08\x12I\n\x12schedule_execution\x18\x05 \x01(\x0e\x32-.core.protos.home_datastore.ScheduleExecution\x12@\n\x0e\x66\x61n_speed_mode\x18\x06 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x07 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x08 \x01(\x02\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\t \x01(\x02\x12\x37\n\thvac_mode\x18\n \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x45\n\x0blouver_mode\x18\x0b \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\x0c \x01(\x02\"U\n\x15ScheduleDayAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\"\\\n\x18ScheduleDayRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xda\x02\n\x0bScheduleDay\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x45\n\nattributes\x18\x02 \x01(\x0b\x32\x31.core.protos.home_datastore.ScheduleDayAttributes\x12\x39\n\x06\x65vents\x18\x03 \x03(\x0b\x32).core.protos.home_datastore.ScheduleEvent\x12K\n\rrelationships\x18\x04 \x01(\x0b\x32\x34.core.protos.home_datastore.ScheduleDayRelationships\x12@\n\nled_events\x18\x05 \x03(\x0b\x32,.core.protos.home_datastore.LedScheduleEvent\"\x87\x01\n\x0fScheduleWeekDay\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x64\x61y_id\x18\x02 \x01(\t\x12\x34\n\x07weekday\x18\x03 \x01(\x0e\x32#.core.protos.home_datastore.Weekday\"]\n\x19ScheduleWeekRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xd3\x01\n\x0cScheduleWeek\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x39\n\x04\x64\x61ys\x18\x02 \x03(\x0b\x32+.core.protos.home_datastore.ScheduleWeekDay\x12L\n\rrelationships\x18\x03 \x01(\x0b\x32\x35.core.protos.home_datastore.ScheduleWeekRelationships\"\x91\x01\n\x1dQuiltSmartModuleRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17software_update_info_id\x18\x02 \x01(\t\x12\x1f\n\x17\x66irmware_update_info_id\x18\x03 \x01(\t\"b\n\x18QuiltSmartModuleControls\x12\x16\n\x0eled_color_code\x18\x01 \x01(\x05\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x86\x02\n\x15QuiltSmartModuleState\x12\x1a\n\x12phase_detected_raw\x18\x01 \x01(\x02\x12\x1b\n\x13target_detected_raw\x18\x02 \x01(\x02\x12\x1b\n\x13\x61ls_illuminance_raw\x18\x03 \x01(\x05\x12\x12\n\nals_ir_raw\x18\x04 \x01(\x05\x12\x14\n\x0c\x61ls_both_raw\x18\x05 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_x_raw\x18\x06 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_y_raw\x18\x07 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_z_raw\x18\x08 \x01(\x05\x12.\n\nupdated_ts\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x03\n\x10QuiltSmartModule\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\x08\x63ontrols\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.QuiltSmartModuleControls\x12@\n\x05state\x18\x03 \x01(\x0b\x32\x31.core.protos.home_datastore.QuiltSmartModuleState\x12@\n\x11hosted_wifi_state\x18\x04 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12<\n\rap_wifi_state\x18\x05 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12=\n\x0ep2p_wifi_state\x18\x06 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12P\n\rrelationships\x18\x07 \x01(\x0b\x32\x39.core.protos.home_datastore.QuiltSmartModuleRelationships\"\xe7\x01\n\x1cSoftwareUpdateInfoAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05state\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x17\n\x0f\x63urrent_version\x18\x04 \x01(\t\x12\x16\n\x0etarget_version\x18\x05 \x01(\t\x12\x18\n\x10\x63urrent_progress\x18\x06 \x01(\x02\x12\x16\n\x0etotal_progress\x18\x07 \x01(\x02\x12\x15\n\rprogress_unit\x18\x08 \x01(\x05\"\x9e\x01\n\x12SoftwareUpdateInfo\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.SoftwareUpdateInfoAttributes\"\xa2\x08\n\x13HomeDatastoreSystem\x12\x31\n\x06spaces\x18\x03 \x03(\x0b\x32!.core.protos.home_datastore.Space\x12N\n\x15outdoor_unit_hardware\x18\x05 \x03(\x0b\x32/.core.protos.home_datastore.OutdoorUnitHardware\x12>\n\routdoor_units\x18\x06 \x03(\x0b\x32\'.core.protos.home_datastore.OutdoorUnit\x12I\n\x13quilt_smart_modules\x18\x07 \x03(\x0b\x32,.core.protos.home_datastore.QuiltSmartModule\x12L\n\x14indoor_unit_hardware\x18\x08 \x03(\x0b\x32..core.protos.home_datastore.IndoorUnitHardware\x12<\n\x0cindoor_units\x18\t \x03(\x0b\x32&.core.protos.home_datastore.IndoorUnit\x12K\n\x13\x63ontroller_hardware\x18\n \x03(\x0b\x32..core.protos.home_datastore.ControllerHardware\x12;\n\x0b\x63ontrollers\x18\x0b \x03(\x0b\x32&.core.protos.home_datastore.Controller\x12@\n\x0eremote_sensors\x18\x0c \x03(\x0b\x32(.core.protos.home_datastore.RemoteSensor\x12\x44\n\x10\x63omfort_settings\x18\r \x03(\x0b\x32*.core.protos.home_datastore.ComfortSetting\x12>\n\rschedule_days\x18\x0e \x03(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\x12@\n\x0eschedule_weeks\x18\x0f \x03(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\x12U\n\x19\x63ontroller_remote_sensors\x18\x10 \x03(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\x12\x37\n\tlocations\x18\x11 \x03(\x0b\x32$.core.protos.home_datastore.Location\x12M\n\x15software_update_infos\x18\x12 \x03(\x0b\x32..core.protos.home_datastore.SoftwareUpdateInfo\"b\n\x1dGetHomeDatastoreSystemRequest\x12\x11\n\tsystem_id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x1d\n\x0fGetSpaceRequest\x12\n\n\x02id\x18\x01 \x01(\t\"F\n\x12\x43reateSpaceRequest\x12\x30\n\x05space\x18\x01 \x01(\x0b\x32!.core.protos.home_datastore.Space\"E\n\x12UpdateSpaceRequest\x12/\n\x04\x64iff\x18\x01 \x01(\x0b\x32!.core.protos.home_datastore.Space\" \n\x12\x44\x65leteSpaceRequest\x12\n\n\x02id\x18\x01 \x01(\t\"O\n\x17UpdateIndoorUnitRequest\x12\x34\n\x04\x64iff\x18\x01 \x01(\x0b\x32&.core.protos.home_datastore.IndoorUnit\"%\n\x17\x44\x65leteIndoorUnitRequest\x12\n\n\x02id\x18\x01 \x01(\t\"Z\n\x1cGetIndoorUnitHardwareRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"U\n\x17UpdateControllerRequest\x12:\n\ncontroller\x18\x01 \x01(\x0b\x32&.core.protos.home_datastore.Controller\"%\n\x17\x44\x65leteControllerRequest\x12\n\n\x02id\x18\x01 \x01(\t\"Z\n\x1cGetControllerHardwareRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"&\n\x18\x44\x65leteOutdoorUnitRequest\x12\n\n\x02id\x18\x01 \x01(\t\"X\n\x1aGetQuiltSmartModuleRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\\\n\x19\x43reateRemoteSensorRequest\x12?\n\rremote_sensor\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.RemoteSensor\"\\\n\x19UpdateRemoteSensorRequest\x12?\n\rremote_sensor\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.RemoteSensor\"5\n\x19\x44\x65leteRemoteSensorRequest\x12\x18\n\x10remote_sensor_id\x18\x01 \x01(\t\"p\n#CreateControllerRemoteSensorRequest\x12I\n\rremote_sensor\x18\x01 \x01(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\"p\n#UpdateControllerRemoteSensorRequest\x12I\n\rremote_sensor\x18\x01 \x01(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\"?\n#DeleteControllerRemoteSensorRequest\x12\x18\n\x10remote_sensor_id\x18\x01 \x01(\t\"Y\n\x18\x43reateScheduleDayRequest\x12=\n\x0cschedule_day\x18\x01 \x01(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"0\n\x15GetScheduleDayRequest\x12\x17\n\x0fschedule_day_id\x18\x01 \x01(\t\"Y\n\x18UpdateScheduleDayRequest\x12=\n\x0cschedule_day\x18\x01 \x01(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"3\n\x18\x44\x65leteScheduleDayRequest\x12\x17\n\x0fschedule_day_id\x18\x01 \x01(\t\")\n\x17ListScheduleDaysRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"Z\n\x18ListScheduleDaysResponse\x12>\n\rschedule_days\x18\x01 \x03(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"\\\n\x19\x43reateScheduleWeekRequest\x12?\n\rschedule_week\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"2\n\x16GetScheduleWeekRequest\x12\x18\n\x10schedule_week_id\x18\x01 \x01(\t\"\\\n\x19UpdateScheduleWeekRequest\x12?\n\rschedule_week\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"5\n\x19\x44\x65leteScheduleWeekRequest\x12\x18\n\x10schedule_week_id\x18\x01 \x01(\t\"*\n\x18ListScheduleWeeksRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"]\n\x19ListScheduleWeeksResponse\x12@\n\x0eschedule_weeks\x18\x01 \x03(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"b\n\x1b\x43reateComfortSettingRequest\x12\x43\n\x0f\x63omfort_setting\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"6\n\x18GetComfortSettingRequest\x12\x1a\n\x12\x63omfort_setting_id\x18\x01 \x01(\t\"b\n\x1bUpdateComfortSettingRequest\x12\x43\n\x0f\x63omfort_setting\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"9\n\x1b\x44\x65leteComfortSettingRequest\x12\x1a\n\x12\x63omfort_setting_id\x18\x01 \x01(\t\",\n\x1aListComfortSettingsRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"c\n\x1bListComfortSettingsResponse\x12\x44\n\x10\x63omfort_settings\x18\x01 \x03(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"O\n\x15\x43reateLocationRequest\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.core.protos.home_datastore.Location\")\n\x12GetLocationRequest\x12\x13\n\x0blocation_id\x18\x01 \x01(\t\"O\n\x15UpdateLocationRequest\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.core.protos.home_datastore.Location\",\n\x15\x44\x65leteLocationRequest\x12\x13\n\x0blocation_id\x18\x01 \x01(\t\")\n\x14ListLocationsRequest\x12\x11\n\tsystem_id\x18\x01 \x01(\t\"P\n\x15ListLocationsResponse\x12\x37\n\tlocations\x18\x01 \x03(\x0b\x32$.core.protos.home_datastore.Location*\xc4\x01\n\x08HVACMode\x12\x19\n\x15HVAC_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11HVAC_MODE_STANDBY\x10\x01\x12\x12\n\x0eHVAC_MODE_COOL\x10\x02\x12\x12\n\x0eHVAC_MODE_HEAT\x10\x03\x12\x12\n\x0eHVAC_MODE_AUTO\x10\x04\x12\x11\n\rHVAC_MODE_FAN\x10\x05\x12\x1b\n\x17HVAC_MODE_FALLBACK_AUTO\x10\x06\x12\x1a\n\x16HVAC_MODE_FALLBACK_OFF\x10\x07*\xaa\x02\n\tHVACState\x12\x1a\n\x16HVAC_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12HVAC_STATE_STANDBY\x10\x01\x12\x13\n\x0fHVAC_STATE_COOL\x10\x02\x12\x13\n\x0fHVAC_STATE_HEAT\x10\x03\x12\x14\n\x10HVAC_STATE_DRIFT\x10\x04\x12\x12\n\x0eHVAC_STATE_FAN\x10\x05\x12\x1c\n\x18HVAC_STATE_COOL_DEFERRED\x10\x06\x12\x1c\n\x18HVAC_STATE_HEAT_DEFERRED\x10\x07\x12\x1b\n\x17HVAC_STATE_FAN_DEFERRED\x10\x08\x12\x1d\n\x19HVAC_STATE_COOL_PREPARING\x10\t\x12\x1d\n\x19HVAC_STATE_HEAT_PREPARING\x10\n*h\n\rOccupancyMode\x12\x1e\n\x1aOCCUPANCY_MODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17OCCUPANCY_MODE_DISABLED\x10\x01\x12\x1a\n\x16OCCUPANCY_MODE_ENABLED\x10\x02*{\n\x11SafetyHeatingMode\x12#\n\x1fSAFETY_HEATING_MODE_UNSPECIFIED\x10\x00\x12 \n\x1cSAFETY_HEATING_MODE_DISABLED\x10\x01\x12\x1f\n\x1bSAFETY_HEATING_MODE_ENABLED\x10\x02*\xd1\x01\n\x12HvacControllerType\x12$\n HVAC_CONTROLLER_TYPE_UNSPECIFIED\x10\x00\x12\x31\n-HVAC_CONTROLLER_TYPE_PASS_THROUGH_TEMPERATURE\x10\x01\x12\x30\n,HVAC_CONTROLLER_TYPE_INTEGRAL_TEMPERATURE_V1\x10\x02\x12\x30\n,HVAC_CONTROLLER_TYPE_INTEGRAL_TEMPERATURE_V2\x10\x03*\xb7\x02\n\x16\x43omfortSettingOverride\x12(\n$COMFORT_SETTING_OVERRIDE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43OMFORT_SETTING_OVERRIDE_NONE\x10\x01\x12\x30\n,COMFORT_SETTING_OVERRIDE_UNTIL_NEXT_SCHEDULE\x10\x02\x12\'\n#COMFORT_SETTING_OVERRIDE_INDEFINITE\x10\x03\x12%\n!COMFORT_SETTING_OVERRIDE_SCHEDULE\x10\x04\x12\'\n#COMFORT_SETTING_OVERRIDE_UNOCCUPIED\x10\x05\x12%\n!COMFORT_SETTING_OVERRIDE_OCCUPIED\x10\x06*\xdd\x01\n\x12\x43omfortSettingType\x12$\n COMFORT_SETTING_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMFORT_SETTING_TYPE_ACTIVE\x10\x01\x12\x1e\n\x1a\x43OMFORT_SETTING_TYPE_SLEEP\x10\x02\x12\x1d\n\x19\x43OMFORT_SETTING_TYPE_AWAY\x10\x03\x12 \n\x1c\x43OMFORT_SETTING_TYPE_STANDBY\x10\x04\x12\x1f\n\x1b\x43OMFORT_SETTING_TYPE_CUSTOM\x10\x05*\x8f\x01\n\x14IndoorUnitLouverMode\x12\x1b\n\x17LOUVER_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12LOUVER_MODE_CLOSED\x10\x01\x12\x15\n\x11LOUVER_MODE_SWEEP\x10\x02\x12\x15\n\x11LOUVER_MODE_FIXED\x10\x03\x12\x14\n\x10LOUVER_MODE_AUTO\x10\x04*d\n\x0c\x46\x61nSpeedMode\x12\x1e\n\x1a\x46\x41N_SPEED_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13\x46\x41N_SPEED_MODE_AUTO\x10\x01\x12\x1b\n\x17\x46\x41N_SPEED_MODE_SETPOINT\x10\x02*N\n\tBoostMode\x12\x1a\n\x16\x42OOST_MODE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x42OOST_MODE_OFF\x10\x01\x12\x11\n\rBOOST_MODE_ON\x10\x02*\xc5\x01\n\x0eLightAnimation\x12\x1f\n\x1bLIGHT_ANIMATION_UNSPECIFIED\x10\x00\x12\x18\n\x14LIGHT_ANIMATION_NONE\x10\x01\x12 \n\x1cLIGHT_ANIMATION_SPARKLE_FADE\x10\x02\x12 \n\x1cLIGHT_ANIMATION_TWINKLE_FADE\x10\x03\x12\x19\n\x15LIGHT_ANIMATION_DANCE\x10\x04\x12\x19\n\x15LIGHT_ANIMATION_CHASE\x10\x05*R\n\nLightState\x12\x1b\n\x17LIGHT_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0eLIGHT_STATE_ON\x10\x01\x12\x13\n\x0fLIGHT_STATE_OFF\x10\x02*k\n\x0e\x43onditionState\x12\x1f\n\x1b\x43ONDITION_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43ONDITION_STATE_INACTIVE\x10\x01\x12\x1a\n\x16\x43ONDITION_STATE_ACTIVE\x10\x02*T\n\x08Presence\x12\x18\n\x14PRESENCE_UNSPECIFIED\x10\x00\x12\x17\n\x13PRESENCE_UNDETECTED\x10\x01\x12\x15\n\x11PRESENCE_DETECTED\x10\x02*\x96\x01\n\x17RemoteSensorControlMode\x12*\n&REMOTE_SENSOR_CONTROL_MODE_UNSPECIFIED\x10\x00\x12\'\n#REMOTE_SENSOR_CONTROL_MODE_DISABLED\x10\x01\x12&\n\"REMOTE_SENSOR_CONTROL_MODE_ENABLED\x10\x02*\xb6\x01\n\x07Weekday\x12\x17\n\x13WEEKDAY_UNSPECIFIED\x10\x00\x12\x12\n\x0eWEEKDAY_MONDAY\x10\x01\x12\x13\n\x0fWEEKDAY_TUESDAY\x10\x02\x12\x15\n\x11WEEKDAY_WEDNESDAY\x10\x03\x12\x14\n\x10WEEKDAY_THURSDAY\x10\x04\x12\x12\n\x0eWEEKDAY_FRIDAY\x10\x05\x12\x14\n\x10WEEKDAY_SATURDAY\x10\x06\x12\x12\n\x0eWEEKDAY_SUNDAY\x10\x07*v\n\x11ScheduleExecution\x12\"\n\x1eSCHEDULE_EXECUTION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aSCHEDULE_EXECUTION_RUNNING\x10\x01\x12\x1d\n\x19SCHEDULE_EXECUTION_PAUSED\x10\x02*\x8c\x01\n\x16\x46\x61llbackControlCommand\x12(\n$FALLBACK_CONTROL_COMMAND_UNSPECIFIED\x10\x00\x12%\n!FALLBACK_CONTROL_COMMAND_COMPLETE\x10\x01\x12!\n\x1d\x46\x41LLBACK_CONTROL_COMMAND_EXIT\x10\x02*o\n\x0eOccupancyState\x12\x1f\n\x1bOCCUPANCY_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aOCCUPANCY_STATE_UNDETECTED\x10\x01\x12\x1c\n\x18OCCUPANCY_STATE_DETECTED\x10\x02*\xd6\x02\n\x13WifiConnectionState\x12\x1a\n\x16WIFI_STATE_UNSPECIFIED\x10\x00\x12\x1b\n\x17WIFI_STATE_DISCONNECTED\x10\x01\x12!\n\x1dWIFI_STATE_INTERFACE_DISABLED\x10\x02\x12\x17\n\x13WIFI_STATE_INACTIVE\x10\x03\x12\x17\n\x13WIFI_STATE_SCANNING\x10\x04\x12\x1d\n\x19WIFI_STATE_AUTHENTICATING\x10\x05\x12\x1a\n\x16WIFI_STATE_ASSOCIATING\x10\x06\x12\x19\n\x15WIFI_STATE_ASSOCIATED\x10\x07\x12\x1d\n\x19WIFI_STATE_4WAY_HANDSHAKE\x10\x08\x12\x1e\n\x1aWIFI_STATE_GROUP_HANDSHAKE\x10\t\x12\x1c\n\x18WIFI_STATE_WPA_COMPLETED\x10\n2\x88#\n\x14HomeDatastoreService\x12\x84\x01\n\x16GetHomeDatastoreSystem\x12\x39.core.protos.home_datastore.GetHomeDatastoreSystemRequest\x1a/.core.protos.home_datastore.HomeDatastoreSystem\x12Z\n\x08GetSpace\x12+.core.protos.home_datastore.GetSpaceRequest\x1a!.core.protos.home_datastore.Space\x12`\n\x0b\x43reateSpace\x12..core.protos.home_datastore.CreateSpaceRequest\x1a!.core.protos.home_datastore.Space\x12`\n\x0bUpdateSpace\x12..core.protos.home_datastore.UpdateSpaceRequest\x1a!.core.protos.home_datastore.Space\x12U\n\x0b\x44\x65leteSpace\x12..core.protos.home_datastore.DeleteSpaceRequest\x1a\x16.google.protobuf.Empty\x12o\n\x10UpdateIndoorUnit\x12\x33.core.protos.home_datastore.UpdateIndoorUnitRequest\x1a&.core.protos.home_datastore.IndoorUnit\x12_\n\x10\x44\x65leteIndoorUnit\x12\x33.core.protos.home_datastore.DeleteIndoorUnitRequest\x1a\x16.google.protobuf.Empty\x12\x81\x01\n\x15GetIndoorUnitHardware\x12\x38.core.protos.home_datastore.GetIndoorUnitHardwareRequest\x1a..core.protos.home_datastore.IndoorUnitHardware\x12{\n\x13GetQuiltSmartModule\x12\x36.core.protos.home_datastore.GetQuiltSmartModuleRequest\x1a,.core.protos.home_datastore.QuiltSmartModule\x12o\n\x10UpdateController\x12\x33.core.protos.home_datastore.UpdateControllerRequest\x1a&.core.protos.home_datastore.Controller\x12_\n\x10\x44\x65leteController\x12\x33.core.protos.home_datastore.DeleteControllerRequest\x1a\x16.google.protobuf.Empty\x12\x81\x01\n\x15GetControllerHardware\x12\x38.core.protos.home_datastore.GetControllerHardwareRequest\x1a..core.protos.home_datastore.ControllerHardware\x12\x61\n\x11\x44\x65leteOutdoorUnit\x12\x34.core.protos.home_datastore.DeleteOutdoorUnitRequest\x1a\x16.google.protobuf.Empty\x12u\n\x12\x43reateRemoteSensor\x12\x35.core.protos.home_datastore.CreateRemoteSensorRequest\x1a(.core.protos.home_datastore.RemoteSensor\x12u\n\x12UpdateRemoteSensor\x12\x35.core.protos.home_datastore.UpdateRemoteSensorRequest\x1a(.core.protos.home_datastore.RemoteSensor\x12\x63\n\x12\x44\x65leteRemoteSensor\x12\x35.core.protos.home_datastore.DeleteRemoteSensorRequest\x1a\x16.google.protobuf.Empty\x12\x93\x01\n\x1c\x43reateControllerRemoteSensor\x12?.core.protos.home_datastore.CreateControllerRemoteSensorRequest\x1a\x32.core.protos.home_datastore.ControllerRemoteSensor\x12\x93\x01\n\x1cUpdateControllerRemoteSensor\x12?.core.protos.home_datastore.UpdateControllerRemoteSensorRequest\x1a\x32.core.protos.home_datastore.ControllerRemoteSensor\x12w\n\x1c\x44\x65leteControllerRemoteSensor\x12?.core.protos.home_datastore.DeleteControllerRemoteSensorRequest\x1a\x16.google.protobuf.Empty\x12r\n\x11\x43reateScheduleDay\x12\x34.core.protos.home_datastore.CreateScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12l\n\x0eGetScheduleDay\x12\x31.core.protos.home_datastore.GetScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12r\n\x11UpdateScheduleDay\x12\x34.core.protos.home_datastore.UpdateScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12\x61\n\x11\x44\x65leteScheduleDay\x12\x34.core.protos.home_datastore.DeleteScheduleDayRequest\x1a\x16.google.protobuf.Empty\x12}\n\x10ListScheduleDays\x12\x33.core.protos.home_datastore.ListScheduleDaysRequest\x1a\x34.core.protos.home_datastore.ListScheduleDaysResponse\x12u\n\x12\x43reateScheduleWeek\x12\x35.core.protos.home_datastore.CreateScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12o\n\x0fGetScheduleWeek\x12\x32.core.protos.home_datastore.GetScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12u\n\x12UpdateScheduleWeek\x12\x35.core.protos.home_datastore.UpdateScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12\x63\n\x12\x44\x65leteScheduleWeek\x12\x35.core.protos.home_datastore.DeleteScheduleWeekRequest\x1a\x16.google.protobuf.Empty\x12\x80\x01\n\x11ListScheduleWeeks\x12\x34.core.protos.home_datastore.ListScheduleWeeksRequest\x1a\x35.core.protos.home_datastore.ListScheduleWeeksResponse\x12{\n\x14\x43reateComfortSetting\x12\x37.core.protos.home_datastore.CreateComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12u\n\x11GetComfortSetting\x12\x34.core.protos.home_datastore.GetComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12{\n\x14UpdateComfortSetting\x12\x37.core.protos.home_datastore.UpdateComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12g\n\x14\x44\x65leteComfortSetting\x12\x37.core.protos.home_datastore.DeleteComfortSettingRequest\x1a\x16.google.protobuf.Empty\x12\x86\x01\n\x13ListComfortSettings\x12\x36.core.protos.home_datastore.ListComfortSettingsRequest\x1a\x37.core.protos.home_datastore.ListComfortSettingsResponse\x12i\n\x0e\x43reateLocation\x12\x31.core.protos.home_datastore.CreateLocationRequest\x1a$.core.protos.home_datastore.Location\x12\x63\n\x0bGetLocation\x12..core.protos.home_datastore.GetLocationRequest\x1a$.core.protos.home_datastore.Location\x12i\n\x0eUpdateLocation\x12\x31.core.protos.home_datastore.UpdateLocationRequest\x1a$.core.protos.home_datastore.Location\x12[\n\x0e\x44\x65leteLocation\x12\x31.core.protos.home_datastore.DeleteLocationRequest\x1a\x16.google.protobuf.Empty\x12t\n\rListLocations\x12\x30.core.protos.home_datastore.ListLocationsRequest\x1a\x31.core.protos.home_datastore.ListLocationsResponseB$\n\x13\x63om.quilt.proto.hdsB\rQuiltHdsProtob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fquilt_hds.proto\x12\x1a\x63ore.protos.home_datastore\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x96\x01\n\x0e\x45ntityMetadata\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12.\n\ncreated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tsystem_id\x18\x04 \x01(\t\"i\n\x12LocationAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rtz_identifier\x18\x03 \x01(\t\"\x8d\x01\n\x10LocationControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\x12schedule_execution\x18\x02 \x01(\x0e\x32-.core.protos.home_datastore.ScheduleExecution\"\xca\x01\n\x08Location\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x42\n\nattributes\x18\x02 \x01(\x0b\x32..core.protos.home_datastore.LocationAttributes\x12>\n\x08\x63ontrols\x18\x03 \x01(\x0b\x32,.core.protos.home_datastore.LocationControls\"z\n\x12SpaceRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x17\n\x0fparent_space_id\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x81\x03\n\rSpaceSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08timezone\x18\x04 \x01(\t\x12<\n\toccupancy\x18\x05 \x01(\x0e\x32).core.protos.home_datastore.OccupancyMode\x12L\n\x14hvac_controller_type\x18\x06 \x01(\x0e\x32..core.protos.home_datastore.HvacControllerType\x12\x1a\n\x12occupied_timeout_s\x18\x07 \x01(\x02\x12\x1c\n\x14unoccupied_timeout_s\x18\x08 \x01(\x02\x12\x45\n\x0esafety_heating\x18\t \x01(\x0e\x32-.core.protos.home_datastore.SafetyHeatingMode\"\xb8\x03\n\rSpaceControls\x12\x37\n\thvac_mode\x18\x01 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x1e\n\x16temperature_setpoint_c\x18\x02 \x01(\x02\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\x04 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x05 \x01(\x02\x12\x1a\n\x12\x63omfort_setting_id\x18\x06 \x01(\t\x12\x39\n\nboost_mode\x18\x07 \x01(\x0e\x32%.core.protos.home_datastore.BoostMode\x12T\n\x18\x63omfort_setting_override\x18\x08 \x01(\x0e\x32\x32.core.protos.home_datastore.ComfortSettingOverride\x12!\n\x19\x63omfort_setting_id_string\x18\t \x01(\t\"\xd2\x01\n\nSpaceState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16setpoint_temperature_c\x18\x02 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x03 \x01(\x02\x12\x39\n\nhvac_state\x18\x04 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x1a\n\x12\x63omfort_setting_id\x18\x05 \x01(\t\"\xbb\x02\n\x05Space\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x45\n\rrelationships\x18\x02 \x01(\x0b\x32..core.protos.home_datastore.SpaceRelationships\x12;\n\x08settings\x18\x03 \x01(\x0b\x32).core.protos.home_datastore.SpaceSettings\x12;\n\x08\x63ontrols\x18\x04 \x01(\x0b\x32).core.protos.home_datastore.SpaceControls\x12\x35\n\x05state\x18\x05 \x01(\x0b\x32&.core.protos.home_datastore.SpaceState\"\xe6\x01\n\x17IndoorUnitRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x17\n\x0foutdoor_unit_id\x18\x03 \x01(\t\x12\x13\n\x0bhardware_id\x18\x04 \x01(\t\x12\x1d\n\x15quilt_smart_module_id\x18\x05 \x01(\t\x12.\n\nupdated_ts\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17\x66irmware_update_info_id\x18\x07 \x01(\t\"\x9e\x02\n\x12IndoorUnitSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12(\n light_brightness_default_percent\x18\x03 \x01(\x02\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15presence_fence_left_m\x18\x05 \x01(\x02\x12\x1e\n\x16presence_fence_right_m\x18\x06 \x01(\x02\x12 \n\x18presence_fence_forward_m\x18\x07 \x01(\x02\x12*\n\"radar_sensor_distance_from_floor_m\x18\x08 \x01(\x02\"\xc3\x03\n\x12IndoorUnitControls\x12\x16\n\x0eled_color_code\x18\x03 \x01(\r\x12$\n\x1cled_color_brightness_percent\x18\x04 \x01(\x02\x12@\n\x0e\x66\x61n_speed_mode\x18\x05 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x06 \x01(\x02\x12.\n\nupdated_ts\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\x0blouver_mode\x18\n \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\x0b \x01(\x02\x12\x41\n\rled_animation\x18\x0c \x01(\x0e\x32*.core.protos.home_datastore.LightAnimation\x12\x39\n\tled_state\x18\r \x01(\x0e\x32&.core.protos.home_datastore.LightState\"\x9c\x04\n\x0fIndoorUnitState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16temperature_setpoint_c\x18\x02 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x03 \x01(\x02\x12\x39\n\nhvac_state\x18\x04 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x1e\n\x16\x66\x61n_speed_setpoint_rpm\x18\x05 \x01(\x02\x12\x15\n\rfan_speed_rpm\x18\x06 \x01(\x02\x12 \n\x18light_brightness_percent\x18\x07 \x01(\x02\x12 \n\x18presence_detection_level\x18\x08 \x01(\x02\x12\x1b\n\x13inlet_temperature_c\x18\t \x01(\x02\x12\x1c\n\x14outlet_temperature_c\x18\n \x01(\x02\x12 \n\x18\x61mbient_humidity_percent\x18\x0b \x01(\x02\x12\x37\n\thvac_mode\x18\x0c \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12(\n calculated_ambient_temperature_c\x18\r \x01(\x02\x12$\n\x1clouver_angle_up_down_degrees\x18\x0e \x01(\x02\"\xee\x06\n\x14IndoorUnitConditions\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\rmode_conflict\x18\x02 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x42\n\x0e\x61nti_cold_wind\x18\x03 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12T\n abnormal_outdoor_air_temperature\x18\x04 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12M\n\x19hvac_mode_switching_delay\x18\x05 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x41\n\rdefrost_cycle\x18\x06 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12\x42\n\x0esafety_heating\x18\x07 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12>\n\noil_return\x18\x08 \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12N\n\x1amodbus_communication_error\x18\t \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12@\n\x0c\x63oil_preheat\x18\n \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12K\n\x17mode_conflict_avoidance\x18\x0b \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\x12T\n outdoor_unit_communication_error\x18\x0c \x01(\x0e\x32*.core.protos.home_datastore.ConditionState\"\xc9\x01\n\x17IndoorUnitPresenceState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x10sensor0_presence\x18\x02 \x01(\x0e\x32$.core.protos.home_datastore.Presence\x12>\n\x10sensor1_presence\x18\x03 \x01(\x0e\x32$.core.protos.home_datastore.Presence\"\x9a\x01\n\x12IndoorUnitCommands\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12T\n\x18\x66\x61llback_control_command\x18\x02 \x01(\x0e\x32\x32.core.protos.home_datastore.FallbackControlCommand\"\xad\x02\n\x1cIndoorUnitHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12\x19\n\x11\x66\x61n_speed_max_rpm\x18\x05 \x01(\x02\x12.\n\nupdated_ts\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12!\n\x19indoor_unit_serial_number\x18\x07 \x01(\t\x12(\n quilt_smart_module_serial_number\x18\x08 \x01(\t\"\x9e\x01\n\x12IndoorUnitHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.IndoorUnitHardwareAttributes\"\xf4\x02\n\x14IndoorUnitHvacInputs\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x1e\x65xternal_ambient_temperature_c\x18\x02 \x01(\x02\x12\"\n\x1a\x61mbient_temperature_source\x18\x03 \x01(\x05\x12\x1e\n\x16temperature_setpoint_c\x18\x04 \x01(\x02\x12\x37\n\thvac_mode\x18\x05 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12L\n\x14hvac_controller_type\x18\x06 \x01(\x0e\x32..core.protos.home_datastore.HvacControllerType\x12\x39\n\nhvac_state\x18\x07 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\xd1\x03\n\x19IndoorUnitPerformanceData\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_interval_s\x18\x02 \x01(\x02\x12\x1c\n\x14\x65nergy_measurement_j\x18\x03 \x01(\x02\x12\x37\n\thvac_mode\x18\x04 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x1c\n\x14\x61\x63tual_fan_speed_rpm\x18\x05 \x01(\x02\x12\x1c\n\x14outlet_temperature_c\x18\x06 \x01(\x02\x12\x1a\n\x12inlet_humidity_pct\x18\x07 \x01(\x02\x12\x1b\n\x13inlet_temperature_c\x18\x08 \x01(\x02\x12\x1a\n\x12\x63oil_temperature_c\x18\t \x01(\x02\x12\x1e\n\x16gas_pipe_temperature_c\x18\n \x01(\x02\x12!\n\x19liquid_pipe_temperature_c\x18\x0b \x01(\x02\x12\x39\n\nhvac_state\x18\x0c \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\x8a\x03\n\x1cIndoorUnitPerformanceMetrics\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_duration_s\x18\x0b \x01(\x02\x12\x16\n\x0e\x65nergy_total_j\x18\x04 \x01(\x02\x12\x12\n\ncapacity_w\x18\x05 \x01(\x02\x12\"\n\x1a\x63oefficient_of_performance\x18\x06 \x01(\x02\x12\x37\n\thvac_mode\x18\x07 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x14\n\x0chvac_power_w\x18\x08 \x01(\x02\x12\x13\n\x0bled_power_w\x18\t \x01(\x02\x12\x39\n\nhvac_state\x18\n \x01(\x0e\x32%.core.protos.home_datastore.HVACState\x12\x15\n\rhvac_energy_j\x18\x0c \x01(\x02\x12\x14\n\x0cled_energy_j\x18\r \x01(\x02\"\x8a\x01\n\x13IndoorUnitOccupancy\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x0foccupancy_state\x18\x02 \x01(\x0e\x32*.core.protos.home_datastore.OccupancyState\"\xd6\x06\n\nIndoorUnit\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12J\n\rrelationships\x18\x02 \x01(\x0b\x32\x33.core.protos.home_datastore.IndoorUnitRelationships\x12@\n\x08settings\x18\x03 \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitSettings\x12@\n\x08\x63ontrols\x18\x04 \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitControls\x12:\n\x05state\x18\x05 \x01(\x0b\x32+.core.protos.home_datastore.IndoorUnitState\x12\x45\n\x0bhvac_inputs\x18\x06 \x01(\x0b\x32\x30.core.protos.home_datastore.IndoorUnitHvacInputs\x12\x45\n\x08presence\x18\x07 \x01(\x0b\x32\x33.core.protos.home_datastore.IndoorUnitPresenceState\x12\x44\n\nconditions\x18\x08 \x01(\x0b\x32\x30.core.protos.home_datastore.IndoorUnitConditions\x12@\n\x08\x63ommands\x18\t \x01(\x0b\x32..core.protos.home_datastore.IndoorUnitCommands\x12O\n\x10performance_data\x18\n \x01(\x0b\x32\x35.core.protos.home_datastore.IndoorUnitPerformanceData\x12U\n\x13performance_metrics\x18\x0b \x01(\x0b\x32\x38.core.protos.home_datastore.IndoorUnitPerformanceMetrics\x12\x42\n\toccupancy\x18\x0c \x01(\x0b\x32/.core.protos.home_datastore.IndoorUnitOccupancy\"\xaf\x01\n\x18OutdoorUnitRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x13\n\x0bhardware_id\x18\x03 \x01(\t\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17\x66irmware_update_info_id\x18\x05 \x01(\t\"h\n\x13OutdoorUnitSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"}\n\x10OutdoorUnitState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\nhvac_state\x18\x02 \x01(\x0e\x32%.core.protos.home_datastore.HVACState\"\xba\x02\n\x1aOutdoorUnitPerformanceData\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x16measurement_interval_s\x18\x02 \x01(\x02\x12\x1c\n\x14\x65nergy_measurement_j\x18\x03 \x01(\x02\x12\x1f\n\x17\x63ompressor_frequency_hz\x18\x04 \x01(\x02\x12\x1d\n\x15\x61mbient_temperature_c\x18\x05 \x01(\x02\x12\x1a\n\x12\x63oil_temperature_c\x18\x06 \x01(\x02\x12\x1d\n\x15\x65xhaust_temperature_c\x18\x07 \x01(\x02\x12\x19\n\x11high_pressure_kpa\x18\x08 \x01(\x02\x12\x18\n\x10low_pressure_kpa\x18\t \x01(\x02\"\xc6\x01\n\x1dOutdoorUnitHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12.\n\nupdated_ts\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa0\x01\n\x13OutdoorUnitHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12M\n\nattributes\x18\x02 \x01(\x0b\x32\x39.core.protos.home_datastore.OutdoorUnitHardwareAttributes\"\xe8\x02\n\x0bOutdoorUnit\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12K\n\rrelationships\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.OutdoorUnitRelationships\x12\x41\n\x08settings\x18\x03 \x01(\x0b\x32/.core.protos.home_datastore.OutdoorUnitSettings\x12;\n\x05state\x18\x04 \x01(\x0b\x32,.core.protos.home_datastore.OutdoorUnitState\x12P\n\x10performance_data\x18\x05 \x01(\x0b\x32\x36.core.protos.home_datastore.OutdoorUnitPerformanceData\"\xcf\x01\n\x17\x43ontrollerRelationships\x12\x1b\n\x13\x63ustomer_account_id\x18\x01 \x01(\t\x12\x10\n\x08space_id\x18\x02 \x01(\t\x12\x13\n\x0bhardware_id\x18\x03 \x01(\t\x12.\n\nupdated_ts\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17software_update_info_id\x18\x05 \x01(\t\x12\x1f\n\x17\x66irmware_update_info_id\x18\x06 \x01(\t\"g\n\x12\x43ontrollerSettings\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa8\x01\n\x0f\x43ontrollerState\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15\x61mbient_temperature_c\x18\x02 \x01(\x02\x12\x16\n\x0etemperature_f3\x18\x03 \x01(\x02\x12\x16\n\x0etemperature_f4\x18\x04 \x01(\x02\x12\x16\n\x0etemperature_f5\x18\x05 \x01(\x02\"\x9d\x01\n\x12\x43ontrollerControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12W\n\x1aremote_sensor_control_mode\x18\x02 \x01(\x0e\x32\x33.core.protos.home_datastore.RemoteSensorControlMode\"\xde\x02\n\tWifiState\x12\x43\n\nwifi_state\x18\x01 \x01(\x0e\x32/.core.protos.home_datastore.WifiConnectionState\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\r\n\x05\x62ssid\x18\x03 \x01(\t\x12\x15\n\rfrequency_mhz\x18\x04 \x01(\x05\x12\x12\n\npassphrase\x18\x05 \x01(\t\x12\x18\n\x10signal_level_dbm\x18\x06 \x01(\x05\x12\x17\n\x0fnoise_level_dbm\x18\x07 \x01(\x05\x12\x17\n\x0frx_invalid_frag\x18\x08 \x01(\x05\x12\x1c\n\x14tx_excessive_retries\x18\t \x01(\x05\x12\x14\n\x0cipv4_address\x18\n \x01(\t\x12\x14\n\x0cipv6_address\x18\x0b \x01(\t\x12.\n\nupdated_ts\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc5\x01\n\x1c\x43ontrollerHardwareAttributes\x12\x11\n\tmodel_sku\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x31\n\rproduction_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x66irmware_version\x18\x04 \x01(\t\x12.\n\nupdated_ts\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9e\x01\n\x12\x43ontrollerHardware\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.ControllerHardwareAttributes\"\x93\x04\n\nController\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12J\n\rrelationships\x18\x02 \x01(\x0b\x32\x33.core.protos.home_datastore.ControllerRelationships\x12@\n\x08settings\x18\x03 \x01(\x0b\x32..core.protos.home_datastore.ControllerSettings\x12:\n\x05state\x18\x04 \x01(\x0b\x32+.core.protos.home_datastore.ControllerState\x12@\n\x11hosted_wifi_state\x18\x05 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12<\n\rap_wifi_state\x18\x06 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12=\n\x0ep2p_wifi_state\x18\x07 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12@\n\x08\x63ontrols\x18\x08 \x01(\x0b\x32..core.protos.home_datastore.ControllerControls\"U\n\x16RemoteSensorAttributes\x12\x0b\n\x03mac\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xb5\x01\n\x11RemoteSensorState\x12\x1d\n\x15\x61mbient_temperature_c\x18\x01 \x01(\x02\x12\x18\n\x10humidity_percent\x18\x02 \x01(\x02\x12.\n\nupdated_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15\x62\x61ttery_level_percent\x18\x04 \x01(\x02\x12\x18\n\x10signal_level_dbm\x18\x05 \x01(\x05\"c\n\x19RemoteSensorRelationships\x12\x16\n\x0eindoor_unit_id\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"l\n#ControllerRemoteSensorRelationships\x12\x15\n\rcontroller_id\x18\x01 \x01(\t\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x91\x01\n\x14RemoteSensorControls\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12I\n\x0c\x63ontrol_mode\x18\x02 \x01(\x0e\x32\x33.core.protos.home_datastore.RemoteSensorControlMode\"\xe2\x02\n\x0cRemoteSensor\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\nattributes\x18\x02 \x01(\x0b\x32\x32.core.protos.home_datastore.RemoteSensorAttributes\x12<\n\x05state\x18\x03 \x01(\x0b\x32-.core.protos.home_datastore.RemoteSensorState\x12L\n\rrelationships\x18\x04 \x01(\x0b\x32\x35.core.protos.home_datastore.RemoteSensorRelationships\x12\x42\n\x08\x63ontrols\x18\x05 \x01(\x0b\x32\x30.core.protos.home_datastore.RemoteSensorControls\"\xf6\x02\n\x16\x43ontrollerRemoteSensor\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\nattributes\x18\x02 \x01(\x0b\x32\x32.core.protos.home_datastore.RemoteSensorAttributes\x12<\n\x05state\x18\x03 \x01(\x0b\x32-.core.protos.home_datastore.RemoteSensorState\x12V\n\rrelationships\x18\x04 \x01(\x0b\x32?.core.protos.home_datastore.ControllerRemoteSensorRelationships\x12\x42\n\x08\x63ontrols\x18\x05 \x01(\x0b\x32\x30.core.protos.home_datastore.RemoteSensorControls\"\xe2\x03\n\x18\x43omfortSettingAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\x12@\n\x0e\x66\x61n_speed_mode\x18\x03 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x04 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x05 \x01(\x02\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\x06 \x01(\x02\x12<\n\x04type\x18\x07 \x01(\x0e\x32..core.protos.home_datastore.ComfortSettingType\x12\x37\n\thvac_mode\x18\x08 \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x45\n\x0blouver_mode\x18\t \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\n \x01(\x02\"_\n\x1b\x43omfortSettingRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xe6\x01\n\x0e\x43omfortSetting\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12H\n\nattributes\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.ComfortSettingAttributes\x12N\n\rrelationships\x18\x03 \x01(\x0b\x32\x37.core.protos.home_datastore.ComfortSettingRelationships\"\xd0\x01\n\x10LedScheduleEvent\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07start_s\x18\x02 \x01(\x05\x12\x16\n\x0eled_color_code\x18\x03 \x01(\r\x12$\n\x1cled_color_brightness_percent\x18\x04 \x01(\x02\x12=\n\tanimation\x18\x05 \x01(\x0e\x32*.core.protos.home_datastore.LightAnimation\"\x99\x04\n\rScheduleEvent\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12\x63omfort_setting_id\x18\x02 \x01(\t\x12\x0f\n\x07start_s\x18\x03 \x01(\x05\x12\x14\n\x0cprecondition\x18\x04 \x01(\x08\x12I\n\x12schedule_execution\x18\x05 \x01(\x0e\x32-.core.protos.home_datastore.ScheduleExecution\x12@\n\x0e\x66\x61n_speed_mode\x18\x06 \x01(\x0e\x32(.core.protos.home_datastore.FanSpeedMode\x12\x19\n\x11\x66\x61n_speed_percent\x18\x07 \x01(\x02\x12&\n\x1eheating_temperature_setpoint_c\x18\x08 \x01(\x02\x12&\n\x1e\x63ooling_temperature_setpoint_c\x18\t \x01(\x02\x12\x37\n\thvac_mode\x18\n \x01(\x0e\x32$.core.protos.home_datastore.HVACMode\x12\x45\n\x0blouver_mode\x18\x0b \x01(\x0e\x32\x30.core.protos.home_datastore.IndoorUnitLouverMode\x12\x1d\n\x15louver_fixed_position\x18\x0c \x01(\x02\"U\n\x15ScheduleDayAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04name\x18\x02 \x01(\t\"\\\n\x18ScheduleDayRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xda\x02\n\x0bScheduleDay\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x45\n\nattributes\x18\x02 \x01(\x0b\x32\x31.core.protos.home_datastore.ScheduleDayAttributes\x12\x39\n\x06\x65vents\x18\x03 \x03(\x0b\x32).core.protos.home_datastore.ScheduleEvent\x12K\n\rrelationships\x18\x04 \x01(\x0b\x32\x34.core.protos.home_datastore.ScheduleDayRelationships\x12@\n\nled_events\x18\x05 \x03(\x0b\x32,.core.protos.home_datastore.LedScheduleEvent\"\x87\x01\n\x0fScheduleWeekDay\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x64\x61y_id\x18\x02 \x01(\t\x12\x34\n\x07weekday\x18\x03 \x01(\x0e\x32#.core.protos.home_datastore.Weekday\"]\n\x19ScheduleWeekRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08space_id\x18\x02 \x01(\t\"\xd3\x01\n\x0cScheduleWeek\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x39\n\x04\x64\x61ys\x18\x02 \x03(\x0b\x32+.core.protos.home_datastore.ScheduleWeekDay\x12L\n\rrelationships\x18\x03 \x01(\x0b\x32\x35.core.protos.home_datastore.ScheduleWeekRelationships\"\x91\x01\n\x1dQuiltSmartModuleRelationships\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x17software_update_info_id\x18\x02 \x01(\t\x12\x1f\n\x17\x66irmware_update_info_id\x18\x03 \x01(\t\"b\n\x18QuiltSmartModuleControls\x12\x16\n\x0eled_color_code\x18\x01 \x01(\x05\x12.\n\nupdated_ts\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x86\x02\n\x15QuiltSmartModuleState\x12\x1a\n\x12phase_detected_raw\x18\x01 \x01(\x02\x12\x1b\n\x13target_detected_raw\x18\x02 \x01(\x02\x12\x1b\n\x13\x61ls_illuminance_raw\x18\x03 \x01(\x05\x12\x12\n\nals_ir_raw\x18\x04 \x01(\x05\x12\x14\n\x0c\x61ls_both_raw\x18\x05 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_x_raw\x18\x06 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_y_raw\x18\x07 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65l_z_raw\x18\x08 \x01(\x05\x12.\n\nupdated_ts\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x03\n\x10QuiltSmartModule\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12\x46\n\x08\x63ontrols\x18\x02 \x01(\x0b\x32\x34.core.protos.home_datastore.QuiltSmartModuleControls\x12@\n\x05state\x18\x03 \x01(\x0b\x32\x31.core.protos.home_datastore.QuiltSmartModuleState\x12@\n\x11hosted_wifi_state\x18\x04 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12<\n\rap_wifi_state\x18\x05 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12=\n\x0ep2p_wifi_state\x18\x06 \x01(\x0b\x32%.core.protos.home_datastore.WifiState\x12P\n\rrelationships\x18\x07 \x01(\x0b\x32\x39.core.protos.home_datastore.QuiltSmartModuleRelationships\"\xe7\x01\n\x1cSoftwareUpdateInfoAttributes\x12.\n\nupdated_ts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05state\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x17\n\x0f\x63urrent_version\x18\x04 \x01(\t\x12\x16\n\x0etarget_version\x18\x05 \x01(\t\x12\x18\n\x10\x63urrent_progress\x18\x06 \x01(\x02\x12\x16\n\x0etotal_progress\x18\x07 \x01(\x02\x12\x15\n\rprogress_unit\x18\x08 \x01(\x05\"\x9e\x01\n\x12SoftwareUpdateInfo\x12:\n\x06header\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.EntityMetadata\x12L\n\nattributes\x18\x02 \x01(\x0b\x32\x38.core.protos.home_datastore.SoftwareUpdateInfoAttributes\"\xa2\x08\n\x13HomeDatastoreSystem\x12\x31\n\x06spaces\x18\x03 \x03(\x0b\x32!.core.protos.home_datastore.Space\x12N\n\x15outdoor_unit_hardware\x18\x05 \x03(\x0b\x32/.core.protos.home_datastore.OutdoorUnitHardware\x12>\n\routdoor_units\x18\x06 \x03(\x0b\x32\'.core.protos.home_datastore.OutdoorUnit\x12I\n\x13quilt_smart_modules\x18\x07 \x03(\x0b\x32,.core.protos.home_datastore.QuiltSmartModule\x12L\n\x14indoor_unit_hardware\x18\x08 \x03(\x0b\x32..core.protos.home_datastore.IndoorUnitHardware\x12<\n\x0cindoor_units\x18\t \x03(\x0b\x32&.core.protos.home_datastore.IndoorUnit\x12K\n\x13\x63ontroller_hardware\x18\n \x03(\x0b\x32..core.protos.home_datastore.ControllerHardware\x12;\n\x0b\x63ontrollers\x18\x0b \x03(\x0b\x32&.core.protos.home_datastore.Controller\x12@\n\x0eremote_sensors\x18\x0c \x03(\x0b\x32(.core.protos.home_datastore.RemoteSensor\x12\x44\n\x10\x63omfort_settings\x18\r \x03(\x0b\x32*.core.protos.home_datastore.ComfortSetting\x12>\n\rschedule_days\x18\x0e \x03(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\x12@\n\x0eschedule_weeks\x18\x0f \x03(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\x12U\n\x19\x63ontroller_remote_sensors\x18\x10 \x03(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\x12\x37\n\tlocations\x18\x11 \x03(\x0b\x32$.core.protos.home_datastore.Location\x12M\n\x15software_update_infos\x18\x12 \x03(\x0b\x32..core.protos.home_datastore.SoftwareUpdateInfo\"b\n\x1dGetHomeDatastoreSystemRequest\x12\x11\n\tsystem_id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x1d\n\x0fGetSpaceRequest\x12\n\n\x02id\x18\x01 \x01(\t\"F\n\x12\x43reateSpaceRequest\x12\x30\n\x05space\x18\x01 \x01(\x0b\x32!.core.protos.home_datastore.Space\"E\n\x12UpdateSpaceRequest\x12/\n\x04\x64iff\x18\x01 \x01(\x0b\x32!.core.protos.home_datastore.Space\" \n\x12\x44\x65leteSpaceRequest\x12\n\n\x02id\x18\x01 \x01(\t\"O\n\x17UpdateIndoorUnitRequest\x12\x34\n\x04\x64iff\x18\x01 \x01(\x0b\x32&.core.protos.home_datastore.IndoorUnit\"%\n\x17\x44\x65leteIndoorUnitRequest\x12\n\n\x02id\x18\x01 \x01(\t\"Z\n\x1cGetIndoorUnitHardwareRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"U\n\x17UpdateControllerRequest\x12:\n\ncontroller\x18\x01 \x01(\x0b\x32&.core.protos.home_datastore.Controller\"%\n\x17\x44\x65leteControllerRequest\x12\n\n\x02id\x18\x01 \x01(\t\"Z\n\x1cGetControllerHardwareRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"&\n\x18\x44\x65leteOutdoorUnitRequest\x12\n\n\x02id\x18\x01 \x01(\t\"X\n\x1aGetQuiltSmartModuleRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\nfield_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\\\n\x19\x43reateRemoteSensorRequest\x12?\n\rremote_sensor\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.RemoteSensor\"\\\n\x19UpdateRemoteSensorRequest\x12?\n\rremote_sensor\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.RemoteSensor\"5\n\x19\x44\x65leteRemoteSensorRequest\x12\x18\n\x10remote_sensor_id\x18\x01 \x01(\t\"p\n#CreateControllerRemoteSensorRequest\x12I\n\rremote_sensor\x18\x01 \x01(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\"p\n#UpdateControllerRemoteSensorRequest\x12I\n\rremote_sensor\x18\x01 \x01(\x0b\x32\x32.core.protos.home_datastore.ControllerRemoteSensor\"?\n#DeleteControllerRemoteSensorRequest\x12\x18\n\x10remote_sensor_id\x18\x01 \x01(\t\"Y\n\x18\x43reateScheduleDayRequest\x12=\n\x0cschedule_day\x18\x01 \x01(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"0\n\x15GetScheduleDayRequest\x12\x17\n\x0fschedule_day_id\x18\x01 \x01(\t\"Y\n\x18UpdateScheduleDayRequest\x12=\n\x0cschedule_day\x18\x01 \x01(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"3\n\x18\x44\x65leteScheduleDayRequest\x12\x17\n\x0fschedule_day_id\x18\x01 \x01(\t\")\n\x17ListScheduleDaysRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"Z\n\x18ListScheduleDaysResponse\x12>\n\rschedule_days\x18\x01 \x03(\x0b\x32\'.core.protos.home_datastore.ScheduleDay\"\\\n\x19\x43reateScheduleWeekRequest\x12?\n\rschedule_week\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"2\n\x16GetScheduleWeekRequest\x12\x18\n\x10schedule_week_id\x18\x01 \x01(\t\"\\\n\x19UpdateScheduleWeekRequest\x12?\n\rschedule_week\x18\x01 \x01(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"5\n\x19\x44\x65leteScheduleWeekRequest\x12\x18\n\x10schedule_week_id\x18\x01 \x01(\t\"*\n\x18ListScheduleWeeksRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"]\n\x19ListScheduleWeeksResponse\x12@\n\x0eschedule_weeks\x18\x01 \x03(\x0b\x32(.core.protos.home_datastore.ScheduleWeek\"b\n\x1b\x43reateComfortSettingRequest\x12\x43\n\x0f\x63omfort_setting\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"6\n\x18GetComfortSettingRequest\x12\x1a\n\x12\x63omfort_setting_id\x18\x01 \x01(\t\"b\n\x1bUpdateComfortSettingRequest\x12\x43\n\x0f\x63omfort_setting\x18\x01 \x01(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"9\n\x1b\x44\x65leteComfortSettingRequest\x12\x1a\n\x12\x63omfort_setting_id\x18\x01 \x01(\t\",\n\x1aListComfortSettingsRequest\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\"c\n\x1bListComfortSettingsResponse\x12\x44\n\x10\x63omfort_settings\x18\x01 \x03(\x0b\x32*.core.protos.home_datastore.ComfortSetting\"O\n\x15\x43reateLocationRequest\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.core.protos.home_datastore.Location\")\n\x12GetLocationRequest\x12\x13\n\x0blocation_id\x18\x01 \x01(\t\"O\n\x15UpdateLocationRequest\x12\x36\n\x08location\x18\x01 \x01(\x0b\x32$.core.protos.home_datastore.Location\",\n\x15\x44\x65leteLocationRequest\x12\x13\n\x0blocation_id\x18\x01 \x01(\t\")\n\x14ListLocationsRequest\x12\x11\n\tsystem_id\x18\x01 \x01(\t\"P\n\x15ListLocationsResponse\x12\x37\n\tlocations\x18\x01 \x03(\x0b\x32$.core.protos.home_datastore.Location*\xd7\x01\n\x08HVACMode\x12\x19\n\x15HVAC_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11HVAC_MODE_STANDBY\x10\x01\x12\x12\n\x0eHVAC_MODE_COOL\x10\x02\x12\x12\n\x0eHVAC_MODE_HEAT\x10\x03\x12\x12\n\x0eHVAC_MODE_AUTO\x10\x04\x12\x11\n\rHVAC_MODE_FAN\x10\x05\x12\x1b\n\x17HVAC_MODE_FALLBACK_AUTO\x10\x06\x12\x1a\n\x16HVAC_MODE_FALLBACK_OFF\x10\x07\x12\x11\n\rHVAC_MODE_DRY\x10\x08*\xaa\x02\n\tHVACState\x12\x1a\n\x16HVAC_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12HVAC_STATE_STANDBY\x10\x01\x12\x13\n\x0fHVAC_STATE_COOL\x10\x02\x12\x13\n\x0fHVAC_STATE_HEAT\x10\x03\x12\x14\n\x10HVAC_STATE_DRIFT\x10\x04\x12\x12\n\x0eHVAC_STATE_FAN\x10\x05\x12\x1c\n\x18HVAC_STATE_COOL_DEFERRED\x10\x06\x12\x1c\n\x18HVAC_STATE_HEAT_DEFERRED\x10\x07\x12\x1b\n\x17HVAC_STATE_FAN_DEFERRED\x10\x08\x12\x1d\n\x19HVAC_STATE_COOL_PREPARING\x10\t\x12\x1d\n\x19HVAC_STATE_HEAT_PREPARING\x10\n*h\n\rOccupancyMode\x12\x1e\n\x1aOCCUPANCY_MODE_UNSPECIFIED\x10\x00\x12\x1b\n\x17OCCUPANCY_MODE_DISABLED\x10\x01\x12\x1a\n\x16OCCUPANCY_MODE_ENABLED\x10\x02*{\n\x11SafetyHeatingMode\x12#\n\x1fSAFETY_HEATING_MODE_UNSPECIFIED\x10\x00\x12 \n\x1cSAFETY_HEATING_MODE_DISABLED\x10\x01\x12\x1f\n\x1bSAFETY_HEATING_MODE_ENABLED\x10\x02*\xd1\x01\n\x12HvacControllerType\x12$\n HVAC_CONTROLLER_TYPE_UNSPECIFIED\x10\x00\x12\x31\n-HVAC_CONTROLLER_TYPE_PASS_THROUGH_TEMPERATURE\x10\x01\x12\x30\n,HVAC_CONTROLLER_TYPE_INTEGRAL_TEMPERATURE_V1\x10\x02\x12\x30\n,HVAC_CONTROLLER_TYPE_INTEGRAL_TEMPERATURE_V2\x10\x03*\xb7\x02\n\x16\x43omfortSettingOverride\x12(\n$COMFORT_SETTING_OVERRIDE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43OMFORT_SETTING_OVERRIDE_NONE\x10\x01\x12\x30\n,COMFORT_SETTING_OVERRIDE_UNTIL_NEXT_SCHEDULE\x10\x02\x12\'\n#COMFORT_SETTING_OVERRIDE_INDEFINITE\x10\x03\x12%\n!COMFORT_SETTING_OVERRIDE_SCHEDULE\x10\x04\x12\'\n#COMFORT_SETTING_OVERRIDE_UNOCCUPIED\x10\x05\x12%\n!COMFORT_SETTING_OVERRIDE_OCCUPIED\x10\x06*\xdd\x01\n\x12\x43omfortSettingType\x12$\n COMFORT_SETTING_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMFORT_SETTING_TYPE_ACTIVE\x10\x01\x12\x1e\n\x1a\x43OMFORT_SETTING_TYPE_SLEEP\x10\x02\x12\x1d\n\x19\x43OMFORT_SETTING_TYPE_AWAY\x10\x03\x12 \n\x1c\x43OMFORT_SETTING_TYPE_STANDBY\x10\x04\x12\x1f\n\x1b\x43OMFORT_SETTING_TYPE_CUSTOM\x10\x05*\x8f\x01\n\x14IndoorUnitLouverMode\x12\x1b\n\x17LOUVER_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12LOUVER_MODE_CLOSED\x10\x01\x12\x15\n\x11LOUVER_MODE_SWEEP\x10\x02\x12\x15\n\x11LOUVER_MODE_FIXED\x10\x03\x12\x14\n\x10LOUVER_MODE_AUTO\x10\x04*d\n\x0c\x46\x61nSpeedMode\x12\x1e\n\x1a\x46\x41N_SPEED_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13\x46\x41N_SPEED_MODE_AUTO\x10\x01\x12\x1b\n\x17\x46\x41N_SPEED_MODE_SETPOINT\x10\x02*N\n\tBoostMode\x12\x1a\n\x16\x42OOST_MODE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x42OOST_MODE_OFF\x10\x01\x12\x11\n\rBOOST_MODE_ON\x10\x02*\xc5\x01\n\x0eLightAnimation\x12\x1f\n\x1bLIGHT_ANIMATION_UNSPECIFIED\x10\x00\x12\x18\n\x14LIGHT_ANIMATION_NONE\x10\x01\x12 \n\x1cLIGHT_ANIMATION_SPARKLE_FADE\x10\x02\x12 \n\x1cLIGHT_ANIMATION_TWINKLE_FADE\x10\x03\x12\x19\n\x15LIGHT_ANIMATION_DANCE\x10\x04\x12\x19\n\x15LIGHT_ANIMATION_CHASE\x10\x05*R\n\nLightState\x12\x1b\n\x17LIGHT_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0eLIGHT_STATE_ON\x10\x01\x12\x13\n\x0fLIGHT_STATE_OFF\x10\x02*k\n\x0e\x43onditionState\x12\x1f\n\x1b\x43ONDITION_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x43ONDITION_STATE_INACTIVE\x10\x01\x12\x1a\n\x16\x43ONDITION_STATE_ACTIVE\x10\x02*T\n\x08Presence\x12\x18\n\x14PRESENCE_UNSPECIFIED\x10\x00\x12\x17\n\x13PRESENCE_UNDETECTED\x10\x01\x12\x15\n\x11PRESENCE_DETECTED\x10\x02*\x96\x01\n\x17RemoteSensorControlMode\x12*\n&REMOTE_SENSOR_CONTROL_MODE_UNSPECIFIED\x10\x00\x12\'\n#REMOTE_SENSOR_CONTROL_MODE_DISABLED\x10\x01\x12&\n\"REMOTE_SENSOR_CONTROL_MODE_ENABLED\x10\x02*\xb6\x01\n\x07Weekday\x12\x17\n\x13WEEKDAY_UNSPECIFIED\x10\x00\x12\x12\n\x0eWEEKDAY_MONDAY\x10\x01\x12\x13\n\x0fWEEKDAY_TUESDAY\x10\x02\x12\x15\n\x11WEEKDAY_WEDNESDAY\x10\x03\x12\x14\n\x10WEEKDAY_THURSDAY\x10\x04\x12\x12\n\x0eWEEKDAY_FRIDAY\x10\x05\x12\x14\n\x10WEEKDAY_SATURDAY\x10\x06\x12\x12\n\x0eWEEKDAY_SUNDAY\x10\x07*v\n\x11ScheduleExecution\x12\"\n\x1eSCHEDULE_EXECUTION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aSCHEDULE_EXECUTION_RUNNING\x10\x01\x12\x1d\n\x19SCHEDULE_EXECUTION_PAUSED\x10\x02*\x8c\x01\n\x16\x46\x61llbackControlCommand\x12(\n$FALLBACK_CONTROL_COMMAND_UNSPECIFIED\x10\x00\x12%\n!FALLBACK_CONTROL_COMMAND_COMPLETE\x10\x01\x12!\n\x1d\x46\x41LLBACK_CONTROL_COMMAND_EXIT\x10\x02*o\n\x0eOccupancyState\x12\x1f\n\x1bOCCUPANCY_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aOCCUPANCY_STATE_UNDETECTED\x10\x01\x12\x1c\n\x18OCCUPANCY_STATE_DETECTED\x10\x02*\xd6\x02\n\x13WifiConnectionState\x12\x1a\n\x16WIFI_STATE_UNSPECIFIED\x10\x00\x12\x1b\n\x17WIFI_STATE_DISCONNECTED\x10\x01\x12!\n\x1dWIFI_STATE_INTERFACE_DISABLED\x10\x02\x12\x17\n\x13WIFI_STATE_INACTIVE\x10\x03\x12\x17\n\x13WIFI_STATE_SCANNING\x10\x04\x12\x1d\n\x19WIFI_STATE_AUTHENTICATING\x10\x05\x12\x1a\n\x16WIFI_STATE_ASSOCIATING\x10\x06\x12\x19\n\x15WIFI_STATE_ASSOCIATED\x10\x07\x12\x1d\n\x19WIFI_STATE_4WAY_HANDSHAKE\x10\x08\x12\x1e\n\x1aWIFI_STATE_GROUP_HANDSHAKE\x10\t\x12\x1c\n\x18WIFI_STATE_WPA_COMPLETED\x10\n2\x88#\n\x14HomeDatastoreService\x12\x84\x01\n\x16GetHomeDatastoreSystem\x12\x39.core.protos.home_datastore.GetHomeDatastoreSystemRequest\x1a/.core.protos.home_datastore.HomeDatastoreSystem\x12Z\n\x08GetSpace\x12+.core.protos.home_datastore.GetSpaceRequest\x1a!.core.protos.home_datastore.Space\x12`\n\x0b\x43reateSpace\x12..core.protos.home_datastore.CreateSpaceRequest\x1a!.core.protos.home_datastore.Space\x12`\n\x0bUpdateSpace\x12..core.protos.home_datastore.UpdateSpaceRequest\x1a!.core.protos.home_datastore.Space\x12U\n\x0b\x44\x65leteSpace\x12..core.protos.home_datastore.DeleteSpaceRequest\x1a\x16.google.protobuf.Empty\x12o\n\x10UpdateIndoorUnit\x12\x33.core.protos.home_datastore.UpdateIndoorUnitRequest\x1a&.core.protos.home_datastore.IndoorUnit\x12_\n\x10\x44\x65leteIndoorUnit\x12\x33.core.protos.home_datastore.DeleteIndoorUnitRequest\x1a\x16.google.protobuf.Empty\x12\x81\x01\n\x15GetIndoorUnitHardware\x12\x38.core.protos.home_datastore.GetIndoorUnitHardwareRequest\x1a..core.protos.home_datastore.IndoorUnitHardware\x12{\n\x13GetQuiltSmartModule\x12\x36.core.protos.home_datastore.GetQuiltSmartModuleRequest\x1a,.core.protos.home_datastore.QuiltSmartModule\x12o\n\x10UpdateController\x12\x33.core.protos.home_datastore.UpdateControllerRequest\x1a&.core.protos.home_datastore.Controller\x12_\n\x10\x44\x65leteController\x12\x33.core.protos.home_datastore.DeleteControllerRequest\x1a\x16.google.protobuf.Empty\x12\x81\x01\n\x15GetControllerHardware\x12\x38.core.protos.home_datastore.GetControllerHardwareRequest\x1a..core.protos.home_datastore.ControllerHardware\x12\x61\n\x11\x44\x65leteOutdoorUnit\x12\x34.core.protos.home_datastore.DeleteOutdoorUnitRequest\x1a\x16.google.protobuf.Empty\x12u\n\x12\x43reateRemoteSensor\x12\x35.core.protos.home_datastore.CreateRemoteSensorRequest\x1a(.core.protos.home_datastore.RemoteSensor\x12u\n\x12UpdateRemoteSensor\x12\x35.core.protos.home_datastore.UpdateRemoteSensorRequest\x1a(.core.protos.home_datastore.RemoteSensor\x12\x63\n\x12\x44\x65leteRemoteSensor\x12\x35.core.protos.home_datastore.DeleteRemoteSensorRequest\x1a\x16.google.protobuf.Empty\x12\x93\x01\n\x1c\x43reateControllerRemoteSensor\x12?.core.protos.home_datastore.CreateControllerRemoteSensorRequest\x1a\x32.core.protos.home_datastore.ControllerRemoteSensor\x12\x93\x01\n\x1cUpdateControllerRemoteSensor\x12?.core.protos.home_datastore.UpdateControllerRemoteSensorRequest\x1a\x32.core.protos.home_datastore.ControllerRemoteSensor\x12w\n\x1c\x44\x65leteControllerRemoteSensor\x12?.core.protos.home_datastore.DeleteControllerRemoteSensorRequest\x1a\x16.google.protobuf.Empty\x12r\n\x11\x43reateScheduleDay\x12\x34.core.protos.home_datastore.CreateScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12l\n\x0eGetScheduleDay\x12\x31.core.protos.home_datastore.GetScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12r\n\x11UpdateScheduleDay\x12\x34.core.protos.home_datastore.UpdateScheduleDayRequest\x1a\'.core.protos.home_datastore.ScheduleDay\x12\x61\n\x11\x44\x65leteScheduleDay\x12\x34.core.protos.home_datastore.DeleteScheduleDayRequest\x1a\x16.google.protobuf.Empty\x12}\n\x10ListScheduleDays\x12\x33.core.protos.home_datastore.ListScheduleDaysRequest\x1a\x34.core.protos.home_datastore.ListScheduleDaysResponse\x12u\n\x12\x43reateScheduleWeek\x12\x35.core.protos.home_datastore.CreateScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12o\n\x0fGetScheduleWeek\x12\x32.core.protos.home_datastore.GetScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12u\n\x12UpdateScheduleWeek\x12\x35.core.protos.home_datastore.UpdateScheduleWeekRequest\x1a(.core.protos.home_datastore.ScheduleWeek\x12\x63\n\x12\x44\x65leteScheduleWeek\x12\x35.core.protos.home_datastore.DeleteScheduleWeekRequest\x1a\x16.google.protobuf.Empty\x12\x80\x01\n\x11ListScheduleWeeks\x12\x34.core.protos.home_datastore.ListScheduleWeeksRequest\x1a\x35.core.protos.home_datastore.ListScheduleWeeksResponse\x12{\n\x14\x43reateComfortSetting\x12\x37.core.protos.home_datastore.CreateComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12u\n\x11GetComfortSetting\x12\x34.core.protos.home_datastore.GetComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12{\n\x14UpdateComfortSetting\x12\x37.core.protos.home_datastore.UpdateComfortSettingRequest\x1a*.core.protos.home_datastore.ComfortSetting\x12g\n\x14\x44\x65leteComfortSetting\x12\x37.core.protos.home_datastore.DeleteComfortSettingRequest\x1a\x16.google.protobuf.Empty\x12\x86\x01\n\x13ListComfortSettings\x12\x36.core.protos.home_datastore.ListComfortSettingsRequest\x1a\x37.core.protos.home_datastore.ListComfortSettingsResponse\x12i\n\x0e\x43reateLocation\x12\x31.core.protos.home_datastore.CreateLocationRequest\x1a$.core.protos.home_datastore.Location\x12\x63\n\x0bGetLocation\x12..core.protos.home_datastore.GetLocationRequest\x1a$.core.protos.home_datastore.Location\x12i\n\x0eUpdateLocation\x12\x31.core.protos.home_datastore.UpdateLocationRequest\x1a$.core.protos.home_datastore.Location\x12[\n\x0e\x44\x65leteLocation\x12\x31.core.protos.home_datastore.DeleteLocationRequest\x1a\x16.google.protobuf.Empty\x12t\n\rListLocations\x12\x30.core.protos.home_datastore.ListLocationsRequest\x1a\x31.core.protos.home_datastore.ListLocationsResponseB$\n\x13\x63om.quilt.proto.hdsB\rQuiltHdsProtob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,45 +36,45 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\023com.quilt.proto.hdsB\rQuiltHdsProto' _globals['_HVACMODE']._serialized_start=20516 - _globals['_HVACMODE']._serialized_end=20712 - _globals['_HVACSTATE']._serialized_start=20715 - _globals['_HVACSTATE']._serialized_end=21013 - _globals['_OCCUPANCYMODE']._serialized_start=21015 - _globals['_OCCUPANCYMODE']._serialized_end=21119 - _globals['_SAFETYHEATINGMODE']._serialized_start=21121 - _globals['_SAFETYHEATINGMODE']._serialized_end=21244 - _globals['_HVACCONTROLLERTYPE']._serialized_start=21247 - _globals['_HVACCONTROLLERTYPE']._serialized_end=21456 - _globals['_COMFORTSETTINGOVERRIDE']._serialized_start=21459 - _globals['_COMFORTSETTINGOVERRIDE']._serialized_end=21770 - _globals['_COMFORTSETTINGTYPE']._serialized_start=21773 - _globals['_COMFORTSETTINGTYPE']._serialized_end=21994 - _globals['_INDOORUNITLOUVERMODE']._serialized_start=21997 - _globals['_INDOORUNITLOUVERMODE']._serialized_end=22140 - _globals['_FANSPEEDMODE']._serialized_start=22142 - _globals['_FANSPEEDMODE']._serialized_end=22242 - _globals['_BOOSTMODE']._serialized_start=22244 - _globals['_BOOSTMODE']._serialized_end=22322 - _globals['_LIGHTANIMATION']._serialized_start=22325 - _globals['_LIGHTANIMATION']._serialized_end=22522 - _globals['_LIGHTSTATE']._serialized_start=22524 - _globals['_LIGHTSTATE']._serialized_end=22606 - _globals['_CONDITIONSTATE']._serialized_start=22608 - _globals['_CONDITIONSTATE']._serialized_end=22715 - _globals['_PRESENCE']._serialized_start=22717 - _globals['_PRESENCE']._serialized_end=22801 - _globals['_REMOTESENSORCONTROLMODE']._serialized_start=22804 - _globals['_REMOTESENSORCONTROLMODE']._serialized_end=22954 - _globals['_WEEKDAY']._serialized_start=22957 - _globals['_WEEKDAY']._serialized_end=23139 - _globals['_SCHEDULEEXECUTION']._serialized_start=23141 - _globals['_SCHEDULEEXECUTION']._serialized_end=23259 - _globals['_FALLBACKCONTROLCOMMAND']._serialized_start=23262 - _globals['_FALLBACKCONTROLCOMMAND']._serialized_end=23402 - _globals['_OCCUPANCYSTATE']._serialized_start=23404 - _globals['_OCCUPANCYSTATE']._serialized_end=23515 - _globals['_WIFICONNECTIONSTATE']._serialized_start=23518 - _globals['_WIFICONNECTIONSTATE']._serialized_end=23860 + _globals['_HVACMODE']._serialized_end=20731 + _globals['_HVACSTATE']._serialized_start=20734 + _globals['_HVACSTATE']._serialized_end=21032 + _globals['_OCCUPANCYMODE']._serialized_start=21034 + _globals['_OCCUPANCYMODE']._serialized_end=21138 + _globals['_SAFETYHEATINGMODE']._serialized_start=21140 + _globals['_SAFETYHEATINGMODE']._serialized_end=21263 + _globals['_HVACCONTROLLERTYPE']._serialized_start=21266 + _globals['_HVACCONTROLLERTYPE']._serialized_end=21475 + _globals['_COMFORTSETTINGOVERRIDE']._serialized_start=21478 + _globals['_COMFORTSETTINGOVERRIDE']._serialized_end=21789 + _globals['_COMFORTSETTINGTYPE']._serialized_start=21792 + _globals['_COMFORTSETTINGTYPE']._serialized_end=22013 + _globals['_INDOORUNITLOUVERMODE']._serialized_start=22016 + _globals['_INDOORUNITLOUVERMODE']._serialized_end=22159 + _globals['_FANSPEEDMODE']._serialized_start=22161 + _globals['_FANSPEEDMODE']._serialized_end=22261 + _globals['_BOOSTMODE']._serialized_start=22263 + _globals['_BOOSTMODE']._serialized_end=22341 + _globals['_LIGHTANIMATION']._serialized_start=22344 + _globals['_LIGHTANIMATION']._serialized_end=22541 + _globals['_LIGHTSTATE']._serialized_start=22543 + _globals['_LIGHTSTATE']._serialized_end=22625 + _globals['_CONDITIONSTATE']._serialized_start=22627 + _globals['_CONDITIONSTATE']._serialized_end=22734 + _globals['_PRESENCE']._serialized_start=22736 + _globals['_PRESENCE']._serialized_end=22820 + _globals['_REMOTESENSORCONTROLMODE']._serialized_start=22823 + _globals['_REMOTESENSORCONTROLMODE']._serialized_end=22973 + _globals['_WEEKDAY']._serialized_start=22976 + _globals['_WEEKDAY']._serialized_end=23158 + _globals['_SCHEDULEEXECUTION']._serialized_start=23160 + _globals['_SCHEDULEEXECUTION']._serialized_end=23278 + _globals['_FALLBACKCONTROLCOMMAND']._serialized_start=23281 + _globals['_FALLBACKCONTROLCOMMAND']._serialized_end=23421 + _globals['_OCCUPANCYSTATE']._serialized_start=23423 + _globals['_OCCUPANCYSTATE']._serialized_end=23534 + _globals['_WIFICONNECTIONSTATE']._serialized_start=23537 + _globals['_WIFICONNECTIONSTATE']._serialized_end=23879 _globals['_ENTITYMETADATA']._serialized_start=144 _globals['_ENTITYMETADATA']._serialized_end=294 _globals['_LOCATIONATTRIBUTES']._serialized_start=296 @@ -287,6 +287,6 @@ _globals['_LISTLOCATIONSREQUEST']._serialized_end=20431 _globals['_LISTLOCATIONSRESPONSE']._serialized_start=20433 _globals['_LISTLOCATIONSRESPONSE']._serialized_end=20513 - _globals['_HOMEDATASTORESERVICE']._serialized_start=23863 - _globals['_HOMEDATASTORESERVICE']._serialized_end=28351 + _globals['_HOMEDATASTORESERVICE']._serialized_start=23882 + _globals['_HOMEDATASTORESERVICE']._serialized_end=28370 # @@protoc_insertion_point(module_scope) diff --git a/src/quilt_hp/_proto/quilt_hds_pb2.pyi b/src/quilt_hp/_proto/quilt_hds_pb2.pyi index 185f43b..cdbe43a 100644 --- a/src/quilt_hp/_proto/quilt_hds_pb2.pyi +++ b/src/quilt_hp/_proto/quilt_hds_pb2.pyi @@ -37,6 +37,7 @@ class _HVACModeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_HVACMode.Val HVAC_MODE_FAN: _HVACMode.ValueType # 5 HVAC_MODE_FALLBACK_AUTO: _HVACMode.ValueType # 6 HVAC_MODE_FALLBACK_OFF: _HVACMode.ValueType # 7 + HVAC_MODE_DRY: _HVACMode.ValueType # 8 class HVACMode(_HVACMode, metaclass=_HVACModeEnumTypeWrapper): """--------------------------------------------------------------------------- @@ -54,6 +55,7 @@ HVAC_MODE_AUTO: HVACMode.ValueType # 4 HVAC_MODE_FAN: HVACMode.ValueType # 5 HVAC_MODE_FALLBACK_AUTO: HVACMode.ValueType # 6 HVAC_MODE_FALLBACK_OFF: HVACMode.ValueType # 7 +HVAC_MODE_DRY: HVACMode.ValueType # 8 Global___HVACMode: _TypeAlias = HVACMode # noqa: Y015 class _HVACState: diff --git a/src/quilt_hp/models/enums.py b/src/quilt_hp/models/enums.py index 9dd051c..8c694fc 100644 --- a/src/quilt_hp/models/enums.py +++ b/src/quilt_hp/models/enums.py @@ -16,6 +16,7 @@ class HVACMode(IntEnum): FAN = 5 FALLBACK_AUTO = 6 FALLBACK_OFF = 7 + DRY = 8 def __str__(self) -> str: return self.name