From daa79540af3d9635a0923843746d79fbc41d4027 Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Fri, 19 Jun 2026 18:49:04 +1000 Subject: [PATCH 1/3] Updates --- tesla_fleet_api.egg-info/PKG-INFO | 2 +- tesla_fleet_api/tesla/energysite.py | 34 +- .../tesla/vehicle/proto/car_server_pb2.py | 648 ++++++++------- .../tesla/vehicle/proto/car_server_pb2.pyi | 773 ++++++------------ .../tesla/vehicle/proto/common_pb2.py | 70 +- .../tesla/vehicle/proto/common_pb2.pyi | 41 +- .../tesla/vehicle/proto/errors_pb2.py | 38 +- .../tesla/vehicle/proto/errors_pb2.pyi | 7 +- .../tesla/vehicle/proto/keys_pb2.py | 34 +- .../tesla/vehicle/proto/keys_pb2.pyi | 3 +- .../vehicle/proto/managed_charging_pb2.py | 34 +- .../vehicle/proto/managed_charging_pb2.pyi | 3 +- .../tesla/vehicle/proto/signatures_pb2.py | 74 +- .../tesla/vehicle/proto/signatures_pb2.pyi | 49 +- .../vehicle/proto/universal_message_pb2.py | 64 +- .../vehicle/proto/universal_message_pb2.pyi | 27 +- .../tesla/vehicle/proto/vcsec_pb2.py | 162 ++-- .../tesla/vehicle/proto/vcsec_pb2.pyi | 125 +-- .../tesla/vehicle/proto/vehicle_pb2.py | 252 +++--- .../tesla/vehicle/proto/vehicle_pb2.pyi | 254 ++---- uv.lock | 20 +- 21 files changed, 1222 insertions(+), 1492 deletions(-) diff --git a/tesla_fleet_api.egg-info/PKG-INFO b/tesla_fleet_api.egg-info/PKG-INFO index 31b8a93..3c24f02 100644 --- a/tesla_fleet_api.egg-info/PKG-INFO +++ b/tesla_fleet_api.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: tesla_fleet_api -Version: 1.4.6 +Version: 1.4.7 Summary: Tesla Fleet API library for Python Author-email: Brett Adams License-Expression: Apache-2.0 diff --git a/tesla_fleet_api/tesla/energysite.py b/tesla_fleet_api/tesla/energysite.py index 13d2cca..841566b 100644 --- a/tesla_fleet_api/tesla/energysite.py +++ b/tesla_fleet_api/tesla/energysite.py @@ -1,15 +1,17 @@ from __future__ import annotations + import base64 -from typing import Any, TYPE_CHECKING +from typing import TYPE_CHECKING, Any + from tesla_fleet_api.const import ( - Method, - EnergyOperationMode, + AuthorizedClientKeyType, + AuthorizedClientType, + EnergyDeviceIdentifierType, EnergyExportMode, EnergyIslandMode, + EnergyOperationMode, + Method, TeslaEnergyPeriod, - EnergyDeviceIdentifierType, - AuthorizedClientKeyType, - AuthorizedClientType, ) if TYPE_CHECKING: @@ -53,9 +55,21 @@ async def get_system_info(self) -> dict[str, Any]: """Get energy device system information including firmware version, device type, part number, serial number, and DIN.""" return await self._command("common", "get_system_info_request") + async def raw_networking_status(self) -> dict[str, Any]: + """Get raw energy device networking status including WiFi, Ethernet, and cellular connectivity.""" + return await self._command("common", "get_networking_status_request") + async def get_networking_status(self) -> dict[str, Any]: """Get energy device networking status including WiFi, Ethernet, and cellular connectivity.""" - return await self._command("common", "get_networking_status_request") + result = await self.raw_networking_status() + return ( + result.get("response", {}) + .get("message", {}) + .get("Payload", {}) + .get("Common", {}) + .get("Message", {}) + .get("GetNetworkingStatusResponse", {}) + ) async def wifi_scan(self) -> dict[str, Any]: """Scan for available WiFi networks from the energy gateway.""" @@ -160,7 +174,11 @@ async def schedule_backup_event( priority: Priority level for the backup event. """ params: dict[str, Any] = {} - if start_time is not None or duration_seconds is not None or priority is not None: + if ( + start_time is not None + or duration_seconds is not None + or priority is not None + ): scheduling_info: dict[str, Any] = {} if start_time is not None: scheduling_info["start_time"] = start_time diff --git a/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.py index 0ed2bfe..cc9c02f 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.py @@ -1,325 +1,345 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/car_server.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'car_server.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/car_server.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -from . import common_pb2 as common__pb2 + + +from . import common_pb2 as tesla_dot_common__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from . import signatures_pb2 as signatures__pb2 -from . import vehicle_pb2 as vehicle__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10car_server.proto\x12\tCarServer\x1a\x0ccommon.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10signatures.proto\x1a\rvehicle.proto"O\n\x06Action\x121\n\rvehicleAction\x18\x02 \x01(\x0b2\x18.CarServer.VehicleActionH\x00B\x0c\n\naction_msgJ\x04\x08\x03\x10\x06"\xd2A\n\rVehicleAction\x123\n\x0egetVehicleData\x18\x01 \x01(\x0b2\x19.CarServer.GetVehicleDataH\x00\x127\n\x10remoteStartDrive\x18\x02 \x01(\x0b2\x1b.CarServer.RemoteStartDriveH\x00\x12=\n\x13createStreamSession\x18\x03 \x01(\x0b2\x1e.CarServer.CreateStreamSessionH\x00\x121\n\rstreamMessage\x18\x04 \x01(\x0b2\x18.CarServer.StreamMessageH\x00\x12C\n\x16chargingSetLimitAction\x18\x05 \x01(\x0b2!.CarServer.ChargingSetLimitActionH\x00\x12E\n\x17chargingStartStopAction\x18\x06 \x01(\x0b2".CarServer.ChargingStartStopActionH\x00\x12U\n\x1fdrivingClearSpeedLimitPinAction\x18\x07 \x01(\x0b2*.CarServer.DrivingClearSpeedLimitPinActionH\x00\x12K\n\x1adrivingSetSpeedLimitAction\x18\x08 \x01(\x0b2%.CarServer.DrivingSetSpeedLimitActionH\x00\x12E\n\x17drivingSpeedLimitAction\x18\t \x01(\x0b2".CarServer.DrivingSpeedLimitActionH\x00\x123\n\x0ehvacAutoAction\x18\n \x01(\x0b2\x19.CarServer.HvacAutoActionH\x00\x12U\n\x1fhvacSetPreconditioningMaxAction\x18\x0c \x01(\x0b2*.CarServer.HvacSetPreconditioningMaxActionH\x00\x12Q\n\x1dhvacSteeringWheelHeaterAction\x18\r \x01(\x0b2(.CarServer.HvacSteeringWheelHeaterActionH\x00\x12U\n\x1fhvacTemperatureAdjustmentAction\x18\x0e \x01(\x0b2*.CarServer.HvacTemperatureAdjustmentActionH\x00\x125\n\x0fmediaPlayAction\x18\x0f \x01(\x0b2\x1a.CarServer.MediaPlayActionH\x00\x129\n\x11mediaUpdateVolume\x18\x10 \x01(\x0b2\x1c.CarServer.MediaUpdateVolumeH\x00\x129\n\x11mediaNextFavorite\x18\x11 \x01(\x0b2\x1c.CarServer.MediaNextFavoriteH\x00\x12A\n\x15mediaPreviousFavorite\x18\x12 \x01(\x0b2 .CarServer.MediaPreviousFavoriteH\x00\x123\n\x0emediaNextTrack\x18\x13 \x01(\x0b2\x19.CarServer.MediaNextTrackH\x00\x12;\n\x12mediaPreviousTrack\x18\x14 \x01(\x0b2\x1d.CarServer.MediaPreviousTrackH\x00\x129\n\x11navigationRequest\x18\x15 \x01(\x0b2\x1c.CarServer.NavigationRequestH\x00\x12Q\n\x1dnavigationSuperchargerRequest\x18\x16 \x01(\x0b2(.CarServer.NavigationSuperchargerRequestH\x00\x12C\n\x16getNearbyChargingSites\x18\x17 \x01(\x0b2!.CarServer.GetNearbyChargingSitesH\x00\x12O\n\x1cuiSetUpcomingCalendarEntries\x18\x18 \x01(\x0b2\'.CarServer.UiSetUpcomingCalendarEntriesH\x00\x12g\n(vehicleControlCancelSoftwareUpdateAction\x18\x19 \x01(\x0b23.CarServer.VehicleControlCancelSoftwareUpdateActionH\x00\x12U\n\x1fvehicleControlFlashLightsAction\x18\x1a \x01(\x0b2*.CarServer.VehicleControlFlashLightsActionH\x00\x12O\n\x1cvehicleControlHonkHornAction\x18\x1b \x01(\x0b2\'.CarServer.VehicleControlHonkHornActionH\x00\x12Y\n!vehicleControlResetValetPinAction\x18\x1c \x01(\x0b2,.CarServer.VehicleControlResetValetPinActionH\x00\x12k\n*vehicleControlScheduleSoftwareUpdateAction\x18\x1d \x01(\x0b25.CarServer.VehicleControlScheduleSoftwareUpdateActionH\x00\x12Y\n!vehicleControlSetSentryModeAction\x18\x1e \x01(\x0b2,.CarServer.VehicleControlSetSentryModeActionH\x00\x12W\n vehicleControlSetValetModeAction\x18\x1f \x01(\x0b2+.CarServer.VehicleControlSetValetModeActionH\x00\x12_\n$vehicleControlSunroofOpenCloseAction\x18 \x01(\x0b2/.CarServer.VehicleControlSunroofOpenCloseActionH\x00\x12]\n#vehicleControlTriggerHomelinkAction\x18! \x01(\x0b2..CarServer.VehicleControlTriggerHomelinkActionH\x00\x12K\n\x1avehicleControlWindowAction\x18" \x01(\x0b2%.CarServer.VehicleControlWindowActionH\x00\x12E\n\x17hvacBioweaponModeAction\x18# \x01(\x0b2".CarServer.HvacBioweaponModeActionH\x00\x12A\n\x15hvacSeatHeaterActions\x18$ \x01(\x0b2 .CarServer.HvacSeatHeaterActionsH\x00\x12E\n\x17vehicleDataSubscription\x18% \x01(\x0b2".CarServer.VehicleDataSubscriptionH\x00\x123\n\x0evehicleDataAck\x18& \x01(\x0b2\x19.CarServer.VehicleDataAckH\x00\x12;\n\x12vitalsSubscription\x18\' \x01(\x0b2\x1d.CarServer.VitalsSubscriptionH\x00\x12)\n\tvitalsAck\x18( \x01(\x0b2\x14.CarServer.VitalsAckH\x00\x12E\n\x17scheduledChargingAction\x18) \x01(\x0b2".CarServer.ScheduledChargingActionH\x00\x12G\n\x18scheduledDepartureAction\x18* \x01(\x0b2#.CarServer.ScheduledDepartureActionH\x00\x12A\n\x15setChargingAmpsAction\x18+ \x01(\x0b2 .CarServer.SetChargingAmpsActionH\x00\x12E\n\x17hvacClimateKeeperAction\x18, \x01(\x0b2".CarServer.HvacClimateKeeperActionH\x00\x12E\n\x17hvacRecirculationAction\x18- \x01(\x0b2".CarServer.HvacRecirculationActionH\x00\x12\x1f\n\x04ping\x18. \x01(\x0b2\x0f.CarServer.PingH\x00\x12A\n\x15dashcamSaveClipAction\x18/ \x01(\x0b2 .CarServer.DashcamSaveClipActionH\x00\x12A\n\x15autoSeatClimateAction\x180 \x01(\x0b2 .CarServer.AutoSeatClimateActionH\x00\x12A\n\x15hvacSeatCoolerActions\x181 \x01(\x0b2 .CarServer.HvacSeatCoolerActionsH\x00\x12W\n setCabinOverheatProtectionAction\x182 \x01(\x0b2+.CarServer.SetCabinOverheatProtectionActionH\x00\x121\n\rpiiKeyRequest\x183 \x01(\x0b2\x18.CarServer.PiiKeyRequestH\x00\x12?\n\x14pseudonymSyncRequest\x184 \x01(\x0b2\x1f.CarServer.PseudonymSyncRequestH\x00\x12?\n\x14navigationGpsRequest\x185 \x01(\x0b2\x1f.CarServer.NavigationGpsRequestH\x00\x12?\n\x14setVehicleNameAction\x186 \x01(\x0b2\x1f.CarServer.SetVehicleNameActionH\x00\x12?\n\x14setRateTariffRequest\x187 \x01(\x0b2\x1f.CarServer.SetRateTariffRequestH\x00\x12?\n\x14getRateTariffRequest\x188 \x01(\x0b2\x1f.CarServer.GetRateTariffRequestH\x00\x12;\n\x12videoRequestAction\x189 \x01(\x0b2\x1d.CarServer.VideoRequestActionH\x00\x12=\n\x13takeDrivenoteAction\x18: \x01(\x0b2\x1e.CarServer.TakeDrivenoteActionH\x00\x12=\n\x13chargePortDoorClose\x18= \x01(\x0b2\x1e.CarServer.ChargePortDoorCloseH\x00\x12;\n\x12chargePortDoorOpen\x18> \x01(\x0b2\x1d.CarServer.ChargePortDoorOpenH\x00\x12S\n\x1ebluetoothClassicPairingRequest\x18? \x01(\x0b2).CarServer.BluetoothClassicPairingRequestH\x00\x121\n\rboomboxAction\x18@ \x01(\x0b2\x18.CarServer.BoomboxActionH\x00\x12<\n\x0fguestModeAction\x18A \x01(\x0b2!.CarServer.VehicleState.GuestModeH\x00\x127\n\x10setCopTempAction\x18B \x01(\x0b2\x1b.CarServer.SetCopTempActionH\x00\x12Q\n\x1daddManagedChargingSiteRequest\x18C \x01(\x0b2(.CarServer.AddManagedChargingSiteRequestH\x00\x12W\n removeManagedChargingSiteRequest\x18D \x01(\x0b2+.CarServer.RemoveManagedChargingSiteRequestH\x00\x12A\n\x15navigationRouteAction\x18E \x01(\x0b2 .CarServer.NavigationRouteActionH\x00\x129\n\x11autoStwHeatAction\x18F \x01(\x0b2\x1c.CarServer.AutoStwHeatActionH\x00\x12;\n\x12stwHeatLevelAction\x18G \x01(\x0b2\x1d.CarServer.StwHeatLevelActionH\x00\x12=\n\x13eraseUserDataAction\x18H \x01(\x0b2\x1e.CarServer.EraseUserDataActionH\x00\x12S\n\x1egetManagedChargingSitesRequest\x18I \x01(\x0b2).CarServer.GetManagedChargingSitesRequestH\x00\x12Y\n!updateChargeOnSolarFeatureRequest\x18J \x01(\x0b2,.CarServer.UpdateChargeOnSolarFeatureRequestH\x00\x12S\n\x1egetChargeOnSolarFeatureRequest\x18K \x01(\x0b2).CarServer.GetChargeOnSolarFeatureRequestH\x00\x12Y\n!vehicleControlSetPinToDriveAction\x18M \x01(\x0b2,.CarServer.VehicleControlSetPinToDriveActionH\x00\x12]\n#vehicleControlResetPinToDriveAction\x18N \x01(\x0b2..CarServer.VehicleControlResetPinToDriveActionH\x00\x12_\n$drivingClearSpeedLimitPinAdminAction\x18O \x01(\x0b2/.CarServer.DrivingClearSpeedLimitPinAdminActionH\x00\x12A\n\x15setOutletsOnOffAction\x18P \x01(\x0b2 .CarServer.SetOutletsOnOffActionH\x00\x12?\n\x14setOutletTimerAction\x18Q \x01(\x0b2\x1f.CarServer.SetOutletTimerActionH\x00\x12E\n\x17setOutletSocLimitAction\x18R \x01(\x0b2".CarServer.SetOutletSocLimitActionH\x00\x12E\n\x17setPowerFeedOnOffAction\x18S \x01(\x0b2".CarServer.SetPowerFeedOnOffActionH\x00\x12E\n\x17setPowerFeedTimerAction\x18T \x01(\x0b2".CarServer.SetPowerFeedTimerActionH\x00\x12K\n\x1asetPowerFeedSocLimitAction\x18U \x01(\x0b2%.CarServer.SetPowerFeedSocLimitActionH\x00\x12[\n"setTrailerLightTestStartStopAction\x18V \x01(\x0b2-.CarServer.SetTrailerLightTestStartStopActionH\x00\x12U\n\x1fsetTruckBedLightAutoStateAction\x18W \x01(\x0b2*.CarServer.SetTruckBedLightAutoStateActionH\x00\x12W\n setTruckBedLightBrightnessAction\x18X \x01(\x0b2+.CarServer.SetTruckBedLightBrightnessActionH\x00\x12g\n(vehicleControlResetPinToDriveAdminAction\x18Y \x01(\x0b23.CarServer.VehicleControlResetPinToDriveAdminActionH\x00\x12K\n\x1anavigationWaypointsRequest\x18Z \x01(\x0b2%.CarServer.NavigationWaypointsRequestH\x00\x12K\n\x1asetPowershareFeatureAction\x18[ \x01(\x0b2%.CarServer.SetPowershareFeatureActionH\x00\x12Y\n!setPowershareDischargeLimitAction\x18\\ \x01(\x0b2,.CarServer.SetPowershareDischargeLimitActionH\x00\x12K\n\x1asetPowershareRequestAction\x18] \x01(\x0b2%.CarServer.SetPowershareRequestActionH\x00\x12G\n\x18setTentModeRequestAction\x18^ \x01(\x0b2#.CarServer.SetTentModeRequestActionH\x00\x12N\n\x1esetFrontZoneLightRequestAction\x18_ \x01(\x0b2$.CarServer.SetZoneLightRequestActionH\x00\x12M\n\x1dsetRearZoneLightRequestAction\x18` \x01(\x0b2$.CarServer.SetZoneLightRequestActionH\x00\x12<\n\x17addChargeScheduleAction\x18a \x01(\x0b2\x19.CarServer.ChargeScheduleH\x00\x12K\n\x1aremoveChargeScheduleAction\x18b \x01(\x0b2%.CarServer.RemoveChargeScheduleActionH\x00\x12H\n\x1daddPreconditionScheduleAction\x18c \x01(\x0b2\x1f.CarServer.PreconditionScheduleH\x00\x12W\n removePreconditionScheduleAction\x18d \x01(\x0b2+.CarServer.RemovePreconditionScheduleActionH\x00\x12M\n\x1bsetLightbarBrightnessAction\x18e \x01(\x0b2&.CarServer.SetLightbarBrightnessActionH\x00\x12E\n\x17setLightbarMiddleAction\x18f \x01(\x0b2".CarServer.SetLightbarMiddleActionH\x00\x12C\n\x16setLightbarDitchAction\x18g \x01(\x0b2!.CarServer.SetLightbarDitchActionH\x00\x129\n\x11getMessagesAction\x18h \x01(\x0b2\x1c.CarServer.GetMessagesActionH\x00\x12E\n\x17teslaAuthResponseAction\x18i \x01(\x0b2".CarServer.TeslaAuthResponseActionH\x00\x12U\n\x1fnavigationGpsDestinationRequest\x18j \x01(\x0b2*.CarServer.NavigationGpsDestinationRequestH\x00\x12c\n&batchRemovePreconditionSchedulesAction\x18k \x01(\x0b21.CarServer.BatchRemovePreconditionSchedulesActionH\x00\x12W\n batchRemoveChargeSchedulesAction\x18l \x01(\x0b2+.CarServer.BatchRemoveChargeSchedulesActionH\x00\x12S\n\x1eparentalControlsClearPinAction\x18m \x01(\x0b2).CarServer.ParentalControlsClearPinActionH\x00\x12]\n#parentalControlsClearPinAdminAction\x18n \x01(\x0b2..CarServer.ParentalControlsClearPinAdminActionH\x00\x12C\n\x16parentalControlsAction\x18o \x01(\x0b2!.CarServer.ParentalControlsActionH\x00\x12_\n$parentalControlsEnableSettingsAction\x18p \x01(\x0b2/.CarServer.ParentalControlsEnableSettingsActionH\x00\x12]\n#parentalControlsSetSpeedLimitAction\x18q \x01(\x0b2..CarServer.ParentalControlsSetSpeedLimitActionH\x00\x12=\n\x13cancelSohTestAction\x18r \x01(\x0b2\x1e.CarServer.CancelSohTestActionH\x00\x12=\n\x13stopLightShowAction\x18t \x01(\x0b2\x1e.CarServer.StopLightShowActionH\x00\x12?\n\x14startLightShowAction\x18u \x01(\x0b2\x1f.CarServer.StartLightShowActionH\x00\x12G\n\x18setSuspensionLevelAction\x18v \x01(\x0b2#.CarServer.SetSuspensionLevelActionH\x00B\x14\n\x12vehicle_action_msgJ\x04\x08\x0b\x10\x0cJ\x04\x08<\x10=J\x04\x08L\x10M"\xfe\x05\n\x0eGetVehicleData\x121\n\x0egetChargeState\x18\x02 \x01(\x0b2\x19.CarServer.GetChargeState\x123\n\x0fgetClimateState\x18\x03 \x01(\x0b2\x1a.CarServer.GetClimateState\x12/\n\rgetDriveState\x18\x04 \x01(\x0b2\x18.CarServer.GetDriveState\x125\n\x10getLocationState\x18\x07 \x01(\x0b2\x1b.CarServer.GetLocationState\x125\n\x10getClosuresState\x18\x08 \x01(\x0b2\x1b.CarServer.GetClosuresState\x12A\n\x16getChargeScheduleState\x18\n \x01(\x0b2!.CarServer.GetChargeScheduleState\x12S\n\x1fgetPreconditioningScheduleState\x18\x0b \x01(\x0b2*.CarServer.GetPreconditioningScheduleState\x12=\n\x14getTirePressureState\x18\x0e \x01(\x0b2\x1f.CarServer.GetTirePressureState\x12/\n\rgetMediaState\x18\x0f \x01(\x0b2\x18.CarServer.GetMediaState\x12;\n\x13getMediaDetailState\x18\x10 \x01(\x0b2\x1e.CarServer.GetMediaDetailState\x12A\n\x16getSoftwareUpdateState\x18\x11 \x01(\x0b2!.CarServer.GetSoftwareUpdateState\x12E\n\x18getParentalControlsState\x18\x13 \x01(\x0b2#.CarServer.GetParentalControlsStateJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e"\x16\n\x14GetTirePressureState"\x0f\n\rGetMediaState"\x15\n\x13GetMediaDetailState"\x18\n\x16GetSoftwareUpdateState"\x10\n\x0eGetChargeState"\x11\n\x0fGetClimateState"\x0f\n\rGetDriveState"\x12\n\x10GetLocationState"\x12\n\x10GetClosuresState"\x18\n\x16GetChargeScheduleState"!\n\x1fGetPreconditioningScheduleState"\x1a\n\x18GetParentalControlsState"%\n\x13EraseUserDataAction\x12\x0e\n\x06reason\x18\x01 \x01(\t"\x96\x02\n\x08Response\x12-\n\x0cactionStatus\x18\x01 \x01(\x0b2\x17.CarServer.ActionStatus\x12-\n\x0bvehicleData\x18\x02 \x01(\x0b2\x16.CarServer.VehicleDataH\x00\x129\n\x16getSessionInfoResponse\x18\x03 \x01(\x0b2\x17.Signatures.SessionInfoH\x00\x12@\n\x16getNearbyChargingSites\x18\x05 \x01(\x0b2\x1e.CarServer.NearbyChargingSitesH\x00\x12\x1f\n\x04ping\x18\t \x01(\x0b2\x0f.CarServer.PingH\x00B\x0e\n\x0cresponse_msg"l\n\x0cActionStatus\x12,\n\x06result\x18\x01 \x01(\x0e2\x1c.CarServer.OperationStatus_E\x12.\n\rresult_reason\x18\x02 \x01(\x0b2\x17.CarServer.ResultReason".\n\x0cResultReason\x12\x14\n\nplain_text\x18\x01 \x01(\tH\x00B\x08\n\x06reason"F\n\rEncryptedData\x12\x14\n\x0cfield_number\x18\x01 \x01(\x05\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x0b\n\x03tag\x18\x03 \x01(\x0c")\n\x16ChargingSetLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05"\xea\x01\n\x17ChargingStartStopAction\x12"\n\x07unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05start\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12)\n\x0estart_standard\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fstart_max_range\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04stop\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x11\n\x0fcharging_action".\n\x1fDrivingClearSpeedLimitPinAction\x12\x0b\n\x03pin\x18\x01 \x01(\t"/\n\x1aDrivingSetSpeedLimitAction\x12\x11\n\tlimit_mph\x18\x01 \x01(\x01"8\n\x17DrivingSpeedLimitAction\x12\x10\n\x08activate\x18\x01 \x01(\x08\x12\x0b\n\x03pin\x18\x02 \x01(\t";\n\x0eHvacAutoAction\x12\x10\n\x08power_on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08"\xfc\x06\n\x15HvacSeatHeaterActions\x12S\n\x14hvacSeatHeaterAction\x18\x01 \x03(\x0b25.CarServer.HvacSeatHeaterActions.HvacSeatHeaterAction\x1a\x8d\x06\n\x14HvacSeatHeaterAction\x12.\n\x13SEAT_HEATER_UNKNOWN\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_OFF\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_LOW\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_MED\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12+\n\x10SEAT_HEATER_HIGH\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12+\n\x10CAR_SEAT_UNKNOWN\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x01\x12.\n\x13CAR_SEAT_FRONT_LEFT\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x01\x12/\n\x14CAR_SEAT_FRONT_RIGHT\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x01\x12-\n\x12CAR_SEAT_REAR_LEFT\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x01\x122\n\x17CAR_SEAT_REAR_LEFT_BACK\x18\n \x01(\x0b2\x0f.CarServer.VoidH\x01\x12/\n\x14CAR_SEAT_REAR_CENTER\x18\x0b \x01(\x0b2\x0f.CarServer.VoidH\x01\x12.\n\x13CAR_SEAT_REAR_RIGHT\x18\x0c \x01(\x0b2\x0f.CarServer.VoidH\x01\x123\n\x18CAR_SEAT_REAR_RIGHT_BACK\x18\r \x01(\x0b2\x0f.CarServer.VoidH\x01\x122\n\x17CAR_SEAT_THIRD_ROW_LEFT\x18\x0e \x01(\x0b2\x0f.CarServer.VoidH\x01\x123\n\x18CAR_SEAT_THIRD_ROW_RIGHT\x18\x0f \x01(\x0b2\x0f.CarServer.VoidH\x01B\x13\n\x11seat_heater_levelB\x0f\n\rseat_position"\xe8\x04\n\x15HvacSeatCoolerActions\x12S\n\x14hvacSeatCoolerAction\x18\x01 \x03(\x0b25.CarServer.HvacSeatCoolerActions.HvacSeatCoolerAction\x1a\xbb\x01\n\x14HvacSeatCoolerAction\x12Q\n\x11seat_cooler_level\x18\x01 \x01(\x0e26.CarServer.HvacSeatCoolerActions.HvacSeatCoolerLevel_E\x12P\n\rseat_position\x18\x02 \x01(\x0e29.CarServer.HvacSeatCoolerActions.HvacSeatCoolerPosition_E"\xad\x01\n\x15HvacSeatCoolerLevel_E\x12\x1f\n\x1bHvacSeatCoolerLevel_Unknown\x10\x00\x12\x1b\n\x17HvacSeatCoolerLevel_Off\x10\x01\x12\x1b\n\x17HvacSeatCoolerLevel_Low\x10\x02\x12\x1b\n\x17HvacSeatCoolerLevel_Med\x10\x03\x12\x1c\n\x18HvacSeatCoolerLevel_High\x10\x04"\x8b\x01\n\x18HvacSeatCoolerPosition_E\x12"\n\x1eHvacSeatCoolerPosition_Unknown\x10\x00\x12$\n HvacSeatCoolerPosition_FrontLeft\x10\x01\x12%\n!HvacSeatCoolerPosition_FrontRight\x10\x02"\xde\x01\n\x1fHvacSetPreconditioningMaxAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12]\n\x14manual_override_mode\x18\x03 \x03(\x0e2?.CarServer.HvacSetPreconditioningMaxAction.ManualOverrideMode_E"7\n\x14ManualOverrideMode_E\x12\x0b\n\x07DogMode\x10\x00\x12\x07\n\x03Soc\x10\x01\x12\t\n\x05Doors\x10\x02"1\n\x1dHvacSteeringWheelHeaterAction\x12\x10\n\x08power_on\x18\x01 \x01(\x08"\xb3\x05\n\x1fHvacTemperatureAdjustmentAction\x12\x15\n\rdelta_celsius\x18\x01 \x01(\x02\x12\x15\n\rdelta_percent\x18\x02 \x01(\x11\x12\x18\n\x10absolute_celsius\x18\x03 \x01(\x02\x12E\n\x05level\x18\x05 \x01(\x0b26.CarServer.HvacTemperatureAdjustmentAction.Temperature\x12]\n\x15hvac_temperature_zone\x18\x04 \x03(\x0b2>.CarServer.HvacTemperatureAdjustmentAction.HvacTemperatureZone\x12\x1b\n\x13driver_temp_celsius\x18\x06 \x01(\x02\x12\x1e\n\x16passenger_temp_celsius\x18\x07 \x01(\x02\x1a\x88\x01\n\x0bTemperature\x12\'\n\x0cTEMP_UNKNOWN\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08TEMP_MIN\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08TEMP_MAX\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xd9\x01\n\x13HvacTemperatureZone\x12,\n\x11TEMP_ZONE_UNKNOWN\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12/\n\x14TEMP_ZONE_FRONT_LEFT\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x120\n\x15TEMP_ZONE_FRONT_RIGHT\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12)\n\x0eTEMP_ZONE_REAR\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"R\n\x16GetNearbyChargingSites\x12\x19\n\x11include_meta_data\x18\x01 \x01(\x08\x12\x0e\n\x06radius\x18\x02 \x01(\x05\x12\r\n\x05count\x18\x03 \x01(\x05"\x9c\x01\n\x13NearbyChargingSites\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12/\n\rsuperchargers\x18\x03 \x03(\x0b2\x18.CarServer.Superchargers\x12%\n\x1dcongestion_sync_time_utc_secs\x18\x04 \x01(\x03"\xcb\x03\n\rSuperchargers\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x11\n\tamenities\x18\x02 \x01(\t\x12\x18\n\x10available_stalls\x18\x03 \x01(\x05\x12\x14\n\x0cbilling_info\x18\x04 \x01(\t\x12\x14\n\x0cbilling_time\x18\x05 \x01(\t\x12\x0c\n\x04city\x18\x06 \x01(\t\x12\x0f\n\x07country\x18\x07 \x01(\t\x12\x16\n\x0edistance_miles\x18\x08 \x01(\x02\x12\x10\n\x08district\x18\t \x01(\t\x12$\n\x08location\x18\n \x01(\x0b2\x12.CarServer.LatLong\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x13\n\x0bpostal_code\x18\x0c \x01(\t\x12\x13\n\x0bsite_closed\x18\r \x01(\x08\x12\r\n\x05state\x18\x0e \x01(\t\x12\x16\n\x0estreet_address\x18\x0f \x01(\t\x12\x14\n\x0ctotal_stalls\x18\x10 \x01(\x05\x12\x14\n\x0cwithin_range\x18\x11 \x01(\x08\x12\x14\n\x0cmax_power_kw\x18\x12 \x01(\x05\x12"\n\x1aout_of_order_stalls_number\x18\x13 \x01(\x05\x12!\n\x19out_of_order_stalls_names\x18\x14 \x01(\t"\x11\n\x0fMediaPlayAction"b\n\x11MediaUpdateVolume\x12\x16\n\x0cvolume_delta\x18\x01 \x01(\x11H\x00\x12\x1f\n\x15volume_absolute_float\x18\x03 \x01(\x02H\x00B\x0e\n\x0cmedia_volumeJ\x04\x08\x02\x10\x03"\x13\n\x11MediaNextFavorite"\x17\n\x15MediaPreviousFavorite"\x10\n\x0eMediaNextTrack"\x14\n\x12MediaPreviousTrack"*\n(VehicleControlCancelSoftwareUpdateAction"!\n\x1fVehicleControlFlashLightsAction"\x1e\n\x1cVehicleControlHonkHornAction"#\n!VehicleControlResetValetPinAction"@\n*VehicleControlScheduleSoftwareUpdateAction\x12\x12\n\noffset_sec\x18\x01 \x01(\x05"/\n!VehicleControlSetSentryModeAction\x12\n\n\x02on\x18\x01 \x01(\x08"@\n VehicleControlSetValetModeAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08password\x18\x02 \x01(\t"\xd6\x01\n$VehicleControlSunroofOpenCloseAction\x12\x18\n\x0eabsolute_level\x18\x01 \x01(\x05H\x00\x12\x15\n\x0bdelta_level\x18\x02 \x01(\x11H\x00\x12\x1f\n\x04vent\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x01\x12 \n\x05close\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x01\x12\x1f\n\x04open\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x01B\x0f\n\rsunroof_levelB\x08\n\x06action"Z\n#VehicleControlTriggerHomelinkAction\x12$\n\x08location\x18\x01 \x01(\x0b2\x12.CarServer.LatLong\x12\r\n\x05token\x18\x02 \x01(\t"\x93\x01\n\x1aVehicleControlWindowAction\x12"\n\x07unknown\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04vent\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05close\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x08\n\x06actionJ\x04\x08\x01\x10\x02">\n\x17HvacBioweaponModeAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08"\xaa\x02\n\x15AutoSeatClimateAction\x129\n\x07carseat\x18\x01 \x03(\x0b2(.CarServer.AutoSeatClimateAction.CarSeat\x1aa\n\x07CarSeat\x12\n\n\x02on\x18\x01 \x01(\x08\x12J\n\rseat_position\x18\x02 \x01(\x0e23.CarServer.AutoSeatClimateAction.AutoSeatPosition_E"s\n\x12AutoSeatPosition_E\x12\x1c\n\x18AutoSeatPosition_Unknown\x10\x00\x12\x1e\n\x1aAutoSeatPosition_FrontLeft\x10\x01\x12\x1f\n\x1bAutoSeatPosition_FrontRight\x10\x02"\x87\x01\n\x04Ping\x12\x0f\n\x07ping_id\x18\x01 \x01(\x05\x123\n\x0flocal_timestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x129\n\x15last_remote_timestamp\x18\x03 \x01(\x0b2\x1a.google.protobuf.Timestamp"A\n\x17ScheduledChargingAction\x12\x0f\n\x07enabled\x18\x01 \x01(\x08\x12\x15\n\rcharging_time\x18\x02 \x01(\x05"\xe6\x01\n\x18ScheduledDepartureAction\x12\x0f\n\x07enabled\x18\x01 \x01(\x08\x12\x16\n\x0edeparture_time\x18\x02 \x01(\x05\x12>\n\x15preconditioning_times\x18\x03 \x01(\x0b2\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18\x04 \x01(\x0b2\x1f.CarServer.OffPeakChargingTimes\x12\x1f\n\x17off_peak_hours_end_time\x18\x05 \x01(\x05"\x97\x02\n\x17HvacClimateKeeperAction\x12U\n\x13ClimateKeeperAction\x18\x01 \x01(\x0e28.CarServer.HvacClimateKeeperAction.ClimateKeeperAction_E\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08"\x8b\x01\n\x15ClimateKeeperAction_E\x12\x1b\n\x17ClimateKeeperAction_Off\x10\x00\x12\x1a\n\x16ClimateKeeperAction_On\x10\x01\x12\x1b\n\x17ClimateKeeperAction_Dog\x10\x02\x12\x1c\n\x18ClimateKeeperAction_Camp\x10\x03"%\n\x17HvacRecirculationAction\x12\n\n\x02on\x18\x01 \x01(\x08".\n\x15SetChargingAmpsAction\x12\x15\n\rcharging_amps\x18\x01 \x01(\x05"(\n\x1aRemoveChargeScheduleAction\x12\n\n\x02id\x18\x01 \x01(\x04"M\n BatchRemoveChargeSchedulesAction\x12\x0c\n\x04home\x18\x01 \x01(\x08\x12\x0c\n\x04work\x18\x02 \x01(\x08\x12\r\n\x05other\x18\x03 \x01(\x08"S\n&BatchRemovePreconditionSchedulesAction\x12\x0c\n\x04home\x18\x01 \x01(\x08\x12\x0c\n\x04work\x18\x02 \x01(\x08\x12\r\n\x05other\x18\x03 \x01(\x08".\n RemovePreconditionScheduleAction\x12\n\n\x02id\x18\x01 \x01(\x04"@\n SetCabinOverheatProtectionAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08fan_only\x18\x02 \x01(\x08"+\n\x14SetVehicleNameAction\x12\x13\n\x0bvehicleName\x18\x01 \x01(\t"\x15\n\x13ChargePortDoorClose"\x14\n\x12ChargePortDoorOpen"\x1e\n\rBoomboxAction\x12\r\n\x05sound\x18\x01 \x01(\r"X\n\x10SetCopTempAction\x12D\n\x11copActivationTemp\x18\x01 \x01(\x0e2).CarServer.ClimateState.CopActivationTemp"A\n!VehicleControlSetPinToDriveAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08password\x18\x02 \x01(\t"%\n#VehicleControlResetPinToDriveAction"\x12\n\x10RemoteStartDrive")\n\x13CreateStreamSession\x12\x12\n\nsession_id\x18\x01 \x01(\t"1\n\rStreamMessage\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0c\n\x04data\x18\x02 \x01(\x0c"7\n\x11NavigationRequest\x12\x13\n\x0bdestination\x18\x01 \x01(\t\x12\r\n\x05order\x18\x02 \x01(\x05".\n\x1dNavigationSuperchargerRequest\x12\r\n\x05order\x18\x01 \x01(\x05"5\n\x1cUiSetUpcomingCalendarEntries\x12\x15\n\rcalendar_data\x18\x01 \x01(\t"\x96\x06\n\x17VehicleDataSubscription\x12I\n\x0fpii_key_request\x18\r \x01(\x0b20.CarServer.VehicleDataSubscription.PiiKeyRequest\x12\x1f\n\x17subscription_duration_s\x18\x03 \x01(\x05\x12\x1b\n\x13subscription_ping_s\x18\x0c \x01(\x05\x12\'\n\x1fgui_settings_max_update_rate_ms\x18\x04 \x01(\x05\x12\'\n\x1fcharge_state_max_update_rate_ms\x18\x05 \x01(\x05\x12(\n climate_state_max_update_rate_ms\x18\x06 \x01(\x05\x12&\n\x1edrive_state_max_update_rate_ms\x18\x07 \x01(\x05\x12(\n vehicle_state_max_update_rate_ms\x18\x08 \x01(\x05\x12)\n!vehicle_config_max_update_rate_ms\x18\t \x01(\x05\x12)\n!location_state_max_update_rate_ms\x18\n \x01(\x05\x12)\n!closures_state_max_update_rate_ms\x18\x0b \x01(\x05\x121\n)parked_accessory_state_max_update_rate_ms\x18\x0e \x01(\x05\x120\n(charge_schedule_state_max_update_rate_ms\x18\x0f \x01(\x05\x129\n1preconditioning_schedule_state_max_update_rate_ms\x18\x10 \x01(\x05\x12&\n\x1ealert_state_max_update_rate_ms\x18\x11 \x01(\x05\x12+\n#suspension_state_max_update_rate_ms\x18\x12 \x01(\x05\x1a.\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x01 \x01(\t"\xef\x06\n\x0eVehicleDataAck\x12:\n\x16charge_state_timestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12;\n\x17climate_state_timestamp\x18\x03 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12<\n\x18closures_state_timestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x129\n\x15drive_state_timestamp\x18\x05 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12:\n\x16gui_settings_timestamp\x18\x06 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12<\n\x18location_state_timestamp\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12<\n\x18vehicle_config_timestamp\x18\x08 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12;\n\x17vehicle_state_timestamp\x18\t \x01(\x0b2\x1a.google.protobuf.Timestamp\x12D\n parked_accessory_state_timestamp\x18\x0b \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1fcharge_schedule_state_timestamp\x18\x0c \x01(\x0b2\x1a.google.protobuf.Timestamp\x12L\n(preconditioning_schedule_state_timestamp\x18\r \x01(\x0b2\x1a.google.protobuf.Timestamp\x129\n\x15alert_state_timestamp\x18\x0e \x01(\x0b2\x1a.google.protobuf.Timestamp\x12>\n\x1asuspension_state_timestamp\x18\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x16decryption_error_field\x18\n \x03(\x05B\x02\x10\x01"(\n\x12VitalsSubscription\x12\x12\n\nsession_id\x18\x01 \x01(\x05"\x0b\n\tVitalsAck"\x17\n\x15DashcamSaveClipAction"f\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x02 \x01(\t\x126\n\x12pii_key_expiration\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp";\n\x14PseudonymSyncRequest\x12#\n\x1blast_known_pseudonym_hashed\x18\x01 \x01(\x0c"\x95\x02\n\x14NavigationGpsRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12A\n\x05order\x18\x03 \x01(\x0e22.CarServer.NavigationGpsRequest.RemoteNavTripOrder"\x9f\x01\n\x12RemoteNavTripOrder\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_UNKNOWN\x10\x00\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_REPLACE\x10\x01\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_PREPEND\x10\x02\x12 \n\x1cREMOTE_NAV_TRIP_ORDER_APPEND\x10\x03"\x16\n\x14SetRateTariffRequest"\x16\n\x14GetRateTariffRequest"!\n\x12VideoRequestAction\x12\x0b\n\x03url\x18\x01 \x01(\t"#\n\x13TakeDrivenoteAction\x12\x0c\n\x04note\x18\x01 \x01(\t"H\n\x1eBluetoothClassicPairingRequest\x12\x11\n\tutf8_name\x18\x01 \x01(\t\x12\x13\n\x0bmac_address\x18\x02 \x01(\x0c"\x1f\n\x1dAddManagedChargingSiteRequest"6\n RemoveManagedChargingSiteRequest\x12\x12\n\npublic_key\x18\x01 \x01(\t"\x17\n\x15NavigationRouteAction"\x1f\n\x11AutoStwHeatAction\x12\n\n\x02on\x18\x01 \x01(\x08"E\n\x12StwHeatLevelAction\x12/\n\x0estw_heat_level\x18\x01 \x01(\x0e2\x17.CarServer.StwHeatLevel" \n\x1eGetManagedChargingSitesRequest"]\n!UpdateChargeOnSolarFeatureRequest\x128\n\x0fcharge_on_solar\x18\x01 \x01(\x0b2\x1f.CarServer.ChargeOnSolarFeature" \n\x1eGetChargeOnSolarFeatureRequest"_\n\x14ChargeOnSolarFeature\x12\x0f\n\x07enabled\x18\x01 \x01(\x08\x12\x1a\n\x12lower_charge_limit\x18\x02 \x01(\x02\x12\x1a\n\x12upper_charge_limit\x18\x03 \x01(\x02"&\n$DrivingClearSpeedLimitPinAdminAction"\xe0\x01\n\x15SetOutletsOnOffAction\x12F\n\x0eoutlet_request\x18\x01 \x01(\x0e2..CarServer.SetOutletsOnOffAction.OutletRequest"\x7f\n\rOutletRequest\x12\x1a\n\x16OUTLET_REQUEST_UNKNOWN\x10\x00\x12\x16\n\x12OUTLET_REQUEST_OFF\x10\x01\x12 \n\x1cOUTLET_REQUEST_CABIN_AND_BED\x10\x02\x12\x18\n\x14OUTLET_REQUEST_CABIN\x10\x03"+\n\x14SetOutletTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05"*\n\x17SetOutletSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05"\xa3\x02\n\x17SetPowerFeedOnOffAction\x12O\n\x12power_feed_request\x18\x01 \x01(\x0e23.CarServer.SetPowerFeedOnOffAction.PowerFeedRequest"\xb6\x01\n\x10PowerFeedRequest\x12\x1e\n\x1aPOWER_FEED_REQUEST_UNKNOWN\x10\x00\x12\x1a\n\x16POWER_FEED_REQUEST_OFF\x10\x01\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_1\x10\x02\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_2\x10\x03\x12(\n$POWER_FEED_REQUEST_FEED_1_AND_FEED_2\x10\x04".\n\x17SetPowerFeedTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05"-\n\x1aSetPowerFeedSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05"8\n"SetTrailerLightTestStartStopAction\x12\x12\n\nstart_stop\x18\x01 \x01(\x08"6\n\x1fSetTruckBedLightAutoStateAction\x12\x13\n\x0bpower_state\x18\x01 \x01(\x08"6\n SetTruckBedLightBrightnessAction\x12\x12\n\nbrightness\x18\x01 \x01(\r"*\n(VehicleControlResetPinToDriveAdminAction"\xd4\x01\n\x1aNavigationWaypointsRequest\x12\x11\n\twaypoints\x18\x01 \x01(\t\x12P\n\x11trip_plan_options\x18\x02 \x01(\x0b25.CarServer.NavigationWaypointsRequest.TripPlanOptions\x1aQ\n\x0fTripPlanOptions\x12\x1d\n\x15destination_start_soe\x18\x01 \x01(\x05\x12\x1f\n\x17destination_arrival_soe\x18\x02 \x01(\x05"\x8c\x02\n\x1aSetPowershareFeatureAction\x12b\n\x1apowershare_feature_request\x18\x01 \x01(\x0e2>.CarServer.SetPowershareFeatureAction.PowershareFeatureRequest"\x89\x01\n\x18PowershareFeatureRequest\x12&\n"POWERSHARE_FEATURE_REQUEST_UNKNOWN\x10\x00\x12"\n\x1ePOWERSHARE_FEATURE_REQUEST_OFF\x10\x01\x12!\n\x1dPOWERSHARE_FEATURE_REQUEST_ON\x10\x02"G\n!SetPowershareDischargeLimitAction\x12"\n\x1apowershare_discharge_limit\x18\x01 \x01(\x05"\xdd\x01\n\x1aSetPowershareRequestAction\x12S\n\x12powershare_request\x18\x01 \x01(\x0e27.CarServer.SetPowershareRequestAction.PowershareRequest"j\n\x11PowershareRequest\x12\x1e\n\x1aPOWERSHARE_REQUEST_UNKNOWN\x10\x00\x12\x1a\n\x16POWERSHARE_REQUEST_OFF\x10\x01\x12\x19\n\x15POWERSHARE_REQUEST_ON\x10\x02"&\n\x18SetTentModeRequestAction\x12\n\n\x02on\x18\x01 \x01(\x08"\xf4\x01\n\x19SetZoneLightRequestAction\x12Q\n\x12zone_light_request\x18\x01 \x01(\x0e25.CarServer.SetZoneLightRequestAction.ZoneLightRequest"\x83\x01\n\x10ZoneLightRequest\x12\x1a\n\x16ZONE_LIGHT_REQUEST_OFF\x10\x00\x12\x1a\n\x16ZONE_LIGHT_REQUEST_LOW\x10\x01\x12\x1a\n\x16ZONE_LIGHT_REQUEST_MED\x10\x02\x12\x1b\n\x17ZONE_LIGHT_REQUEST_HIGH\x10\x03"9\n\x1bSetLightbarBrightnessAction\x12\x1a\n\x12brightness_request\x18\x01 \x01(\r"7\n\x17SetLightbarMiddleAction\x12\x1c\n\x14middle_light_request\x18\x01 \x01(\x08"6\n\x16SetLightbarDitchAction\x12\x1c\n\x14ditch_lights_request\x18\x01 \x01(\x08"\x13\n\x11GetMessagesAction"\xa7\x01\n\x17TeslaAuthResponseAction\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\r\n\x05scope\x18\x02 \x01(\t\x12\x14\n\x0caccess_token\x18\x03 \x01(\t\x12\x15\n\rrefresh_token\x18\x04 \x01(\t\x12\x18\n\x10expiry_timestamp\x18\x05 \x01(\x03\x12\r\n\x05error\x18\x06 \x01(\t\x12\x14\n\x0cscoped_token\x18\x07 \x01(\t"\xc0\x02\n\x1fNavigationGpsDestinationRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12\x13\n\x0bdestination\x18\x03 \x01(\t\x12L\n\x05order\x18\x04 \x01(\x0e2=.CarServer.NavigationGpsDestinationRequest.RemoteNavTripOrder"\x9f\x01\n\x12RemoteNavTripOrder\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_UNKNOWN\x10\x00\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_REPLACE\x10\x01\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_PREPEND\x10\x02\x12 \n\x1cREMOTE_NAV_TRIP_ORDER_APPEND\x10\x03"-\n\x1eParentalControlsClearPinAction\x12\x0b\n\x03pin\x18\x01 \x01(\t"%\n#ParentalControlsClearPinAdminAction"7\n\x16ParentalControlsAction\x12\x10\n\x08activate\x18\x01 \x01(\x08\x12\x0b\n\x03pin\x18\x02 \x01(\t"\xff\x02\n$ParentalControlsEnableSettingsAction\x12X\n\x07setting\x18\x01 \x01(\x0e2G.CarServer.ParentalControlsEnableSettingsAction.ParentalControlsSetting\x12\x0e\n\x06enable\x18\x02 \x01(\x08"\xec\x01\n\x17ParentalControlsSetting\x12%\n!PARENTAL_CONTROLS_SETTING_UNKNOWN\x10\x00\x12)\n%PARENTAL_CONTROLS_SETTING_SPEED_LIMIT\x10\x01\x12*\n&PARENTAL_CONTROLS_SETTING_ACCELERATION\x10\x02\x12-\n)PARENTAL_CONTROLS_SETTING_SAFETY_FEATURES\x10\x03\x12$\n PARENTAL_CONTROLS_SETTING_CURFEW\x10\x04"8\n#ParentalControlsSetSpeedLimitAction\x12\x11\n\tlimit_mph\x18\x01 \x01(\x01"\x15\n\x13CancelSohTestAction"\x15\n\x13StopLightShowAction"c\n\x14StartLightShowAction\x12\x12\n\nshow_index\x18\x01 \x01(\x05\x12\x12\n\nstart_time\x18\x02 \x01(\x03\x12\x0e\n\x06volume\x18\x03 \x01(\x02\x12\x13\n\x0bdance_moves\x18\x04 \x01(\x08"\xc7\x02\n\x18SetSuspensionLevelAction\x12M\n\x10suspension_level\x18\x01 \x01(\x0e23.CarServer.SetSuspensionLevelAction.SuspensionLevel"\xdb\x01\n\x0fSuspensionLevel\x12\x1c\n\x18SUSPENSION_LEVEL_INVALID\x10\x00\x12\x1a\n\x16SUSPENSION_LEVEL_ENTRY\x10\x01\x12\x18\n\x14SUSPENSION_LEVEL_LOW\x10\x02\x12\x1b\n\x17SUSPENSION_LEVEL_MEDIUM\x10\x03\x12\x19\n\x15SUSPENSION_LEVEL_HIGH\x10\x04\x12\x1e\n\x1aSUSPENSION_LEVEL_VERY_HIGH\x10\x05\x12\x1c\n\x18SUSPENSION_LEVEL_EXTRACT\x10\x06*F\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x01Bn\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') +from . import signatures_pb2 as tesla_dot_signatures__pb2 +from . import vehicle_pb2 as tesla_dot_vehicle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16tesla/car_server.proto\x12\tCarServer\x1a\x12tesla/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tesla/signatures.proto\x1a\x13tesla/vehicle.proto\"O\n\x06\x41\x63tion\x12\x31\n\rvehicleAction\x18\x02 \x01(\x0b\x32\x18.CarServer.VehicleActionH\x00\x42\x0c\n\naction_msgJ\x04\x08\x03\x10\x06\"\xd2\x41\n\rVehicleAction\x12\x33\n\x0egetVehicleData\x18\x01 \x01(\x0b\x32\x19.CarServer.GetVehicleDataH\x00\x12\x37\n\x10remoteStartDrive\x18\x02 \x01(\x0b\x32\x1b.CarServer.RemoteStartDriveH\x00\x12=\n\x13\x63reateStreamSession\x18\x03 \x01(\x0b\x32\x1e.CarServer.CreateStreamSessionH\x00\x12\x31\n\rstreamMessage\x18\x04 \x01(\x0b\x32\x18.CarServer.StreamMessageH\x00\x12\x43\n\x16\x63hargingSetLimitAction\x18\x05 \x01(\x0b\x32!.CarServer.ChargingSetLimitActionH\x00\x12\x45\n\x17\x63hargingStartStopAction\x18\x06 \x01(\x0b\x32\".CarServer.ChargingStartStopActionH\x00\x12U\n\x1f\x64rivingClearSpeedLimitPinAction\x18\x07 \x01(\x0b\x32*.CarServer.DrivingClearSpeedLimitPinActionH\x00\x12K\n\x1a\x64rivingSetSpeedLimitAction\x18\x08 \x01(\x0b\x32%.CarServer.DrivingSetSpeedLimitActionH\x00\x12\x45\n\x17\x64rivingSpeedLimitAction\x18\t \x01(\x0b\x32\".CarServer.DrivingSpeedLimitActionH\x00\x12\x33\n\x0ehvacAutoAction\x18\n \x01(\x0b\x32\x19.CarServer.HvacAutoActionH\x00\x12U\n\x1fhvacSetPreconditioningMaxAction\x18\x0c \x01(\x0b\x32*.CarServer.HvacSetPreconditioningMaxActionH\x00\x12Q\n\x1dhvacSteeringWheelHeaterAction\x18\r \x01(\x0b\x32(.CarServer.HvacSteeringWheelHeaterActionH\x00\x12U\n\x1fhvacTemperatureAdjustmentAction\x18\x0e \x01(\x0b\x32*.CarServer.HvacTemperatureAdjustmentActionH\x00\x12\x35\n\x0fmediaPlayAction\x18\x0f \x01(\x0b\x32\x1a.CarServer.MediaPlayActionH\x00\x12\x39\n\x11mediaUpdateVolume\x18\x10 \x01(\x0b\x32\x1c.CarServer.MediaUpdateVolumeH\x00\x12\x39\n\x11mediaNextFavorite\x18\x11 \x01(\x0b\x32\x1c.CarServer.MediaNextFavoriteH\x00\x12\x41\n\x15mediaPreviousFavorite\x18\x12 \x01(\x0b\x32 .CarServer.MediaPreviousFavoriteH\x00\x12\x33\n\x0emediaNextTrack\x18\x13 \x01(\x0b\x32\x19.CarServer.MediaNextTrackH\x00\x12;\n\x12mediaPreviousTrack\x18\x14 \x01(\x0b\x32\x1d.CarServer.MediaPreviousTrackH\x00\x12\x39\n\x11navigationRequest\x18\x15 \x01(\x0b\x32\x1c.CarServer.NavigationRequestH\x00\x12Q\n\x1dnavigationSuperchargerRequest\x18\x16 \x01(\x0b\x32(.CarServer.NavigationSuperchargerRequestH\x00\x12\x43\n\x16getNearbyChargingSites\x18\x17 \x01(\x0b\x32!.CarServer.GetNearbyChargingSitesH\x00\x12O\n\x1cuiSetUpcomingCalendarEntries\x18\x18 \x01(\x0b\x32\'.CarServer.UiSetUpcomingCalendarEntriesH\x00\x12g\n(vehicleControlCancelSoftwareUpdateAction\x18\x19 \x01(\x0b\x32\x33.CarServer.VehicleControlCancelSoftwareUpdateActionH\x00\x12U\n\x1fvehicleControlFlashLightsAction\x18\x1a \x01(\x0b\x32*.CarServer.VehicleControlFlashLightsActionH\x00\x12O\n\x1cvehicleControlHonkHornAction\x18\x1b \x01(\x0b\x32\'.CarServer.VehicleControlHonkHornActionH\x00\x12Y\n!vehicleControlResetValetPinAction\x18\x1c \x01(\x0b\x32,.CarServer.VehicleControlResetValetPinActionH\x00\x12k\n*vehicleControlScheduleSoftwareUpdateAction\x18\x1d \x01(\x0b\x32\x35.CarServer.VehicleControlScheduleSoftwareUpdateActionH\x00\x12Y\n!vehicleControlSetSentryModeAction\x18\x1e \x01(\x0b\x32,.CarServer.VehicleControlSetSentryModeActionH\x00\x12W\n vehicleControlSetValetModeAction\x18\x1f \x01(\x0b\x32+.CarServer.VehicleControlSetValetModeActionH\x00\x12_\n$vehicleControlSunroofOpenCloseAction\x18 \x01(\x0b\x32/.CarServer.VehicleControlSunroofOpenCloseActionH\x00\x12]\n#vehicleControlTriggerHomelinkAction\x18! \x01(\x0b\x32..CarServer.VehicleControlTriggerHomelinkActionH\x00\x12K\n\x1avehicleControlWindowAction\x18\" \x01(\x0b\x32%.CarServer.VehicleControlWindowActionH\x00\x12\x45\n\x17hvacBioweaponModeAction\x18# \x01(\x0b\x32\".CarServer.HvacBioweaponModeActionH\x00\x12\x41\n\x15hvacSeatHeaterActions\x18$ \x01(\x0b\x32 .CarServer.HvacSeatHeaterActionsH\x00\x12\x45\n\x17vehicleDataSubscription\x18% \x01(\x0b\x32\".CarServer.VehicleDataSubscriptionH\x00\x12\x33\n\x0evehicleDataAck\x18& \x01(\x0b\x32\x19.CarServer.VehicleDataAckH\x00\x12;\n\x12vitalsSubscription\x18\' \x01(\x0b\x32\x1d.CarServer.VitalsSubscriptionH\x00\x12)\n\tvitalsAck\x18( \x01(\x0b\x32\x14.CarServer.VitalsAckH\x00\x12\x45\n\x17scheduledChargingAction\x18) \x01(\x0b\x32\".CarServer.ScheduledChargingActionH\x00\x12G\n\x18scheduledDepartureAction\x18* \x01(\x0b\x32#.CarServer.ScheduledDepartureActionH\x00\x12\x41\n\x15setChargingAmpsAction\x18+ \x01(\x0b\x32 .CarServer.SetChargingAmpsActionH\x00\x12\x45\n\x17hvacClimateKeeperAction\x18, \x01(\x0b\x32\".CarServer.HvacClimateKeeperActionH\x00\x12\x45\n\x17hvacRecirculationAction\x18- \x01(\x0b\x32\".CarServer.HvacRecirculationActionH\x00\x12\x1f\n\x04ping\x18. \x01(\x0b\x32\x0f.CarServer.PingH\x00\x12\x41\n\x15\x64\x61shcamSaveClipAction\x18/ \x01(\x0b\x32 .CarServer.DashcamSaveClipActionH\x00\x12\x41\n\x15\x61utoSeatClimateAction\x18\x30 \x01(\x0b\x32 .CarServer.AutoSeatClimateActionH\x00\x12\x41\n\x15hvacSeatCoolerActions\x18\x31 \x01(\x0b\x32 .CarServer.HvacSeatCoolerActionsH\x00\x12W\n setCabinOverheatProtectionAction\x18\x32 \x01(\x0b\x32+.CarServer.SetCabinOverheatProtectionActionH\x00\x12\x31\n\rpiiKeyRequest\x18\x33 \x01(\x0b\x32\x18.CarServer.PiiKeyRequestH\x00\x12?\n\x14pseudonymSyncRequest\x18\x34 \x01(\x0b\x32\x1f.CarServer.PseudonymSyncRequestH\x00\x12?\n\x14navigationGpsRequest\x18\x35 \x01(\x0b\x32\x1f.CarServer.NavigationGpsRequestH\x00\x12?\n\x14setVehicleNameAction\x18\x36 \x01(\x0b\x32\x1f.CarServer.SetVehicleNameActionH\x00\x12?\n\x14setRateTariffRequest\x18\x37 \x01(\x0b\x32\x1f.CarServer.SetRateTariffRequestH\x00\x12?\n\x14getRateTariffRequest\x18\x38 \x01(\x0b\x32\x1f.CarServer.GetRateTariffRequestH\x00\x12;\n\x12videoRequestAction\x18\x39 \x01(\x0b\x32\x1d.CarServer.VideoRequestActionH\x00\x12=\n\x13takeDrivenoteAction\x18: \x01(\x0b\x32\x1e.CarServer.TakeDrivenoteActionH\x00\x12=\n\x13\x63hargePortDoorClose\x18= \x01(\x0b\x32\x1e.CarServer.ChargePortDoorCloseH\x00\x12;\n\x12\x63hargePortDoorOpen\x18> \x01(\x0b\x32\x1d.CarServer.ChargePortDoorOpenH\x00\x12S\n\x1e\x62luetoothClassicPairingRequest\x18? \x01(\x0b\x32).CarServer.BluetoothClassicPairingRequestH\x00\x12\x31\n\rboomboxAction\x18@ \x01(\x0b\x32\x18.CarServer.BoomboxActionH\x00\x12<\n\x0fguestModeAction\x18\x41 \x01(\x0b\x32!.CarServer.VehicleState.GuestModeH\x00\x12\x37\n\x10setCopTempAction\x18\x42 \x01(\x0b\x32\x1b.CarServer.SetCopTempActionH\x00\x12Q\n\x1d\x61\x64\x64ManagedChargingSiteRequest\x18\x43 \x01(\x0b\x32(.CarServer.AddManagedChargingSiteRequestH\x00\x12W\n removeManagedChargingSiteRequest\x18\x44 \x01(\x0b\x32+.CarServer.RemoveManagedChargingSiteRequestH\x00\x12\x41\n\x15navigationRouteAction\x18\x45 \x01(\x0b\x32 .CarServer.NavigationRouteActionH\x00\x12\x39\n\x11\x61utoStwHeatAction\x18\x46 \x01(\x0b\x32\x1c.CarServer.AutoStwHeatActionH\x00\x12;\n\x12stwHeatLevelAction\x18G \x01(\x0b\x32\x1d.CarServer.StwHeatLevelActionH\x00\x12=\n\x13\x65raseUserDataAction\x18H \x01(\x0b\x32\x1e.CarServer.EraseUserDataActionH\x00\x12S\n\x1egetManagedChargingSitesRequest\x18I \x01(\x0b\x32).CarServer.GetManagedChargingSitesRequestH\x00\x12Y\n!updateChargeOnSolarFeatureRequest\x18J \x01(\x0b\x32,.CarServer.UpdateChargeOnSolarFeatureRequestH\x00\x12S\n\x1egetChargeOnSolarFeatureRequest\x18K \x01(\x0b\x32).CarServer.GetChargeOnSolarFeatureRequestH\x00\x12Y\n!vehicleControlSetPinToDriveAction\x18M \x01(\x0b\x32,.CarServer.VehicleControlSetPinToDriveActionH\x00\x12]\n#vehicleControlResetPinToDriveAction\x18N \x01(\x0b\x32..CarServer.VehicleControlResetPinToDriveActionH\x00\x12_\n$drivingClearSpeedLimitPinAdminAction\x18O \x01(\x0b\x32/.CarServer.DrivingClearSpeedLimitPinAdminActionH\x00\x12\x41\n\x15setOutletsOnOffAction\x18P \x01(\x0b\x32 .CarServer.SetOutletsOnOffActionH\x00\x12?\n\x14setOutletTimerAction\x18Q \x01(\x0b\x32\x1f.CarServer.SetOutletTimerActionH\x00\x12\x45\n\x17setOutletSocLimitAction\x18R \x01(\x0b\x32\".CarServer.SetOutletSocLimitActionH\x00\x12\x45\n\x17setPowerFeedOnOffAction\x18S \x01(\x0b\x32\".CarServer.SetPowerFeedOnOffActionH\x00\x12\x45\n\x17setPowerFeedTimerAction\x18T \x01(\x0b\x32\".CarServer.SetPowerFeedTimerActionH\x00\x12K\n\x1asetPowerFeedSocLimitAction\x18U \x01(\x0b\x32%.CarServer.SetPowerFeedSocLimitActionH\x00\x12[\n\"setTrailerLightTestStartStopAction\x18V \x01(\x0b\x32-.CarServer.SetTrailerLightTestStartStopActionH\x00\x12U\n\x1fsetTruckBedLightAutoStateAction\x18W \x01(\x0b\x32*.CarServer.SetTruckBedLightAutoStateActionH\x00\x12W\n setTruckBedLightBrightnessAction\x18X \x01(\x0b\x32+.CarServer.SetTruckBedLightBrightnessActionH\x00\x12g\n(vehicleControlResetPinToDriveAdminAction\x18Y \x01(\x0b\x32\x33.CarServer.VehicleControlResetPinToDriveAdminActionH\x00\x12K\n\x1anavigationWaypointsRequest\x18Z \x01(\x0b\x32%.CarServer.NavigationWaypointsRequestH\x00\x12K\n\x1asetPowershareFeatureAction\x18[ \x01(\x0b\x32%.CarServer.SetPowershareFeatureActionH\x00\x12Y\n!setPowershareDischargeLimitAction\x18\\ \x01(\x0b\x32,.CarServer.SetPowershareDischargeLimitActionH\x00\x12K\n\x1asetPowershareRequestAction\x18] \x01(\x0b\x32%.CarServer.SetPowershareRequestActionH\x00\x12G\n\x18setTentModeRequestAction\x18^ \x01(\x0b\x32#.CarServer.SetTentModeRequestActionH\x00\x12N\n\x1esetFrontZoneLightRequestAction\x18_ \x01(\x0b\x32$.CarServer.SetZoneLightRequestActionH\x00\x12M\n\x1dsetRearZoneLightRequestAction\x18` \x01(\x0b\x32$.CarServer.SetZoneLightRequestActionH\x00\x12<\n\x17\x61\x64\x64\x43hargeScheduleAction\x18\x61 \x01(\x0b\x32\x19.CarServer.ChargeScheduleH\x00\x12K\n\x1aremoveChargeScheduleAction\x18\x62 \x01(\x0b\x32%.CarServer.RemoveChargeScheduleActionH\x00\x12H\n\x1d\x61\x64\x64PreconditionScheduleAction\x18\x63 \x01(\x0b\x32\x1f.CarServer.PreconditionScheduleH\x00\x12W\n removePreconditionScheduleAction\x18\x64 \x01(\x0b\x32+.CarServer.RemovePreconditionScheduleActionH\x00\x12M\n\x1bsetLightbarBrightnessAction\x18\x65 \x01(\x0b\x32&.CarServer.SetLightbarBrightnessActionH\x00\x12\x45\n\x17setLightbarMiddleAction\x18\x66 \x01(\x0b\x32\".CarServer.SetLightbarMiddleActionH\x00\x12\x43\n\x16setLightbarDitchAction\x18g \x01(\x0b\x32!.CarServer.SetLightbarDitchActionH\x00\x12\x39\n\x11getMessagesAction\x18h \x01(\x0b\x32\x1c.CarServer.GetMessagesActionH\x00\x12\x45\n\x17teslaAuthResponseAction\x18i \x01(\x0b\x32\".CarServer.TeslaAuthResponseActionH\x00\x12U\n\x1fnavigationGpsDestinationRequest\x18j \x01(\x0b\x32*.CarServer.NavigationGpsDestinationRequestH\x00\x12\x63\n&batchRemovePreconditionSchedulesAction\x18k \x01(\x0b\x32\x31.CarServer.BatchRemovePreconditionSchedulesActionH\x00\x12W\n batchRemoveChargeSchedulesAction\x18l \x01(\x0b\x32+.CarServer.BatchRemoveChargeSchedulesActionH\x00\x12S\n\x1eparentalControlsClearPinAction\x18m \x01(\x0b\x32).CarServer.ParentalControlsClearPinActionH\x00\x12]\n#parentalControlsClearPinAdminAction\x18n \x01(\x0b\x32..CarServer.ParentalControlsClearPinAdminActionH\x00\x12\x43\n\x16parentalControlsAction\x18o \x01(\x0b\x32!.CarServer.ParentalControlsActionH\x00\x12_\n$parentalControlsEnableSettingsAction\x18p \x01(\x0b\x32/.CarServer.ParentalControlsEnableSettingsActionH\x00\x12]\n#parentalControlsSetSpeedLimitAction\x18q \x01(\x0b\x32..CarServer.ParentalControlsSetSpeedLimitActionH\x00\x12=\n\x13\x63\x61ncelSohTestAction\x18r \x01(\x0b\x32\x1e.CarServer.CancelSohTestActionH\x00\x12=\n\x13stopLightShowAction\x18t \x01(\x0b\x32\x1e.CarServer.StopLightShowActionH\x00\x12?\n\x14startLightShowAction\x18u \x01(\x0b\x32\x1f.CarServer.StartLightShowActionH\x00\x12G\n\x18setSuspensionLevelAction\x18v \x01(\x0b\x32#.CarServer.SetSuspensionLevelActionH\x00\x42\x14\n\x12vehicle_action_msgJ\x04\x08\x0b\x10\x0cJ\x04\x08<\x10=J\x04\x08L\x10M\"\xfe\x05\n\x0eGetVehicleData\x12\x31\n\x0egetChargeState\x18\x02 \x01(\x0b\x32\x19.CarServer.GetChargeState\x12\x33\n\x0fgetClimateState\x18\x03 \x01(\x0b\x32\x1a.CarServer.GetClimateState\x12/\n\rgetDriveState\x18\x04 \x01(\x0b\x32\x18.CarServer.GetDriveState\x12\x35\n\x10getLocationState\x18\x07 \x01(\x0b\x32\x1b.CarServer.GetLocationState\x12\x35\n\x10getClosuresState\x18\x08 \x01(\x0b\x32\x1b.CarServer.GetClosuresState\x12\x41\n\x16getChargeScheduleState\x18\n \x01(\x0b\x32!.CarServer.GetChargeScheduleState\x12S\n\x1fgetPreconditioningScheduleState\x18\x0b \x01(\x0b\x32*.CarServer.GetPreconditioningScheduleState\x12=\n\x14getTirePressureState\x18\x0e \x01(\x0b\x32\x1f.CarServer.GetTirePressureState\x12/\n\rgetMediaState\x18\x0f \x01(\x0b\x32\x18.CarServer.GetMediaState\x12;\n\x13getMediaDetailState\x18\x10 \x01(\x0b\x32\x1e.CarServer.GetMediaDetailState\x12\x41\n\x16getSoftwareUpdateState\x18\x11 \x01(\x0b\x32!.CarServer.GetSoftwareUpdateState\x12\x45\n\x18getParentalControlsState\x18\x13 \x01(\x0b\x32#.CarServer.GetParentalControlsStateJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e\"\x16\n\x14GetTirePressureState\"\x0f\n\rGetMediaState\"\x15\n\x13GetMediaDetailState\"\x18\n\x16GetSoftwareUpdateState\"\x10\n\x0eGetChargeState\"\x11\n\x0fGetClimateState\"\x0f\n\rGetDriveState\"\x12\n\x10GetLocationState\"\x12\n\x10GetClosuresState\"\x18\n\x16GetChargeScheduleState\"!\n\x1fGetPreconditioningScheduleState\"\x1a\n\x18GetParentalControlsState\"%\n\x13\x45raseUserDataAction\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\x96\x02\n\x08Response\x12-\n\x0c\x61\x63tionStatus\x18\x01 \x01(\x0b\x32\x17.CarServer.ActionStatus\x12-\n\x0bvehicleData\x18\x02 \x01(\x0b\x32\x16.CarServer.VehicleDataH\x00\x12\x39\n\x16getSessionInfoResponse\x18\x03 \x01(\x0b\x32\x17.Signatures.SessionInfoH\x00\x12@\n\x16getNearbyChargingSites\x18\x05 \x01(\x0b\x32\x1e.CarServer.NearbyChargingSitesH\x00\x12\x1f\n\x04ping\x18\t \x01(\x0b\x32\x0f.CarServer.PingH\x00\x42\x0e\n\x0cresponse_msg\"l\n\x0c\x41\x63tionStatus\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.CarServer.OperationStatus_E\x12.\n\rresult_reason\x18\x02 \x01(\x0b\x32\x17.CarServer.ResultReason\".\n\x0cResultReason\x12\x14\n\nplain_text\x18\x01 \x01(\tH\x00\x42\x08\n\x06reason\"F\n\rEncryptedData\x12\x14\n\x0c\x66ield_number\x18\x01 \x01(\x05\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x0b\n\x03tag\x18\x03 \x01(\x0c\")\n\x16\x43hargingSetLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05\"\xea\x01\n\x17\x43hargingStartStopAction\x12\"\n\x07unknown\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05start\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12)\n\x0estart_standard\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0fstart_max_range\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04stop\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x11\n\x0f\x63harging_action\".\n\x1f\x44rivingClearSpeedLimitPinAction\x12\x0b\n\x03pin\x18\x01 \x01(\t\"/\n\x1a\x44rivingSetSpeedLimitAction\x12\x11\n\tlimit_mph\x18\x01 \x01(\x01\"8\n\x17\x44rivingSpeedLimitAction\x12\x10\n\x08\x61\x63tivate\x18\x01 \x01(\x08\x12\x0b\n\x03pin\x18\x02 \x01(\t\";\n\x0eHvacAutoAction\x12\x10\n\x08power_on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\"\xfc\x06\n\x15HvacSeatHeaterActions\x12S\n\x14hvacSeatHeaterAction\x18\x01 \x03(\x0b\x32\x35.CarServer.HvacSeatHeaterActions.HvacSeatHeaterAction\x1a\x8d\x06\n\x14HvacSeatHeaterAction\x12.\n\x13SEAT_HEATER_UNKNOWN\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_OFF\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_LOW\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0fSEAT_HEATER_MED\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12+\n\x10SEAT_HEATER_HIGH\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12+\n\x10\x43\x41R_SEAT_UNKNOWN\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12.\n\x13\x43\x41R_SEAT_FRONT_LEFT\x18\x07 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12/\n\x14\x43\x41R_SEAT_FRONT_RIGHT\x18\x08 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12-\n\x12\x43\x41R_SEAT_REAR_LEFT\x18\t \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12\x32\n\x17\x43\x41R_SEAT_REAR_LEFT_BACK\x18\n \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12/\n\x14\x43\x41R_SEAT_REAR_CENTER\x18\x0b \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12.\n\x13\x43\x41R_SEAT_REAR_RIGHT\x18\x0c \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12\x33\n\x18\x43\x41R_SEAT_REAR_RIGHT_BACK\x18\r \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12\x32\n\x17\x43\x41R_SEAT_THIRD_ROW_LEFT\x18\x0e \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12\x33\n\x18\x43\x41R_SEAT_THIRD_ROW_RIGHT\x18\x0f \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x42\x13\n\x11seat_heater_levelB\x0f\n\rseat_position\"\xe8\x04\n\x15HvacSeatCoolerActions\x12S\n\x14hvacSeatCoolerAction\x18\x01 \x03(\x0b\x32\x35.CarServer.HvacSeatCoolerActions.HvacSeatCoolerAction\x1a\xbb\x01\n\x14HvacSeatCoolerAction\x12Q\n\x11seat_cooler_level\x18\x01 \x01(\x0e\x32\x36.CarServer.HvacSeatCoolerActions.HvacSeatCoolerLevel_E\x12P\n\rseat_position\x18\x02 \x01(\x0e\x32\x39.CarServer.HvacSeatCoolerActions.HvacSeatCoolerPosition_E\"\xad\x01\n\x15HvacSeatCoolerLevel_E\x12\x1f\n\x1bHvacSeatCoolerLevel_Unknown\x10\x00\x12\x1b\n\x17HvacSeatCoolerLevel_Off\x10\x01\x12\x1b\n\x17HvacSeatCoolerLevel_Low\x10\x02\x12\x1b\n\x17HvacSeatCoolerLevel_Med\x10\x03\x12\x1c\n\x18HvacSeatCoolerLevel_High\x10\x04\"\x8b\x01\n\x18HvacSeatCoolerPosition_E\x12\"\n\x1eHvacSeatCoolerPosition_Unknown\x10\x00\x12$\n HvacSeatCoolerPosition_FrontLeft\x10\x01\x12%\n!HvacSeatCoolerPosition_FrontRight\x10\x02\"\xde\x01\n\x1fHvacSetPreconditioningMaxAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12]\n\x14manual_override_mode\x18\x03 \x03(\x0e\x32?.CarServer.HvacSetPreconditioningMaxAction.ManualOverrideMode_E\"7\n\x14ManualOverrideMode_E\x12\x0b\n\x07\x44ogMode\x10\x00\x12\x07\n\x03Soc\x10\x01\x12\t\n\x05\x44oors\x10\x02\"1\n\x1dHvacSteeringWheelHeaterAction\x12\x10\n\x08power_on\x18\x01 \x01(\x08\"\xb3\x05\n\x1fHvacTemperatureAdjustmentAction\x12\x15\n\rdelta_celsius\x18\x01 \x01(\x02\x12\x15\n\rdelta_percent\x18\x02 \x01(\x11\x12\x18\n\x10\x61\x62solute_celsius\x18\x03 \x01(\x02\x12\x45\n\x05level\x18\x05 \x01(\x0b\x32\x36.CarServer.HvacTemperatureAdjustmentAction.Temperature\x12]\n\x15hvac_temperature_zone\x18\x04 \x03(\x0b\x32>.CarServer.HvacTemperatureAdjustmentAction.HvacTemperatureZone\x12\x1b\n\x13\x64river_temp_celsius\x18\x06 \x01(\x02\x12\x1e\n\x16passenger_temp_celsius\x18\x07 \x01(\x02\x1a\x88\x01\n\x0bTemperature\x12\'\n\x0cTEMP_UNKNOWN\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08TEMP_MIN\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08TEMP_MAX\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xd9\x01\n\x13HvacTemperatureZone\x12,\n\x11TEMP_ZONE_UNKNOWN\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12/\n\x14TEMP_ZONE_FRONT_LEFT\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x30\n\x15TEMP_ZONE_FRONT_RIGHT\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12)\n\x0eTEMP_ZONE_REAR\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\"R\n\x16GetNearbyChargingSites\x12\x19\n\x11include_meta_data\x18\x01 \x01(\x08\x12\x0e\n\x06radius\x18\x02 \x01(\x05\x12\r\n\x05\x63ount\x18\x03 \x01(\x05\"\x9c\x01\n\x13NearbyChargingSites\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\rsuperchargers\x18\x03 \x03(\x0b\x32\x18.CarServer.Superchargers\x12%\n\x1d\x63ongestion_sync_time_utc_secs\x18\x04 \x01(\x03\"\xcb\x03\n\rSuperchargers\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x11\n\tamenities\x18\x02 \x01(\t\x12\x18\n\x10\x61vailable_stalls\x18\x03 \x01(\x05\x12\x14\n\x0c\x62illing_info\x18\x04 \x01(\t\x12\x14\n\x0c\x62illing_time\x18\x05 \x01(\t\x12\x0c\n\x04\x63ity\x18\x06 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x07 \x01(\t\x12\x16\n\x0e\x64istance_miles\x18\x08 \x01(\x02\x12\x10\n\x08\x64istrict\x18\t \x01(\t\x12$\n\x08location\x18\n \x01(\x0b\x32\x12.CarServer.LatLong\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x13\n\x0bpostal_code\x18\x0c \x01(\t\x12\x13\n\x0bsite_closed\x18\r \x01(\x08\x12\r\n\x05state\x18\x0e \x01(\t\x12\x16\n\x0estreet_address\x18\x0f \x01(\t\x12\x14\n\x0ctotal_stalls\x18\x10 \x01(\x05\x12\x14\n\x0cwithin_range\x18\x11 \x01(\x08\x12\x14\n\x0cmax_power_kw\x18\x12 \x01(\x05\x12\"\n\x1aout_of_order_stalls_number\x18\x13 \x01(\x05\x12!\n\x19out_of_order_stalls_names\x18\x14 \x01(\t\"\x11\n\x0fMediaPlayAction\"b\n\x11MediaUpdateVolume\x12\x16\n\x0cvolume_delta\x18\x01 \x01(\x11H\x00\x12\x1f\n\x15volume_absolute_float\x18\x03 \x01(\x02H\x00\x42\x0e\n\x0cmedia_volumeJ\x04\x08\x02\x10\x03\"\x13\n\x11MediaNextFavorite\"\x17\n\x15MediaPreviousFavorite\"\x10\n\x0eMediaNextTrack\"\x14\n\x12MediaPreviousTrack\"*\n(VehicleControlCancelSoftwareUpdateAction\"!\n\x1fVehicleControlFlashLightsAction\"\x1e\n\x1cVehicleControlHonkHornAction\"#\n!VehicleControlResetValetPinAction\"@\n*VehicleControlScheduleSoftwareUpdateAction\x12\x12\n\noffset_sec\x18\x01 \x01(\x05\"/\n!VehicleControlSetSentryModeAction\x12\n\n\x02on\x18\x01 \x01(\x08\"@\n VehicleControlSetValetModeAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08password\x18\x02 \x01(\t\"\xd6\x01\n$VehicleControlSunroofOpenCloseAction\x12\x18\n\x0e\x61\x62solute_level\x18\x01 \x01(\x05H\x00\x12\x15\n\x0b\x64\x65lta_level\x18\x02 \x01(\x11H\x00\x12\x1f\n\x04vent\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12 \n\x05\x63lose\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x12\x1f\n\x04open\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x01\x42\x0f\n\rsunroof_levelB\x08\n\x06\x61\x63tion\"Z\n#VehicleControlTriggerHomelinkAction\x12$\n\x08location\x18\x01 \x01(\x0b\x32\x12.CarServer.LatLong\x12\r\n\x05token\x18\x02 \x01(\t\"\x93\x01\n\x1aVehicleControlWindowAction\x12\"\n\x07unknown\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04vent\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05\x63lose\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x08\n\x06\x61\x63tionJ\x04\x08\x01\x10\x02\">\n\x17HvacBioweaponModeAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\"\xaa\x02\n\x15\x41utoSeatClimateAction\x12\x39\n\x07\x63\x61rseat\x18\x01 \x03(\x0b\x32(.CarServer.AutoSeatClimateAction.CarSeat\x1a\x61\n\x07\x43\x61rSeat\x12\n\n\x02on\x18\x01 \x01(\x08\x12J\n\rseat_position\x18\x02 \x01(\x0e\x32\x33.CarServer.AutoSeatClimateAction.AutoSeatPosition_E\"s\n\x12\x41utoSeatPosition_E\x12\x1c\n\x18\x41utoSeatPosition_Unknown\x10\x00\x12\x1e\n\x1a\x41utoSeatPosition_FrontLeft\x10\x01\x12\x1f\n\x1b\x41utoSeatPosition_FrontRight\x10\x02\"\x87\x01\n\x04Ping\x12\x0f\n\x07ping_id\x18\x01 \x01(\x05\x12\x33\n\x0flocal_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15last_remote_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"A\n\x17ScheduledChargingAction\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x15\n\rcharging_time\x18\x02 \x01(\x05\"\xe6\x01\n\x18ScheduledDepartureAction\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x16\n\x0e\x64\x65parture_time\x18\x02 \x01(\x05\x12>\n\x15preconditioning_times\x18\x03 \x01(\x0b\x32\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18\x04 \x01(\x0b\x32\x1f.CarServer.OffPeakChargingTimes\x12\x1f\n\x17off_peak_hours_end_time\x18\x05 \x01(\x05\"\x97\x02\n\x17HvacClimateKeeperAction\x12U\n\x13\x43limateKeeperAction\x18\x01 \x01(\x0e\x32\x38.CarServer.HvacClimateKeeperAction.ClimateKeeperAction_E\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\"\x8b\x01\n\x15\x43limateKeeperAction_E\x12\x1b\n\x17\x43limateKeeperAction_Off\x10\x00\x12\x1a\n\x16\x43limateKeeperAction_On\x10\x01\x12\x1b\n\x17\x43limateKeeperAction_Dog\x10\x02\x12\x1c\n\x18\x43limateKeeperAction_Camp\x10\x03\"%\n\x17HvacRecirculationAction\x12\n\n\x02on\x18\x01 \x01(\x08\".\n\x15SetChargingAmpsAction\x12\x15\n\rcharging_amps\x18\x01 \x01(\x05\"(\n\x1aRemoveChargeScheduleAction\x12\n\n\x02id\x18\x01 \x01(\x04\"M\n BatchRemoveChargeSchedulesAction\x12\x0c\n\x04home\x18\x01 \x01(\x08\x12\x0c\n\x04work\x18\x02 \x01(\x08\x12\r\n\x05other\x18\x03 \x01(\x08\"S\n&BatchRemovePreconditionSchedulesAction\x12\x0c\n\x04home\x18\x01 \x01(\x08\x12\x0c\n\x04work\x18\x02 \x01(\x08\x12\r\n\x05other\x18\x03 \x01(\x08\".\n RemovePreconditionScheduleAction\x12\n\n\x02id\x18\x01 \x01(\x04\"@\n SetCabinOverheatProtectionAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08\x66\x61n_only\x18\x02 \x01(\x08\"+\n\x14SetVehicleNameAction\x12\x13\n\x0bvehicleName\x18\x01 \x01(\t\"\x15\n\x13\x43hargePortDoorClose\"\x14\n\x12\x43hargePortDoorOpen\"\x1e\n\rBoomboxAction\x12\r\n\x05sound\x18\x01 \x01(\r\"X\n\x10SetCopTempAction\x12\x44\n\x11\x63opActivationTemp\x18\x01 \x01(\x0e\x32).CarServer.ClimateState.CopActivationTemp\"A\n!VehicleControlSetPinToDriveAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x10\n\x08password\x18\x02 \x01(\t\"%\n#VehicleControlResetPinToDriveAction\"\x12\n\x10RemoteStartDrive\")\n\x13\x43reateStreamSession\x12\x12\n\nsession_id\x18\x01 \x01(\t\"1\n\rStreamMessage\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"7\n\x11NavigationRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\r\n\x05order\x18\x02 \x01(\x05\".\n\x1dNavigationSuperchargerRequest\x12\r\n\x05order\x18\x01 \x01(\x05\"5\n\x1cUiSetUpcomingCalendarEntries\x12\x15\n\rcalendar_data\x18\x01 \x01(\t\"\x96\x06\n\x17VehicleDataSubscription\x12I\n\x0fpii_key_request\x18\r \x01(\x0b\x32\x30.CarServer.VehicleDataSubscription.PiiKeyRequest\x12\x1f\n\x17subscription_duration_s\x18\x03 \x01(\x05\x12\x1b\n\x13subscription_ping_s\x18\x0c \x01(\x05\x12\'\n\x1fgui_settings_max_update_rate_ms\x18\x04 \x01(\x05\x12\'\n\x1f\x63harge_state_max_update_rate_ms\x18\x05 \x01(\x05\x12(\n climate_state_max_update_rate_ms\x18\x06 \x01(\x05\x12&\n\x1e\x64rive_state_max_update_rate_ms\x18\x07 \x01(\x05\x12(\n vehicle_state_max_update_rate_ms\x18\x08 \x01(\x05\x12)\n!vehicle_config_max_update_rate_ms\x18\t \x01(\x05\x12)\n!location_state_max_update_rate_ms\x18\n \x01(\x05\x12)\n!closures_state_max_update_rate_ms\x18\x0b \x01(\x05\x12\x31\n)parked_accessory_state_max_update_rate_ms\x18\x0e \x01(\x05\x12\x30\n(charge_schedule_state_max_update_rate_ms\x18\x0f \x01(\x05\x12\x39\n1preconditioning_schedule_state_max_update_rate_ms\x18\x10 \x01(\x05\x12&\n\x1e\x61lert_state_max_update_rate_ms\x18\x11 \x01(\x05\x12+\n#suspension_state_max_update_rate_ms\x18\x12 \x01(\x05\x1a.\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x01 \x01(\t\"\xef\x06\n\x0eVehicleDataAck\x12:\n\x16\x63harge_state_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17\x63limate_state_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x18\x63losures_state_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15\x64rive_state_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16gui_settings_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x18location_state_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x18vehicle_config_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17vehicle_state_timestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n parked_accessory_state_timestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1f\x63harge_schedule_state_timestamp\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12L\n(preconditioning_schedule_state_timestamp\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15\x61lert_state_timestamp\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x1asuspension_state_timestamp\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x16\x64\x65\x63ryption_error_field\x18\n \x03(\x05\x42\x02\x10\x01\"(\n\x12VitalsSubscription\x12\x12\n\nsession_id\x18\x01 \x01(\x05\"\x0b\n\tVitalsAck\"\x17\n\x15\x44\x61shcamSaveClipAction\"f\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x02 \x01(\t\x12\x36\n\x12pii_key_expiration\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\";\n\x14PseudonymSyncRequest\x12#\n\x1blast_known_pseudonym_hashed\x18\x01 \x01(\x0c\"\x95\x02\n\x14NavigationGpsRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12\x41\n\x05order\x18\x03 \x01(\x0e\x32\x32.CarServer.NavigationGpsRequest.RemoteNavTripOrder\"\x9f\x01\n\x12RemoteNavTripOrder\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_UNKNOWN\x10\x00\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_REPLACE\x10\x01\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_PREPEND\x10\x02\x12 \n\x1cREMOTE_NAV_TRIP_ORDER_APPEND\x10\x03\"\x16\n\x14SetRateTariffRequest\"\x16\n\x14GetRateTariffRequest\"!\n\x12VideoRequestAction\x12\x0b\n\x03url\x18\x01 \x01(\t\"#\n\x13TakeDrivenoteAction\x12\x0c\n\x04note\x18\x01 \x01(\t\"H\n\x1e\x42luetoothClassicPairingRequest\x12\x11\n\tutf8_name\x18\x01 \x01(\t\x12\x13\n\x0bmac_address\x18\x02 \x01(\x0c\"\x1f\n\x1d\x41\x64\x64ManagedChargingSiteRequest\"6\n RemoveManagedChargingSiteRequest\x12\x12\n\npublic_key\x18\x01 \x01(\t\"\x17\n\x15NavigationRouteAction\"\x1f\n\x11\x41utoStwHeatAction\x12\n\n\x02on\x18\x01 \x01(\x08\"E\n\x12StwHeatLevelAction\x12/\n\x0estw_heat_level\x18\x01 \x01(\x0e\x32\x17.CarServer.StwHeatLevel\" \n\x1eGetManagedChargingSitesRequest\"]\n!UpdateChargeOnSolarFeatureRequest\x12\x38\n\x0f\x63harge_on_solar\x18\x01 \x01(\x0b\x32\x1f.CarServer.ChargeOnSolarFeature\" \n\x1eGetChargeOnSolarFeatureRequest\"_\n\x14\x43hargeOnSolarFeature\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x1a\n\x12lower_charge_limit\x18\x02 \x01(\x02\x12\x1a\n\x12upper_charge_limit\x18\x03 \x01(\x02\"&\n$DrivingClearSpeedLimitPinAdminAction\"\xe0\x01\n\x15SetOutletsOnOffAction\x12\x46\n\x0eoutlet_request\x18\x01 \x01(\x0e\x32..CarServer.SetOutletsOnOffAction.OutletRequest\"\x7f\n\rOutletRequest\x12\x1a\n\x16OUTLET_REQUEST_UNKNOWN\x10\x00\x12\x16\n\x12OUTLET_REQUEST_OFF\x10\x01\x12 \n\x1cOUTLET_REQUEST_CABIN_AND_BED\x10\x02\x12\x18\n\x14OUTLET_REQUEST_CABIN\x10\x03\"+\n\x14SetOutletTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05\"*\n\x17SetOutletSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05\"\xa3\x02\n\x17SetPowerFeedOnOffAction\x12O\n\x12power_feed_request\x18\x01 \x01(\x0e\x32\x33.CarServer.SetPowerFeedOnOffAction.PowerFeedRequest\"\xb6\x01\n\x10PowerFeedRequest\x12\x1e\n\x1aPOWER_FEED_REQUEST_UNKNOWN\x10\x00\x12\x1a\n\x16POWER_FEED_REQUEST_OFF\x10\x01\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_1\x10\x02\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_2\x10\x03\x12(\n$POWER_FEED_REQUEST_FEED_1_AND_FEED_2\x10\x04\".\n\x17SetPowerFeedTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05\"-\n\x1aSetPowerFeedSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05\"8\n\"SetTrailerLightTestStartStopAction\x12\x12\n\nstart_stop\x18\x01 \x01(\x08\"6\n\x1fSetTruckBedLightAutoStateAction\x12\x13\n\x0bpower_state\x18\x01 \x01(\x08\"6\n SetTruckBedLightBrightnessAction\x12\x12\n\nbrightness\x18\x01 \x01(\r\"*\n(VehicleControlResetPinToDriveAdminAction\"\xd4\x01\n\x1aNavigationWaypointsRequest\x12\x11\n\twaypoints\x18\x01 \x01(\t\x12P\n\x11trip_plan_options\x18\x02 \x01(\x0b\x32\x35.CarServer.NavigationWaypointsRequest.TripPlanOptions\x1aQ\n\x0fTripPlanOptions\x12\x1d\n\x15\x64\x65stination_start_soe\x18\x01 \x01(\x05\x12\x1f\n\x17\x64\x65stination_arrival_soe\x18\x02 \x01(\x05\"\x8c\x02\n\x1aSetPowershareFeatureAction\x12\x62\n\x1apowershare_feature_request\x18\x01 \x01(\x0e\x32>.CarServer.SetPowershareFeatureAction.PowershareFeatureRequest\"\x89\x01\n\x18PowershareFeatureRequest\x12&\n\"POWERSHARE_FEATURE_REQUEST_UNKNOWN\x10\x00\x12\"\n\x1ePOWERSHARE_FEATURE_REQUEST_OFF\x10\x01\x12!\n\x1dPOWERSHARE_FEATURE_REQUEST_ON\x10\x02\"G\n!SetPowershareDischargeLimitAction\x12\"\n\x1apowershare_discharge_limit\x18\x01 \x01(\x05\"\xdd\x01\n\x1aSetPowershareRequestAction\x12S\n\x12powershare_request\x18\x01 \x01(\x0e\x32\x37.CarServer.SetPowershareRequestAction.PowershareRequest\"j\n\x11PowershareRequest\x12\x1e\n\x1aPOWERSHARE_REQUEST_UNKNOWN\x10\x00\x12\x1a\n\x16POWERSHARE_REQUEST_OFF\x10\x01\x12\x19\n\x15POWERSHARE_REQUEST_ON\x10\x02\"&\n\x18SetTentModeRequestAction\x12\n\n\x02on\x18\x01 \x01(\x08\"\xf4\x01\n\x19SetZoneLightRequestAction\x12Q\n\x12zone_light_request\x18\x01 \x01(\x0e\x32\x35.CarServer.SetZoneLightRequestAction.ZoneLightRequest\"\x83\x01\n\x10ZoneLightRequest\x12\x1a\n\x16ZONE_LIGHT_REQUEST_OFF\x10\x00\x12\x1a\n\x16ZONE_LIGHT_REQUEST_LOW\x10\x01\x12\x1a\n\x16ZONE_LIGHT_REQUEST_MED\x10\x02\x12\x1b\n\x17ZONE_LIGHT_REQUEST_HIGH\x10\x03\"9\n\x1bSetLightbarBrightnessAction\x12\x1a\n\x12\x62rightness_request\x18\x01 \x01(\r\"7\n\x17SetLightbarMiddleAction\x12\x1c\n\x14middle_light_request\x18\x01 \x01(\x08\"6\n\x16SetLightbarDitchAction\x12\x1c\n\x14\x64itch_lights_request\x18\x01 \x01(\x08\"\x13\n\x11GetMessagesAction\"\xa7\x01\n\x17TeslaAuthResponseAction\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\r\n\x05scope\x18\x02 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x03 \x01(\t\x12\x15\n\rrefresh_token\x18\x04 \x01(\t\x12\x18\n\x10\x65xpiry_timestamp\x18\x05 \x01(\x03\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x14\n\x0cscoped_token\x18\x07 \x01(\t\"\xc0\x02\n\x1fNavigationGpsDestinationRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\t\x12L\n\x05order\x18\x04 \x01(\x0e\x32=.CarServer.NavigationGpsDestinationRequest.RemoteNavTripOrder\"\x9f\x01\n\x12RemoteNavTripOrder\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_UNKNOWN\x10\x00\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_REPLACE\x10\x01\x12!\n\x1dREMOTE_NAV_TRIP_ORDER_PREPEND\x10\x02\x12 \n\x1cREMOTE_NAV_TRIP_ORDER_APPEND\x10\x03\"-\n\x1eParentalControlsClearPinAction\x12\x0b\n\x03pin\x18\x01 \x01(\t\"%\n#ParentalControlsClearPinAdminAction\"7\n\x16ParentalControlsAction\x12\x10\n\x08\x61\x63tivate\x18\x01 \x01(\x08\x12\x0b\n\x03pin\x18\x02 \x01(\t\"\xff\x02\n$ParentalControlsEnableSettingsAction\x12X\n\x07setting\x18\x01 \x01(\x0e\x32G.CarServer.ParentalControlsEnableSettingsAction.ParentalControlsSetting\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"\xec\x01\n\x17ParentalControlsSetting\x12%\n!PARENTAL_CONTROLS_SETTING_UNKNOWN\x10\x00\x12)\n%PARENTAL_CONTROLS_SETTING_SPEED_LIMIT\x10\x01\x12*\n&PARENTAL_CONTROLS_SETTING_ACCELERATION\x10\x02\x12-\n)PARENTAL_CONTROLS_SETTING_SAFETY_FEATURES\x10\x03\x12$\n PARENTAL_CONTROLS_SETTING_CURFEW\x10\x04\"8\n#ParentalControlsSetSpeedLimitAction\x12\x11\n\tlimit_mph\x18\x01 \x01(\x01\"\x15\n\x13\x43\x61ncelSohTestAction\"\x15\n\x13StopLightShowAction\"c\n\x14StartLightShowAction\x12\x12\n\nshow_index\x18\x01 \x01(\x05\x12\x12\n\nstart_time\x18\x02 \x01(\x03\x12\x0e\n\x06volume\x18\x03 \x01(\x02\x12\x13\n\x0b\x64\x61nce_moves\x18\x04 \x01(\x08\"\xc7\x02\n\x18SetSuspensionLevelAction\x12M\n\x10suspension_level\x18\x01 \x01(\x0e\x32\x33.CarServer.SetSuspensionLevelAction.SuspensionLevel\"\xdb\x01\n\x0fSuspensionLevel\x12\x1c\n\x18SUSPENSION_LEVEL_INVALID\x10\x00\x12\x1a\n\x16SUSPENSION_LEVEL_ENTRY\x10\x01\x12\x18\n\x14SUSPENSION_LEVEL_LOW\x10\x02\x12\x1b\n\x17SUSPENSION_LEVEL_MEDIUM\x10\x03\x12\x19\n\x15SUSPENSION_LEVEL_HIGH\x10\x04\x12\x1e\n\x1aSUSPENSION_LEVEL_VERY_HIGH\x10\x05\x12\x1c\n\x18SUSPENSION_LEVEL_EXTRACT\x10\x06*F\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x01\x42n\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'car_server_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.car_server_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' - _globals['_VEHICLEDATAACK'].fields_by_name['decryption_error_field']._loaded_options = None - _globals['_VEHICLEDATAACK'].fields_by_name['decryption_error_field']._serialized_options = b'\x10\x01' - _globals['_OPERATIONSTATUS_E']._serialized_start = 23602 - _globals['_OPERATIONSTATUS_E']._serialized_end = 23672 - _globals['_ACTION']._serialized_start = 111 - _globals['_ACTION']._serialized_end = 190 - _globals['_VEHICLEACTION']._serialized_start = 193 - _globals['_VEHICLEACTION']._serialized_end = 8595 - _globals['_GETVEHICLEDATA']._serialized_start = 8598 - _globals['_GETVEHICLEDATA']._serialized_end = 9364 - _globals['_GETTIREPRESSURESTATE']._serialized_start = 9366 - _globals['_GETTIREPRESSURESTATE']._serialized_end = 9388 - _globals['_GETMEDIASTATE']._serialized_start = 9390 - _globals['_GETMEDIASTATE']._serialized_end = 9405 - _globals['_GETMEDIADETAILSTATE']._serialized_start = 9407 - _globals['_GETMEDIADETAILSTATE']._serialized_end = 9428 - _globals['_GETSOFTWAREUPDATESTATE']._serialized_start = 9430 - _globals['_GETSOFTWAREUPDATESTATE']._serialized_end = 9454 - _globals['_GETCHARGESTATE']._serialized_start = 9456 - _globals['_GETCHARGESTATE']._serialized_end = 9472 - _globals['_GETCLIMATESTATE']._serialized_start = 9474 - _globals['_GETCLIMATESTATE']._serialized_end = 9491 - _globals['_GETDRIVESTATE']._serialized_start = 9493 - _globals['_GETDRIVESTATE']._serialized_end = 9508 - _globals['_GETLOCATIONSTATE']._serialized_start = 9510 - _globals['_GETLOCATIONSTATE']._serialized_end = 9528 - _globals['_GETCLOSURESSTATE']._serialized_start = 9530 - _globals['_GETCLOSURESSTATE']._serialized_end = 9548 - _globals['_GETCHARGESCHEDULESTATE']._serialized_start = 9550 - _globals['_GETCHARGESCHEDULESTATE']._serialized_end = 9574 - _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_start = 9576 - _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_end = 9609 - _globals['_GETPARENTALCONTROLSSTATE']._serialized_start = 9611 - _globals['_GETPARENTALCONTROLSSTATE']._serialized_end = 9637 - _globals['_ERASEUSERDATAACTION']._serialized_start = 9639 - _globals['_ERASEUSERDATAACTION']._serialized_end = 9676 - _globals['_RESPONSE']._serialized_start = 9679 - _globals['_RESPONSE']._serialized_end = 9957 - _globals['_ACTIONSTATUS']._serialized_start = 9959 - _globals['_ACTIONSTATUS']._serialized_end = 10067 - _globals['_RESULTREASON']._serialized_start = 10069 - _globals['_RESULTREASON']._serialized_end = 10115 - _globals['_ENCRYPTEDDATA']._serialized_start = 10117 - _globals['_ENCRYPTEDDATA']._serialized_end = 10187 - _globals['_CHARGINGSETLIMITACTION']._serialized_start = 10189 - _globals['_CHARGINGSETLIMITACTION']._serialized_end = 10230 - _globals['_CHARGINGSTARTSTOPACTION']._serialized_start = 10233 - _globals['_CHARGINGSTARTSTOPACTION']._serialized_end = 10467 - _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_start = 10469 - _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_end = 10515 - _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_start = 10517 - _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_end = 10564 - _globals['_DRIVINGSPEEDLIMITACTION']._serialized_start = 10566 - _globals['_DRIVINGSPEEDLIMITACTION']._serialized_end = 10622 - _globals['_HVACAUTOACTION']._serialized_start = 10624 - _globals['_HVACAUTOACTION']._serialized_end = 10683 - _globals['_HVACSEATHEATERACTIONS']._serialized_start = 10686 - _globals['_HVACSEATHEATERACTIONS']._serialized_end = 11578 - _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_start = 10797 - _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_end = 11578 - _globals['_HVACSEATCOOLERACTIONS']._serialized_start = 11581 - _globals['_HVACSEATCOOLERACTIONS']._serialized_end = 12197 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_start = 11692 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_end = 11879 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_start = 11882 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_end = 12055 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_start = 12058 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_end = 12197 - _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_start = 12200 - _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_end = 12422 - _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_start = 12367 - _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_end = 12422 - _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_start = 12424 - _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_end = 12473 - _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_start = 12476 - _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_end = 13167 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_start = 12811 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_end = 12947 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_start = 12950 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_end = 13167 - _globals['_GETNEARBYCHARGINGSITES']._serialized_start = 13169 - _globals['_GETNEARBYCHARGINGSITES']._serialized_end = 13251 - _globals['_NEARBYCHARGINGSITES']._serialized_start = 13254 - _globals['_NEARBYCHARGINGSITES']._serialized_end = 13410 - _globals['_SUPERCHARGERS']._serialized_start = 13413 - _globals['_SUPERCHARGERS']._serialized_end = 13872 - _globals['_MEDIAPLAYACTION']._serialized_start = 13874 - _globals['_MEDIAPLAYACTION']._serialized_end = 13891 - _globals['_MEDIAUPDATEVOLUME']._serialized_start = 13893 - _globals['_MEDIAUPDATEVOLUME']._serialized_end = 13991 - _globals['_MEDIANEXTFAVORITE']._serialized_start = 13993 - _globals['_MEDIANEXTFAVORITE']._serialized_end = 14012 - _globals['_MEDIAPREVIOUSFAVORITE']._serialized_start = 14014 - _globals['_MEDIAPREVIOUSFAVORITE']._serialized_end = 14037 - _globals['_MEDIANEXTTRACK']._serialized_start = 14039 - _globals['_MEDIANEXTTRACK']._serialized_end = 14055 - _globals['_MEDIAPREVIOUSTRACK']._serialized_start = 14057 - _globals['_MEDIAPREVIOUSTRACK']._serialized_end = 14077 - _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_start = 14079 - _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_end = 14121 - _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_start = 14123 - _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_end = 14156 - _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_start = 14158 - _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_end = 14188 - _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_start = 14190 - _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_end = 14225 - _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_start = 14227 - _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_end = 14291 - _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_start = 14293 - _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_end = 14340 - _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_start = 14342 - _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_end = 14406 - _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_start = 14409 - _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_end = 14623 - _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_start = 14625 - _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_end = 14715 - _globals['_VEHICLECONTROLWINDOWACTION']._serialized_start = 14718 - _globals['_VEHICLECONTROLWINDOWACTION']._serialized_end = 14865 - _globals['_HVACBIOWEAPONMODEACTION']._serialized_start = 14867 - _globals['_HVACBIOWEAPONMODEACTION']._serialized_end = 14929 - _globals['_AUTOSEATCLIMATEACTION']._serialized_start = 14932 - _globals['_AUTOSEATCLIMATEACTION']._serialized_end = 15230 - _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_start = 15016 - _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_end = 15113 - _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_start = 15115 - _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_end = 15230 - _globals['_PING']._serialized_start = 15233 - _globals['_PING']._serialized_end = 15368 - _globals['_SCHEDULEDCHARGINGACTION']._serialized_start = 15370 - _globals['_SCHEDULEDCHARGINGACTION']._serialized_end = 15435 - _globals['_SCHEDULEDDEPARTUREACTION']._serialized_start = 15438 - _globals['_SCHEDULEDDEPARTUREACTION']._serialized_end = 15668 - _globals['_HVACCLIMATEKEEPERACTION']._serialized_start = 15671 - _globals['_HVACCLIMATEKEEPERACTION']._serialized_end = 15950 - _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_start = 15811 - _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_end = 15950 - _globals['_HVACRECIRCULATIONACTION']._serialized_start = 15952 - _globals['_HVACRECIRCULATIONACTION']._serialized_end = 15989 - _globals['_SETCHARGINGAMPSACTION']._serialized_start = 15991 - _globals['_SETCHARGINGAMPSACTION']._serialized_end = 16037 - _globals['_REMOVECHARGESCHEDULEACTION']._serialized_start = 16039 - _globals['_REMOVECHARGESCHEDULEACTION']._serialized_end = 16079 - _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_start = 16081 - _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_end = 16158 - _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_start = 16160 - _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_end = 16243 - _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_start = 16245 - _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_end = 16291 - _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_start = 16293 - _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_end = 16357 - _globals['_SETVEHICLENAMEACTION']._serialized_start = 16359 - _globals['_SETVEHICLENAMEACTION']._serialized_end = 16402 - _globals['_CHARGEPORTDOORCLOSE']._serialized_start = 16404 - _globals['_CHARGEPORTDOORCLOSE']._serialized_end = 16425 - _globals['_CHARGEPORTDOOROPEN']._serialized_start = 16427 - _globals['_CHARGEPORTDOOROPEN']._serialized_end = 16447 - _globals['_BOOMBOXACTION']._serialized_start = 16449 - _globals['_BOOMBOXACTION']._serialized_end = 16479 - _globals['_SETCOPTEMPACTION']._serialized_start = 16481 - _globals['_SETCOPTEMPACTION']._serialized_end = 16569 - _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_start = 16571 - _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_end = 16636 - _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_start = 16638 - _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_end = 16675 - _globals['_REMOTESTARTDRIVE']._serialized_start = 16677 - _globals['_REMOTESTARTDRIVE']._serialized_end = 16695 - _globals['_CREATESTREAMSESSION']._serialized_start = 16697 - _globals['_CREATESTREAMSESSION']._serialized_end = 16738 - _globals['_STREAMMESSAGE']._serialized_start = 16740 - _globals['_STREAMMESSAGE']._serialized_end = 16789 - _globals['_NAVIGATIONREQUEST']._serialized_start = 16791 - _globals['_NAVIGATIONREQUEST']._serialized_end = 16846 - _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_start = 16848 - _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_end = 16894 - _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_start = 16896 - _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_end = 16949 - _globals['_VEHICLEDATASUBSCRIPTION']._serialized_start = 16952 - _globals['_VEHICLEDATASUBSCRIPTION']._serialized_end = 17742 - _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_start = 17696 - _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_end = 17742 - _globals['_VEHICLEDATAACK']._serialized_start = 17745 - _globals['_VEHICLEDATAACK']._serialized_end = 18624 - _globals['_VITALSSUBSCRIPTION']._serialized_start = 18626 - _globals['_VITALSSUBSCRIPTION']._serialized_end = 18666 - _globals['_VITALSACK']._serialized_start = 18668 - _globals['_VITALSACK']._serialized_end = 18679 - _globals['_DASHCAMSAVECLIPACTION']._serialized_start = 18681 - _globals['_DASHCAMSAVECLIPACTION']._serialized_end = 18704 - _globals['_PIIKEYREQUEST']._serialized_start = 18706 - _globals['_PIIKEYREQUEST']._serialized_end = 18808 - _globals['_PSEUDONYMSYNCREQUEST']._serialized_start = 18810 - _globals['_PSEUDONYMSYNCREQUEST']._serialized_end = 18869 - _globals['_NAVIGATIONGPSREQUEST']._serialized_start = 18872 - _globals['_NAVIGATIONGPSREQUEST']._serialized_end = 19149 - _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_start = 18990 - _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_end = 19149 - _globals['_SETRATETARIFFREQUEST']._serialized_start = 19151 - _globals['_SETRATETARIFFREQUEST']._serialized_end = 19173 - _globals['_GETRATETARIFFREQUEST']._serialized_start = 19175 - _globals['_GETRATETARIFFREQUEST']._serialized_end = 19197 - _globals['_VIDEOREQUESTACTION']._serialized_start = 19199 - _globals['_VIDEOREQUESTACTION']._serialized_end = 19232 - _globals['_TAKEDRIVENOTEACTION']._serialized_start = 19234 - _globals['_TAKEDRIVENOTEACTION']._serialized_end = 19269 - _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_start = 19271 - _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_end = 19343 - _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_start = 19345 - _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_end = 19376 - _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_start = 19378 - _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_end = 19432 - _globals['_NAVIGATIONROUTEACTION']._serialized_start = 19434 - _globals['_NAVIGATIONROUTEACTION']._serialized_end = 19457 - _globals['_AUTOSTWHEATACTION']._serialized_start = 19459 - _globals['_AUTOSTWHEATACTION']._serialized_end = 19490 - _globals['_STWHEATLEVELACTION']._serialized_start = 19492 - _globals['_STWHEATLEVELACTION']._serialized_end = 19561 - _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_start = 19563 - _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_end = 19595 - _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_start = 19597 - _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_end = 19690 - _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_start = 19692 - _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_end = 19724 - _globals['_CHARGEONSOLARFEATURE']._serialized_start = 19726 - _globals['_CHARGEONSOLARFEATURE']._serialized_end = 19821 - _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_start = 19823 - _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_end = 19861 - _globals['_SETOUTLETSONOFFACTION']._serialized_start = 19864 - _globals['_SETOUTLETSONOFFACTION']._serialized_end = 20088 - _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_start = 19961 - _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_end = 20088 - _globals['_SETOUTLETTIMERACTION']._serialized_start = 20090 - _globals['_SETOUTLETTIMERACTION']._serialized_end = 20133 - _globals['_SETOUTLETSOCLIMITACTION']._serialized_start = 20135 - _globals['_SETOUTLETSOCLIMITACTION']._serialized_end = 20177 - _globals['_SETPOWERFEEDONOFFACTION']._serialized_start = 20180 - _globals['_SETPOWERFEEDONOFFACTION']._serialized_end = 20471 - _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_start = 20289 - _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_end = 20471 - _globals['_SETPOWERFEEDTIMERACTION']._serialized_start = 20473 - _globals['_SETPOWERFEEDTIMERACTION']._serialized_end = 20519 - _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_start = 20521 - _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_end = 20566 - _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_start = 20568 - _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_end = 20624 - _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_start = 20626 - _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_end = 20680 - _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_start = 20682 - _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_end = 20736 - _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_start = 20738 - _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_end = 20780 - _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_start = 20783 - _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_end = 20995 - _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_start = 20914 - _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_end = 20995 - _globals['_SETPOWERSHAREFEATUREACTION']._serialized_start = 20998 - _globals['_SETPOWERSHAREFEATUREACTION']._serialized_end = 21266 - _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_start = 21129 - _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_end = 21266 - _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_start = 21268 - _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_end = 21339 - _globals['_SETPOWERSHAREREQUESTACTION']._serialized_start = 21342 - _globals['_SETPOWERSHAREREQUESTACTION']._serialized_end = 21563 - _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_start = 21457 - _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_end = 21563 - _globals['_SETTENTMODEREQUESTACTION']._serialized_start = 21565 - _globals['_SETTENTMODEREQUESTACTION']._serialized_end = 21603 - _globals['_SETZONELIGHTREQUESTACTION']._serialized_start = 21606 - _globals['_SETZONELIGHTREQUESTACTION']._serialized_end = 21850 - _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_start = 21719 - _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_end = 21850 - _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_start = 21852 - _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_end = 21909 - _globals['_SETLIGHTBARMIDDLEACTION']._serialized_start = 21911 - _globals['_SETLIGHTBARMIDDLEACTION']._serialized_end = 21966 - _globals['_SETLIGHTBARDITCHACTION']._serialized_start = 21968 - _globals['_SETLIGHTBARDITCHACTION']._serialized_end = 22022 - _globals['_GETMESSAGESACTION']._serialized_start = 22024 - _globals['_GETMESSAGESACTION']._serialized_end = 22043 - _globals['_TESLAAUTHRESPONSEACTION']._serialized_start = 22046 - _globals['_TESLAAUTHRESPONSEACTION']._serialized_end = 22213 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_start = 22216 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_end = 22536 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_start = 18990 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_end = 19149 - _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_start = 22538 - _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_end = 22583 - _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_start = 22585 - _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_end = 22622 - _globals['_PARENTALCONTROLSACTION']._serialized_start = 22624 - _globals['_PARENTALCONTROLSACTION']._serialized_end = 22679 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_start = 22682 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_end = 23065 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING']._serialized_start = 22829 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING']._serialized_end = 23065 - _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_start = 23067 - _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_end = 23123 - _globals['_CANCELSOHTESTACTION']._serialized_start = 23125 - _globals['_CANCELSOHTESTACTION']._serialized_end = 23146 - _globals['_STOPLIGHTSHOWACTION']._serialized_start = 23148 - _globals['_STOPLIGHTSHOWACTION']._serialized_end = 23169 - _globals['_STARTLIGHTSHOWACTION']._serialized_start = 23171 - _globals['_STARTLIGHTSHOWACTION']._serialized_end = 23270 - _globals['_SETSUSPENSIONLEVELACTION']._serialized_start = 23273 - _globals['_SETSUSPENSIONLEVELACTION']._serialized_end = 23600 - _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_start = 23381 - _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_end = 23600 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' + _globals['_VEHICLEDATAACK'].fields_by_name['decryption_error_field']._loaded_options = None + _globals['_VEHICLEDATAACK'].fields_by_name['decryption_error_field']._serialized_options = b'\020\001' + _globals['_OPERATIONSTATUS_E']._serialized_start=23626 + _globals['_OPERATIONSTATUS_E']._serialized_end=23696 + _globals['_ACTION']._serialized_start=135 + _globals['_ACTION']._serialized_end=214 + _globals['_VEHICLEACTION']._serialized_start=217 + _globals['_VEHICLEACTION']._serialized_end=8619 + _globals['_GETVEHICLEDATA']._serialized_start=8622 + _globals['_GETVEHICLEDATA']._serialized_end=9388 + _globals['_GETTIREPRESSURESTATE']._serialized_start=9390 + _globals['_GETTIREPRESSURESTATE']._serialized_end=9412 + _globals['_GETMEDIASTATE']._serialized_start=9414 + _globals['_GETMEDIASTATE']._serialized_end=9429 + _globals['_GETMEDIADETAILSTATE']._serialized_start=9431 + _globals['_GETMEDIADETAILSTATE']._serialized_end=9452 + _globals['_GETSOFTWAREUPDATESTATE']._serialized_start=9454 + _globals['_GETSOFTWAREUPDATESTATE']._serialized_end=9478 + _globals['_GETCHARGESTATE']._serialized_start=9480 + _globals['_GETCHARGESTATE']._serialized_end=9496 + _globals['_GETCLIMATESTATE']._serialized_start=9498 + _globals['_GETCLIMATESTATE']._serialized_end=9515 + _globals['_GETDRIVESTATE']._serialized_start=9517 + _globals['_GETDRIVESTATE']._serialized_end=9532 + _globals['_GETLOCATIONSTATE']._serialized_start=9534 + _globals['_GETLOCATIONSTATE']._serialized_end=9552 + _globals['_GETCLOSURESSTATE']._serialized_start=9554 + _globals['_GETCLOSURESSTATE']._serialized_end=9572 + _globals['_GETCHARGESCHEDULESTATE']._serialized_start=9574 + _globals['_GETCHARGESCHEDULESTATE']._serialized_end=9598 + _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_start=9600 + _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_end=9633 + _globals['_GETPARENTALCONTROLSSTATE']._serialized_start=9635 + _globals['_GETPARENTALCONTROLSSTATE']._serialized_end=9661 + _globals['_ERASEUSERDATAACTION']._serialized_start=9663 + _globals['_ERASEUSERDATAACTION']._serialized_end=9700 + _globals['_RESPONSE']._serialized_start=9703 + _globals['_RESPONSE']._serialized_end=9981 + _globals['_ACTIONSTATUS']._serialized_start=9983 + _globals['_ACTIONSTATUS']._serialized_end=10091 + _globals['_RESULTREASON']._serialized_start=10093 + _globals['_RESULTREASON']._serialized_end=10139 + _globals['_ENCRYPTEDDATA']._serialized_start=10141 + _globals['_ENCRYPTEDDATA']._serialized_end=10211 + _globals['_CHARGINGSETLIMITACTION']._serialized_start=10213 + _globals['_CHARGINGSETLIMITACTION']._serialized_end=10254 + _globals['_CHARGINGSTARTSTOPACTION']._serialized_start=10257 + _globals['_CHARGINGSTARTSTOPACTION']._serialized_end=10491 + _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_start=10493 + _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_end=10539 + _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_start=10541 + _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_end=10588 + _globals['_DRIVINGSPEEDLIMITACTION']._serialized_start=10590 + _globals['_DRIVINGSPEEDLIMITACTION']._serialized_end=10646 + _globals['_HVACAUTOACTION']._serialized_start=10648 + _globals['_HVACAUTOACTION']._serialized_end=10707 + _globals['_HVACSEATHEATERACTIONS']._serialized_start=10710 + _globals['_HVACSEATHEATERACTIONS']._serialized_end=11602 + _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_start=10821 + _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_end=11602 + _globals['_HVACSEATCOOLERACTIONS']._serialized_start=11605 + _globals['_HVACSEATCOOLERACTIONS']._serialized_end=12221 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_start=11716 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_end=11903 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_start=11906 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_end=12079 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_start=12082 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_end=12221 + _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_start=12224 + _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_end=12446 + _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_start=12391 + _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_end=12446 + _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_start=12448 + _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_end=12497 + _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_start=12500 + _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_end=13191 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_start=12835 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_end=12971 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_start=12974 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_end=13191 + _globals['_GETNEARBYCHARGINGSITES']._serialized_start=13193 + _globals['_GETNEARBYCHARGINGSITES']._serialized_end=13275 + _globals['_NEARBYCHARGINGSITES']._serialized_start=13278 + _globals['_NEARBYCHARGINGSITES']._serialized_end=13434 + _globals['_SUPERCHARGERS']._serialized_start=13437 + _globals['_SUPERCHARGERS']._serialized_end=13896 + _globals['_MEDIAPLAYACTION']._serialized_start=13898 + _globals['_MEDIAPLAYACTION']._serialized_end=13915 + _globals['_MEDIAUPDATEVOLUME']._serialized_start=13917 + _globals['_MEDIAUPDATEVOLUME']._serialized_end=14015 + _globals['_MEDIANEXTFAVORITE']._serialized_start=14017 + _globals['_MEDIANEXTFAVORITE']._serialized_end=14036 + _globals['_MEDIAPREVIOUSFAVORITE']._serialized_start=14038 + _globals['_MEDIAPREVIOUSFAVORITE']._serialized_end=14061 + _globals['_MEDIANEXTTRACK']._serialized_start=14063 + _globals['_MEDIANEXTTRACK']._serialized_end=14079 + _globals['_MEDIAPREVIOUSTRACK']._serialized_start=14081 + _globals['_MEDIAPREVIOUSTRACK']._serialized_end=14101 + _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_start=14103 + _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_end=14145 + _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_start=14147 + _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_end=14180 + _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_start=14182 + _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_end=14212 + _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_start=14214 + _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_end=14249 + _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_start=14251 + _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_end=14315 + _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_start=14317 + _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_end=14364 + _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_start=14366 + _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_end=14430 + _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_start=14433 + _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_end=14647 + _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_start=14649 + _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_end=14739 + _globals['_VEHICLECONTROLWINDOWACTION']._serialized_start=14742 + _globals['_VEHICLECONTROLWINDOWACTION']._serialized_end=14889 + _globals['_HVACBIOWEAPONMODEACTION']._serialized_start=14891 + _globals['_HVACBIOWEAPONMODEACTION']._serialized_end=14953 + _globals['_AUTOSEATCLIMATEACTION']._serialized_start=14956 + _globals['_AUTOSEATCLIMATEACTION']._serialized_end=15254 + _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_start=15040 + _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_end=15137 + _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_start=15139 + _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_end=15254 + _globals['_PING']._serialized_start=15257 + _globals['_PING']._serialized_end=15392 + _globals['_SCHEDULEDCHARGINGACTION']._serialized_start=15394 + _globals['_SCHEDULEDCHARGINGACTION']._serialized_end=15459 + _globals['_SCHEDULEDDEPARTUREACTION']._serialized_start=15462 + _globals['_SCHEDULEDDEPARTUREACTION']._serialized_end=15692 + _globals['_HVACCLIMATEKEEPERACTION']._serialized_start=15695 + _globals['_HVACCLIMATEKEEPERACTION']._serialized_end=15974 + _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_start=15835 + _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_end=15974 + _globals['_HVACRECIRCULATIONACTION']._serialized_start=15976 + _globals['_HVACRECIRCULATIONACTION']._serialized_end=16013 + _globals['_SETCHARGINGAMPSACTION']._serialized_start=16015 + _globals['_SETCHARGINGAMPSACTION']._serialized_end=16061 + _globals['_REMOVECHARGESCHEDULEACTION']._serialized_start=16063 + _globals['_REMOVECHARGESCHEDULEACTION']._serialized_end=16103 + _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_start=16105 + _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_end=16182 + _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_start=16184 + _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_end=16267 + _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_start=16269 + _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_end=16315 + _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_start=16317 + _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_end=16381 + _globals['_SETVEHICLENAMEACTION']._serialized_start=16383 + _globals['_SETVEHICLENAMEACTION']._serialized_end=16426 + _globals['_CHARGEPORTDOORCLOSE']._serialized_start=16428 + _globals['_CHARGEPORTDOORCLOSE']._serialized_end=16449 + _globals['_CHARGEPORTDOOROPEN']._serialized_start=16451 + _globals['_CHARGEPORTDOOROPEN']._serialized_end=16471 + _globals['_BOOMBOXACTION']._serialized_start=16473 + _globals['_BOOMBOXACTION']._serialized_end=16503 + _globals['_SETCOPTEMPACTION']._serialized_start=16505 + _globals['_SETCOPTEMPACTION']._serialized_end=16593 + _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_start=16595 + _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_end=16660 + _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_start=16662 + _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_end=16699 + _globals['_REMOTESTARTDRIVE']._serialized_start=16701 + _globals['_REMOTESTARTDRIVE']._serialized_end=16719 + _globals['_CREATESTREAMSESSION']._serialized_start=16721 + _globals['_CREATESTREAMSESSION']._serialized_end=16762 + _globals['_STREAMMESSAGE']._serialized_start=16764 + _globals['_STREAMMESSAGE']._serialized_end=16813 + _globals['_NAVIGATIONREQUEST']._serialized_start=16815 + _globals['_NAVIGATIONREQUEST']._serialized_end=16870 + _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_start=16872 + _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_end=16918 + _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_start=16920 + _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_end=16973 + _globals['_VEHICLEDATASUBSCRIPTION']._serialized_start=16976 + _globals['_VEHICLEDATASUBSCRIPTION']._serialized_end=17766 + _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_start=17720 + _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_end=17766 + _globals['_VEHICLEDATAACK']._serialized_start=17769 + _globals['_VEHICLEDATAACK']._serialized_end=18648 + _globals['_VITALSSUBSCRIPTION']._serialized_start=18650 + _globals['_VITALSSUBSCRIPTION']._serialized_end=18690 + _globals['_VITALSACK']._serialized_start=18692 + _globals['_VITALSACK']._serialized_end=18703 + _globals['_DASHCAMSAVECLIPACTION']._serialized_start=18705 + _globals['_DASHCAMSAVECLIPACTION']._serialized_end=18728 + _globals['_PIIKEYREQUEST']._serialized_start=18730 + _globals['_PIIKEYREQUEST']._serialized_end=18832 + _globals['_PSEUDONYMSYNCREQUEST']._serialized_start=18834 + _globals['_PSEUDONYMSYNCREQUEST']._serialized_end=18893 + _globals['_NAVIGATIONGPSREQUEST']._serialized_start=18896 + _globals['_NAVIGATIONGPSREQUEST']._serialized_end=19173 + _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_start=19014 + _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_end=19173 + _globals['_SETRATETARIFFREQUEST']._serialized_start=19175 + _globals['_SETRATETARIFFREQUEST']._serialized_end=19197 + _globals['_GETRATETARIFFREQUEST']._serialized_start=19199 + _globals['_GETRATETARIFFREQUEST']._serialized_end=19221 + _globals['_VIDEOREQUESTACTION']._serialized_start=19223 + _globals['_VIDEOREQUESTACTION']._serialized_end=19256 + _globals['_TAKEDRIVENOTEACTION']._serialized_start=19258 + _globals['_TAKEDRIVENOTEACTION']._serialized_end=19293 + _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_start=19295 + _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_end=19367 + _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_start=19369 + _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_end=19400 + _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_start=19402 + _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_end=19456 + _globals['_NAVIGATIONROUTEACTION']._serialized_start=19458 + _globals['_NAVIGATIONROUTEACTION']._serialized_end=19481 + _globals['_AUTOSTWHEATACTION']._serialized_start=19483 + _globals['_AUTOSTWHEATACTION']._serialized_end=19514 + _globals['_STWHEATLEVELACTION']._serialized_start=19516 + _globals['_STWHEATLEVELACTION']._serialized_end=19585 + _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_start=19587 + _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_end=19619 + _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_start=19621 + _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_end=19714 + _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_start=19716 + _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_end=19748 + _globals['_CHARGEONSOLARFEATURE']._serialized_start=19750 + _globals['_CHARGEONSOLARFEATURE']._serialized_end=19845 + _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_start=19847 + _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_end=19885 + _globals['_SETOUTLETSONOFFACTION']._serialized_start=19888 + _globals['_SETOUTLETSONOFFACTION']._serialized_end=20112 + _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_start=19985 + _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_end=20112 + _globals['_SETOUTLETTIMERACTION']._serialized_start=20114 + _globals['_SETOUTLETTIMERACTION']._serialized_end=20157 + _globals['_SETOUTLETSOCLIMITACTION']._serialized_start=20159 + _globals['_SETOUTLETSOCLIMITACTION']._serialized_end=20201 + _globals['_SETPOWERFEEDONOFFACTION']._serialized_start=20204 + _globals['_SETPOWERFEEDONOFFACTION']._serialized_end=20495 + _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_start=20313 + _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_end=20495 + _globals['_SETPOWERFEEDTIMERACTION']._serialized_start=20497 + _globals['_SETPOWERFEEDTIMERACTION']._serialized_end=20543 + _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_start=20545 + _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_end=20590 + _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_start=20592 + _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_end=20648 + _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_start=20650 + _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_end=20704 + _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_start=20706 + _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_end=20760 + _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_start=20762 + _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_end=20804 + _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_start=20807 + _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_end=21019 + _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_start=20938 + _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_end=21019 + _globals['_SETPOWERSHAREFEATUREACTION']._serialized_start=21022 + _globals['_SETPOWERSHAREFEATUREACTION']._serialized_end=21290 + _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_start=21153 + _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_end=21290 + _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_start=21292 + _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_end=21363 + _globals['_SETPOWERSHAREREQUESTACTION']._serialized_start=21366 + _globals['_SETPOWERSHAREREQUESTACTION']._serialized_end=21587 + _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_start=21481 + _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_end=21587 + _globals['_SETTENTMODEREQUESTACTION']._serialized_start=21589 + _globals['_SETTENTMODEREQUESTACTION']._serialized_end=21627 + _globals['_SETZONELIGHTREQUESTACTION']._serialized_start=21630 + _globals['_SETZONELIGHTREQUESTACTION']._serialized_end=21874 + _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_start=21743 + _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_end=21874 + _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_start=21876 + _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_end=21933 + _globals['_SETLIGHTBARMIDDLEACTION']._serialized_start=21935 + _globals['_SETLIGHTBARMIDDLEACTION']._serialized_end=21990 + _globals['_SETLIGHTBARDITCHACTION']._serialized_start=21992 + _globals['_SETLIGHTBARDITCHACTION']._serialized_end=22046 + _globals['_GETMESSAGESACTION']._serialized_start=22048 + _globals['_GETMESSAGESACTION']._serialized_end=22067 + _globals['_TESLAAUTHRESPONSEACTION']._serialized_start=22070 + _globals['_TESLAAUTHRESPONSEACTION']._serialized_end=22237 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_start=22240 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_end=22560 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_start=19014 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_end=19173 + _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_start=22562 + _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_end=22607 + _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_start=22609 + _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_end=22646 + _globals['_PARENTALCONTROLSACTION']._serialized_start=22648 + _globals['_PARENTALCONTROLSACTION']._serialized_end=22703 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_start=22706 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_end=23089 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING']._serialized_start=22853 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING']._serialized_end=23089 + _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_start=23091 + _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_end=23147 + _globals['_CANCELSOHTESTACTION']._serialized_start=23149 + _globals['_CANCELSOHTESTACTION']._serialized_end=23170 + _globals['_STOPLIGHTSHOWACTION']._serialized_start=23172 + _globals['_STOPLIGHTSHOWACTION']._serialized_end=23193 + _globals['_STARTLIGHTSHOWACTION']._serialized_start=23195 + _globals['_STARTLIGHTSHOWACTION']._serialized_end=23294 + _globals['_SETSUSPENSIONLEVELACTION']._serialized_start=23297 + _globals['_SETSUSPENSIONLEVELACTION']._serialized_end=23624 + _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_start=23405 + _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_end=23624 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.pyi index 6061746..6f11dfe 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/car_server_pb2.pyi @@ -1,14 +1,16 @@ import datetime -import common_pb2 as _common_pb2 + +from . import common_pb2 as _common_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 -import signatures_pb2 as _signatures_pb2 -import vehicle_pb2 as _vehicle_pb2 +from . import signatures_pb2 as _signatures_pb2 +from . import vehicle_pb2 as _vehicle_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Iterable as _Iterable, Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class OperationStatus_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -19,15 +21,13 @@ OPERATIONSTATUS_OK: OperationStatus_E OPERATIONSTATUS_ERROR: OperationStatus_E class Action(_message.Message): - __slots__ = ('vehicleAction',) + __slots__ = ("vehicleAction",) VEHICLEACTION_FIELD_NUMBER: _ClassVar[int] vehicleAction: VehicleAction - - def __init__(self, vehicleAction: _Optional[_Union[VehicleAction, _Mapping]]=...) -> None: - ... + def __init__(self, vehicleAction: _Optional[_Union[VehicleAction, _Mapping]] = ...) -> None: ... class VehicleAction(_message.Message): - __slots__ = ('getVehicleData', 'remoteStartDrive', 'createStreamSession', 'streamMessage', 'chargingSetLimitAction', 'chargingStartStopAction', 'drivingClearSpeedLimitPinAction', 'drivingSetSpeedLimitAction', 'drivingSpeedLimitAction', 'hvacAutoAction', 'hvacSetPreconditioningMaxAction', 'hvacSteeringWheelHeaterAction', 'hvacTemperatureAdjustmentAction', 'mediaPlayAction', 'mediaUpdateVolume', 'mediaNextFavorite', 'mediaPreviousFavorite', 'mediaNextTrack', 'mediaPreviousTrack', 'navigationRequest', 'navigationSuperchargerRequest', 'getNearbyChargingSites', 'uiSetUpcomingCalendarEntries', 'vehicleControlCancelSoftwareUpdateAction', 'vehicleControlFlashLightsAction', 'vehicleControlHonkHornAction', 'vehicleControlResetValetPinAction', 'vehicleControlScheduleSoftwareUpdateAction', 'vehicleControlSetSentryModeAction', 'vehicleControlSetValetModeAction', 'vehicleControlSunroofOpenCloseAction', 'vehicleControlTriggerHomelinkAction', 'vehicleControlWindowAction', 'hvacBioweaponModeAction', 'hvacSeatHeaterActions', 'vehicleDataSubscription', 'vehicleDataAck', 'vitalsSubscription', 'vitalsAck', 'scheduledChargingAction', 'scheduledDepartureAction', 'setChargingAmpsAction', 'hvacClimateKeeperAction', 'hvacRecirculationAction', 'ping', 'dashcamSaveClipAction', 'autoSeatClimateAction', 'hvacSeatCoolerActions', 'setCabinOverheatProtectionAction', 'piiKeyRequest', 'pseudonymSyncRequest', 'navigationGpsRequest', 'setVehicleNameAction', 'setRateTariffRequest', 'getRateTariffRequest', 'videoRequestAction', 'takeDrivenoteAction', 'chargePortDoorClose', 'chargePortDoorOpen', 'bluetoothClassicPairingRequest', 'boomboxAction', 'guestModeAction', 'setCopTempAction', 'addManagedChargingSiteRequest', 'removeManagedChargingSiteRequest', 'navigationRouteAction', 'autoStwHeatAction', 'stwHeatLevelAction', 'eraseUserDataAction', 'getManagedChargingSitesRequest', 'updateChargeOnSolarFeatureRequest', 'getChargeOnSolarFeatureRequest', 'vehicleControlSetPinToDriveAction', 'vehicleControlResetPinToDriveAction', 'drivingClearSpeedLimitPinAdminAction', 'setOutletsOnOffAction', 'setOutletTimerAction', 'setOutletSocLimitAction', 'setPowerFeedOnOffAction', 'setPowerFeedTimerAction', 'setPowerFeedSocLimitAction', 'setTrailerLightTestStartStopAction', 'setTruckBedLightAutoStateAction', 'setTruckBedLightBrightnessAction', 'vehicleControlResetPinToDriveAdminAction', 'navigationWaypointsRequest', 'setPowershareFeatureAction', 'setPowershareDischargeLimitAction', 'setPowershareRequestAction', 'setTentModeRequestAction', 'setFrontZoneLightRequestAction', 'setRearZoneLightRequestAction', 'addChargeScheduleAction', 'removeChargeScheduleAction', 'addPreconditionScheduleAction', 'removePreconditionScheduleAction', 'setLightbarBrightnessAction', 'setLightbarMiddleAction', 'setLightbarDitchAction', 'getMessagesAction', 'teslaAuthResponseAction', 'navigationGpsDestinationRequest', 'batchRemovePreconditionSchedulesAction', 'batchRemoveChargeSchedulesAction', 'parentalControlsClearPinAction', 'parentalControlsClearPinAdminAction', 'parentalControlsAction', 'parentalControlsEnableSettingsAction', 'parentalControlsSetSpeedLimitAction', 'cancelSohTestAction', 'stopLightShowAction', 'startLightShowAction', 'setSuspensionLevelAction') + __slots__ = ("getVehicleData", "remoteStartDrive", "createStreamSession", "streamMessage", "chargingSetLimitAction", "chargingStartStopAction", "drivingClearSpeedLimitPinAction", "drivingSetSpeedLimitAction", "drivingSpeedLimitAction", "hvacAutoAction", "hvacSetPreconditioningMaxAction", "hvacSteeringWheelHeaterAction", "hvacTemperatureAdjustmentAction", "mediaPlayAction", "mediaUpdateVolume", "mediaNextFavorite", "mediaPreviousFavorite", "mediaNextTrack", "mediaPreviousTrack", "navigationRequest", "navigationSuperchargerRequest", "getNearbyChargingSites", "uiSetUpcomingCalendarEntries", "vehicleControlCancelSoftwareUpdateAction", "vehicleControlFlashLightsAction", "vehicleControlHonkHornAction", "vehicleControlResetValetPinAction", "vehicleControlScheduleSoftwareUpdateAction", "vehicleControlSetSentryModeAction", "vehicleControlSetValetModeAction", "vehicleControlSunroofOpenCloseAction", "vehicleControlTriggerHomelinkAction", "vehicleControlWindowAction", "hvacBioweaponModeAction", "hvacSeatHeaterActions", "vehicleDataSubscription", "vehicleDataAck", "vitalsSubscription", "vitalsAck", "scheduledChargingAction", "scheduledDepartureAction", "setChargingAmpsAction", "hvacClimateKeeperAction", "hvacRecirculationAction", "ping", "dashcamSaveClipAction", "autoSeatClimateAction", "hvacSeatCoolerActions", "setCabinOverheatProtectionAction", "piiKeyRequest", "pseudonymSyncRequest", "navigationGpsRequest", "setVehicleNameAction", "setRateTariffRequest", "getRateTariffRequest", "videoRequestAction", "takeDrivenoteAction", "chargePortDoorClose", "chargePortDoorOpen", "bluetoothClassicPairingRequest", "boomboxAction", "guestModeAction", "setCopTempAction", "addManagedChargingSiteRequest", "removeManagedChargingSiteRequest", "navigationRouteAction", "autoStwHeatAction", "stwHeatLevelAction", "eraseUserDataAction", "getManagedChargingSitesRequest", "updateChargeOnSolarFeatureRequest", "getChargeOnSolarFeatureRequest", "vehicleControlSetPinToDriveAction", "vehicleControlResetPinToDriveAction", "drivingClearSpeedLimitPinAdminAction", "setOutletsOnOffAction", "setOutletTimerAction", "setOutletSocLimitAction", "setPowerFeedOnOffAction", "setPowerFeedTimerAction", "setPowerFeedSocLimitAction", "setTrailerLightTestStartStopAction", "setTruckBedLightAutoStateAction", "setTruckBedLightBrightnessAction", "vehicleControlResetPinToDriveAdminAction", "navigationWaypointsRequest", "setPowershareFeatureAction", "setPowershareDischargeLimitAction", "setPowershareRequestAction", "setTentModeRequestAction", "setFrontZoneLightRequestAction", "setRearZoneLightRequestAction", "addChargeScheduleAction", "removeChargeScheduleAction", "addPreconditionScheduleAction", "removePreconditionScheduleAction", "setLightbarBrightnessAction", "setLightbarMiddleAction", "setLightbarDitchAction", "getMessagesAction", "teslaAuthResponseAction", "navigationGpsDestinationRequest", "batchRemovePreconditionSchedulesAction", "batchRemoveChargeSchedulesAction", "parentalControlsClearPinAction", "parentalControlsClearPinAdminAction", "parentalControlsAction", "parentalControlsEnableSettingsAction", "parentalControlsSetSpeedLimitAction", "cancelSohTestAction", "stopLightShowAction", "startLightShowAction", "setSuspensionLevelAction") GETVEHICLEDATA_FIELD_NUMBER: _ClassVar[int] REMOTESTARTDRIVE_FIELD_NUMBER: _ClassVar[int] CREATESTREAMSESSION_FIELD_NUMBER: _ClassVar[int] @@ -254,12 +254,10 @@ class VehicleAction(_message.Message): stopLightShowAction: StopLightShowAction startLightShowAction: StartLightShowAction setSuspensionLevelAction: SetSuspensionLevelAction - - def __init__(self, getVehicleData: _Optional[_Union[GetVehicleData, _Mapping]]=..., remoteStartDrive: _Optional[_Union[RemoteStartDrive, _Mapping]]=..., createStreamSession: _Optional[_Union[CreateStreamSession, _Mapping]]=..., streamMessage: _Optional[_Union[StreamMessage, _Mapping]]=..., chargingSetLimitAction: _Optional[_Union[ChargingSetLimitAction, _Mapping]]=..., chargingStartStopAction: _Optional[_Union[ChargingStartStopAction, _Mapping]]=..., drivingClearSpeedLimitPinAction: _Optional[_Union[DrivingClearSpeedLimitPinAction, _Mapping]]=..., drivingSetSpeedLimitAction: _Optional[_Union[DrivingSetSpeedLimitAction, _Mapping]]=..., drivingSpeedLimitAction: _Optional[_Union[DrivingSpeedLimitAction, _Mapping]]=..., hvacAutoAction: _Optional[_Union[HvacAutoAction, _Mapping]]=..., hvacSetPreconditioningMaxAction: _Optional[_Union[HvacSetPreconditioningMaxAction, _Mapping]]=..., hvacSteeringWheelHeaterAction: _Optional[_Union[HvacSteeringWheelHeaterAction, _Mapping]]=..., hvacTemperatureAdjustmentAction: _Optional[_Union[HvacTemperatureAdjustmentAction, _Mapping]]=..., mediaPlayAction: _Optional[_Union[MediaPlayAction, _Mapping]]=..., mediaUpdateVolume: _Optional[_Union[MediaUpdateVolume, _Mapping]]=..., mediaNextFavorite: _Optional[_Union[MediaNextFavorite, _Mapping]]=..., mediaPreviousFavorite: _Optional[_Union[MediaPreviousFavorite, _Mapping]]=..., mediaNextTrack: _Optional[_Union[MediaNextTrack, _Mapping]]=..., mediaPreviousTrack: _Optional[_Union[MediaPreviousTrack, _Mapping]]=..., navigationRequest: _Optional[_Union[NavigationRequest, _Mapping]]=..., navigationSuperchargerRequest: _Optional[_Union[NavigationSuperchargerRequest, _Mapping]]=..., getNearbyChargingSites: _Optional[_Union[GetNearbyChargingSites, _Mapping]]=..., uiSetUpcomingCalendarEntries: _Optional[_Union[UiSetUpcomingCalendarEntries, _Mapping]]=..., vehicleControlCancelSoftwareUpdateAction: _Optional[_Union[VehicleControlCancelSoftwareUpdateAction, _Mapping]]=..., vehicleControlFlashLightsAction: _Optional[_Union[VehicleControlFlashLightsAction, _Mapping]]=..., vehicleControlHonkHornAction: _Optional[_Union[VehicleControlHonkHornAction, _Mapping]]=..., vehicleControlResetValetPinAction: _Optional[_Union[VehicleControlResetValetPinAction, _Mapping]]=..., vehicleControlScheduleSoftwareUpdateAction: _Optional[_Union[VehicleControlScheduleSoftwareUpdateAction, _Mapping]]=..., vehicleControlSetSentryModeAction: _Optional[_Union[VehicleControlSetSentryModeAction, _Mapping]]=..., vehicleControlSetValetModeAction: _Optional[_Union[VehicleControlSetValetModeAction, _Mapping]]=..., vehicleControlSunroofOpenCloseAction: _Optional[_Union[VehicleControlSunroofOpenCloseAction, _Mapping]]=..., vehicleControlTriggerHomelinkAction: _Optional[_Union[VehicleControlTriggerHomelinkAction, _Mapping]]=..., vehicleControlWindowAction: _Optional[_Union[VehicleControlWindowAction, _Mapping]]=..., hvacBioweaponModeAction: _Optional[_Union[HvacBioweaponModeAction, _Mapping]]=..., hvacSeatHeaterActions: _Optional[_Union[HvacSeatHeaterActions, _Mapping]]=..., vehicleDataSubscription: _Optional[_Union[VehicleDataSubscription, _Mapping]]=..., vehicleDataAck: _Optional[_Union[VehicleDataAck, _Mapping]]=..., vitalsSubscription: _Optional[_Union[VitalsSubscription, _Mapping]]=..., vitalsAck: _Optional[_Union[VitalsAck, _Mapping]]=..., scheduledChargingAction: _Optional[_Union[ScheduledChargingAction, _Mapping]]=..., scheduledDepartureAction: _Optional[_Union[ScheduledDepartureAction, _Mapping]]=..., setChargingAmpsAction: _Optional[_Union[SetChargingAmpsAction, _Mapping]]=..., hvacClimateKeeperAction: _Optional[_Union[HvacClimateKeeperAction, _Mapping]]=..., hvacRecirculationAction: _Optional[_Union[HvacRecirculationAction, _Mapping]]=..., ping: _Optional[_Union[Ping, _Mapping]]=..., dashcamSaveClipAction: _Optional[_Union[DashcamSaveClipAction, _Mapping]]=..., autoSeatClimateAction: _Optional[_Union[AutoSeatClimateAction, _Mapping]]=..., hvacSeatCoolerActions: _Optional[_Union[HvacSeatCoolerActions, _Mapping]]=..., setCabinOverheatProtectionAction: _Optional[_Union[SetCabinOverheatProtectionAction, _Mapping]]=..., piiKeyRequest: _Optional[_Union[PiiKeyRequest, _Mapping]]=..., pseudonymSyncRequest: _Optional[_Union[PseudonymSyncRequest, _Mapping]]=..., navigationGpsRequest: _Optional[_Union[NavigationGpsRequest, _Mapping]]=..., setVehicleNameAction: _Optional[_Union[SetVehicleNameAction, _Mapping]]=..., setRateTariffRequest: _Optional[_Union[SetRateTariffRequest, _Mapping]]=..., getRateTariffRequest: _Optional[_Union[GetRateTariffRequest, _Mapping]]=..., videoRequestAction: _Optional[_Union[VideoRequestAction, _Mapping]]=..., takeDrivenoteAction: _Optional[_Union[TakeDrivenoteAction, _Mapping]]=..., chargePortDoorClose: _Optional[_Union[ChargePortDoorClose, _Mapping]]=..., chargePortDoorOpen: _Optional[_Union[ChargePortDoorOpen, _Mapping]]=..., bluetoothClassicPairingRequest: _Optional[_Union[BluetoothClassicPairingRequest, _Mapping]]=..., boomboxAction: _Optional[_Union[BoomboxAction, _Mapping]]=..., guestModeAction: _Optional[_Union[_vehicle_pb2.VehicleState.GuestMode, _Mapping]]=..., setCopTempAction: _Optional[_Union[SetCopTempAction, _Mapping]]=..., addManagedChargingSiteRequest: _Optional[_Union[AddManagedChargingSiteRequest, _Mapping]]=..., removeManagedChargingSiteRequest: _Optional[_Union[RemoveManagedChargingSiteRequest, _Mapping]]=..., navigationRouteAction: _Optional[_Union[NavigationRouteAction, _Mapping]]=..., autoStwHeatAction: _Optional[_Union[AutoStwHeatAction, _Mapping]]=..., stwHeatLevelAction: _Optional[_Union[StwHeatLevelAction, _Mapping]]=..., eraseUserDataAction: _Optional[_Union[EraseUserDataAction, _Mapping]]=..., getManagedChargingSitesRequest: _Optional[_Union[GetManagedChargingSitesRequest, _Mapping]]=..., updateChargeOnSolarFeatureRequest: _Optional[_Union[UpdateChargeOnSolarFeatureRequest, _Mapping]]=..., getChargeOnSolarFeatureRequest: _Optional[_Union[GetChargeOnSolarFeatureRequest, _Mapping]]=..., vehicleControlSetPinToDriveAction: _Optional[_Union[VehicleControlSetPinToDriveAction, _Mapping]]=..., vehicleControlResetPinToDriveAction: _Optional[_Union[VehicleControlResetPinToDriveAction, _Mapping]]=..., drivingClearSpeedLimitPinAdminAction: _Optional[_Union[DrivingClearSpeedLimitPinAdminAction, _Mapping]]=..., setOutletsOnOffAction: _Optional[_Union[SetOutletsOnOffAction, _Mapping]]=..., setOutletTimerAction: _Optional[_Union[SetOutletTimerAction, _Mapping]]=..., setOutletSocLimitAction: _Optional[_Union[SetOutletSocLimitAction, _Mapping]]=..., setPowerFeedOnOffAction: _Optional[_Union[SetPowerFeedOnOffAction, _Mapping]]=..., setPowerFeedTimerAction: _Optional[_Union[SetPowerFeedTimerAction, _Mapping]]=..., setPowerFeedSocLimitAction: _Optional[_Union[SetPowerFeedSocLimitAction, _Mapping]]=..., setTrailerLightTestStartStopAction: _Optional[_Union[SetTrailerLightTestStartStopAction, _Mapping]]=..., setTruckBedLightAutoStateAction: _Optional[_Union[SetTruckBedLightAutoStateAction, _Mapping]]=..., setTruckBedLightBrightnessAction: _Optional[_Union[SetTruckBedLightBrightnessAction, _Mapping]]=..., vehicleControlResetPinToDriveAdminAction: _Optional[_Union[VehicleControlResetPinToDriveAdminAction, _Mapping]]=..., navigationWaypointsRequest: _Optional[_Union[NavigationWaypointsRequest, _Mapping]]=..., setPowershareFeatureAction: _Optional[_Union[SetPowershareFeatureAction, _Mapping]]=..., setPowershareDischargeLimitAction: _Optional[_Union[SetPowershareDischargeLimitAction, _Mapping]]=..., setPowershareRequestAction: _Optional[_Union[SetPowershareRequestAction, _Mapping]]=..., setTentModeRequestAction: _Optional[_Union[SetTentModeRequestAction, _Mapping]]=..., setFrontZoneLightRequestAction: _Optional[_Union[SetZoneLightRequestAction, _Mapping]]=..., setRearZoneLightRequestAction: _Optional[_Union[SetZoneLightRequestAction, _Mapping]]=..., addChargeScheduleAction: _Optional[_Union[_common_pb2.ChargeSchedule, _Mapping]]=..., removeChargeScheduleAction: _Optional[_Union[RemoveChargeScheduleAction, _Mapping]]=..., addPreconditionScheduleAction: _Optional[_Union[_common_pb2.PreconditionSchedule, _Mapping]]=..., removePreconditionScheduleAction: _Optional[_Union[RemovePreconditionScheduleAction, _Mapping]]=..., setLightbarBrightnessAction: _Optional[_Union[SetLightbarBrightnessAction, _Mapping]]=..., setLightbarMiddleAction: _Optional[_Union[SetLightbarMiddleAction, _Mapping]]=..., setLightbarDitchAction: _Optional[_Union[SetLightbarDitchAction, _Mapping]]=..., getMessagesAction: _Optional[_Union[GetMessagesAction, _Mapping]]=..., teslaAuthResponseAction: _Optional[_Union[TeslaAuthResponseAction, _Mapping]]=..., navigationGpsDestinationRequest: _Optional[_Union[NavigationGpsDestinationRequest, _Mapping]]=..., batchRemovePreconditionSchedulesAction: _Optional[_Union[BatchRemovePreconditionSchedulesAction, _Mapping]]=..., batchRemoveChargeSchedulesAction: _Optional[_Union[BatchRemoveChargeSchedulesAction, _Mapping]]=..., parentalControlsClearPinAction: _Optional[_Union[ParentalControlsClearPinAction, _Mapping]]=..., parentalControlsClearPinAdminAction: _Optional[_Union[ParentalControlsClearPinAdminAction, _Mapping]]=..., parentalControlsAction: _Optional[_Union[ParentalControlsAction, _Mapping]]=..., parentalControlsEnableSettingsAction: _Optional[_Union[ParentalControlsEnableSettingsAction, _Mapping]]=..., parentalControlsSetSpeedLimitAction: _Optional[_Union[ParentalControlsSetSpeedLimitAction, _Mapping]]=..., cancelSohTestAction: _Optional[_Union[CancelSohTestAction, _Mapping]]=..., stopLightShowAction: _Optional[_Union[StopLightShowAction, _Mapping]]=..., startLightShowAction: _Optional[_Union[StartLightShowAction, _Mapping]]=..., setSuspensionLevelAction: _Optional[_Union[SetSuspensionLevelAction, _Mapping]]=...) -> None: - ... + def __init__(self, getVehicleData: _Optional[_Union[GetVehicleData, _Mapping]] = ..., remoteStartDrive: _Optional[_Union[RemoteStartDrive, _Mapping]] = ..., createStreamSession: _Optional[_Union[CreateStreamSession, _Mapping]] = ..., streamMessage: _Optional[_Union[StreamMessage, _Mapping]] = ..., chargingSetLimitAction: _Optional[_Union[ChargingSetLimitAction, _Mapping]] = ..., chargingStartStopAction: _Optional[_Union[ChargingStartStopAction, _Mapping]] = ..., drivingClearSpeedLimitPinAction: _Optional[_Union[DrivingClearSpeedLimitPinAction, _Mapping]] = ..., drivingSetSpeedLimitAction: _Optional[_Union[DrivingSetSpeedLimitAction, _Mapping]] = ..., drivingSpeedLimitAction: _Optional[_Union[DrivingSpeedLimitAction, _Mapping]] = ..., hvacAutoAction: _Optional[_Union[HvacAutoAction, _Mapping]] = ..., hvacSetPreconditioningMaxAction: _Optional[_Union[HvacSetPreconditioningMaxAction, _Mapping]] = ..., hvacSteeringWheelHeaterAction: _Optional[_Union[HvacSteeringWheelHeaterAction, _Mapping]] = ..., hvacTemperatureAdjustmentAction: _Optional[_Union[HvacTemperatureAdjustmentAction, _Mapping]] = ..., mediaPlayAction: _Optional[_Union[MediaPlayAction, _Mapping]] = ..., mediaUpdateVolume: _Optional[_Union[MediaUpdateVolume, _Mapping]] = ..., mediaNextFavorite: _Optional[_Union[MediaNextFavorite, _Mapping]] = ..., mediaPreviousFavorite: _Optional[_Union[MediaPreviousFavorite, _Mapping]] = ..., mediaNextTrack: _Optional[_Union[MediaNextTrack, _Mapping]] = ..., mediaPreviousTrack: _Optional[_Union[MediaPreviousTrack, _Mapping]] = ..., navigationRequest: _Optional[_Union[NavigationRequest, _Mapping]] = ..., navigationSuperchargerRequest: _Optional[_Union[NavigationSuperchargerRequest, _Mapping]] = ..., getNearbyChargingSites: _Optional[_Union[GetNearbyChargingSites, _Mapping]] = ..., uiSetUpcomingCalendarEntries: _Optional[_Union[UiSetUpcomingCalendarEntries, _Mapping]] = ..., vehicleControlCancelSoftwareUpdateAction: _Optional[_Union[VehicleControlCancelSoftwareUpdateAction, _Mapping]] = ..., vehicleControlFlashLightsAction: _Optional[_Union[VehicleControlFlashLightsAction, _Mapping]] = ..., vehicleControlHonkHornAction: _Optional[_Union[VehicleControlHonkHornAction, _Mapping]] = ..., vehicleControlResetValetPinAction: _Optional[_Union[VehicleControlResetValetPinAction, _Mapping]] = ..., vehicleControlScheduleSoftwareUpdateAction: _Optional[_Union[VehicleControlScheduleSoftwareUpdateAction, _Mapping]] = ..., vehicleControlSetSentryModeAction: _Optional[_Union[VehicleControlSetSentryModeAction, _Mapping]] = ..., vehicleControlSetValetModeAction: _Optional[_Union[VehicleControlSetValetModeAction, _Mapping]] = ..., vehicleControlSunroofOpenCloseAction: _Optional[_Union[VehicleControlSunroofOpenCloseAction, _Mapping]] = ..., vehicleControlTriggerHomelinkAction: _Optional[_Union[VehicleControlTriggerHomelinkAction, _Mapping]] = ..., vehicleControlWindowAction: _Optional[_Union[VehicleControlWindowAction, _Mapping]] = ..., hvacBioweaponModeAction: _Optional[_Union[HvacBioweaponModeAction, _Mapping]] = ..., hvacSeatHeaterActions: _Optional[_Union[HvacSeatHeaterActions, _Mapping]] = ..., vehicleDataSubscription: _Optional[_Union[VehicleDataSubscription, _Mapping]] = ..., vehicleDataAck: _Optional[_Union[VehicleDataAck, _Mapping]] = ..., vitalsSubscription: _Optional[_Union[VitalsSubscription, _Mapping]] = ..., vitalsAck: _Optional[_Union[VitalsAck, _Mapping]] = ..., scheduledChargingAction: _Optional[_Union[ScheduledChargingAction, _Mapping]] = ..., scheduledDepartureAction: _Optional[_Union[ScheduledDepartureAction, _Mapping]] = ..., setChargingAmpsAction: _Optional[_Union[SetChargingAmpsAction, _Mapping]] = ..., hvacClimateKeeperAction: _Optional[_Union[HvacClimateKeeperAction, _Mapping]] = ..., hvacRecirculationAction: _Optional[_Union[HvacRecirculationAction, _Mapping]] = ..., ping: _Optional[_Union[Ping, _Mapping]] = ..., dashcamSaveClipAction: _Optional[_Union[DashcamSaveClipAction, _Mapping]] = ..., autoSeatClimateAction: _Optional[_Union[AutoSeatClimateAction, _Mapping]] = ..., hvacSeatCoolerActions: _Optional[_Union[HvacSeatCoolerActions, _Mapping]] = ..., setCabinOverheatProtectionAction: _Optional[_Union[SetCabinOverheatProtectionAction, _Mapping]] = ..., piiKeyRequest: _Optional[_Union[PiiKeyRequest, _Mapping]] = ..., pseudonymSyncRequest: _Optional[_Union[PseudonymSyncRequest, _Mapping]] = ..., navigationGpsRequest: _Optional[_Union[NavigationGpsRequest, _Mapping]] = ..., setVehicleNameAction: _Optional[_Union[SetVehicleNameAction, _Mapping]] = ..., setRateTariffRequest: _Optional[_Union[SetRateTariffRequest, _Mapping]] = ..., getRateTariffRequest: _Optional[_Union[GetRateTariffRequest, _Mapping]] = ..., videoRequestAction: _Optional[_Union[VideoRequestAction, _Mapping]] = ..., takeDrivenoteAction: _Optional[_Union[TakeDrivenoteAction, _Mapping]] = ..., chargePortDoorClose: _Optional[_Union[ChargePortDoorClose, _Mapping]] = ..., chargePortDoorOpen: _Optional[_Union[ChargePortDoorOpen, _Mapping]] = ..., bluetoothClassicPairingRequest: _Optional[_Union[BluetoothClassicPairingRequest, _Mapping]] = ..., boomboxAction: _Optional[_Union[BoomboxAction, _Mapping]] = ..., guestModeAction: _Optional[_Union[_vehicle_pb2.VehicleState.GuestMode, _Mapping]] = ..., setCopTempAction: _Optional[_Union[SetCopTempAction, _Mapping]] = ..., addManagedChargingSiteRequest: _Optional[_Union[AddManagedChargingSiteRequest, _Mapping]] = ..., removeManagedChargingSiteRequest: _Optional[_Union[RemoveManagedChargingSiteRequest, _Mapping]] = ..., navigationRouteAction: _Optional[_Union[NavigationRouteAction, _Mapping]] = ..., autoStwHeatAction: _Optional[_Union[AutoStwHeatAction, _Mapping]] = ..., stwHeatLevelAction: _Optional[_Union[StwHeatLevelAction, _Mapping]] = ..., eraseUserDataAction: _Optional[_Union[EraseUserDataAction, _Mapping]] = ..., getManagedChargingSitesRequest: _Optional[_Union[GetManagedChargingSitesRequest, _Mapping]] = ..., updateChargeOnSolarFeatureRequest: _Optional[_Union[UpdateChargeOnSolarFeatureRequest, _Mapping]] = ..., getChargeOnSolarFeatureRequest: _Optional[_Union[GetChargeOnSolarFeatureRequest, _Mapping]] = ..., vehicleControlSetPinToDriveAction: _Optional[_Union[VehicleControlSetPinToDriveAction, _Mapping]] = ..., vehicleControlResetPinToDriveAction: _Optional[_Union[VehicleControlResetPinToDriveAction, _Mapping]] = ..., drivingClearSpeedLimitPinAdminAction: _Optional[_Union[DrivingClearSpeedLimitPinAdminAction, _Mapping]] = ..., setOutletsOnOffAction: _Optional[_Union[SetOutletsOnOffAction, _Mapping]] = ..., setOutletTimerAction: _Optional[_Union[SetOutletTimerAction, _Mapping]] = ..., setOutletSocLimitAction: _Optional[_Union[SetOutletSocLimitAction, _Mapping]] = ..., setPowerFeedOnOffAction: _Optional[_Union[SetPowerFeedOnOffAction, _Mapping]] = ..., setPowerFeedTimerAction: _Optional[_Union[SetPowerFeedTimerAction, _Mapping]] = ..., setPowerFeedSocLimitAction: _Optional[_Union[SetPowerFeedSocLimitAction, _Mapping]] = ..., setTrailerLightTestStartStopAction: _Optional[_Union[SetTrailerLightTestStartStopAction, _Mapping]] = ..., setTruckBedLightAutoStateAction: _Optional[_Union[SetTruckBedLightAutoStateAction, _Mapping]] = ..., setTruckBedLightBrightnessAction: _Optional[_Union[SetTruckBedLightBrightnessAction, _Mapping]] = ..., vehicleControlResetPinToDriveAdminAction: _Optional[_Union[VehicleControlResetPinToDriveAdminAction, _Mapping]] = ..., navigationWaypointsRequest: _Optional[_Union[NavigationWaypointsRequest, _Mapping]] = ..., setPowershareFeatureAction: _Optional[_Union[SetPowershareFeatureAction, _Mapping]] = ..., setPowershareDischargeLimitAction: _Optional[_Union[SetPowershareDischargeLimitAction, _Mapping]] = ..., setPowershareRequestAction: _Optional[_Union[SetPowershareRequestAction, _Mapping]] = ..., setTentModeRequestAction: _Optional[_Union[SetTentModeRequestAction, _Mapping]] = ..., setFrontZoneLightRequestAction: _Optional[_Union[SetZoneLightRequestAction, _Mapping]] = ..., setRearZoneLightRequestAction: _Optional[_Union[SetZoneLightRequestAction, _Mapping]] = ..., addChargeScheduleAction: _Optional[_Union[_common_pb2.ChargeSchedule, _Mapping]] = ..., removeChargeScheduleAction: _Optional[_Union[RemoveChargeScheduleAction, _Mapping]] = ..., addPreconditionScheduleAction: _Optional[_Union[_common_pb2.PreconditionSchedule, _Mapping]] = ..., removePreconditionScheduleAction: _Optional[_Union[RemovePreconditionScheduleAction, _Mapping]] = ..., setLightbarBrightnessAction: _Optional[_Union[SetLightbarBrightnessAction, _Mapping]] = ..., setLightbarMiddleAction: _Optional[_Union[SetLightbarMiddleAction, _Mapping]] = ..., setLightbarDitchAction: _Optional[_Union[SetLightbarDitchAction, _Mapping]] = ..., getMessagesAction: _Optional[_Union[GetMessagesAction, _Mapping]] = ..., teslaAuthResponseAction: _Optional[_Union[TeslaAuthResponseAction, _Mapping]] = ..., navigationGpsDestinationRequest: _Optional[_Union[NavigationGpsDestinationRequest, _Mapping]] = ..., batchRemovePreconditionSchedulesAction: _Optional[_Union[BatchRemovePreconditionSchedulesAction, _Mapping]] = ..., batchRemoveChargeSchedulesAction: _Optional[_Union[BatchRemoveChargeSchedulesAction, _Mapping]] = ..., parentalControlsClearPinAction: _Optional[_Union[ParentalControlsClearPinAction, _Mapping]] = ..., parentalControlsClearPinAdminAction: _Optional[_Union[ParentalControlsClearPinAdminAction, _Mapping]] = ..., parentalControlsAction: _Optional[_Union[ParentalControlsAction, _Mapping]] = ..., parentalControlsEnableSettingsAction: _Optional[_Union[ParentalControlsEnableSettingsAction, _Mapping]] = ..., parentalControlsSetSpeedLimitAction: _Optional[_Union[ParentalControlsSetSpeedLimitAction, _Mapping]] = ..., cancelSohTestAction: _Optional[_Union[CancelSohTestAction, _Mapping]] = ..., stopLightShowAction: _Optional[_Union[StopLightShowAction, _Mapping]] = ..., startLightShowAction: _Optional[_Union[StartLightShowAction, _Mapping]] = ..., setSuspensionLevelAction: _Optional[_Union[SetSuspensionLevelAction, _Mapping]] = ...) -> None: ... class GetVehicleData(_message.Message): - __slots__ = ('getChargeState', 'getClimateState', 'getDriveState', 'getLocationState', 'getClosuresState', 'getChargeScheduleState', 'getPreconditioningScheduleState', 'getTirePressureState', 'getMediaState', 'getMediaDetailState', 'getSoftwareUpdateState', 'getParentalControlsState') + __slots__ = ("getChargeState", "getClimateState", "getDriveState", "getLocationState", "getClosuresState", "getChargeScheduleState", "getPreconditioningScheduleState", "getTirePressureState", "getMediaState", "getMediaDetailState", "getSoftwareUpdateState", "getParentalControlsState") GETCHARGESTATE_FIELD_NUMBER: _ClassVar[int] GETCLIMATESTATE_FIELD_NUMBER: _ClassVar[int] GETDRIVESTATE_FIELD_NUMBER: _ClassVar[int] @@ -284,92 +282,64 @@ class GetVehicleData(_message.Message): getMediaDetailState: GetMediaDetailState getSoftwareUpdateState: GetSoftwareUpdateState getParentalControlsState: GetParentalControlsState - - def __init__(self, getChargeState: _Optional[_Union[GetChargeState, _Mapping]]=..., getClimateState: _Optional[_Union[GetClimateState, _Mapping]]=..., getDriveState: _Optional[_Union[GetDriveState, _Mapping]]=..., getLocationState: _Optional[_Union[GetLocationState, _Mapping]]=..., getClosuresState: _Optional[_Union[GetClosuresState, _Mapping]]=..., getChargeScheduleState: _Optional[_Union[GetChargeScheduleState, _Mapping]]=..., getPreconditioningScheduleState: _Optional[_Union[GetPreconditioningScheduleState, _Mapping]]=..., getTirePressureState: _Optional[_Union[GetTirePressureState, _Mapping]]=..., getMediaState: _Optional[_Union[GetMediaState, _Mapping]]=..., getMediaDetailState: _Optional[_Union[GetMediaDetailState, _Mapping]]=..., getSoftwareUpdateState: _Optional[_Union[GetSoftwareUpdateState, _Mapping]]=..., getParentalControlsState: _Optional[_Union[GetParentalControlsState, _Mapping]]=...) -> None: - ... + def __init__(self, getChargeState: _Optional[_Union[GetChargeState, _Mapping]] = ..., getClimateState: _Optional[_Union[GetClimateState, _Mapping]] = ..., getDriveState: _Optional[_Union[GetDriveState, _Mapping]] = ..., getLocationState: _Optional[_Union[GetLocationState, _Mapping]] = ..., getClosuresState: _Optional[_Union[GetClosuresState, _Mapping]] = ..., getChargeScheduleState: _Optional[_Union[GetChargeScheduleState, _Mapping]] = ..., getPreconditioningScheduleState: _Optional[_Union[GetPreconditioningScheduleState, _Mapping]] = ..., getTirePressureState: _Optional[_Union[GetTirePressureState, _Mapping]] = ..., getMediaState: _Optional[_Union[GetMediaState, _Mapping]] = ..., getMediaDetailState: _Optional[_Union[GetMediaDetailState, _Mapping]] = ..., getSoftwareUpdateState: _Optional[_Union[GetSoftwareUpdateState, _Mapping]] = ..., getParentalControlsState: _Optional[_Union[GetParentalControlsState, _Mapping]] = ...) -> None: ... class GetTirePressureState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetMediaState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetMediaDetailState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetSoftwareUpdateState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetChargeState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetClimateState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetDriveState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetLocationState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetClosuresState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetChargeScheduleState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetPreconditioningScheduleState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetParentalControlsState(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class EraseUserDataAction(_message.Message): - __slots__ = ('reason',) + __slots__ = ("reason",) REASON_FIELD_NUMBER: _ClassVar[int] reason: str - - def __init__(self, reason: _Optional[str]=...) -> None: - ... + def __init__(self, reason: _Optional[str] = ...) -> None: ... class Response(_message.Message): - __slots__ = ('actionStatus', 'vehicleData', 'getSessionInfoResponse', 'getNearbyChargingSites', 'ping') + __slots__ = ("actionStatus", "vehicleData", "getSessionInfoResponse", "getNearbyChargingSites", "ping") ACTIONSTATUS_FIELD_NUMBER: _ClassVar[int] VEHICLEDATA_FIELD_NUMBER: _ClassVar[int] GETSESSIONINFORESPONSE_FIELD_NUMBER: _ClassVar[int] @@ -380,50 +350,40 @@ class Response(_message.Message): getSessionInfoResponse: _signatures_pb2.SessionInfo getNearbyChargingSites: NearbyChargingSites ping: Ping - - def __init__(self, actionStatus: _Optional[_Union[ActionStatus, _Mapping]]=..., vehicleData: _Optional[_Union[_vehicle_pb2.VehicleData, _Mapping]]=..., getSessionInfoResponse: _Optional[_Union[_signatures_pb2.SessionInfo, _Mapping]]=..., getNearbyChargingSites: _Optional[_Union[NearbyChargingSites, _Mapping]]=..., ping: _Optional[_Union[Ping, _Mapping]]=...) -> None: - ... + def __init__(self, actionStatus: _Optional[_Union[ActionStatus, _Mapping]] = ..., vehicleData: _Optional[_Union[_vehicle_pb2.VehicleData, _Mapping]] = ..., getSessionInfoResponse: _Optional[_Union[_signatures_pb2.SessionInfo, _Mapping]] = ..., getNearbyChargingSites: _Optional[_Union[NearbyChargingSites, _Mapping]] = ..., ping: _Optional[_Union[Ping, _Mapping]] = ...) -> None: ... class ActionStatus(_message.Message): - __slots__ = ('result', 'result_reason') + __slots__ = ("result", "result_reason") RESULT_FIELD_NUMBER: _ClassVar[int] RESULT_REASON_FIELD_NUMBER: _ClassVar[int] result: OperationStatus_E result_reason: ResultReason - - def __init__(self, result: _Optional[_Union[OperationStatus_E, str]]=..., result_reason: _Optional[_Union[ResultReason, _Mapping]]=...) -> None: - ... + def __init__(self, result: _Optional[_Union[OperationStatus_E, str]] = ..., result_reason: _Optional[_Union[ResultReason, _Mapping]] = ...) -> None: ... class ResultReason(_message.Message): - __slots__ = ('plain_text',) + __slots__ = ("plain_text",) PLAIN_TEXT_FIELD_NUMBER: _ClassVar[int] plain_text: str - - def __init__(self, plain_text: _Optional[str]=...) -> None: - ... + def __init__(self, plain_text: _Optional[str] = ...) -> None: ... class EncryptedData(_message.Message): - __slots__ = ('field_number', 'ciphertext', 'tag') + __slots__ = ("field_number", "ciphertext", "tag") FIELD_NUMBER_FIELD_NUMBER: _ClassVar[int] CIPHERTEXT_FIELD_NUMBER: _ClassVar[int] TAG_FIELD_NUMBER: _ClassVar[int] field_number: int ciphertext: bytes tag: bytes - - def __init__(self, field_number: _Optional[int]=..., ciphertext: _Optional[bytes]=..., tag: _Optional[bytes]=...) -> None: - ... + def __init__(self, field_number: _Optional[int] = ..., ciphertext: _Optional[bytes] = ..., tag: _Optional[bytes] = ...) -> None: ... class ChargingSetLimitAction(_message.Message): - __slots__ = ('percent',) + __slots__ = ("percent",) PERCENT_FIELD_NUMBER: _ClassVar[int] percent: int - - def __init__(self, percent: _Optional[int]=...) -> None: - ... + def __init__(self, percent: _Optional[int] = ...) -> None: ... class ChargingStartStopAction(_message.Message): - __slots__ = ('unknown', 'start', 'start_standard', 'start_max_range', 'stop') + __slots__ = ("unknown", "start", "start_standard", "start_max_range", "stop") UNKNOWN_FIELD_NUMBER: _ClassVar[int] START_FIELD_NUMBER: _ClassVar[int] START_STANDARD_FIELD_NUMBER: _ClassVar[int] @@ -434,51 +394,40 @@ class ChargingStartStopAction(_message.Message): start_standard: _common_pb2.Void start_max_range: _common_pb2.Void stop: _common_pb2.Void - - def __init__(self, unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., start: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., start_standard: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., start_max_range: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., stop: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., start: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., start_standard: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., start_max_range: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., stop: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class DrivingClearSpeedLimitPinAction(_message.Message): - __slots__ = ('pin',) + __slots__ = ("pin",) PIN_FIELD_NUMBER: _ClassVar[int] pin: str - - def __init__(self, pin: _Optional[str]=...) -> None: - ... + def __init__(self, pin: _Optional[str] = ...) -> None: ... class DrivingSetSpeedLimitAction(_message.Message): - __slots__ = ('limit_mph',) + __slots__ = ("limit_mph",) LIMIT_MPH_FIELD_NUMBER: _ClassVar[int] limit_mph: float - - def __init__(self, limit_mph: _Optional[float]=...) -> None: - ... + def __init__(self, limit_mph: _Optional[float] = ...) -> None: ... class DrivingSpeedLimitAction(_message.Message): - __slots__ = ('activate', 'pin') + __slots__ = ("activate", "pin") ACTIVATE_FIELD_NUMBER: _ClassVar[int] PIN_FIELD_NUMBER: _ClassVar[int] activate: bool pin: str - - def __init__(self, activate: bool=..., pin: _Optional[str]=...) -> None: - ... + def __init__(self, activate: _Optional[bool] = ..., pin: _Optional[str] = ...) -> None: ... class HvacAutoAction(_message.Message): - __slots__ = ('power_on', 'manual_override') + __slots__ = ("power_on", "manual_override") POWER_ON_FIELD_NUMBER: _ClassVar[int] MANUAL_OVERRIDE_FIELD_NUMBER: _ClassVar[int] power_on: bool manual_override: bool - - def __init__(self, power_on: bool=..., manual_override: bool=...) -> None: - ... + def __init__(self, power_on: _Optional[bool] = ..., manual_override: _Optional[bool] = ...) -> None: ... class HvacSeatHeaterActions(_message.Message): - __slots__ = ('hvacSeatHeaterAction',) - + __slots__ = ("hvacSeatHeaterAction",) class HvacSeatHeaterAction(_message.Message): - __slots__ = ('SEAT_HEATER_UNKNOWN', 'SEAT_HEATER_OFF', 'SEAT_HEATER_LOW', 'SEAT_HEATER_MED', 'SEAT_HEATER_HIGH', 'CAR_SEAT_UNKNOWN', 'CAR_SEAT_FRONT_LEFT', 'CAR_SEAT_FRONT_RIGHT', 'CAR_SEAT_REAR_LEFT', 'CAR_SEAT_REAR_LEFT_BACK', 'CAR_SEAT_REAR_CENTER', 'CAR_SEAT_REAR_RIGHT', 'CAR_SEAT_REAR_RIGHT_BACK', 'CAR_SEAT_THIRD_ROW_LEFT', 'CAR_SEAT_THIRD_ROW_RIGHT') + __slots__ = ("SEAT_HEATER_UNKNOWN", "SEAT_HEATER_OFF", "SEAT_HEATER_LOW", "SEAT_HEATER_MED", "SEAT_HEATER_HIGH", "CAR_SEAT_UNKNOWN", "CAR_SEAT_FRONT_LEFT", "CAR_SEAT_FRONT_RIGHT", "CAR_SEAT_REAR_LEFT", "CAR_SEAT_REAR_LEFT_BACK", "CAR_SEAT_REAR_CENTER", "CAR_SEAT_REAR_RIGHT", "CAR_SEAT_REAR_RIGHT_BACK", "CAR_SEAT_THIRD_ROW_LEFT", "CAR_SEAT_THIRD_ROW_RIGHT") SEAT_HEATER_UNKNOWN_FIELD_NUMBER: _ClassVar[int] SEAT_HEATER_OFF_FIELD_NUMBER: _ClassVar[int] SEAT_HEATER_LOW_FIELD_NUMBER: _ClassVar[int] @@ -509,18 +458,13 @@ class HvacSeatHeaterActions(_message.Message): CAR_SEAT_REAR_RIGHT_BACK: _common_pb2.Void CAR_SEAT_THIRD_ROW_LEFT: _common_pb2.Void CAR_SEAT_THIRD_ROW_RIGHT: _common_pb2.Void - - def __init__(self, SEAT_HEATER_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SEAT_HEATER_OFF: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SEAT_HEATER_LOW: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SEAT_HEATER_MED: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SEAT_HEATER_HIGH: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_FRONT_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_FRONT_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_REAR_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_REAR_LEFT_BACK: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_REAR_CENTER: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_REAR_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_REAR_RIGHT_BACK: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_THIRD_ROW_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., CAR_SEAT_THIRD_ROW_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, SEAT_HEATER_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SEAT_HEATER_OFF: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SEAT_HEATER_LOW: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SEAT_HEATER_MED: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SEAT_HEATER_HIGH: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_FRONT_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_FRONT_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_REAR_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_REAR_LEFT_BACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_REAR_CENTER: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_REAR_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_REAR_RIGHT_BACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_THIRD_ROW_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CAR_SEAT_THIRD_ROW_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... HVACSEATHEATERACTION_FIELD_NUMBER: _ClassVar[int] hvacSeatHeaterAction: _containers.RepeatedCompositeFieldContainer[HvacSeatHeaterActions.HvacSeatHeaterAction] - - def __init__(self, hvacSeatHeaterAction: _Optional[_Iterable[_Union[HvacSeatHeaterActions.HvacSeatHeaterAction, _Mapping]]]=...) -> None: - ... + def __init__(self, hvacSeatHeaterAction: _Optional[_Iterable[_Union[HvacSeatHeaterActions.HvacSeatHeaterAction, _Mapping]]] = ...) -> None: ... class HvacSeatCoolerActions(_message.Message): - __slots__ = ('hvacSeatCoolerAction',) - + __slots__ = ("hvacSeatCoolerAction",) class HvacSeatCoolerLevel_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () HvacSeatCoolerLevel_Unknown: _ClassVar[HvacSeatCoolerActions.HvacSeatCoolerLevel_E] @@ -533,7 +477,6 @@ class HvacSeatCoolerActions(_message.Message): HvacSeatCoolerLevel_Low: HvacSeatCoolerActions.HvacSeatCoolerLevel_E HvacSeatCoolerLevel_Med: HvacSeatCoolerActions.HvacSeatCoolerLevel_E HvacSeatCoolerLevel_High: HvacSeatCoolerActions.HvacSeatCoolerLevel_E - class HvacSeatCoolerPosition_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () HvacSeatCoolerPosition_Unknown: _ClassVar[HvacSeatCoolerActions.HvacSeatCoolerPosition_E] @@ -542,25 +485,19 @@ class HvacSeatCoolerActions(_message.Message): HvacSeatCoolerPosition_Unknown: HvacSeatCoolerActions.HvacSeatCoolerPosition_E HvacSeatCoolerPosition_FrontLeft: HvacSeatCoolerActions.HvacSeatCoolerPosition_E HvacSeatCoolerPosition_FrontRight: HvacSeatCoolerActions.HvacSeatCoolerPosition_E - class HvacSeatCoolerAction(_message.Message): - __slots__ = ('seat_cooler_level', 'seat_position') + __slots__ = ("seat_cooler_level", "seat_position") SEAT_COOLER_LEVEL_FIELD_NUMBER: _ClassVar[int] SEAT_POSITION_FIELD_NUMBER: _ClassVar[int] seat_cooler_level: HvacSeatCoolerActions.HvacSeatCoolerLevel_E seat_position: HvacSeatCoolerActions.HvacSeatCoolerPosition_E - - def __init__(self, seat_cooler_level: _Optional[_Union[HvacSeatCoolerActions.HvacSeatCoolerLevel_E, str]]=..., seat_position: _Optional[_Union[HvacSeatCoolerActions.HvacSeatCoolerPosition_E, str]]=...) -> None: - ... + def __init__(self, seat_cooler_level: _Optional[_Union[HvacSeatCoolerActions.HvacSeatCoolerLevel_E, str]] = ..., seat_position: _Optional[_Union[HvacSeatCoolerActions.HvacSeatCoolerPosition_E, str]] = ...) -> None: ... HVACSEATCOOLERACTION_FIELD_NUMBER: _ClassVar[int] hvacSeatCoolerAction: _containers.RepeatedCompositeFieldContainer[HvacSeatCoolerActions.HvacSeatCoolerAction] - - def __init__(self, hvacSeatCoolerAction: _Optional[_Iterable[_Union[HvacSeatCoolerActions.HvacSeatCoolerAction, _Mapping]]]=...) -> None: - ... + def __init__(self, hvacSeatCoolerAction: _Optional[_Iterable[_Union[HvacSeatCoolerActions.HvacSeatCoolerAction, _Mapping]]] = ...) -> None: ... class HvacSetPreconditioningMaxAction(_message.Message): - __slots__ = ('on', 'manual_override', 'manual_override_mode') - + __slots__ = ("on", "manual_override", "manual_override_mode") class ManualOverrideMode_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () DogMode: _ClassVar[HvacSetPreconditioningMaxAction.ManualOverrideMode_E] @@ -575,35 +512,27 @@ class HvacSetPreconditioningMaxAction(_message.Message): on: bool manual_override: bool manual_override_mode: _containers.RepeatedScalarFieldContainer[HvacSetPreconditioningMaxAction.ManualOverrideMode_E] - - def __init__(self, on: bool=..., manual_override: bool=..., manual_override_mode: _Optional[_Iterable[_Union[HvacSetPreconditioningMaxAction.ManualOverrideMode_E, str]]]=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., manual_override: _Optional[bool] = ..., manual_override_mode: _Optional[_Iterable[_Union[HvacSetPreconditioningMaxAction.ManualOverrideMode_E, str]]] = ...) -> None: ... class HvacSteeringWheelHeaterAction(_message.Message): - __slots__ = ('power_on',) + __slots__ = ("power_on",) POWER_ON_FIELD_NUMBER: _ClassVar[int] power_on: bool - - def __init__(self, power_on: bool=...) -> None: - ... + def __init__(self, power_on: _Optional[bool] = ...) -> None: ... class HvacTemperatureAdjustmentAction(_message.Message): - __slots__ = ('delta_celsius', 'delta_percent', 'absolute_celsius', 'level', 'hvac_temperature_zone', 'driver_temp_celsius', 'passenger_temp_celsius') - + __slots__ = ("delta_celsius", "delta_percent", "absolute_celsius", "level", "hvac_temperature_zone", "driver_temp_celsius", "passenger_temp_celsius") class Temperature(_message.Message): - __slots__ = ('TEMP_UNKNOWN', 'TEMP_MIN', 'TEMP_MAX') + __slots__ = ("TEMP_UNKNOWN", "TEMP_MIN", "TEMP_MAX") TEMP_UNKNOWN_FIELD_NUMBER: _ClassVar[int] TEMP_MIN_FIELD_NUMBER: _ClassVar[int] TEMP_MAX_FIELD_NUMBER: _ClassVar[int] TEMP_UNKNOWN: _common_pb2.Void TEMP_MIN: _common_pb2.Void TEMP_MAX: _common_pb2.Void - - def __init__(self, TEMP_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., TEMP_MIN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., TEMP_MAX: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, TEMP_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TEMP_MIN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TEMP_MAX: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class HvacTemperatureZone(_message.Message): - __slots__ = ('TEMP_ZONE_UNKNOWN', 'TEMP_ZONE_FRONT_LEFT', 'TEMP_ZONE_FRONT_RIGHT', 'TEMP_ZONE_REAR') + __slots__ = ("TEMP_ZONE_UNKNOWN", "TEMP_ZONE_FRONT_LEFT", "TEMP_ZONE_FRONT_RIGHT", "TEMP_ZONE_REAR") TEMP_ZONE_UNKNOWN_FIELD_NUMBER: _ClassVar[int] TEMP_ZONE_FRONT_LEFT_FIELD_NUMBER: _ClassVar[int] TEMP_ZONE_FRONT_RIGHT_FIELD_NUMBER: _ClassVar[int] @@ -612,9 +541,7 @@ class HvacTemperatureAdjustmentAction(_message.Message): TEMP_ZONE_FRONT_LEFT: _common_pb2.Void TEMP_ZONE_FRONT_RIGHT: _common_pb2.Void TEMP_ZONE_REAR: _common_pb2.Void - - def __init__(self, TEMP_ZONE_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., TEMP_ZONE_FRONT_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., TEMP_ZONE_FRONT_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., TEMP_ZONE_REAR: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, TEMP_ZONE_UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TEMP_ZONE_FRONT_LEFT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TEMP_ZONE_FRONT_RIGHT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TEMP_ZONE_REAR: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... DELTA_CELSIUS_FIELD_NUMBER: _ClassVar[int] DELTA_PERCENT_FIELD_NUMBER: _ClassVar[int] ABSOLUTE_CELSIUS_FIELD_NUMBER: _ClassVar[int] @@ -629,36 +556,30 @@ class HvacTemperatureAdjustmentAction(_message.Message): hvac_temperature_zone: _containers.RepeatedCompositeFieldContainer[HvacTemperatureAdjustmentAction.HvacTemperatureZone] driver_temp_celsius: float passenger_temp_celsius: float - - def __init__(self, delta_celsius: _Optional[float]=..., delta_percent: _Optional[int]=..., absolute_celsius: _Optional[float]=..., level: _Optional[_Union[HvacTemperatureAdjustmentAction.Temperature, _Mapping]]=..., hvac_temperature_zone: _Optional[_Iterable[_Union[HvacTemperatureAdjustmentAction.HvacTemperatureZone, _Mapping]]]=..., driver_temp_celsius: _Optional[float]=..., passenger_temp_celsius: _Optional[float]=...) -> None: - ... + def __init__(self, delta_celsius: _Optional[float] = ..., delta_percent: _Optional[int] = ..., absolute_celsius: _Optional[float] = ..., level: _Optional[_Union[HvacTemperatureAdjustmentAction.Temperature, _Mapping]] = ..., hvac_temperature_zone: _Optional[_Iterable[_Union[HvacTemperatureAdjustmentAction.HvacTemperatureZone, _Mapping]]] = ..., driver_temp_celsius: _Optional[float] = ..., passenger_temp_celsius: _Optional[float] = ...) -> None: ... class GetNearbyChargingSites(_message.Message): - __slots__ = ('include_meta_data', 'radius', 'count') + __slots__ = ("include_meta_data", "radius", "count") INCLUDE_META_DATA_FIELD_NUMBER: _ClassVar[int] RADIUS_FIELD_NUMBER: _ClassVar[int] COUNT_FIELD_NUMBER: _ClassVar[int] include_meta_data: bool radius: int count: int - - def __init__(self, include_meta_data: bool=..., radius: _Optional[int]=..., count: _Optional[int]=...) -> None: - ... + def __init__(self, include_meta_data: _Optional[bool] = ..., radius: _Optional[int] = ..., count: _Optional[int] = ...) -> None: ... class NearbyChargingSites(_message.Message): - __slots__ = ('timestamp', 'superchargers', 'congestion_sync_time_utc_secs') + __slots__ = ("timestamp", "superchargers", "congestion_sync_time_utc_secs") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] SUPERCHARGERS_FIELD_NUMBER: _ClassVar[int] CONGESTION_SYNC_TIME_UTC_SECS_FIELD_NUMBER: _ClassVar[int] timestamp: _timestamp_pb2.Timestamp superchargers: _containers.RepeatedCompositeFieldContainer[Superchargers] congestion_sync_time_utc_secs: int - - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., superchargers: _Optional[_Iterable[_Union[Superchargers, _Mapping]]]=..., congestion_sync_time_utc_secs: _Optional[int]=...) -> None: - ... + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., superchargers: _Optional[_Iterable[_Union[Superchargers, _Mapping]]] = ..., congestion_sync_time_utc_secs: _Optional[int] = ...) -> None: ... class Superchargers(_message.Message): - __slots__ = ('id', 'amenities', 'available_stalls', 'billing_info', 'billing_time', 'city', 'country', 'distance_miles', 'district', 'location', 'name', 'postal_code', 'site_closed', 'state', 'street_address', 'total_stalls', 'within_range', 'max_power_kw', 'out_of_order_stalls_number', 'out_of_order_stalls_names') + __slots__ = ("id", "amenities", "available_stalls", "billing_info", "billing_time", "city", "country", "distance_miles", "district", "location", "name", "postal_code", "site_closed", "state", "street_address", "total_stalls", "within_range", "max_power_kw", "out_of_order_stalls_number", "out_of_order_stalls_names") ID_FIELD_NUMBER: _ClassVar[int] AMENITIES_FIELD_NUMBER: _ClassVar[int] AVAILABLE_STALLS_FIELD_NUMBER: _ClassVar[int] @@ -699,102 +620,74 @@ class Superchargers(_message.Message): max_power_kw: int out_of_order_stalls_number: int out_of_order_stalls_names: str - - def __init__(self, id: _Optional[int]=..., amenities: _Optional[str]=..., available_stalls: _Optional[int]=..., billing_info: _Optional[str]=..., billing_time: _Optional[str]=..., city: _Optional[str]=..., country: _Optional[str]=..., distance_miles: _Optional[float]=..., district: _Optional[str]=..., location: _Optional[_Union[_common_pb2.LatLong, _Mapping]]=..., name: _Optional[str]=..., postal_code: _Optional[str]=..., site_closed: bool=..., state: _Optional[str]=..., street_address: _Optional[str]=..., total_stalls: _Optional[int]=..., within_range: bool=..., max_power_kw: _Optional[int]=..., out_of_order_stalls_number: _Optional[int]=..., out_of_order_stalls_names: _Optional[str]=...) -> None: - ... + def __init__(self, id: _Optional[int] = ..., amenities: _Optional[str] = ..., available_stalls: _Optional[int] = ..., billing_info: _Optional[str] = ..., billing_time: _Optional[str] = ..., city: _Optional[str] = ..., country: _Optional[str] = ..., distance_miles: _Optional[float] = ..., district: _Optional[str] = ..., location: _Optional[_Union[_common_pb2.LatLong, _Mapping]] = ..., name: _Optional[str] = ..., postal_code: _Optional[str] = ..., site_closed: _Optional[bool] = ..., state: _Optional[str] = ..., street_address: _Optional[str] = ..., total_stalls: _Optional[int] = ..., within_range: _Optional[bool] = ..., max_power_kw: _Optional[int] = ..., out_of_order_stalls_number: _Optional[int] = ..., out_of_order_stalls_names: _Optional[str] = ...) -> None: ... class MediaPlayAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class MediaUpdateVolume(_message.Message): - __slots__ = ('volume_delta', 'volume_absolute_float') + __slots__ = ("volume_delta", "volume_absolute_float") VOLUME_DELTA_FIELD_NUMBER: _ClassVar[int] VOLUME_ABSOLUTE_FLOAT_FIELD_NUMBER: _ClassVar[int] volume_delta: int volume_absolute_float: float - - def __init__(self, volume_delta: _Optional[int]=..., volume_absolute_float: _Optional[float]=...) -> None: - ... + def __init__(self, volume_delta: _Optional[int] = ..., volume_absolute_float: _Optional[float] = ...) -> None: ... class MediaNextFavorite(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class MediaPreviousFavorite(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class MediaNextTrack(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class MediaPreviousTrack(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VehicleControlCancelSoftwareUpdateAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VehicleControlFlashLightsAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VehicleControlHonkHornAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VehicleControlResetValetPinAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VehicleControlScheduleSoftwareUpdateAction(_message.Message): - __slots__ = ('offset_sec',) + __slots__ = ("offset_sec",) OFFSET_SEC_FIELD_NUMBER: _ClassVar[int] offset_sec: int - - def __init__(self, offset_sec: _Optional[int]=...) -> None: - ... + def __init__(self, offset_sec: _Optional[int] = ...) -> None: ... class VehicleControlSetSentryModeAction(_message.Message): - __slots__ = ('on',) + __slots__ = ("on",) ON_FIELD_NUMBER: _ClassVar[int] on: bool - - def __init__(self, on: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ...) -> None: ... class VehicleControlSetValetModeAction(_message.Message): - __slots__ = ('on', 'password') + __slots__ = ("on", "password") ON_FIELD_NUMBER: _ClassVar[int] PASSWORD_FIELD_NUMBER: _ClassVar[int] on: bool password: str - - def __init__(self, on: bool=..., password: _Optional[str]=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., password: _Optional[str] = ...) -> None: ... class VehicleControlSunroofOpenCloseAction(_message.Message): - __slots__ = ('absolute_level', 'delta_level', 'vent', 'close', 'open') + __slots__ = ("absolute_level", "delta_level", "vent", "close", "open") ABSOLUTE_LEVEL_FIELD_NUMBER: _ClassVar[int] DELTA_LEVEL_FIELD_NUMBER: _ClassVar[int] VENT_FIELD_NUMBER: _ClassVar[int] @@ -805,45 +698,36 @@ class VehicleControlSunroofOpenCloseAction(_message.Message): vent: _common_pb2.Void close: _common_pb2.Void open: _common_pb2.Void - - def __init__(self, absolute_level: _Optional[int]=..., delta_level: _Optional[int]=..., vent: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., close: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., open: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, absolute_level: _Optional[int] = ..., delta_level: _Optional[int] = ..., vent: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., close: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., open: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class VehicleControlTriggerHomelinkAction(_message.Message): - __slots__ = ('location', 'token') + __slots__ = ("location", "token") LOCATION_FIELD_NUMBER: _ClassVar[int] TOKEN_FIELD_NUMBER: _ClassVar[int] location: _common_pb2.LatLong token: str - - def __init__(self, location: _Optional[_Union[_common_pb2.LatLong, _Mapping]]=..., token: _Optional[str]=...) -> None: - ... + def __init__(self, location: _Optional[_Union[_common_pb2.LatLong, _Mapping]] = ..., token: _Optional[str] = ...) -> None: ... class VehicleControlWindowAction(_message.Message): - __slots__ = ('unknown', 'vent', 'close') + __slots__ = ("unknown", "vent", "close") UNKNOWN_FIELD_NUMBER: _ClassVar[int] VENT_FIELD_NUMBER: _ClassVar[int] CLOSE_FIELD_NUMBER: _ClassVar[int] unknown: _common_pb2.Void vent: _common_pb2.Void close: _common_pb2.Void - - def __init__(self, unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., vent: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., close: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., vent: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., close: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class HvacBioweaponModeAction(_message.Message): - __slots__ = ('on', 'manual_override') + __slots__ = ("on", "manual_override") ON_FIELD_NUMBER: _ClassVar[int] MANUAL_OVERRIDE_FIELD_NUMBER: _ClassVar[int] on: bool manual_override: bool - - def __init__(self, on: bool=..., manual_override: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., manual_override: _Optional[bool] = ...) -> None: ... class AutoSeatClimateAction(_message.Message): - __slots__ = ('carseat',) - + __slots__ = ("carseat",) class AutoSeatPosition_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () AutoSeatPosition_Unknown: _ClassVar[AutoSeatClimateAction.AutoSeatPosition_E] @@ -852,46 +736,37 @@ class AutoSeatClimateAction(_message.Message): AutoSeatPosition_Unknown: AutoSeatClimateAction.AutoSeatPosition_E AutoSeatPosition_FrontLeft: AutoSeatClimateAction.AutoSeatPosition_E AutoSeatPosition_FrontRight: AutoSeatClimateAction.AutoSeatPosition_E - class CarSeat(_message.Message): - __slots__ = ('on', 'seat_position') + __slots__ = ("on", "seat_position") ON_FIELD_NUMBER: _ClassVar[int] SEAT_POSITION_FIELD_NUMBER: _ClassVar[int] on: bool seat_position: AutoSeatClimateAction.AutoSeatPosition_E - - def __init__(self, on: bool=..., seat_position: _Optional[_Union[AutoSeatClimateAction.AutoSeatPosition_E, str]]=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., seat_position: _Optional[_Union[AutoSeatClimateAction.AutoSeatPosition_E, str]] = ...) -> None: ... CARSEAT_FIELD_NUMBER: _ClassVar[int] carseat: _containers.RepeatedCompositeFieldContainer[AutoSeatClimateAction.CarSeat] - - def __init__(self, carseat: _Optional[_Iterable[_Union[AutoSeatClimateAction.CarSeat, _Mapping]]]=...) -> None: - ... + def __init__(self, carseat: _Optional[_Iterable[_Union[AutoSeatClimateAction.CarSeat, _Mapping]]] = ...) -> None: ... class Ping(_message.Message): - __slots__ = ('ping_id', 'local_timestamp', 'last_remote_timestamp') + __slots__ = ("ping_id", "local_timestamp", "last_remote_timestamp") PING_ID_FIELD_NUMBER: _ClassVar[int] LOCAL_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] LAST_REMOTE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] ping_id: int local_timestamp: _timestamp_pb2.Timestamp last_remote_timestamp: _timestamp_pb2.Timestamp - - def __init__(self, ping_id: _Optional[int]=..., local_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., last_remote_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, ping_id: _Optional[int] = ..., local_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., last_remote_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class ScheduledChargingAction(_message.Message): - __slots__ = ('enabled', 'charging_time') + __slots__ = ("enabled", "charging_time") ENABLED_FIELD_NUMBER: _ClassVar[int] CHARGING_TIME_FIELD_NUMBER: _ClassVar[int] enabled: bool charging_time: int - - def __init__(self, enabled: bool=..., charging_time: _Optional[int]=...) -> None: - ... + def __init__(self, enabled: _Optional[bool] = ..., charging_time: _Optional[int] = ...) -> None: ... class ScheduledDepartureAction(_message.Message): - __slots__ = ('enabled', 'departure_time', 'preconditioning_times', 'off_peak_charging_times', 'off_peak_hours_end_time') + __slots__ = ("enabled", "departure_time", "preconditioning_times", "off_peak_charging_times", "off_peak_hours_end_time") ENABLED_FIELD_NUMBER: _ClassVar[int] DEPARTURE_TIME_FIELD_NUMBER: _ClassVar[int] PRECONDITIONING_TIMES_FIELD_NUMBER: _ClassVar[int] @@ -902,13 +777,10 @@ class ScheduledDepartureAction(_message.Message): preconditioning_times: _common_pb2.PreconditioningTimes off_peak_charging_times: _common_pb2.OffPeakChargingTimes off_peak_hours_end_time: int - - def __init__(self, enabled: bool=..., departure_time: _Optional[int]=..., preconditioning_times: _Optional[_Union[_common_pb2.PreconditioningTimes, _Mapping]]=..., off_peak_charging_times: _Optional[_Union[_common_pb2.OffPeakChargingTimes, _Mapping]]=..., off_peak_hours_end_time: _Optional[int]=...) -> None: - ... + def __init__(self, enabled: _Optional[bool] = ..., departure_time: _Optional[int] = ..., preconditioning_times: _Optional[_Union[_common_pb2.PreconditioningTimes, _Mapping]] = ..., off_peak_charging_times: _Optional[_Union[_common_pb2.OffPeakChargingTimes, _Mapping]] = ..., off_peak_hours_end_time: _Optional[int] = ...) -> None: ... class HvacClimateKeeperAction(_message.Message): - __slots__ = ('ClimateKeeperAction', 'manual_override') - + __slots__ = ("ClimateKeeperAction", "manual_override") class ClimateKeeperAction_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () ClimateKeeperAction_Off: _ClassVar[HvacClimateKeeperAction.ClimateKeeperAction_E] @@ -923,188 +795,143 @@ class HvacClimateKeeperAction(_message.Message): MANUAL_OVERRIDE_FIELD_NUMBER: _ClassVar[int] ClimateKeeperAction: HvacClimateKeeperAction.ClimateKeeperAction_E manual_override: bool - - def __init__(self, ClimateKeeperAction: _Optional[_Union[HvacClimateKeeperAction.ClimateKeeperAction_E, str]]=..., manual_override: bool=...) -> None: - ... + def __init__(self, ClimateKeeperAction: _Optional[_Union[HvacClimateKeeperAction.ClimateKeeperAction_E, str]] = ..., manual_override: _Optional[bool] = ...) -> None: ... class HvacRecirculationAction(_message.Message): - __slots__ = ('on',) + __slots__ = ("on",) ON_FIELD_NUMBER: _ClassVar[int] on: bool - - def __init__(self, on: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ...) -> None: ... class SetChargingAmpsAction(_message.Message): - __slots__ = ('charging_amps',) + __slots__ = ("charging_amps",) CHARGING_AMPS_FIELD_NUMBER: _ClassVar[int] charging_amps: int - - def __init__(self, charging_amps: _Optional[int]=...) -> None: - ... + def __init__(self, charging_amps: _Optional[int] = ...) -> None: ... class RemoveChargeScheduleAction(_message.Message): - __slots__ = ('id',) + __slots__ = ("id",) ID_FIELD_NUMBER: _ClassVar[int] id: int - - def __init__(self, id: _Optional[int]=...) -> None: - ... + def __init__(self, id: _Optional[int] = ...) -> None: ... class BatchRemoveChargeSchedulesAction(_message.Message): - __slots__ = ('home', 'work', 'other') + __slots__ = ("home", "work", "other") HOME_FIELD_NUMBER: _ClassVar[int] WORK_FIELD_NUMBER: _ClassVar[int] OTHER_FIELD_NUMBER: _ClassVar[int] home: bool work: bool other: bool - - def __init__(self, home: bool=..., work: bool=..., other: bool=...) -> None: - ... + def __init__(self, home: _Optional[bool] = ..., work: _Optional[bool] = ..., other: _Optional[bool] = ...) -> None: ... class BatchRemovePreconditionSchedulesAction(_message.Message): - __slots__ = ('home', 'work', 'other') + __slots__ = ("home", "work", "other") HOME_FIELD_NUMBER: _ClassVar[int] WORK_FIELD_NUMBER: _ClassVar[int] OTHER_FIELD_NUMBER: _ClassVar[int] home: bool work: bool other: bool - - def __init__(self, home: bool=..., work: bool=..., other: bool=...) -> None: - ... + def __init__(self, home: _Optional[bool] = ..., work: _Optional[bool] = ..., other: _Optional[bool] = ...) -> None: ... class RemovePreconditionScheduleAction(_message.Message): - __slots__ = ('id',) + __slots__ = ("id",) ID_FIELD_NUMBER: _ClassVar[int] id: int - - def __init__(self, id: _Optional[int]=...) -> None: - ... + def __init__(self, id: _Optional[int] = ...) -> None: ... class SetCabinOverheatProtectionAction(_message.Message): - __slots__ = ('on', 'fan_only') + __slots__ = ("on", "fan_only") ON_FIELD_NUMBER: _ClassVar[int] FAN_ONLY_FIELD_NUMBER: _ClassVar[int] on: bool fan_only: bool - - def __init__(self, on: bool=..., fan_only: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., fan_only: _Optional[bool] = ...) -> None: ... class SetVehicleNameAction(_message.Message): - __slots__ = ('vehicleName',) + __slots__ = ("vehicleName",) VEHICLENAME_FIELD_NUMBER: _ClassVar[int] vehicleName: str - - def __init__(self, vehicleName: _Optional[str]=...) -> None: - ... + def __init__(self, vehicleName: _Optional[str] = ...) -> None: ... class ChargePortDoorClose(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargePortDoorOpen(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class BoomboxAction(_message.Message): - __slots__ = ('sound',) + __slots__ = ("sound",) SOUND_FIELD_NUMBER: _ClassVar[int] sound: int - - def __init__(self, sound: _Optional[int]=...) -> None: - ... + def __init__(self, sound: _Optional[int] = ...) -> None: ... class SetCopTempAction(_message.Message): - __slots__ = ('copActivationTemp',) + __slots__ = ("copActivationTemp",) COPACTIVATIONTEMP_FIELD_NUMBER: _ClassVar[int] copActivationTemp: _vehicle_pb2.ClimateState.CopActivationTemp - - def __init__(self, copActivationTemp: _Optional[_Union[_vehicle_pb2.ClimateState.CopActivationTemp, str]]=...) -> None: - ... + def __init__(self, copActivationTemp: _Optional[_Union[_vehicle_pb2.ClimateState.CopActivationTemp, str]] = ...) -> None: ... class VehicleControlSetPinToDriveAction(_message.Message): - __slots__ = ('on', 'password') + __slots__ = ("on", "password") ON_FIELD_NUMBER: _ClassVar[int] PASSWORD_FIELD_NUMBER: _ClassVar[int] on: bool password: str - - def __init__(self, on: bool=..., password: _Optional[str]=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ..., password: _Optional[str] = ...) -> None: ... class VehicleControlResetPinToDriveAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class RemoteStartDrive(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class CreateStreamSession(_message.Message): - __slots__ = ('session_id',) + __slots__ = ("session_id",) SESSION_ID_FIELD_NUMBER: _ClassVar[int] session_id: str - - def __init__(self, session_id: _Optional[str]=...) -> None: - ... + def __init__(self, session_id: _Optional[str] = ...) -> None: ... class StreamMessage(_message.Message): - __slots__ = ('session_id', 'data') + __slots__ = ("session_id", "data") SESSION_ID_FIELD_NUMBER: _ClassVar[int] DATA_FIELD_NUMBER: _ClassVar[int] session_id: str data: bytes - - def __init__(self, session_id: _Optional[str]=..., data: _Optional[bytes]=...) -> None: - ... + def __init__(self, session_id: _Optional[str] = ..., data: _Optional[bytes] = ...) -> None: ... class NavigationRequest(_message.Message): - __slots__ = ('destination', 'order') + __slots__ = ("destination", "order") DESTINATION_FIELD_NUMBER: _ClassVar[int] ORDER_FIELD_NUMBER: _ClassVar[int] destination: str order: int - - def __init__(self, destination: _Optional[str]=..., order: _Optional[int]=...) -> None: - ... + def __init__(self, destination: _Optional[str] = ..., order: _Optional[int] = ...) -> None: ... class NavigationSuperchargerRequest(_message.Message): - __slots__ = ('order',) + __slots__ = ("order",) ORDER_FIELD_NUMBER: _ClassVar[int] order: int - - def __init__(self, order: _Optional[int]=...) -> None: - ... + def __init__(self, order: _Optional[int] = ...) -> None: ... class UiSetUpcomingCalendarEntries(_message.Message): - __slots__ = ('calendar_data',) + __slots__ = ("calendar_data",) CALENDAR_DATA_FIELD_NUMBER: _ClassVar[int] calendar_data: str - - def __init__(self, calendar_data: _Optional[str]=...) -> None: - ... + def __init__(self, calendar_data: _Optional[str] = ...) -> None: ... class VehicleDataSubscription(_message.Message): - __slots__ = ('pii_key_request', 'subscription_duration_s', 'subscription_ping_s', 'gui_settings_max_update_rate_ms', 'charge_state_max_update_rate_ms', 'climate_state_max_update_rate_ms', 'drive_state_max_update_rate_ms', 'vehicle_state_max_update_rate_ms', 'vehicle_config_max_update_rate_ms', 'location_state_max_update_rate_ms', 'closures_state_max_update_rate_ms', 'parked_accessory_state_max_update_rate_ms', 'charge_schedule_state_max_update_rate_ms', 'preconditioning_schedule_state_max_update_rate_ms', 'alert_state_max_update_rate_ms', 'suspension_state_max_update_rate_ms') - + __slots__ = ("pii_key_request", "subscription_duration_s", "subscription_ping_s", "gui_settings_max_update_rate_ms", "charge_state_max_update_rate_ms", "climate_state_max_update_rate_ms", "drive_state_max_update_rate_ms", "vehicle_state_max_update_rate_ms", "vehicle_config_max_update_rate_ms", "location_state_max_update_rate_ms", "closures_state_max_update_rate_ms", "parked_accessory_state_max_update_rate_ms", "charge_schedule_state_max_update_rate_ms", "preconditioning_schedule_state_max_update_rate_ms", "alert_state_max_update_rate_ms", "suspension_state_max_update_rate_ms") class PiiKeyRequest(_message.Message): - __slots__ = ('subscriber_public_key',) + __slots__ = ("subscriber_public_key",) SUBSCRIBER_PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] subscriber_public_key: str - - def __init__(self, subscriber_public_key: _Optional[str]=...) -> None: - ... + def __init__(self, subscriber_public_key: _Optional[str] = ...) -> None: ... PII_KEY_REQUEST_FIELD_NUMBER: _ClassVar[int] SUBSCRIPTION_DURATION_S_FIELD_NUMBER: _ClassVar[int] SUBSCRIPTION_PING_S_FIELD_NUMBER: _ClassVar[int] @@ -1137,12 +964,10 @@ class VehicleDataSubscription(_message.Message): preconditioning_schedule_state_max_update_rate_ms: int alert_state_max_update_rate_ms: int suspension_state_max_update_rate_ms: int - - def __init__(self, pii_key_request: _Optional[_Union[VehicleDataSubscription.PiiKeyRequest, _Mapping]]=..., subscription_duration_s: _Optional[int]=..., subscription_ping_s: _Optional[int]=..., gui_settings_max_update_rate_ms: _Optional[int]=..., charge_state_max_update_rate_ms: _Optional[int]=..., climate_state_max_update_rate_ms: _Optional[int]=..., drive_state_max_update_rate_ms: _Optional[int]=..., vehicle_state_max_update_rate_ms: _Optional[int]=..., vehicle_config_max_update_rate_ms: _Optional[int]=..., location_state_max_update_rate_ms: _Optional[int]=..., closures_state_max_update_rate_ms: _Optional[int]=..., parked_accessory_state_max_update_rate_ms: _Optional[int]=..., charge_schedule_state_max_update_rate_ms: _Optional[int]=..., preconditioning_schedule_state_max_update_rate_ms: _Optional[int]=..., alert_state_max_update_rate_ms: _Optional[int]=..., suspension_state_max_update_rate_ms: _Optional[int]=...) -> None: - ... + def __init__(self, pii_key_request: _Optional[_Union[VehicleDataSubscription.PiiKeyRequest, _Mapping]] = ..., subscription_duration_s: _Optional[int] = ..., subscription_ping_s: _Optional[int] = ..., gui_settings_max_update_rate_ms: _Optional[int] = ..., charge_state_max_update_rate_ms: _Optional[int] = ..., climate_state_max_update_rate_ms: _Optional[int] = ..., drive_state_max_update_rate_ms: _Optional[int] = ..., vehicle_state_max_update_rate_ms: _Optional[int] = ..., vehicle_config_max_update_rate_ms: _Optional[int] = ..., location_state_max_update_rate_ms: _Optional[int] = ..., closures_state_max_update_rate_ms: _Optional[int] = ..., parked_accessory_state_max_update_rate_ms: _Optional[int] = ..., charge_schedule_state_max_update_rate_ms: _Optional[int] = ..., preconditioning_schedule_state_max_update_rate_ms: _Optional[int] = ..., alert_state_max_update_rate_ms: _Optional[int] = ..., suspension_state_max_update_rate_ms: _Optional[int] = ...) -> None: ... class VehicleDataAck(_message.Message): - __slots__ = ('charge_state_timestamp', 'climate_state_timestamp', 'closures_state_timestamp', 'drive_state_timestamp', 'gui_settings_timestamp', 'location_state_timestamp', 'vehicle_config_timestamp', 'vehicle_state_timestamp', 'parked_accessory_state_timestamp', 'charge_schedule_state_timestamp', 'preconditioning_schedule_state_timestamp', 'alert_state_timestamp', 'suspension_state_timestamp', 'decryption_error_field') + __slots__ = ("charge_state_timestamp", "climate_state_timestamp", "closures_state_timestamp", "drive_state_timestamp", "gui_settings_timestamp", "location_state_timestamp", "vehicle_config_timestamp", "vehicle_state_timestamp", "parked_accessory_state_timestamp", "charge_schedule_state_timestamp", "preconditioning_schedule_state_timestamp", "alert_state_timestamp", "suspension_state_timestamp", "decryption_error_field") CHARGE_STATE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] CLIMATE_STATE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] CLOSURES_STATE_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] @@ -1171,51 +996,38 @@ class VehicleDataAck(_message.Message): alert_state_timestamp: _timestamp_pb2.Timestamp suspension_state_timestamp: _timestamp_pb2.Timestamp decryption_error_field: _containers.RepeatedScalarFieldContainer[int] - - def __init__(self, charge_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., climate_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., closures_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., drive_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., gui_settings_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., location_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., vehicle_config_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., vehicle_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., parked_accessory_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., charge_schedule_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., preconditioning_schedule_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., alert_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., suspension_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., decryption_error_field: _Optional[_Iterable[int]]=...) -> None: - ... + def __init__(self, charge_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., climate_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., closures_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., drive_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., gui_settings_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., location_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., vehicle_config_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., vehicle_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parked_accessory_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., charge_schedule_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., preconditioning_schedule_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., alert_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., suspension_state_timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., decryption_error_field: _Optional[_Iterable[int]] = ...) -> None: ... class VitalsSubscription(_message.Message): - __slots__ = ('session_id',) + __slots__ = ("session_id",) SESSION_ID_FIELD_NUMBER: _ClassVar[int] session_id: int - - def __init__(self, session_id: _Optional[int]=...) -> None: - ... + def __init__(self, session_id: _Optional[int] = ...) -> None: ... class VitalsAck(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class DashcamSaveClipAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class PiiKeyRequest(_message.Message): - __slots__ = ('subscriber_public_key', 'pii_key_expiration') + __slots__ = ("subscriber_public_key", "pii_key_expiration") SUBSCRIBER_PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] PII_KEY_EXPIRATION_FIELD_NUMBER: _ClassVar[int] subscriber_public_key: str pii_key_expiration: _timestamp_pb2.Timestamp - - def __init__(self, subscriber_public_key: _Optional[str]=..., pii_key_expiration: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, subscriber_public_key: _Optional[str] = ..., pii_key_expiration: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class PseudonymSyncRequest(_message.Message): - __slots__ = ('last_known_pseudonym_hashed',) + __slots__ = ("last_known_pseudonym_hashed",) LAST_KNOWN_PSEUDONYM_HASHED_FIELD_NUMBER: _ClassVar[int] last_known_pseudonym_hashed: bytes - - def __init__(self, last_known_pseudonym_hashed: _Optional[bytes]=...) -> None: - ... + def __init__(self, last_known_pseudonym_hashed: _Optional[bytes] = ...) -> None: ... class NavigationGpsRequest(_message.Message): - __slots__ = ('lat', 'lon', 'order') - + __slots__ = ("lat", "lon", "order") class RemoteNavTripOrder(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () REMOTE_NAV_TRIP_ORDER_UNKNOWN: _ClassVar[NavigationGpsRequest.RemoteNavTripOrder] @@ -1232,125 +1044,92 @@ class NavigationGpsRequest(_message.Message): lat: float lon: float order: NavigationGpsRequest.RemoteNavTripOrder - - def __init__(self, lat: _Optional[float]=..., lon: _Optional[float]=..., order: _Optional[_Union[NavigationGpsRequest.RemoteNavTripOrder, str]]=...) -> None: - ... + def __init__(self, lat: _Optional[float] = ..., lon: _Optional[float] = ..., order: _Optional[_Union[NavigationGpsRequest.RemoteNavTripOrder, str]] = ...) -> None: ... class SetRateTariffRequest(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class GetRateTariffRequest(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class VideoRequestAction(_message.Message): - __slots__ = ('url',) + __slots__ = ("url",) URL_FIELD_NUMBER: _ClassVar[int] url: str - - def __init__(self, url: _Optional[str]=...) -> None: - ... + def __init__(self, url: _Optional[str] = ...) -> None: ... class TakeDrivenoteAction(_message.Message): - __slots__ = ('note',) + __slots__ = ("note",) NOTE_FIELD_NUMBER: _ClassVar[int] note: str - - def __init__(self, note: _Optional[str]=...) -> None: - ... + def __init__(self, note: _Optional[str] = ...) -> None: ... class BluetoothClassicPairingRequest(_message.Message): - __slots__ = ('utf8_name', 'mac_address') + __slots__ = ("utf8_name", "mac_address") UTF8_NAME_FIELD_NUMBER: _ClassVar[int] MAC_ADDRESS_FIELD_NUMBER: _ClassVar[int] utf8_name: str mac_address: bytes - - def __init__(self, utf8_name: _Optional[str]=..., mac_address: _Optional[bytes]=...) -> None: - ... + def __init__(self, utf8_name: _Optional[str] = ..., mac_address: _Optional[bytes] = ...) -> None: ... class AddManagedChargingSiteRequest(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class RemoveManagedChargingSiteRequest(_message.Message): - __slots__ = ('public_key',) + __slots__ = ("public_key",) PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] public_key: str - - def __init__(self, public_key: _Optional[str]=...) -> None: - ... + def __init__(self, public_key: _Optional[str] = ...) -> None: ... class NavigationRouteAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class AutoStwHeatAction(_message.Message): - __slots__ = ('on',) + __slots__ = ("on",) ON_FIELD_NUMBER: _ClassVar[int] on: bool - - def __init__(self, on: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ...) -> None: ... class StwHeatLevelAction(_message.Message): - __slots__ = ('stw_heat_level',) + __slots__ = ("stw_heat_level",) STW_HEAT_LEVEL_FIELD_NUMBER: _ClassVar[int] stw_heat_level: _common_pb2.StwHeatLevel - - def __init__(self, stw_heat_level: _Optional[_Union[_common_pb2.StwHeatLevel, str]]=...) -> None: - ... + def __init__(self, stw_heat_level: _Optional[_Union[_common_pb2.StwHeatLevel, str]] = ...) -> None: ... class GetManagedChargingSitesRequest(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class UpdateChargeOnSolarFeatureRequest(_message.Message): - __slots__ = ('charge_on_solar',) + __slots__ = ("charge_on_solar",) CHARGE_ON_SOLAR_FIELD_NUMBER: _ClassVar[int] charge_on_solar: ChargeOnSolarFeature - - def __init__(self, charge_on_solar: _Optional[_Union[ChargeOnSolarFeature, _Mapping]]=...) -> None: - ... + def __init__(self, charge_on_solar: _Optional[_Union[ChargeOnSolarFeature, _Mapping]] = ...) -> None: ... class GetChargeOnSolarFeatureRequest(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarFeature(_message.Message): - __slots__ = ('enabled', 'lower_charge_limit', 'upper_charge_limit') + __slots__ = ("enabled", "lower_charge_limit", "upper_charge_limit") ENABLED_FIELD_NUMBER: _ClassVar[int] LOWER_CHARGE_LIMIT_FIELD_NUMBER: _ClassVar[int] UPPER_CHARGE_LIMIT_FIELD_NUMBER: _ClassVar[int] enabled: bool lower_charge_limit: float upper_charge_limit: float - - def __init__(self, enabled: bool=..., lower_charge_limit: _Optional[float]=..., upper_charge_limit: _Optional[float]=...) -> None: - ... + def __init__(self, enabled: _Optional[bool] = ..., lower_charge_limit: _Optional[float] = ..., upper_charge_limit: _Optional[float] = ...) -> None: ... class DrivingClearSpeedLimitPinAdminAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class SetOutletsOnOffAction(_message.Message): - __slots__ = ('outlet_request',) - + __slots__ = ("outlet_request",) class OutletRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () OUTLET_REQUEST_UNKNOWN: _ClassVar[SetOutletsOnOffAction.OutletRequest] @@ -1363,29 +1142,22 @@ class SetOutletsOnOffAction(_message.Message): OUTLET_REQUEST_CABIN: SetOutletsOnOffAction.OutletRequest OUTLET_REQUEST_FIELD_NUMBER: _ClassVar[int] outlet_request: SetOutletsOnOffAction.OutletRequest - - def __init__(self, outlet_request: _Optional[_Union[SetOutletsOnOffAction.OutletRequest, str]]=...) -> None: - ... + def __init__(self, outlet_request: _Optional[_Union[SetOutletsOnOffAction.OutletRequest, str]] = ...) -> None: ... class SetOutletTimerAction(_message.Message): - __slots__ = ('num_minutes',) + __slots__ = ("num_minutes",) NUM_MINUTES_FIELD_NUMBER: _ClassVar[int] num_minutes: int - - def __init__(self, num_minutes: _Optional[int]=...) -> None: - ... + def __init__(self, num_minutes: _Optional[int] = ...) -> None: ... class SetOutletSocLimitAction(_message.Message): - __slots__ = ('percent',) + __slots__ = ("percent",) PERCENT_FIELD_NUMBER: _ClassVar[int] percent: int - - def __init__(self, percent: _Optional[int]=...) -> None: - ... + def __init__(self, percent: _Optional[int] = ...) -> None: ... class SetPowerFeedOnOffAction(_message.Message): - __slots__ = ('power_feed_request',) - + __slots__ = ("power_feed_request",) class PowerFeedRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () POWER_FEED_REQUEST_UNKNOWN: _ClassVar[SetPowerFeedOnOffAction.PowerFeedRequest] @@ -1400,79 +1172,59 @@ class SetPowerFeedOnOffAction(_message.Message): POWER_FEED_REQUEST_FEED_1_AND_FEED_2: SetPowerFeedOnOffAction.PowerFeedRequest POWER_FEED_REQUEST_FIELD_NUMBER: _ClassVar[int] power_feed_request: SetPowerFeedOnOffAction.PowerFeedRequest - - def __init__(self, power_feed_request: _Optional[_Union[SetPowerFeedOnOffAction.PowerFeedRequest, str]]=...) -> None: - ... + def __init__(self, power_feed_request: _Optional[_Union[SetPowerFeedOnOffAction.PowerFeedRequest, str]] = ...) -> None: ... class SetPowerFeedTimerAction(_message.Message): - __slots__ = ('num_minutes',) + __slots__ = ("num_minutes",) NUM_MINUTES_FIELD_NUMBER: _ClassVar[int] num_minutes: int - - def __init__(self, num_minutes: _Optional[int]=...) -> None: - ... + def __init__(self, num_minutes: _Optional[int] = ...) -> None: ... class SetPowerFeedSocLimitAction(_message.Message): - __slots__ = ('percent',) + __slots__ = ("percent",) PERCENT_FIELD_NUMBER: _ClassVar[int] percent: int - - def __init__(self, percent: _Optional[int]=...) -> None: - ... + def __init__(self, percent: _Optional[int] = ...) -> None: ... class SetTrailerLightTestStartStopAction(_message.Message): - __slots__ = ('start_stop',) + __slots__ = ("start_stop",) START_STOP_FIELD_NUMBER: _ClassVar[int] start_stop: bool - - def __init__(self, start_stop: bool=...) -> None: - ... + def __init__(self, start_stop: _Optional[bool] = ...) -> None: ... class SetTruckBedLightAutoStateAction(_message.Message): - __slots__ = ('power_state',) + __slots__ = ("power_state",) POWER_STATE_FIELD_NUMBER: _ClassVar[int] power_state: bool - - def __init__(self, power_state: bool=...) -> None: - ... + def __init__(self, power_state: _Optional[bool] = ...) -> None: ... class SetTruckBedLightBrightnessAction(_message.Message): - __slots__ = ('brightness',) + __slots__ = ("brightness",) BRIGHTNESS_FIELD_NUMBER: _ClassVar[int] brightness: int - - def __init__(self, brightness: _Optional[int]=...) -> None: - ... + def __init__(self, brightness: _Optional[int] = ...) -> None: ... class VehicleControlResetPinToDriveAdminAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class NavigationWaypointsRequest(_message.Message): - __slots__ = ('waypoints', 'trip_plan_options') - + __slots__ = ("waypoints", "trip_plan_options") class TripPlanOptions(_message.Message): - __slots__ = ('destination_start_soe', 'destination_arrival_soe') + __slots__ = ("destination_start_soe", "destination_arrival_soe") DESTINATION_START_SOE_FIELD_NUMBER: _ClassVar[int] DESTINATION_ARRIVAL_SOE_FIELD_NUMBER: _ClassVar[int] destination_start_soe: int destination_arrival_soe: int - - def __init__(self, destination_start_soe: _Optional[int]=..., destination_arrival_soe: _Optional[int]=...) -> None: - ... + def __init__(self, destination_start_soe: _Optional[int] = ..., destination_arrival_soe: _Optional[int] = ...) -> None: ... WAYPOINTS_FIELD_NUMBER: _ClassVar[int] TRIP_PLAN_OPTIONS_FIELD_NUMBER: _ClassVar[int] waypoints: str trip_plan_options: NavigationWaypointsRequest.TripPlanOptions - - def __init__(self, waypoints: _Optional[str]=..., trip_plan_options: _Optional[_Union[NavigationWaypointsRequest.TripPlanOptions, _Mapping]]=...) -> None: - ... + def __init__(self, waypoints: _Optional[str] = ..., trip_plan_options: _Optional[_Union[NavigationWaypointsRequest.TripPlanOptions, _Mapping]] = ...) -> None: ... class SetPowershareFeatureAction(_message.Message): - __slots__ = ('powershare_feature_request',) - + __slots__ = ("powershare_feature_request",) class PowershareFeatureRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () POWERSHARE_FEATURE_REQUEST_UNKNOWN: _ClassVar[SetPowershareFeatureAction.PowershareFeatureRequest] @@ -1483,21 +1235,16 @@ class SetPowershareFeatureAction(_message.Message): POWERSHARE_FEATURE_REQUEST_ON: SetPowershareFeatureAction.PowershareFeatureRequest POWERSHARE_FEATURE_REQUEST_FIELD_NUMBER: _ClassVar[int] powershare_feature_request: SetPowershareFeatureAction.PowershareFeatureRequest - - def __init__(self, powershare_feature_request: _Optional[_Union[SetPowershareFeatureAction.PowershareFeatureRequest, str]]=...) -> None: - ... + def __init__(self, powershare_feature_request: _Optional[_Union[SetPowershareFeatureAction.PowershareFeatureRequest, str]] = ...) -> None: ... class SetPowershareDischargeLimitAction(_message.Message): - __slots__ = ('powershare_discharge_limit',) + __slots__ = ("powershare_discharge_limit",) POWERSHARE_DISCHARGE_LIMIT_FIELD_NUMBER: _ClassVar[int] powershare_discharge_limit: int - - def __init__(self, powershare_discharge_limit: _Optional[int]=...) -> None: - ... + def __init__(self, powershare_discharge_limit: _Optional[int] = ...) -> None: ... class SetPowershareRequestAction(_message.Message): - __slots__ = ('powershare_request',) - + __slots__ = ("powershare_request",) class PowershareRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () POWERSHARE_REQUEST_UNKNOWN: _ClassVar[SetPowershareRequestAction.PowershareRequest] @@ -1508,21 +1255,16 @@ class SetPowershareRequestAction(_message.Message): POWERSHARE_REQUEST_ON: SetPowershareRequestAction.PowershareRequest POWERSHARE_REQUEST_FIELD_NUMBER: _ClassVar[int] powershare_request: SetPowershareRequestAction.PowershareRequest - - def __init__(self, powershare_request: _Optional[_Union[SetPowershareRequestAction.PowershareRequest, str]]=...) -> None: - ... + def __init__(self, powershare_request: _Optional[_Union[SetPowershareRequestAction.PowershareRequest, str]] = ...) -> None: ... class SetTentModeRequestAction(_message.Message): - __slots__ = ('on',) + __slots__ = ("on",) ON_FIELD_NUMBER: _ClassVar[int] on: bool - - def __init__(self, on: bool=...) -> None: - ... + def __init__(self, on: _Optional[bool] = ...) -> None: ... class SetZoneLightRequestAction(_message.Message): - __slots__ = ('zone_light_request',) - + __slots__ = ("zone_light_request",) class ZoneLightRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () ZONE_LIGHT_REQUEST_OFF: _ClassVar[SetZoneLightRequestAction.ZoneLightRequest] @@ -1535,42 +1277,32 @@ class SetZoneLightRequestAction(_message.Message): ZONE_LIGHT_REQUEST_HIGH: SetZoneLightRequestAction.ZoneLightRequest ZONE_LIGHT_REQUEST_FIELD_NUMBER: _ClassVar[int] zone_light_request: SetZoneLightRequestAction.ZoneLightRequest - - def __init__(self, zone_light_request: _Optional[_Union[SetZoneLightRequestAction.ZoneLightRequest, str]]=...) -> None: - ... + def __init__(self, zone_light_request: _Optional[_Union[SetZoneLightRequestAction.ZoneLightRequest, str]] = ...) -> None: ... class SetLightbarBrightnessAction(_message.Message): - __slots__ = ('brightness_request',) + __slots__ = ("brightness_request",) BRIGHTNESS_REQUEST_FIELD_NUMBER: _ClassVar[int] brightness_request: int - - def __init__(self, brightness_request: _Optional[int]=...) -> None: - ... + def __init__(self, brightness_request: _Optional[int] = ...) -> None: ... class SetLightbarMiddleAction(_message.Message): - __slots__ = ('middle_light_request',) + __slots__ = ("middle_light_request",) MIDDLE_LIGHT_REQUEST_FIELD_NUMBER: _ClassVar[int] middle_light_request: bool - - def __init__(self, middle_light_request: bool=...) -> None: - ... + def __init__(self, middle_light_request: _Optional[bool] = ...) -> None: ... class SetLightbarDitchAction(_message.Message): - __slots__ = ('ditch_lights_request',) + __slots__ = ("ditch_lights_request",) DITCH_LIGHTS_REQUEST_FIELD_NUMBER: _ClassVar[int] ditch_lights_request: bool - - def __init__(self, ditch_lights_request: bool=...) -> None: - ... + def __init__(self, ditch_lights_request: _Optional[bool] = ...) -> None: ... class GetMessagesAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class TeslaAuthResponseAction(_message.Message): - __slots__ = ('client_id', 'scope', 'access_token', 'refresh_token', 'expiry_timestamp', 'error', 'scoped_token') + __slots__ = ("client_id", "scope", "access_token", "refresh_token", "expiry_timestamp", "error", "scoped_token") CLIENT_ID_FIELD_NUMBER: _ClassVar[int] SCOPE_FIELD_NUMBER: _ClassVar[int] ACCESS_TOKEN_FIELD_NUMBER: _ClassVar[int] @@ -1585,13 +1317,10 @@ class TeslaAuthResponseAction(_message.Message): expiry_timestamp: int error: str scoped_token: str - - def __init__(self, client_id: _Optional[str]=..., scope: _Optional[str]=..., access_token: _Optional[str]=..., refresh_token: _Optional[str]=..., expiry_timestamp: _Optional[int]=..., error: _Optional[str]=..., scoped_token: _Optional[str]=...) -> None: - ... + def __init__(self, client_id: _Optional[str] = ..., scope: _Optional[str] = ..., access_token: _Optional[str] = ..., refresh_token: _Optional[str] = ..., expiry_timestamp: _Optional[int] = ..., error: _Optional[str] = ..., scoped_token: _Optional[str] = ...) -> None: ... class NavigationGpsDestinationRequest(_message.Message): - __slots__ = ('lat', 'lon', 'destination', 'order') - + __slots__ = ("lat", "lon", "destination", "order") class RemoteNavTripOrder(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () REMOTE_NAV_TRIP_ORDER_UNKNOWN: _ClassVar[NavigationGpsDestinationRequest.RemoteNavTripOrder] @@ -1610,37 +1339,28 @@ class NavigationGpsDestinationRequest(_message.Message): lon: float destination: str order: NavigationGpsDestinationRequest.RemoteNavTripOrder - - def __init__(self, lat: _Optional[float]=..., lon: _Optional[float]=..., destination: _Optional[str]=..., order: _Optional[_Union[NavigationGpsDestinationRequest.RemoteNavTripOrder, str]]=...) -> None: - ... + def __init__(self, lat: _Optional[float] = ..., lon: _Optional[float] = ..., destination: _Optional[str] = ..., order: _Optional[_Union[NavigationGpsDestinationRequest.RemoteNavTripOrder, str]] = ...) -> None: ... class ParentalControlsClearPinAction(_message.Message): - __slots__ = ('pin',) + __slots__ = ("pin",) PIN_FIELD_NUMBER: _ClassVar[int] pin: str - - def __init__(self, pin: _Optional[str]=...) -> None: - ... + def __init__(self, pin: _Optional[str] = ...) -> None: ... class ParentalControlsClearPinAdminAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ParentalControlsAction(_message.Message): - __slots__ = ('activate', 'pin') + __slots__ = ("activate", "pin") ACTIVATE_FIELD_NUMBER: _ClassVar[int] PIN_FIELD_NUMBER: _ClassVar[int] activate: bool pin: str - - def __init__(self, activate: bool=..., pin: _Optional[str]=...) -> None: - ... + def __init__(self, activate: _Optional[bool] = ..., pin: _Optional[str] = ...) -> None: ... class ParentalControlsEnableSettingsAction(_message.Message): - __slots__ = ('setting', 'enable') - + __slots__ = ("setting", "enable") class ParentalControlsSetting(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PARENTAL_CONTROLS_SETTING_UNKNOWN: _ClassVar[ParentalControlsEnableSettingsAction.ParentalControlsSetting] @@ -1657,32 +1377,24 @@ class ParentalControlsEnableSettingsAction(_message.Message): ENABLE_FIELD_NUMBER: _ClassVar[int] setting: ParentalControlsEnableSettingsAction.ParentalControlsSetting enable: bool - - def __init__(self, setting: _Optional[_Union[ParentalControlsEnableSettingsAction.ParentalControlsSetting, str]]=..., enable: bool=...) -> None: - ... + def __init__(self, setting: _Optional[_Union[ParentalControlsEnableSettingsAction.ParentalControlsSetting, str]] = ..., enable: _Optional[bool] = ...) -> None: ... class ParentalControlsSetSpeedLimitAction(_message.Message): - __slots__ = ('limit_mph',) + __slots__ = ("limit_mph",) LIMIT_MPH_FIELD_NUMBER: _ClassVar[int] limit_mph: float - - def __init__(self, limit_mph: _Optional[float]=...) -> None: - ... + def __init__(self, limit_mph: _Optional[float] = ...) -> None: ... class CancelSohTestAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class StopLightShowAction(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class StartLightShowAction(_message.Message): - __slots__ = ('show_index', 'start_time', 'volume', 'dance_moves') + __slots__ = ("show_index", "start_time", "volume", "dance_moves") SHOW_INDEX_FIELD_NUMBER: _ClassVar[int] START_TIME_FIELD_NUMBER: _ClassVar[int] VOLUME_FIELD_NUMBER: _ClassVar[int] @@ -1691,13 +1403,10 @@ class StartLightShowAction(_message.Message): start_time: int volume: float dance_moves: bool - - def __init__(self, show_index: _Optional[int]=..., start_time: _Optional[int]=..., volume: _Optional[float]=..., dance_moves: bool=...) -> None: - ... + def __init__(self, show_index: _Optional[int] = ..., start_time: _Optional[int] = ..., volume: _Optional[float] = ..., dance_moves: _Optional[bool] = ...) -> None: ... class SetSuspensionLevelAction(_message.Message): - __slots__ = ('suspension_level',) - + __slots__ = ("suspension_level",) class SuspensionLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () SUSPENSION_LEVEL_INVALID: _ClassVar[SetSuspensionLevelAction.SuspensionLevel] @@ -1716,6 +1425,4 @@ class SetSuspensionLevelAction(_message.Message): SUSPENSION_LEVEL_EXTRACT: SetSuspensionLevelAction.SuspensionLevel SUSPENSION_LEVEL_FIELD_NUMBER: _ClassVar[int] suspension_level: SetSuspensionLevelAction.SuspensionLevel - - def __init__(self, suspension_level: _Optional[_Union[SetSuspensionLevelAction.SuspensionLevel, str]]=...) -> None: - ... \ No newline at end of file + def __init__(self, suspension_level: _Optional[_Union[SetSuspensionLevelAction.SuspensionLevel, str]] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/common_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/common_pb2.py index ac46870..15f44db 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/common_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/common_pb2.py @@ -1,35 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/common.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'common.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/common.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0ccommon.proto\x12\tCarServer"\x06\n\x04Void".\n\x07LatLong\x12\x10\n\x08latitude\x18\x01 \x01(\x02\x12\x11\n\tlongitude\x18\x02 \x01(\x02"\xae\x01\n\x14ChargePortLatchState\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nDisengaged\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Engaged\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Blocking\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"i\n\x14PreconditioningTimes\x12#\n\x08all_week\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08weekdays\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x07\n\x05times"i\n\x14OffPeakChargingTimes\x12#\n\x08all_week\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08weekdays\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x07\n\x05times"\xda\x01\n\x0eChargeSchedule\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0cdays_of_week\x18\x03 \x01(\x05\x12\x15\n\rstart_enabled\x18\x04 \x01(\x08\x12\x12\n\nstart_time\x18\x05 \x01(\x05\x12\x13\n\x0bend_enabled\x18\x06 \x01(\x08\x12\x10\n\x08end_time\x18\x07 \x01(\x05\x12\x10\n\x08one_time\x18\x08 \x01(\x08\x12\x0f\n\x07enabled\x18\t \x01(\x08\x12\x10\n\x08latitude\x18\n \x01(\x02\x12\x11\n\tlongitude\x18\x0b \x01(\x02"\xa9\x01\n\x14PreconditionSchedule\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0cdays_of_week\x18\x03 \x01(\x05\x12\x19\n\x11precondition_time\x18\x04 \x01(\x05\x12\x10\n\x08one_time\x18\x05 \x01(\x08\x12\x0f\n\x07enabled\x18\x06 \x01(\x08\x12\x10\n\x08latitude\x18\x07 \x01(\x02\x12\x11\n\tlongitude\x18\x08 \x01(\x02*\x16\n\x07Invalid\x12\x0b\n\x07INVALID\x10\x00*;\n\x13MediaPlaybackStatus\x12\x0b\n\x07Stopped\x10\x00\x12\x0b\n\x07Playing\x10\x01\x12\n\n\x06Paused\x10\x02*k\n\x0cStwHeatLevel\x12\x18\n\x14StwHeatLevel_Unknown\x10\x00\x12\x14\n\x10StwHeatLevel_Off\x10\x01\x12\x14\n\x10StwHeatLevel_Low\x10\x02\x12\x15\n\x11StwHeatLevel_High\x10\x03Bn\n$com.tesla.generated.carserver.commonZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12tesla/common.proto\x12\tCarServer\"\x06\n\x04Void\".\n\x07LatLong\x12\x10\n\x08latitude\x18\x01 \x01(\x02\x12\x11\n\tlongitude\x18\x02 \x01(\x02\"\xae\x01\n\x14\x43hargePortLatchState\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12%\n\nDisengaged\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\"\n\x07\x45ngaged\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08\x42locking\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\"i\n\x14PreconditioningTimes\x12#\n\x08\x61ll_week\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08weekdays\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x07\n\x05times\"i\n\x14OffPeakChargingTimes\x12#\n\x08\x61ll_week\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08weekdays\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x07\n\x05times\"\xda\x01\n\x0e\x43hargeSchedule\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0c\x64\x61ys_of_week\x18\x03 \x01(\x05\x12\x15\n\rstart_enabled\x18\x04 \x01(\x08\x12\x12\n\nstart_time\x18\x05 \x01(\x05\x12\x13\n\x0b\x65nd_enabled\x18\x06 \x01(\x08\x12\x10\n\x08\x65nd_time\x18\x07 \x01(\x05\x12\x10\n\x08one_time\x18\x08 \x01(\x08\x12\x0f\n\x07\x65nabled\x18\t \x01(\x08\x12\x10\n\x08latitude\x18\n \x01(\x02\x12\x11\n\tlongitude\x18\x0b \x01(\x02\"\xa9\x01\n\x14PreconditionSchedule\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0c\x64\x61ys_of_week\x18\x03 \x01(\x05\x12\x19\n\x11precondition_time\x18\x04 \x01(\x05\x12\x10\n\x08one_time\x18\x05 \x01(\x08\x12\x0f\n\x07\x65nabled\x18\x06 \x01(\x08\x12\x10\n\x08latitude\x18\x07 \x01(\x02\x12\x11\n\tlongitude\x18\x08 \x01(\x02*\x16\n\x07Invalid\x12\x0b\n\x07INVALID\x10\x00*;\n\x13MediaPlaybackStatus\x12\x0b\n\x07Stopped\x10\x00\x12\x0b\n\x07Playing\x10\x01\x12\n\n\x06Paused\x10\x02*k\n\x0cStwHeatLevel\x12\x18\n\x14StwHeatLevel_Unknown\x10\x00\x12\x14\n\x10StwHeatLevel_Off\x10\x01\x12\x14\n\x10StwHeatLevel_Low\x10\x02\x12\x15\n\x11StwHeatLevel_High\x10\x03\x42n\n$com.tesla.generated.carserver.commonZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'common_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.common_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.carserver.commonZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' - _globals['_INVALID']._serialized_start = 867 - _globals['_INVALID']._serialized_end = 889 - _globals['_MEDIAPLAYBACKSTATUS']._serialized_start = 891 - _globals['_MEDIAPLAYBACKSTATUS']._serialized_end = 950 - _globals['_STWHEATLEVEL']._serialized_start = 952 - _globals['_STWHEATLEVEL']._serialized_end = 1059 - _globals['_VOID']._serialized_start = 27 - _globals['_VOID']._serialized_end = 33 - _globals['_LATLONG']._serialized_start = 35 - _globals['_LATLONG']._serialized_end = 81 - _globals['_CHARGEPORTLATCHSTATE']._serialized_start = 84 - _globals['_CHARGEPORTLATCHSTATE']._serialized_end = 258 - _globals['_PRECONDITIONINGTIMES']._serialized_start = 260 - _globals['_PRECONDITIONINGTIMES']._serialized_end = 365 - _globals['_OFFPEAKCHARGINGTIMES']._serialized_start = 367 - _globals['_OFFPEAKCHARGINGTIMES']._serialized_end = 472 - _globals['_CHARGESCHEDULE']._serialized_start = 475 - _globals['_CHARGESCHEDULE']._serialized_end = 693 - _globals['_PRECONDITIONSCHEDULE']._serialized_start = 696 - _globals['_PRECONDITIONSCHEDULE']._serialized_end = 865 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.carserver.commonZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' + _globals['_INVALID']._serialized_start=873 + _globals['_INVALID']._serialized_end=895 + _globals['_MEDIAPLAYBACKSTATUS']._serialized_start=897 + _globals['_MEDIAPLAYBACKSTATUS']._serialized_end=956 + _globals['_STWHEATLEVEL']._serialized_start=958 + _globals['_STWHEATLEVEL']._serialized_end=1065 + _globals['_VOID']._serialized_start=33 + _globals['_VOID']._serialized_end=39 + _globals['_LATLONG']._serialized_start=41 + _globals['_LATLONG']._serialized_end=87 + _globals['_CHARGEPORTLATCHSTATE']._serialized_start=90 + _globals['_CHARGEPORTLATCHSTATE']._serialized_end=264 + _globals['_PRECONDITIONINGTIMES']._serialized_start=266 + _globals['_PRECONDITIONINGTIMES']._serialized_end=371 + _globals['_OFFPEAKCHARGINGTIMES']._serialized_start=373 + _globals['_OFFPEAKCHARGINGTIMES']._serialized_end=478 + _globals['_CHARGESCHEDULE']._serialized_start=481 + _globals['_CHARGESCHEDULE']._serialized_end=699 + _globals['_PRECONDITIONSCHEDULE']._serialized_start=702 + _globals['_PRECONDITIONSCHEDULE']._serialized_end=871 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/common_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/common_pb2.pyi index 0fed5d8..e8cf184 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/common_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/common_pb2.pyi @@ -3,6 +3,7 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class Invalid(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -32,22 +33,18 @@ StwHeatLevel_High: StwHeatLevel class Void(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class LatLong(_message.Message): - __slots__ = ('latitude', 'longitude') + __slots__ = ("latitude", "longitude") LATITUDE_FIELD_NUMBER: _ClassVar[int] LONGITUDE_FIELD_NUMBER: _ClassVar[int] latitude: float longitude: float - - def __init__(self, latitude: _Optional[float]=..., longitude: _Optional[float]=...) -> None: - ... + def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ...) -> None: ... class ChargePortLatchState(_message.Message): - __slots__ = ('SNA', 'Disengaged', 'Engaged', 'Blocking') + __slots__ = ("SNA", "Disengaged", "Engaged", "Blocking") SNA_FIELD_NUMBER: _ClassVar[int] DISENGAGED_FIELD_NUMBER: _ClassVar[int] ENGAGED_FIELD_NUMBER: _ClassVar[int] @@ -56,32 +53,26 @@ class ChargePortLatchState(_message.Message): Disengaged: Void Engaged: Void Blocking: Void - - def __init__(self, SNA: _Optional[_Union[Void, _Mapping]]=..., Disengaged: _Optional[_Union[Void, _Mapping]]=..., Engaged: _Optional[_Union[Void, _Mapping]]=..., Blocking: _Optional[_Union[Void, _Mapping]]=...) -> None: - ... + def __init__(self, SNA: _Optional[_Union[Void, _Mapping]] = ..., Disengaged: _Optional[_Union[Void, _Mapping]] = ..., Engaged: _Optional[_Union[Void, _Mapping]] = ..., Blocking: _Optional[_Union[Void, _Mapping]] = ...) -> None: ... class PreconditioningTimes(_message.Message): - __slots__ = ('all_week', 'weekdays') + __slots__ = ("all_week", "weekdays") ALL_WEEK_FIELD_NUMBER: _ClassVar[int] WEEKDAYS_FIELD_NUMBER: _ClassVar[int] all_week: Void weekdays: Void - - def __init__(self, all_week: _Optional[_Union[Void, _Mapping]]=..., weekdays: _Optional[_Union[Void, _Mapping]]=...) -> None: - ... + def __init__(self, all_week: _Optional[_Union[Void, _Mapping]] = ..., weekdays: _Optional[_Union[Void, _Mapping]] = ...) -> None: ... class OffPeakChargingTimes(_message.Message): - __slots__ = ('all_week', 'weekdays') + __slots__ = ("all_week", "weekdays") ALL_WEEK_FIELD_NUMBER: _ClassVar[int] WEEKDAYS_FIELD_NUMBER: _ClassVar[int] all_week: Void weekdays: Void - - def __init__(self, all_week: _Optional[_Union[Void, _Mapping]]=..., weekdays: _Optional[_Union[Void, _Mapping]]=...) -> None: - ... + def __init__(self, all_week: _Optional[_Union[Void, _Mapping]] = ..., weekdays: _Optional[_Union[Void, _Mapping]] = ...) -> None: ... class ChargeSchedule(_message.Message): - __slots__ = ('id', 'name', 'days_of_week', 'start_enabled', 'start_time', 'end_enabled', 'end_time', 'one_time', 'enabled', 'latitude', 'longitude') + __slots__ = ("id", "name", "days_of_week", "start_enabled", "start_time", "end_enabled", "end_time", "one_time", "enabled", "latitude", "longitude") ID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] DAYS_OF_WEEK_FIELD_NUMBER: _ClassVar[int] @@ -104,12 +95,10 @@ class ChargeSchedule(_message.Message): enabled: bool latitude: float longitude: float - - def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., days_of_week: _Optional[int]=..., start_enabled: bool=..., start_time: _Optional[int]=..., end_enabled: bool=..., end_time: _Optional[int]=..., one_time: bool=..., enabled: bool=..., latitude: _Optional[float]=..., longitude: _Optional[float]=...) -> None: - ... + def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., days_of_week: _Optional[int] = ..., start_enabled: _Optional[bool] = ..., start_time: _Optional[int] = ..., end_enabled: _Optional[bool] = ..., end_time: _Optional[int] = ..., one_time: _Optional[bool] = ..., enabled: _Optional[bool] = ..., latitude: _Optional[float] = ..., longitude: _Optional[float] = ...) -> None: ... class PreconditionSchedule(_message.Message): - __slots__ = ('id', 'name', 'days_of_week', 'precondition_time', 'one_time', 'enabled', 'latitude', 'longitude') + __slots__ = ("id", "name", "days_of_week", "precondition_time", "one_time", "enabled", "latitude", "longitude") ID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] DAYS_OF_WEEK_FIELD_NUMBER: _ClassVar[int] @@ -126,6 +115,4 @@ class PreconditionSchedule(_message.Message): enabled: bool latitude: float longitude: float - - def __init__(self, id: _Optional[int]=..., name: _Optional[str]=..., days_of_week: _Optional[int]=..., precondition_time: _Optional[int]=..., one_time: bool=..., enabled: bool=..., latitude: _Optional[float]=..., longitude: _Optional[float]=...) -> None: - ... \ No newline at end of file + def __init__(self, id: _Optional[int] = ..., name: _Optional[str] = ..., days_of_week: _Optional[int] = ..., precondition_time: _Optional[int] = ..., one_time: _Optional[bool] = ..., enabled: _Optional[bool] = ..., latitude: _Optional[float] = ..., longitude: _Optional[float] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.py index 9180a56..789dd31 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.py @@ -1,19 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/errors.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'errors.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/errors.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cerrors.proto\x12\x06Errors"<\n\x0cNominalError\x12,\n\x0cgenericError\x18\x01 \x01(\x0e2\x16.Errors.GenericError_E*\x9c\x02\n\x0eGenericError_E\x12\x15\n\x11GENERICERROR_NONE\x10\x00\x12\x18\n\x14GENERICERROR_UNKNOWN\x10\x01\x12\x1e\n\x1aGENERICERROR_CLOSURES_OPEN\x10\x02\x12\x1b\n\x17GENERICERROR_ALREADY_ON\x10\x03\x12*\n&GENERICERROR_DISABLED_FOR_USER_COMMAND\x10\x04\x12$\n GENERICERROR_VEHICLE_NOT_IN_PARK\x10\x05\x12\x1d\n\x19GENERICERROR_UNAUTHORIZED\x10\x06\x12+\n\'GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT\x10\x07Ba\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errorsb\x06proto3') + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12tesla/errors.proto\x12\x06\x45rrors\"<\n\x0cNominalError\x12,\n\x0cgenericError\x18\x01 \x01(\x0e\x32\x16.Errors.GenericError_E*\x9c\x02\n\x0eGenericError_E\x12\x15\n\x11GENERICERROR_NONE\x10\x00\x12\x18\n\x14GENERICERROR_UNKNOWN\x10\x01\x12\x1e\n\x1aGENERICERROR_CLOSURES_OPEN\x10\x02\x12\x1b\n\x17GENERICERROR_ALREADY_ON\x10\x03\x12*\n&GENERICERROR_DISABLED_FOR_USER_COMMAND\x10\x04\x12$\n GENERICERROR_VEHICLE_NOT_IN_PARK\x10\x05\x12\x1d\n\x19GENERICERROR_UNAUTHORIZED\x10\x06\x12+\n\'GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT\x10\x07\x42\x61\n\x1a\x63om.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errorsb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'errors_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.errors_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errors' - _globals['_GENERICERROR_E']._serialized_start = 87 - _globals['_GENERICERROR_E']._serialized_end = 371 - _globals['_NOMINALERROR']._serialized_start = 24 - _globals['_NOMINALERROR']._serialized_end = 84 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errors' + _globals['_GENERICERROR_E']._serialized_start=93 + _globals['_GENERICERROR_E']._serialized_end=377 + _globals['_NOMINALERROR']._serialized_start=30 + _globals['_NOMINALERROR']._serialized_end=90 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.pyi index 4ee2aa6..bd61e93 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/errors_pb2.pyi @@ -2,6 +2,7 @@ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class GenericError_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -24,9 +25,7 @@ GENERICERROR_UNAUTHORIZED: GenericError_E GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT: GenericError_E class NominalError(_message.Message): - __slots__ = ('genericError',) + __slots__ = ("genericError",) GENERICERROR_FIELD_NUMBER: _ClassVar[int] genericError: GenericError_E - - def __init__(self, genericError: _Optional[_Union[GenericError_E, str]]=...) -> None: - ... \ No newline at end of file + def __init__(self, genericError: _Optional[_Union[GenericError_E, str]] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.py index 375e583..4578f47 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.py @@ -1,17 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/keys.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'keys.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/keys.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nkeys.proto\x12\x04Keys*\x8a\x01\n\x04Role\x12\r\n\tROLE_NONE\x10\x00\x12\x10\n\x0cROLE_SERVICE\x10\x01\x12\x0e\n\nROLE_OWNER\x10\x02\x12\x0f\n\x0bROLE_DRIVER\x10\x03\x12\x0b\n\x07ROLE_FM\x10\x04\x12\x18\n\x14ROLE_VEHICLE_MONITOR\x10\x05\x12\x19\n\x15ROLE_CHARGING_MANAGER\x10\x06B]\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keysb\x06proto3') + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10tesla/keys.proto\x12\x04Keys*\x8a\x01\n\x04Role\x12\r\n\tROLE_NONE\x10\x00\x12\x10\n\x0cROLE_SERVICE\x10\x01\x12\x0e\n\nROLE_OWNER\x10\x02\x12\x0f\n\x0bROLE_DRIVER\x10\x03\x12\x0b\n\x07ROLE_FM\x10\x04\x12\x18\n\x14ROLE_VEHICLE_MONITOR\x10\x05\x12\x19\n\x15ROLE_CHARGING_MANAGER\x10\x06\x42]\n\x18\x63om.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keysb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'keys_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.keys_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keys' - _globals['_ROLE']._serialized_start = 21 - _globals['_ROLE']._serialized_end = 159 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\030com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keys' + _globals['_ROLE']._serialized_start=27 + _globals['_ROLE']._serialized_end=165 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.pyi index 73f22f7..9fce45f 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/keys_pb2.pyi @@ -1,6 +1,7 @@ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from typing import ClassVar as _ClassVar + DESCRIPTOR: _descriptor.FileDescriptor class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -18,4 +19,4 @@ ROLE_OWNER: Role ROLE_DRIVER: Role ROLE_FM: Role ROLE_VEHICLE_MONITOR: Role -ROLE_CHARGING_MANAGER: Role \ No newline at end of file +ROLE_CHARGING_MANAGER: Role diff --git a/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.py index 955a5d8..a6875e3 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.py @@ -1,17 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/managed_charging.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'managed_charging.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/managed_charging.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16managed_charging.proto\x12\x0fManagedCharging*\xc7\x02\n\x1bChargeOnSolarNoChargeReason\x12,\n(CHARGE_ON_SOLAR_NO_CHARGE_REASON_INVALID\x10\x00\x12>\n:CHARGE_ON_SOLAR_NO_CHARGE_REASON_POWERWALL_CHARGE_PRIORITY\x10\x01\x127\n3CHARGE_ON_SOLAR_NO_CHARGE_REASON_INSUFFICIENT_SOLAR\x10\x02\x129\n5CHARGE_ON_SOLAR_NO_CHARGE_REASON_GRID_EXPORT_PRIORITY\x10\x03\x12F\nBCHARGE_ON_SOLAR_NO_CHARGE_REASON_ALTERNATE_VEHICLE_CHARGE_PRIORITY\x10\x04BNZLgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/managedchargingb\x06proto3') + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ctesla/managed_charging.proto\x12\x0fManagedCharging*\xc7\x02\n\x1b\x43hargeOnSolarNoChargeReason\x12,\n(CHARGE_ON_SOLAR_NO_CHARGE_REASON_INVALID\x10\x00\x12>\n:CHARGE_ON_SOLAR_NO_CHARGE_REASON_POWERWALL_CHARGE_PRIORITY\x10\x01\x12\x37\n3CHARGE_ON_SOLAR_NO_CHARGE_REASON_INSUFFICIENT_SOLAR\x10\x02\x12\x39\n5CHARGE_ON_SOLAR_NO_CHARGE_REASON_GRID_EXPORT_PRIORITY\x10\x03\x12\x46\nBCHARGE_ON_SOLAR_NO_CHARGE_REASON_ALTERNATE_VEHICLE_CHARGE_PRIORITY\x10\x04\x42NZLgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/managedchargingb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'managed_charging_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.managed_charging_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'ZLgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/managedcharging' - _globals['_CHARGEONSOLARNOCHARGEREASON']._serialized_start = 44 - _globals['_CHARGEONSOLARNOCHARGEREASON']._serialized_end = 371 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZLgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/managedcharging' + _globals['_CHARGEONSOLARNOCHARGEREASON']._serialized_start=50 + _globals['_CHARGEONSOLARNOCHARGEREASON']._serialized_end=377 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.pyi index 42b0eab..5569312 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/managed_charging_pb2.pyi @@ -1,6 +1,7 @@ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from typing import ClassVar as _ClassVar + DESCRIPTOR: _descriptor.FileDescriptor class ChargeOnSolarNoChargeReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -14,4 +15,4 @@ CHARGE_ON_SOLAR_NO_CHARGE_REASON_INVALID: ChargeOnSolarNoChargeReason CHARGE_ON_SOLAR_NO_CHARGE_REASON_POWERWALL_CHARGE_PRIORITY: ChargeOnSolarNoChargeReason CHARGE_ON_SOLAR_NO_CHARGE_REASON_INSUFFICIENT_SOLAR: ChargeOnSolarNoChargeReason CHARGE_ON_SOLAR_NO_CHARGE_REASON_GRID_EXPORT_PRIORITY: ChargeOnSolarNoChargeReason -CHARGE_ON_SOLAR_NO_CHARGE_REASON_ALTERNATE_VEHICLE_CHARGE_PRIORITY: ChargeOnSolarNoChargeReason \ No newline at end of file +CHARGE_ON_SOLAR_NO_CHARGE_REASON_ALTERNATE_VEHICLE_CHARGE_PRIORITY: ChargeOnSolarNoChargeReason diff --git a/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.py index e17f1ea..dd02cb0 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.py @@ -1,37 +1,57 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/signatures.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'signatures.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/signatures.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10signatures.proto\x12\nSignatures"L\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00B\x0f\n\ridentity_typeJ\x04\x08\x02\x10\x03"u\n#AES_GCM_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07counter\x18\x03 \x01(\r\x12\x12\n\nexpires_at\x18\x04 \x01(\x07\x12\x0b\n\x03tag\x18\x05 \x01(\x0c"N\n\x1fAES_GCM_Response_Signature_Data\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07counter\x18\x02 \x01(\r\x12\x0b\n\x03tag\x18\x03 \x01(\x0c""\n\x13HMAC_Signature_Data\x12\x0b\n\x03tag\x18\x01 \x01(\x0c"c\n HMAC_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\x0f\n\x07counter\x18\x02 \x01(\r\x12\x12\n\nexpires_at\x18\x03 \x01(\x07\x12\x0b\n\x03tag\x18\x04 \x01(\x0c"\x84\x03\n\rSignatureData\x120\n\x0fsigner_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity\x12T\n\x19AES_GCM_Personalized_data\x18\x05 \x01(\x0b2/.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12;\n\x10session_info_tag\x18\x06 \x01(\x0b2\x1f.Signatures.HMAC_Signature_DataH\x00\x12N\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b2,.Signatures.HMAC_Personalized_Signature_DataH\x00\x12L\n\x15AES_GCM_Response_data\x18\t \x01(\x0b2+.Signatures.AES_GCM_Response_Signature_DataH\x00B\n\n\x08sig_typeJ\x04\x08\x07\x10\x08"F\n\x15GetSessionInfoRequest\x12-\n\x0ckey_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity"\x95\x01\n\x0bSessionInfo\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\r\n\x05epoch\x18\x03 \x01(\x0c\x12\x12\n\nclock_time\x18\x04 \x01(\x07\x12/\n\x06status\x18\x05 \x01(\x0e2\x1f.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r*\xcf\x01\n\x03Tag\x12\x16\n\x12TAG_SIGNATURE_TYPE\x10\x00\x12\x0e\n\nTAG_DOMAIN\x10\x01\x12\x17\n\x13TAG_PERSONALIZATION\x10\x02\x12\r\n\tTAG_EPOCH\x10\x03\x12\x12\n\x0eTAG_EXPIRES_AT\x10\x04\x12\x0f\n\x0bTAG_COUNTER\x10\x05\x12\x11\n\rTAG_CHALLENGE\x10\x06\x12\r\n\tTAG_FLAGS\x10\x07\x12\x14\n\x10TAG_REQUEST_HASH\x10\x08\x12\r\n\tTAG_FAULT\x10\t\x12\x0c\n\x07TAG_END\x10\xff\x01*\xbe\x01\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\'\n#SIGNATURE_TYPE_AES_GCM_PERSONALIZED\x10\x05\x12\x17\n\x13SIGNATURE_TYPE_HMAC\x10\x06\x12$\n SIGNATURE_TYPE_HMAC_PERSONALIZED\x10\x08\x12#\n\x1fSIGNATURE_TYPE_AES_GCM_RESPONSE\x10\t"\x04\x08\x07\x10\x07*_\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01Bi\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3') + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16tesla/signatures.proto\x12\nSignatures\"L\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00\x42\x0f\n\ridentity_typeJ\x04\x08\x02\x10\x03\"u\n#AES_GCM_Personalized_Signature_Data\x12\r\n\x05\x65poch\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63ounter\x18\x03 \x01(\r\x12\x12\n\nexpires_at\x18\x04 \x01(\x07\x12\x0b\n\x03tag\x18\x05 \x01(\x0c\"N\n\x1f\x41\x45S_GCM_Response_Signature_Data\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ounter\x18\x02 \x01(\r\x12\x0b\n\x03tag\x18\x03 \x01(\x0c\"\"\n\x13HMAC_Signature_Data\x12\x0b\n\x03tag\x18\x01 \x01(\x0c\"c\n HMAC_Personalized_Signature_Data\x12\r\n\x05\x65poch\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63ounter\x18\x02 \x01(\r\x12\x12\n\nexpires_at\x18\x03 \x01(\x07\x12\x0b\n\x03tag\x18\x04 \x01(\x0c\"\x84\x03\n\rSignatureData\x12\x30\n\x0fsigner_identity\x18\x01 \x01(\x0b\x32\x17.Signatures.KeyIdentity\x12T\n\x19\x41\x45S_GCM_Personalized_data\x18\x05 \x01(\x0b\x32/.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12;\n\x10session_info_tag\x18\x06 \x01(\x0b\x32\x1f.Signatures.HMAC_Signature_DataH\x00\x12N\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b\x32,.Signatures.HMAC_Personalized_Signature_DataH\x00\x12L\n\x15\x41\x45S_GCM_Response_data\x18\t \x01(\x0b\x32+.Signatures.AES_GCM_Response_Signature_DataH\x00\x42\n\n\x08sig_typeJ\x04\x08\x07\x10\x08\"F\n\x15GetSessionInfoRequest\x12-\n\x0ckey_identity\x18\x01 \x01(\x0b\x32\x17.Signatures.KeyIdentity\"\x95\x01\n\x0bSessionInfo\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\r\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\r\n\x05\x65poch\x18\x03 \x01(\x0c\x12\x12\n\nclock_time\x18\x04 \x01(\x07\x12/\n\x06status\x18\x05 \x01(\x0e\x32\x1f.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r*\xcf\x01\n\x03Tag\x12\x16\n\x12TAG_SIGNATURE_TYPE\x10\x00\x12\x0e\n\nTAG_DOMAIN\x10\x01\x12\x17\n\x13TAG_PERSONALIZATION\x10\x02\x12\r\n\tTAG_EPOCH\x10\x03\x12\x12\n\x0eTAG_EXPIRES_AT\x10\x04\x12\x0f\n\x0bTAG_COUNTER\x10\x05\x12\x11\n\rTAG_CHALLENGE\x10\x06\x12\r\n\tTAG_FLAGS\x10\x07\x12\x14\n\x10TAG_REQUEST_HASH\x10\x08\x12\r\n\tTAG_FAULT\x10\t\x12\x0c\n\x07TAG_END\x10\xff\x01*\xbe\x01\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\'\n#SIGNATURE_TYPE_AES_GCM_PERSONALIZED\x10\x05\x12\x17\n\x13SIGNATURE_TYPE_HMAC\x10\x06\x12$\n SIGNATURE_TYPE_HMAC_PERSONALIZED\x10\x08\x12#\n\x1fSIGNATURE_TYPE_AES_GCM_RESPONSE\x10\t\"\x04\x08\x07\x10\x07*_\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01\x42i\n\x1e\x63om.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'signatures_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.signatures_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signatures' - _globals['_TAG']._serialized_start = 1062 - _globals['_TAG']._serialized_end = 1269 - _globals['_SIGNATURETYPE']._serialized_start = 1272 - _globals['_SIGNATURETYPE']._serialized_end = 1462 - _globals['_SESSION_INFO_STATUS']._serialized_start = 1464 - _globals['_SESSION_INFO_STATUS']._serialized_end = 1559 - _globals['_KEYIDENTITY']._serialized_start = 32 - _globals['_KEYIDENTITY']._serialized_end = 108 - _globals['_AES_GCM_PERSONALIZED_SIGNATURE_DATA']._serialized_start = 110 - _globals['_AES_GCM_PERSONALIZED_SIGNATURE_DATA']._serialized_end = 227 - _globals['_AES_GCM_RESPONSE_SIGNATURE_DATA']._serialized_start = 229 - _globals['_AES_GCM_RESPONSE_SIGNATURE_DATA']._serialized_end = 307 - _globals['_HMAC_SIGNATURE_DATA']._serialized_start = 309 - _globals['_HMAC_SIGNATURE_DATA']._serialized_end = 343 - _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_start = 345 - _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_end = 444 - _globals['_SIGNATUREDATA']._serialized_start = 447 - _globals['_SIGNATUREDATA']._serialized_end = 835 - _globals['_GETSESSIONINFOREQUEST']._serialized_start = 837 - _globals['_GETSESSIONINFOREQUEST']._serialized_end = 907 - _globals['_SESSIONINFO']._serialized_start = 910 - _globals['_SESSIONINFO']._serialized_end = 1059 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signatures' + _globals['_TAG']._serialized_start=1068 + _globals['_TAG']._serialized_end=1275 + _globals['_SIGNATURETYPE']._serialized_start=1278 + _globals['_SIGNATURETYPE']._serialized_end=1468 + _globals['_SESSION_INFO_STATUS']._serialized_start=1470 + _globals['_SESSION_INFO_STATUS']._serialized_end=1565 + _globals['_KEYIDENTITY']._serialized_start=38 + _globals['_KEYIDENTITY']._serialized_end=114 + _globals['_AES_GCM_PERSONALIZED_SIGNATURE_DATA']._serialized_start=116 + _globals['_AES_GCM_PERSONALIZED_SIGNATURE_DATA']._serialized_end=233 + _globals['_AES_GCM_RESPONSE_SIGNATURE_DATA']._serialized_start=235 + _globals['_AES_GCM_RESPONSE_SIGNATURE_DATA']._serialized_end=313 + _globals['_HMAC_SIGNATURE_DATA']._serialized_start=315 + _globals['_HMAC_SIGNATURE_DATA']._serialized_end=349 + _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_start=351 + _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_end=450 + _globals['_SIGNATUREDATA']._serialized_start=453 + _globals['_SIGNATUREDATA']._serialized_end=841 + _globals['_GETSESSIONINFOREQUEST']._serialized_start=843 + _globals['_GETSESSIONINFOREQUEST']._serialized_end=913 + _globals['_SESSIONINFO']._serialized_start=916 + _globals['_SESSIONINFO']._serialized_end=1065 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.pyi index b9f2f24..5d429d3 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/signatures_pb2.pyi @@ -3,6 +3,7 @@ from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class Tag(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -51,17 +52,15 @@ SESSION_INFO_STATUS_OK: Session_Info_Status SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST: Session_Info_Status class KeyIdentity(_message.Message): - __slots__ = ('public_key', 'handle') + __slots__ = ("public_key", "handle") PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] HANDLE_FIELD_NUMBER: _ClassVar[int] public_key: bytes handle: int - - def __init__(self, public_key: _Optional[bytes]=..., handle: _Optional[int]=...) -> None: - ... + def __init__(self, public_key: _Optional[bytes] = ..., handle: _Optional[int] = ...) -> None: ... class AES_GCM_Personalized_Signature_Data(_message.Message): - __slots__ = ('epoch', 'nonce', 'counter', 'expires_at', 'tag') + __slots__ = ("epoch", "nonce", "counter", "expires_at", "tag") EPOCH_FIELD_NUMBER: _ClassVar[int] NONCE_FIELD_NUMBER: _ClassVar[int] COUNTER_FIELD_NUMBER: _ClassVar[int] @@ -72,32 +71,26 @@ class AES_GCM_Personalized_Signature_Data(_message.Message): counter: int expires_at: int tag: bytes - - def __init__(self, epoch: _Optional[bytes]=..., nonce: _Optional[bytes]=..., counter: _Optional[int]=..., expires_at: _Optional[int]=..., tag: _Optional[bytes]=...) -> None: - ... + def __init__(self, epoch: _Optional[bytes] = ..., nonce: _Optional[bytes] = ..., counter: _Optional[int] = ..., expires_at: _Optional[int] = ..., tag: _Optional[bytes] = ...) -> None: ... class AES_GCM_Response_Signature_Data(_message.Message): - __slots__ = ('nonce', 'counter', 'tag') + __slots__ = ("nonce", "counter", "tag") NONCE_FIELD_NUMBER: _ClassVar[int] COUNTER_FIELD_NUMBER: _ClassVar[int] TAG_FIELD_NUMBER: _ClassVar[int] nonce: bytes counter: int tag: bytes - - def __init__(self, nonce: _Optional[bytes]=..., counter: _Optional[int]=..., tag: _Optional[bytes]=...) -> None: - ... + def __init__(self, nonce: _Optional[bytes] = ..., counter: _Optional[int] = ..., tag: _Optional[bytes] = ...) -> None: ... class HMAC_Signature_Data(_message.Message): - __slots__ = ('tag',) + __slots__ = ("tag",) TAG_FIELD_NUMBER: _ClassVar[int] tag: bytes - - def __init__(self, tag: _Optional[bytes]=...) -> None: - ... + def __init__(self, tag: _Optional[bytes] = ...) -> None: ... class HMAC_Personalized_Signature_Data(_message.Message): - __slots__ = ('epoch', 'counter', 'expires_at', 'tag') + __slots__ = ("epoch", "counter", "expires_at", "tag") EPOCH_FIELD_NUMBER: _ClassVar[int] COUNTER_FIELD_NUMBER: _ClassVar[int] EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] @@ -106,12 +99,10 @@ class HMAC_Personalized_Signature_Data(_message.Message): counter: int expires_at: int tag: bytes - - def __init__(self, epoch: _Optional[bytes]=..., counter: _Optional[int]=..., expires_at: _Optional[int]=..., tag: _Optional[bytes]=...) -> None: - ... + def __init__(self, epoch: _Optional[bytes] = ..., counter: _Optional[int] = ..., expires_at: _Optional[int] = ..., tag: _Optional[bytes] = ...) -> None: ... class SignatureData(_message.Message): - __slots__ = ('signer_identity', 'AES_GCM_Personalized_data', 'session_info_tag', 'HMAC_Personalized_data', 'AES_GCM_Response_data') + __slots__ = ("signer_identity", "AES_GCM_Personalized_data", "session_info_tag", "HMAC_Personalized_data", "AES_GCM_Response_data") SIGNER_IDENTITY_FIELD_NUMBER: _ClassVar[int] AES_GCM_PERSONALIZED_DATA_FIELD_NUMBER: _ClassVar[int] SESSION_INFO_TAG_FIELD_NUMBER: _ClassVar[int] @@ -122,20 +113,16 @@ class SignatureData(_message.Message): session_info_tag: HMAC_Signature_Data HMAC_Personalized_data: HMAC_Personalized_Signature_Data AES_GCM_Response_data: AES_GCM_Response_Signature_Data - - def __init__(self, signer_identity: _Optional[_Union[KeyIdentity, _Mapping]]=..., AES_GCM_Personalized_data: _Optional[_Union[AES_GCM_Personalized_Signature_Data, _Mapping]]=..., session_info_tag: _Optional[_Union[HMAC_Signature_Data, _Mapping]]=..., HMAC_Personalized_data: _Optional[_Union[HMAC_Personalized_Signature_Data, _Mapping]]=..., AES_GCM_Response_data: _Optional[_Union[AES_GCM_Response_Signature_Data, _Mapping]]=...) -> None: - ... + def __init__(self, signer_identity: _Optional[_Union[KeyIdentity, _Mapping]] = ..., AES_GCM_Personalized_data: _Optional[_Union[AES_GCM_Personalized_Signature_Data, _Mapping]] = ..., session_info_tag: _Optional[_Union[HMAC_Signature_Data, _Mapping]] = ..., HMAC_Personalized_data: _Optional[_Union[HMAC_Personalized_Signature_Data, _Mapping]] = ..., AES_GCM_Response_data: _Optional[_Union[AES_GCM_Response_Signature_Data, _Mapping]] = ...) -> None: ... class GetSessionInfoRequest(_message.Message): - __slots__ = ('key_identity',) + __slots__ = ("key_identity",) KEY_IDENTITY_FIELD_NUMBER: _ClassVar[int] key_identity: KeyIdentity - - def __init__(self, key_identity: _Optional[_Union[KeyIdentity, _Mapping]]=...) -> None: - ... + def __init__(self, key_identity: _Optional[_Union[KeyIdentity, _Mapping]] = ...) -> None: ... class SessionInfo(_message.Message): - __slots__ = ('counter', 'publicKey', 'epoch', 'clock_time', 'status', 'handle') + __slots__ = ("counter", "publicKey", "epoch", "clock_time", "status", "handle") COUNTER_FIELD_NUMBER: _ClassVar[int] PUBLICKEY_FIELD_NUMBER: _ClassVar[int] EPOCH_FIELD_NUMBER: _ClassVar[int] @@ -148,6 +135,4 @@ class SessionInfo(_message.Message): clock_time: int status: Session_Info_Status handle: int - - def __init__(self, counter: _Optional[int]=..., publicKey: _Optional[bytes]=..., epoch: _Optional[bytes]=..., clock_time: _Optional[int]=..., status: _Optional[_Union[Session_Info_Status, str]]=..., handle: _Optional[int]=...) -> None: - ... \ No newline at end of file + def __init__(self, counter: _Optional[int] = ..., publicKey: _Optional[bytes] = ..., epoch: _Optional[bytes] = ..., clock_time: _Optional[int] = ..., status: _Optional[_Union[Session_Info_Status, str]] = ..., handle: _Optional[int] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.py index 4f9d197..a1d8b57 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.py @@ -1,32 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/universal_message.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'universal_message.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/universal_message.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -from . import signatures_pb2 as signatures__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17universal_message.proto\x12\x10UniversalMessage\x1a\x10signatures.proto"g\n\x0bDestination\x12*\n\x06domain\x18\x01 \x01(\x0e2\x18.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00B\x11\n\x0fsub_destination"\x8e\x01\n\rMessageStatus\x12=\n\x10operation_status\x18\x01 \x01(\x0e2#.UniversalMessage.OperationStatus_E\x12>\n\x14signed_message_fault\x18\x02 \x01(\x0e2 .UniversalMessage.MessageFault_E";\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c"\xd6\x03\n\x0fRoutableMessage\x125\n\x0eto_destination\x18\x06 \x01(\x0b2\x1d.UniversalMessage.Destination\x127\n\x10from_destination\x18\x07 \x01(\x0b2\x1d.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12D\n\x14session_info_request\x18\x0e \x01(\x0b2$.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x123\n\x0esignature_data\x18\r \x01(\x0b2\x19.Signatures.SignatureDataH\x01\x12<\n\x13signedMessageStatus\x18\x0c \x01(\x0b2\x1f.UniversalMessage.MessageStatus\x12\x14\n\x0crequest_uuid\x182 \x01(\x0c\x12\x0c\n\x04uuid\x183 \x01(\x0c\x12\r\n\x05flags\x184 \x01(\rB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*T\n\x06Domain\x12\x14\n\x10DOMAIN_BROADCAST\x10\x00\x12\x1b\n\x17DOMAIN_VEHICLE_SECURITY\x10\x02\x12\x17\n\x13DOMAIN_INFOTAINMENT\x10\x03*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xe4\t\n\x0eMessageFault_E\x12\x1b\n\x17MESSAGEFAULT_ERROR_NONE\x10\x00\x12\x1b\n\x17MESSAGEFAULT_ERROR_BUSY\x10\x01\x12\x1e\n\x1aMESSAGEFAULT_ERROR_TIMEOUT\x10\x02\x12%\n!MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID\x10\x03\x12#\n\x1fMESSAGEFAULT_ERROR_INACTIVE_KEY\x10\x04\x12(\n$MESSAGEFAULT_ERROR_INVALID_SIGNATURE\x10\x05\x12/\n+MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER\x10\x06\x12.\n*MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES\x10\x07\x12&\n"MESSAGEFAULT_ERROR_INVALID_DOMAINS\x10\x08\x12&\n"MESSAGEFAULT_ERROR_INVALID_COMMAND\x10\t\x12\x1f\n\x1bMESSAGEFAULT_ERROR_DECODING\x10\n\x12\x1f\n\x1bMESSAGEFAULT_ERROR_INTERNAL\x10\x0b\x12,\n(MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION\x10\x0c\x12$\n MESSAGEFAULT_ERROR_BAD_PARAMETER\x10\r\x12\'\n#MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL\x10\x0e\x12&\n"MESSAGEFAULT_ERROR_INCORRECT_EPOCH\x10\x0f\x12*\n&MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH\x10\x10\x12#\n\x1fMESSAGEFAULT_ERROR_TIME_EXPIRED\x10\x11\x124\n0MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12.\n*MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA\x10\x13\x12,\n(MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG\x10\x14\x12-\n)MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED\x10\x15\x125\n1MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED\x10\x16\x12;\n7MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS\x10\x17\x12+\n\'MESSAGEFAULT_ERROR_REQUEST_MTU_EXCEEDED\x10\x18\x12,\n(MESSAGEFAULT_ERROR_RESPONSE_MTU_EXCEEDED\x10\x19\x12\'\n#MESSAGEFAULT_ERROR_REPEATED_COUNTER\x10\x1a\x12)\n%MESSAGEFAULT_ERROR_INVALID_KEY_HANDLE\x10\x1b\x123\n/MESSAGEFAULT_ERROR_REQUIRES_RESPONSE_ENCRYPTION\x10\x1c*9\n\x05Flags\x12\x15\n\x11FLAG_USER_COMMAND\x10\x00\x12\x19\n\x15FLAG_ENCRYPT_RESPONSE\x10\x01Bu\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3') + + +from . import signatures_pb2 as tesla_dot_signatures__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtesla/universal_message.proto\x12\x10UniversalMessage\x1a\x16tesla/signatures.proto\"g\n\x0b\x44\x65stination\x12*\n\x06\x64omain\x18\x01 \x01(\x0e\x32\x18.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00\x42\x11\n\x0fsub_destination\"\x8e\x01\n\rMessageStatus\x12=\n\x10operation_status\x18\x01 \x01(\x0e\x32#.UniversalMessage.OperationStatus_E\x12>\n\x14signed_message_fault\x18\x02 \x01(\x0e\x32 .UniversalMessage.MessageFault_E\";\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c\"\xd6\x03\n\x0fRoutableMessage\x12\x35\n\x0eto_destination\x18\x06 \x01(\x0b\x32\x1d.UniversalMessage.Destination\x12\x37\n\x10\x66rom_destination\x18\x07 \x01(\x0b\x32\x1d.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12\x44\n\x14session_info_request\x18\x0e \x01(\x0b\x32$.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x12\x33\n\x0esignature_data\x18\r \x01(\x0b\x32\x19.Signatures.SignatureDataH\x01\x12<\n\x13signedMessageStatus\x18\x0c \x01(\x0b\x32\x1f.UniversalMessage.MessageStatus\x12\x14\n\x0crequest_uuid\x18\x32 \x01(\x0c\x12\x0c\n\x04uuid\x18\x33 \x01(\x0c\x12\r\n\x05\x66lags\x18\x34 \x01(\rB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*T\n\x06\x44omain\x12\x14\n\x10\x44OMAIN_BROADCAST\x10\x00\x12\x1b\n\x17\x44OMAIN_VEHICLE_SECURITY\x10\x02\x12\x17\n\x13\x44OMAIN_INFOTAINMENT\x10\x03*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xe4\t\n\x0eMessageFault_E\x12\x1b\n\x17MESSAGEFAULT_ERROR_NONE\x10\x00\x12\x1b\n\x17MESSAGEFAULT_ERROR_BUSY\x10\x01\x12\x1e\n\x1aMESSAGEFAULT_ERROR_TIMEOUT\x10\x02\x12%\n!MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID\x10\x03\x12#\n\x1fMESSAGEFAULT_ERROR_INACTIVE_KEY\x10\x04\x12(\n$MESSAGEFAULT_ERROR_INVALID_SIGNATURE\x10\x05\x12/\n+MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER\x10\x06\x12.\n*MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES\x10\x07\x12&\n\"MESSAGEFAULT_ERROR_INVALID_DOMAINS\x10\x08\x12&\n\"MESSAGEFAULT_ERROR_INVALID_COMMAND\x10\t\x12\x1f\n\x1bMESSAGEFAULT_ERROR_DECODING\x10\n\x12\x1f\n\x1bMESSAGEFAULT_ERROR_INTERNAL\x10\x0b\x12,\n(MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION\x10\x0c\x12$\n MESSAGEFAULT_ERROR_BAD_PARAMETER\x10\r\x12\'\n#MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL\x10\x0e\x12&\n\"MESSAGEFAULT_ERROR_INCORRECT_EPOCH\x10\x0f\x12*\n&MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH\x10\x10\x12#\n\x1fMESSAGEFAULT_ERROR_TIME_EXPIRED\x10\x11\x12\x34\n0MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12.\n*MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA\x10\x13\x12,\n(MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG\x10\x14\x12-\n)MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED\x10\x15\x12\x35\n1MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED\x10\x16\x12;\n7MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS\x10\x17\x12+\n\'MESSAGEFAULT_ERROR_REQUEST_MTU_EXCEEDED\x10\x18\x12,\n(MESSAGEFAULT_ERROR_RESPONSE_MTU_EXCEEDED\x10\x19\x12\'\n#MESSAGEFAULT_ERROR_REPEATED_COUNTER\x10\x1a\x12)\n%MESSAGEFAULT_ERROR_INVALID_KEY_HANDLE\x10\x1b\x12\x33\n/MESSAGEFAULT_ERROR_REQUIRES_RESPONSE_ENCRYPTION\x10\x1c*9\n\x05\x46lags\x12\x15\n\x11\x46LAG_USER_COMMAND\x10\x00\x12\x19\n\x15\x46LAG_ENCRYPT_RESPONSE\x10\x01\x42u\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'universal_message_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.universal_message_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessage' - _globals['_DOMAIN']._serialized_start = 847 - _globals['_DOMAIN']._serialized_end = 931 - _globals['_OPERATIONSTATUS_E']._serialized_start = 933 - _globals['_OPERATIONSTATUS_E']._serialized_end = 1029 - _globals['_MESSAGEFAULT_E']._serialized_start = 1032 - _globals['_MESSAGEFAULT_E']._serialized_end = 2284 - _globals['_FLAGS']._serialized_start = 2286 - _globals['_FLAGS']._serialized_end = 2343 - _globals['_DESTINATION']._serialized_start = 63 - _globals['_DESTINATION']._serialized_end = 166 - _globals['_MESSAGESTATUS']._serialized_start = 169 - _globals['_MESSAGESTATUS']._serialized_end = 311 - _globals['_SESSIONINFOREQUEST']._serialized_start = 313 - _globals['_SESSIONINFOREQUEST']._serialized_end = 372 - _globals['_ROUTABLEMESSAGE']._serialized_start = 375 - _globals['_ROUTABLEMESSAGE']._serialized_end = 845 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessage' + _globals['_DOMAIN']._serialized_start=859 + _globals['_DOMAIN']._serialized_end=943 + _globals['_OPERATIONSTATUS_E']._serialized_start=945 + _globals['_OPERATIONSTATUS_E']._serialized_end=1041 + _globals['_MESSAGEFAULT_E']._serialized_start=1044 + _globals['_MESSAGEFAULT_E']._serialized_end=2296 + _globals['_FLAGS']._serialized_start=2298 + _globals['_FLAGS']._serialized_end=2355 + _globals['_DESTINATION']._serialized_start=75 + _globals['_DESTINATION']._serialized_end=178 + _globals['_MESSAGESTATUS']._serialized_start=181 + _globals['_MESSAGESTATUS']._serialized_end=323 + _globals['_SESSIONINFOREQUEST']._serialized_start=325 + _globals['_SESSIONINFOREQUEST']._serialized_end=384 + _globals['_ROUTABLEMESSAGE']._serialized_start=387 + _globals['_ROUTABLEMESSAGE']._serialized_end=857 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.pyi index fb1cc32..6083cbc 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/universal_message_pb2.pyi @@ -1,9 +1,10 @@ -import signatures_pb2 as _signatures_pb2 +from . import signatures_pb2 as _signatures_pb2 from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class Domain(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -93,37 +94,31 @@ FLAG_USER_COMMAND: Flags FLAG_ENCRYPT_RESPONSE: Flags class Destination(_message.Message): - __slots__ = ('domain', 'routing_address') + __slots__ = ("domain", "routing_address") DOMAIN_FIELD_NUMBER: _ClassVar[int] ROUTING_ADDRESS_FIELD_NUMBER: _ClassVar[int] domain: Domain routing_address: bytes - - def __init__(self, domain: _Optional[_Union[Domain, str]]=..., routing_address: _Optional[bytes]=...) -> None: - ... + def __init__(self, domain: _Optional[_Union[Domain, str]] = ..., routing_address: _Optional[bytes] = ...) -> None: ... class MessageStatus(_message.Message): - __slots__ = ('operation_status', 'signed_message_fault') + __slots__ = ("operation_status", "signed_message_fault") OPERATION_STATUS_FIELD_NUMBER: _ClassVar[int] SIGNED_MESSAGE_FAULT_FIELD_NUMBER: _ClassVar[int] operation_status: OperationStatus_E signed_message_fault: MessageFault_E - - def __init__(self, operation_status: _Optional[_Union[OperationStatus_E, str]]=..., signed_message_fault: _Optional[_Union[MessageFault_E, str]]=...) -> None: - ... + def __init__(self, operation_status: _Optional[_Union[OperationStatus_E, str]] = ..., signed_message_fault: _Optional[_Union[MessageFault_E, str]] = ...) -> None: ... class SessionInfoRequest(_message.Message): - __slots__ = ('public_key', 'challenge') + __slots__ = ("public_key", "challenge") PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] CHALLENGE_FIELD_NUMBER: _ClassVar[int] public_key: bytes challenge: bytes - - def __init__(self, public_key: _Optional[bytes]=..., challenge: _Optional[bytes]=...) -> None: - ... + def __init__(self, public_key: _Optional[bytes] = ..., challenge: _Optional[bytes] = ...) -> None: ... class RoutableMessage(_message.Message): - __slots__ = ('to_destination', 'from_destination', 'protobuf_message_as_bytes', 'session_info_request', 'session_info', 'signature_data', 'signedMessageStatus', 'request_uuid', 'uuid', 'flags') + __slots__ = ("to_destination", "from_destination", "protobuf_message_as_bytes", "session_info_request", "session_info", "signature_data", "signedMessageStatus", "request_uuid", "uuid", "flags") TO_DESTINATION_FIELD_NUMBER: _ClassVar[int] FROM_DESTINATION_FIELD_NUMBER: _ClassVar[int] PROTOBUF_MESSAGE_AS_BYTES_FIELD_NUMBER: _ClassVar[int] @@ -144,6 +139,4 @@ class RoutableMessage(_message.Message): request_uuid: bytes uuid: bytes flags: int - - def __init__(self, to_destination: _Optional[_Union[Destination, _Mapping]]=..., from_destination: _Optional[_Union[Destination, _Mapping]]=..., protobuf_message_as_bytes: _Optional[bytes]=..., session_info_request: _Optional[_Union[SessionInfoRequest, _Mapping]]=..., session_info: _Optional[bytes]=..., signature_data: _Optional[_Union[_signatures_pb2.SignatureData, _Mapping]]=..., signedMessageStatus: _Optional[_Union[MessageStatus, _Mapping]]=..., request_uuid: _Optional[bytes]=..., uuid: _Optional[bytes]=..., flags: _Optional[int]=...) -> None: - ... \ No newline at end of file + def __init__(self, to_destination: _Optional[_Union[Destination, _Mapping]] = ..., from_destination: _Optional[_Union[Destination, _Mapping]] = ..., protobuf_message_as_bytes: _Optional[bytes] = ..., session_info_request: _Optional[_Union[SessionInfoRequest, _Mapping]] = ..., session_info: _Optional[bytes] = ..., signature_data: _Optional[_Union[_signatures_pb2.SignatureData, _Mapping]] = ..., signedMessageStatus: _Optional[_Union[MessageStatus, _Mapping]] = ..., request_uuid: _Optional[bytes] = ..., uuid: _Optional[bytes] = ..., flags: _Optional[int] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.py index b8f3619..6312b82 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.py @@ -1,81 +1,101 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/vcsec.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'vcsec.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/vcsec.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() -from . import errors_pb2 as errors__pb2 -from . import keys_pb2 as keys__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bvcsec.proto\x12\x05VCSEC\x1a\x0cerrors.proto\x1a\nkeys.proto"\\\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12+\n\rsignatureType\x18\x03 \x01(\x0e2\x14.VCSEC.SignatureType"=\n\x0eToVCSECMessage\x12+\n\rsignedMessage\x18\x01 \x01(\x0b2\x14.VCSEC.SignedMessage"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c":\n\x0bKeyMetadata\x12+\n\rkeyFormFactor\x18\x01 \x01(\x0e2\x14.VCSEC.KeyFormFactor"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c"j\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12.\n\x10whitelistEntries\x18\x02 \x03(\x0b2\x14.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r"\xb5\x01\n\x12WhitelistEntryInfo\x12#\n\x05keyId\x18\x01 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x12#\n\tpublicKey\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKey\x12*\n\x0emetadataForKey\x18\x04 \x01(\x0b2\x12.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\x1b\n\x07keyRole\x18\x07 \x01(\x0e2\n.Keys.Role"\xa6\x01\n\x12InformationRequest\x12=\n\x16informationRequestType\x18\x01 \x01(\x0e2\x1d.VCSEC.InformationRequestType\x12%\n\x05keyId\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifierH\x00\x12\x13\n\tpublicKey\x18\x03 \x01(\x0cH\x00\x12\x0e\n\x04slot\x18\x04 \x01(\rH\x00B\x05\n\x03key"\x98\x03\n\x12ClosureMoveRequest\x121\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x124\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x120\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x123\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12+\n\trearTrunk\x18\x05 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nfrontTrunk\x18\x06 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nchargePort\x18\x07 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12)\n\x07tonneau\x18\x08 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E"i\n\x10PermissionChange\x12\x1d\n\x03key\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role"\xbb\x01\n\nReplaceKey\x12.\n\x12publicKeyToReplace\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12"\n\x08keyToAdd\x18\x03 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08B\x0e\n\x0ckeyToReplace"\x8c\x05\n\x12WhitelistOperation\x123\n\x17addPublicKeyToWhitelist\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x128\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12<\n\x19addPermissionsToPublicKey\x18\x03 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12A\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12:\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x124\n\x11addImpermanentKey\x18\x08 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\'\n\nreplaceKey\x18\x11 \x01(\x0b2\x11.VCSEC.ReplaceKeyH\x00\x12*\n\x0emetadataForKey\x18\x06 \x01(\x0b2\x12.VCSEC.KeyMetadataB\r\n\x0bsub_message"\xcf\x01\n\x19WhitelistOperation_status\x12N\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e2\'.VCSEC.WhitelistOperation_information_E\x12/\n\x11signerOfOperation\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x121\n\x0foperationStatus\x18\x03 \x01(\x0e2\x18.VCSEC.OperationStatus_E"m\n\x14SignedMessage_status\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12D\n\x18signedMessageInformation\x18\x02 \x01(\x0e2".VCSEC.SignedMessage_information_E"\xd3\x01\n\rCommandStatus\x121\n\x0foperationStatus\x18\x01 \x01(\x0e2\x18.VCSEC.OperationStatus_E\x12:\n\x13signedMessageStatus\x18\x02 \x01(\x0b2\x1b.VCSEC.SignedMessage_statusH\x00\x12D\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b2 .VCSEC.WhitelistOperation_statusH\x00B\r\n\x0bsub_message"\x92\x02\n\x0fUnsignedMessage\x127\n\x12InformationRequest\x18\x01 \x01(\x0b2\x19.VCSEC.InformationRequestH\x00\x12\'\n\tRKEAction\x18\x02 \x01(\x0e2\x12.VCSEC.RKEAction_EH\x00\x127\n\x12closureMoveRequest\x18\x04 \x01(\x0b2\x19.VCSEC.ClosureMoveRequestH\x00\x127\n\x12WhitelistOperation\x18\x10 \x01(\x0b2\x19.VCSEC.WhitelistOperationH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e"\xfd\x02\n\x0fClosureStatuses\x12.\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x15.VCSEC.ClosureState_E\x121\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12-\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x15.VCSEC.ClosureState_E\x120\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12(\n\trearTrunk\x18\x05 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nfrontTrunk\x18\x06 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nchargePort\x18\x07 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12&\n\x07tonneau\x18\x08 \x01(\x0e2\x15.VCSEC.ClosureState_E"3\n\x15DetailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r"\x98\x02\n\rVehicleStatus\x12/\n\x0fclosureStatuses\x18\x01 \x01(\x0b2\x16.VCSEC.ClosureStatuses\x123\n\x10vehicleLockState\x18\x02 \x01(\x0e2\x19.VCSEC.VehicleLockState_E\x127\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e2\x1b.VCSEC.VehicleSleepStatus_E\x12+\n\x0cuserPresence\x18\x04 \x01(\x0e2\x15.VCSEC.UserPresence_E\x12;\n\x15detailedClosureStatus\x18\x05 \x01(\x0b2\x1c.VCSEC.DetailedClosureStatus"\x9b\x02\n\x10FromVCSECMessage\x12-\n\rvehicleStatus\x18\x01 \x01(\x0b2\x14.VCSEC.VehicleStatusH\x00\x12-\n\rcommandStatus\x18\x04 \x01(\x0b2\x14.VCSEC.CommandStatusH\x00\x12-\n\rwhitelistInfo\x18\x10 \x01(\x0b2\x14.VCSEC.WhitelistInfoH\x00\x127\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b2\x19.VCSEC.WhitelistEntryInfoH\x00\x12,\n\x0cnominalError\x18. \x01(\x0b2\x14.Errors.NominalErrorH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*H\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02*\xd8\x05\n\rKeyFormFactor\x12\x1b\n\x17KEY_FORM_FACTOR_UNKNOWN\x10\x00\x12\x1c\n\x18KEY_FORM_FACTOR_NFC_CARD\x10\x01\x12+\n\'KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB\x10\x02\x12\x1e\n\x1aKEY_FORM_FACTOR_BLE_DEVICE\x10\x03\x12\x1e\n\x1aKEY_FORM_FACTOR_NFC_DEVICE\x10\x04\x12&\n"KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE\x10\x05\x12\x1e\n\x1aKEY_FORM_FACTOR_IOS_DEVICE\x10\x06\x12"\n\x1eKEY_FORM_FACTOR_ANDROID_DEVICE\x10\x07\x12/\n+KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60\x10\x08\x12\x1d\n\x19KEY_FORM_FACTOR_CLOUD_KEY\x10\t\x120\n,KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60\x10\n\x120\n,KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60\x10\x0b\x123\n/KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2\x10\x0c\x123\n/KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3\x10\r\x12 \n\x1cKEY_FORM_FACTOR_NFC_CARD_P71\x10\x0e\x12\'\n#KEY_FORM_FACTOR_NFC_CARD_METAL_CARD\x10\x0f\x12)\n%KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD\x10\x10\x12\x1f\n\x1bKEY_FORM_FACTOR_APPLE_WATCH\x10\x11*\xa9\x01\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x125\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06*\xd5\x02\n\x0bRKEAction_E\x12\x15\n\x11RKE_ACTION_UNLOCK\x10\x00\x12\x13\n\x0fRKE_ACTION_LOCK\x10\x01\x12\x19\n\x15RKE_ACTION_OPEN_TRUNK\x10\x02\x12\x19\n\x15RKE_ACTION_OPEN_FRUNK\x10\x03\x12\x1f\n\x1bRKE_ACTION_OPEN_CHARGE_PORT\x10\x04\x12 \n\x1cRKE_ACTION_CLOSE_CHARGE_PORT\x10\x05\x12+\n\'RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE\x10\x06\x12\x16\n\x12RKE_ACTION_UNKNOWN\x10\x13\x12\x1b\n\x17RKE_ACTION_REMOTE_DRIVE\x10\x14\x12"\n\x1eRKE_ACTION_AUTO_SECURE_VEHICLE\x10\x1d\x12\x1b\n\x17RKE_ACTION_WAKE_VEHICLE\x10\x1e*\xa0\x01\n\x11ClosureMoveType_E\x12\x1a\n\x16CLOSURE_MOVE_TYPE_NONE\x10\x00\x12\x1a\n\x16CLOSURE_MOVE_TYPE_MOVE\x10\x01\x12\x1a\n\x16CLOSURE_MOVE_TYPE_STOP\x10\x02\x12\x1a\n\x16CLOSURE_MOVE_TYPE_OPEN\x10\x03\x12\x1b\n\x17CLOSURE_MOVE_TYPE_CLOSE\x10\x04*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xf3\x08\n\x1bSignedMessage_information_E\x12"\n\x1eSIGNEDMESSAGE_INFORMATION_NONE\x10\x00\x12+\n\'SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN\x10\x01\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST\x10\x02\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED\x10\x03\x121\n-SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN\x10\x04\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID\x10\x05\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH\x10\x06\x12/\n+SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT\x10\x07\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE\x10\x08\x126\n2SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START\x10\t\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT\x10\n\x12:\n6SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY\x10\x0b\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN\x10\x0c\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT\x10\r\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH\x10\x0e\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH\x10\x0f\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH\x10\x10\x120\n,SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED\x10\x11\x12A\n=SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12;\n7SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA\x10\x13*\x90\x10\n WhitelistOperation_information_E\x12\'\n#WHITELISTOPERATION_INFORMATION_NONE\x10\x00\x125\n1WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR\x10\x01\x12B\n>WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF\x10\x02\x124\n0WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL\x10\x03\x121\n-WHITELISTOPERATION_INFORMATION_WHITELIST_FULL\x10\x04\x127\n3WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD\x10\x05\x125\n1WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY\x10\x06\x12:\n6WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE\x10\x07\x12F\nBWHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS\x10\x08\x12L\nHWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF\x10\t\x12K\nGWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF\x10\n\x12G\nCWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS\x10\x0b\x12>\n:WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST\x10\x0c\x12Y\nUWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST\x10\r\x12F\nBWHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER\x10\x0e\x12A\n=WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE\x10\x0f\x12E\nAWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY\x10\x10\x12H\nDWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY\x10\x11\x129\n5WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL\x10\x12\x12E\nAWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE\x10\x13\x12J\nFWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE\x10\x14\x12Q\nMWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH\x10\x15\x12b\n^WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE\x10\x16\x12D\n@WHITELISTOPERATION_INFORMATION_COULD_NOT_START_LOCAL_ENTITY_AUTH\x10\x17\x12E\nAWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_UI_DENIED\x10\x18\x12U\nQWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_TAP\x10\x19\x12X\nTWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_UI_ACK\x10\x1a\x12F\nBWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_VALET_MODE\x10\x1b\x12E\nAWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_CANCELLED\x10\x1c*\xc6\x01\n\x0eClosureState_E\x12\x17\n\x13CLOSURESTATE_CLOSED\x10\x00\x12\x15\n\x11CLOSURESTATE_OPEN\x10\x01\x12\x15\n\x11CLOSURESTATE_AJAR\x10\x02\x12\x18\n\x14CLOSURESTATE_UNKNOWN\x10\x03\x12\x1f\n\x1bCLOSURESTATE_FAILED_UNLATCH\x10\x04\x12\x18\n\x14CLOSURESTATE_OPENING\x10\x05\x12\x18\n\x14CLOSURESTATE_CLOSING\x10\x06*\x9f\x01\n\x12VehicleLockState_E\x12\x1d\n\x19VEHICLELOCKSTATE_UNLOCKED\x10\x00\x12\x1b\n\x17VEHICLELOCKSTATE_LOCKED\x10\x01\x12$\n VEHICLELOCKSTATE_INTERNAL_LOCKED\x10\x02\x12\'\n#VEHICLELOCKSTATE_SELECTIVE_UNLOCKED\x10\x03*y\n\x14VehicleSleepStatus_E\x12 \n\x1cVEHICLE_SLEEP_STATUS_UNKNOWN\x10\x00\x12\x1e\n\x1aVEHICLE_SLEEP_STATUS_AWAKE\x10\x01\x12\x1f\n\x1bVEHICLE_SLEEP_STATUS_ASLEEP\x10\x02*}\n\x0eUserPresence_E\x12!\n\x1dVEHICLE_USER_PRESENCE_UNKNOWN\x10\x00\x12%\n!VEHICLE_USER_PRESENCE_NOT_PRESENT\x10\x01\x12!\n\x1dVEHICLE_USER_PRESENCE_PRESENT\x10\x02B_\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3') + + +from . import errors_pb2 as tesla_dot_errors__pb2 +from . import keys_pb2 as tesla_dot_keys__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11tesla/vcsec.proto\x12\x05VCSEC\x1a\x12tesla/errors.proto\x1a\x10tesla/keys.proto\"\\\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12+\n\rsignatureType\x18\x03 \x01(\x0e\x32\x14.VCSEC.SignatureType\"=\n\x0eToVCSECMessage\x12+\n\rsignedMessage\x18\x01 \x01(\x0b\x32\x14.VCSEC.SignedMessage\"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c\":\n\x0bKeyMetadata\x12+\n\rkeyFormFactor\x18\x01 \x01(\x0e\x32\x14.VCSEC.KeyFormFactor\"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c\"j\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12.\n\x10whitelistEntries\x18\x02 \x03(\x0b\x32\x14.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r\"\xb5\x01\n\x12WhitelistEntryInfo\x12#\n\x05keyId\x18\x01 \x01(\x0b\x32\x14.VCSEC.KeyIdentifier\x12#\n\tpublicKey\x18\x02 \x01(\x0b\x32\x10.VCSEC.PublicKey\x12*\n\x0emetadataForKey\x18\x04 \x01(\x0b\x32\x12.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\x1b\n\x07keyRole\x18\x07 \x01(\x0e\x32\n.Keys.Role\"\xa6\x01\n\x12InformationRequest\x12=\n\x16informationRequestType\x18\x01 \x01(\x0e\x32\x1d.VCSEC.InformationRequestType\x12%\n\x05keyId\x18\x02 \x01(\x0b\x32\x14.VCSEC.KeyIdentifierH\x00\x12\x13\n\tpublicKey\x18\x03 \x01(\x0cH\x00\x12\x0e\n\x04slot\x18\x04 \x01(\rH\x00\x42\x05\n\x03key\"\x98\x03\n\x12\x43losureMoveRequest\x12\x31\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12\x34\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12\x30\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12\x33\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12+\n\trearTrunk\x18\x05 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12,\n\nfrontTrunk\x18\x06 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12,\n\nchargePort\x18\x07 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\x12)\n\x07tonneau\x18\x08 \x01(\x0e\x32\x18.VCSEC.ClosureMoveType_E\"i\n\x10PermissionChange\x12\x1d\n\x03key\x18\x01 \x01(\x0b\x32\x10.VCSEC.PublicKey\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e\x32\n.Keys.Role\"\xbb\x01\n\nReplaceKey\x12.\n\x12publicKeyToReplace\x18\x01 \x01(\x0b\x32\x10.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12\"\n\x08keyToAdd\x18\x03 \x01(\x0b\x32\x10.VCSEC.PublicKey\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e\x32\n.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08\x42\x0e\n\x0ckeyToReplace\"\x8c\x05\n\x12WhitelistOperation\x12\x33\n\x17\x61\x64\x64PublicKeyToWhitelist\x18\x01 \x01(\x0b\x32\x10.VCSEC.PublicKeyH\x00\x12\x38\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b\x32\x10.VCSEC.PublicKeyH\x00\x12<\n\x19\x61\x64\x64PermissionsToPublicKey\x18\x03 \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12\x41\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12\x45\n\"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12:\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12\x34\n\x11\x61\x64\x64ImpermanentKey\x18\x08 \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12\x45\n\"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b\x32\x17.VCSEC.PermissionChangeH\x00\x12\"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\'\n\nreplaceKey\x18\x11 \x01(\x0b\x32\x11.VCSEC.ReplaceKeyH\x00\x12*\n\x0emetadataForKey\x18\x06 \x01(\x0b\x32\x12.VCSEC.KeyMetadataB\r\n\x0bsub_message\"\xcf\x01\n\x19WhitelistOperation_status\x12N\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e\x32\'.VCSEC.WhitelistOperation_information_E\x12/\n\x11signerOfOperation\x18\x02 \x01(\x0b\x32\x14.VCSEC.KeyIdentifier\x12\x31\n\x0foperationStatus\x18\x03 \x01(\x0e\x32\x18.VCSEC.OperationStatus_E\"m\n\x14SignedMessage_status\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\r\x12\x44\n\x18signedMessageInformation\x18\x02 \x01(\x0e\x32\".VCSEC.SignedMessage_information_E\"\xd3\x01\n\rCommandStatus\x12\x31\n\x0foperationStatus\x18\x01 \x01(\x0e\x32\x18.VCSEC.OperationStatus_E\x12:\n\x13signedMessageStatus\x18\x02 \x01(\x0b\x32\x1b.VCSEC.SignedMessage_statusH\x00\x12\x44\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b\x32 .VCSEC.WhitelistOperation_statusH\x00\x42\r\n\x0bsub_message\"\x92\x02\n\x0fUnsignedMessage\x12\x37\n\x12InformationRequest\x18\x01 \x01(\x0b\x32\x19.VCSEC.InformationRequestH\x00\x12\'\n\tRKEAction\x18\x02 \x01(\x0e\x32\x12.VCSEC.RKEAction_EH\x00\x12\x37\n\x12\x63losureMoveRequest\x18\x04 \x01(\x0b\x32\x19.VCSEC.ClosureMoveRequestH\x00\x12\x37\n\x12WhitelistOperation\x18\x10 \x01(\x0b\x32\x19.VCSEC.WhitelistOperationH\x00\x42\r\n\x0bsub_messageJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e\"\xfd\x02\n\x0f\x43losureStatuses\x12.\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12\x31\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12-\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12\x30\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12(\n\trearTrunk\x18\x05 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12)\n\nfrontTrunk\x18\x06 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12)\n\nchargePort\x18\x07 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\x12&\n\x07tonneau\x18\x08 \x01(\x0e\x32\x15.VCSEC.ClosureState_E\"3\n\x15\x44\x65tailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r\"\x98\x02\n\rVehicleStatus\x12/\n\x0f\x63losureStatuses\x18\x01 \x01(\x0b\x32\x16.VCSEC.ClosureStatuses\x12\x33\n\x10vehicleLockState\x18\x02 \x01(\x0e\x32\x19.VCSEC.VehicleLockState_E\x12\x37\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e\x32\x1b.VCSEC.VehicleSleepStatus_E\x12+\n\x0cuserPresence\x18\x04 \x01(\x0e\x32\x15.VCSEC.UserPresence_E\x12;\n\x15\x64\x65tailedClosureStatus\x18\x05 \x01(\x0b\x32\x1c.VCSEC.DetailedClosureStatus\"\x9b\x02\n\x10\x46romVCSECMessage\x12-\n\rvehicleStatus\x18\x01 \x01(\x0b\x32\x14.VCSEC.VehicleStatusH\x00\x12-\n\rcommandStatus\x18\x04 \x01(\x0b\x32\x14.VCSEC.CommandStatusH\x00\x12-\n\rwhitelistInfo\x18\x10 \x01(\x0b\x32\x14.VCSEC.WhitelistInfoH\x00\x12\x37\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b\x32\x19.VCSEC.WhitelistEntryInfoH\x00\x12,\n\x0cnominalError\x18. \x01(\x0b\x32\x14.Errors.NominalErrorH\x00\x42\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*H\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02*\xd8\x05\n\rKeyFormFactor\x12\x1b\n\x17KEY_FORM_FACTOR_UNKNOWN\x10\x00\x12\x1c\n\x18KEY_FORM_FACTOR_NFC_CARD\x10\x01\x12+\n\'KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB\x10\x02\x12\x1e\n\x1aKEY_FORM_FACTOR_BLE_DEVICE\x10\x03\x12\x1e\n\x1aKEY_FORM_FACTOR_NFC_DEVICE\x10\x04\x12&\n\"KEY_FORM_FACTOR_BLE_AND_NFC_DEVICE\x10\x05\x12\x1e\n\x1aKEY_FORM_FACTOR_IOS_DEVICE\x10\x06\x12\"\n\x1eKEY_FORM_FACTOR_ANDROID_DEVICE\x10\x07\x12/\n+KEY_FORM_FACTOR_3_BUTTON_BLE_CAR_KEYFOB_P60\x10\x08\x12\x1d\n\x19KEY_FORM_FACTOR_CLOUD_KEY\x10\t\x12\x30\n,KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60\x10\n\x12\x30\n,KEY_FORM_FACTOR_5_BUTTON_GEN2_CAR_KEYFOB_P60\x10\x0b\x12\x33\n/KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V2\x10\x0c\x12\x33\n/KEY_FORM_FACTOR_3_BUTTON_GEN2_CAR_KEYFOB_P60_V3\x10\r\x12 \n\x1cKEY_FORM_FACTOR_NFC_CARD_P71\x10\x0e\x12\'\n#KEY_FORM_FACTOR_NFC_CARD_METAL_CARD\x10\x0f\x12)\n%KEY_FORM_FACTOR_NFC_CARD_PLASTIC_CARD\x10\x10\x12\x1f\n\x1bKEY_FORM_FACTOR_APPLE_WATCH\x10\x11*\xa9\x01\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06*\xd5\x02\n\x0bRKEAction_E\x12\x15\n\x11RKE_ACTION_UNLOCK\x10\x00\x12\x13\n\x0fRKE_ACTION_LOCK\x10\x01\x12\x19\n\x15RKE_ACTION_OPEN_TRUNK\x10\x02\x12\x19\n\x15RKE_ACTION_OPEN_FRUNK\x10\x03\x12\x1f\n\x1bRKE_ACTION_OPEN_CHARGE_PORT\x10\x04\x12 \n\x1cRKE_ACTION_CLOSE_CHARGE_PORT\x10\x05\x12+\n\'RKE_ACTION_CANCEL_EXTERNAL_AUTHENTICATE\x10\x06\x12\x16\n\x12RKE_ACTION_UNKNOWN\x10\x13\x12\x1b\n\x17RKE_ACTION_REMOTE_DRIVE\x10\x14\x12\"\n\x1eRKE_ACTION_AUTO_SECURE_VEHICLE\x10\x1d\x12\x1b\n\x17RKE_ACTION_WAKE_VEHICLE\x10\x1e*\xa0\x01\n\x11\x43losureMoveType_E\x12\x1a\n\x16\x43LOSURE_MOVE_TYPE_NONE\x10\x00\x12\x1a\n\x16\x43LOSURE_MOVE_TYPE_MOVE\x10\x01\x12\x1a\n\x16\x43LOSURE_MOVE_TYPE_STOP\x10\x02\x12\x1a\n\x16\x43LOSURE_MOVE_TYPE_OPEN\x10\x03\x12\x1b\n\x17\x43LOSURE_MOVE_TYPE_CLOSE\x10\x04*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xf3\x08\n\x1bSignedMessage_information_E\x12\"\n\x1eSIGNEDMESSAGE_INFORMATION_NONE\x10\x00\x12+\n\'SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN\x10\x01\x12\x34\n0SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST\x10\x02\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED\x10\x03\x12\x31\n-SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN\x10\x04\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID\x10\x05\x12\x34\n0SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH\x10\x06\x12/\n+SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT\x10\x07\x12\x33\n/SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE\x10\x08\x12\x36\n2SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START\x10\t\x12\x37\n3SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT\x10\n\x12:\n6SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY\x10\x0b\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN\x10\x0c\x12\x37\n3SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT\x10\r\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH\x10\x0e\x12\x33\n/SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH\x10\x0f\x12\x37\n3SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH\x10\x10\x12\x30\n,SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED\x10\x11\x12\x41\n=SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12;\n7SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA\x10\x13*\x90\x10\n WhitelistOperation_information_E\x12\'\n#WHITELISTOPERATION_INFORMATION_NONE\x10\x00\x12\x35\n1WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR\x10\x01\x12\x42\n>WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF\x10\x02\x12\x34\n0WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL\x10\x03\x12\x31\n-WHITELISTOPERATION_INFORMATION_WHITELIST_FULL\x10\x04\x12\x37\n3WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD\x10\x05\x12\x35\n1WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY\x10\x06\x12:\n6WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE\x10\x07\x12\x46\nBWHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS\x10\x08\x12L\nHWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF\x10\t\x12K\nGWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF\x10\n\x12G\nCWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS\x10\x0b\x12>\n:WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST\x10\x0c\x12Y\nUWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST\x10\r\x12\x46\nBWHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER\x10\x0e\x12\x41\n=WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE\x10\x0f\x12\x45\nAWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY\x10\x10\x12H\nDWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY\x10\x11\x12\x39\n5WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL\x10\x12\x12\x45\nAWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE\x10\x13\x12J\nFWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE\x10\x14\x12Q\nMWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH\x10\x15\x12\x62\n^WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE\x10\x16\x12\x44\n@WHITELISTOPERATION_INFORMATION_COULD_NOT_START_LOCAL_ENTITY_AUTH\x10\x17\x12\x45\nAWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_UI_DENIED\x10\x18\x12U\nQWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_TAP\x10\x19\x12X\nTWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_TIMED_OUT_WAITING_FOR_UI_ACK\x10\x1a\x12\x46\nBWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_VALET_MODE\x10\x1b\x12\x45\nAWHITELISTOPERATION_INFORMATION_LOCAL_ENTITY_AUTH_FAILED_CANCELLED\x10\x1c*\xc6\x01\n\x0e\x43losureState_E\x12\x17\n\x13\x43LOSURESTATE_CLOSED\x10\x00\x12\x15\n\x11\x43LOSURESTATE_OPEN\x10\x01\x12\x15\n\x11\x43LOSURESTATE_AJAR\x10\x02\x12\x18\n\x14\x43LOSURESTATE_UNKNOWN\x10\x03\x12\x1f\n\x1b\x43LOSURESTATE_FAILED_UNLATCH\x10\x04\x12\x18\n\x14\x43LOSURESTATE_OPENING\x10\x05\x12\x18\n\x14\x43LOSURESTATE_CLOSING\x10\x06*\x9f\x01\n\x12VehicleLockState_E\x12\x1d\n\x19VEHICLELOCKSTATE_UNLOCKED\x10\x00\x12\x1b\n\x17VEHICLELOCKSTATE_LOCKED\x10\x01\x12$\n VEHICLELOCKSTATE_INTERNAL_LOCKED\x10\x02\x12\'\n#VEHICLELOCKSTATE_SELECTIVE_UNLOCKED\x10\x03*y\n\x14VehicleSleepStatus_E\x12 \n\x1cVEHICLE_SLEEP_STATUS_UNKNOWN\x10\x00\x12\x1e\n\x1aVEHICLE_SLEEP_STATUS_AWAKE\x10\x01\x12\x1f\n\x1bVEHICLE_SLEEP_STATUS_ASLEEP\x10\x02*}\n\x0eUserPresence_E\x12!\n\x1dVEHICLE_USER_PRESENCE_UNKNOWN\x10\x00\x12%\n!VEHICLE_USER_PRESENCE_NOT_PRESENT\x10\x01\x12!\n\x1dVEHICLE_USER_PRESENCE_PRESENT\x10\x02\x42_\n\x19\x63om.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vcsec_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.vcsec_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsec' - _globals['_SIGNATURETYPE']._serialized_start = 3982 - _globals['_SIGNATURETYPE']._serialized_end = 4054 - _globals['_KEYFORMFACTOR']._serialized_start = 4057 - _globals['_KEYFORMFACTOR']._serialized_end = 4785 - _globals['_INFORMATIONREQUESTTYPE']._serialized_start = 4788 - _globals['_INFORMATIONREQUESTTYPE']._serialized_end = 4957 - _globals['_RKEACTION_E']._serialized_start = 4960 - _globals['_RKEACTION_E']._serialized_end = 5301 - _globals['_CLOSUREMOVETYPE_E']._serialized_start = 5304 - _globals['_CLOSUREMOVETYPE_E']._serialized_end = 5464 - _globals['_OPERATIONSTATUS_E']._serialized_start = 5466 - _globals['_OPERATIONSTATUS_E']._serialized_end = 5562 - _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_start = 5565 - _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_end = 6704 - _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_start = 6707 - _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_end = 8771 - _globals['_CLOSURESTATE_E']._serialized_start = 8774 - _globals['_CLOSURESTATE_E']._serialized_end = 8972 - _globals['_VEHICLELOCKSTATE_E']._serialized_start = 8975 - _globals['_VEHICLELOCKSTATE_E']._serialized_end = 9134 - _globals['_VEHICLESLEEPSTATUS_E']._serialized_start = 9136 - _globals['_VEHICLESLEEPSTATUS_E']._serialized_end = 9257 - _globals['_USERPRESENCE_E']._serialized_start = 9259 - _globals['_USERPRESENCE_E']._serialized_end = 9384 - _globals['_SIGNEDMESSAGE']._serialized_start = 48 - _globals['_SIGNEDMESSAGE']._serialized_end = 140 - _globals['_TOVCSECMESSAGE']._serialized_start = 142 - _globals['_TOVCSECMESSAGE']._serialized_end = 203 - _globals['_KEYIDENTIFIER']._serialized_start = 205 - _globals['_KEYIDENTIFIER']._serialized_end = 243 - _globals['_KEYMETADATA']._serialized_start = 245 - _globals['_KEYMETADATA']._serialized_end = 303 - _globals['_PUBLICKEY']._serialized_start = 305 - _globals['_PUBLICKEY']._serialized_end = 338 - _globals['_WHITELISTINFO']._serialized_start = 340 - _globals['_WHITELISTINFO']._serialized_end = 446 - _globals['_WHITELISTENTRYINFO']._serialized_start = 449 - _globals['_WHITELISTENTRYINFO']._serialized_end = 630 - _globals['_INFORMATIONREQUEST']._serialized_start = 633 - _globals['_INFORMATIONREQUEST']._serialized_end = 799 - _globals['_CLOSUREMOVEREQUEST']._serialized_start = 802 - _globals['_CLOSUREMOVEREQUEST']._serialized_end = 1210 - _globals['_PERMISSIONCHANGE']._serialized_start = 1212 - _globals['_PERMISSIONCHANGE']._serialized_end = 1317 - _globals['_REPLACEKEY']._serialized_start = 1320 - _globals['_REPLACEKEY']._serialized_end = 1507 - _globals['_WHITELISTOPERATION']._serialized_start = 1510 - _globals['_WHITELISTOPERATION']._serialized_end = 2162 - _globals['_WHITELISTOPERATION_STATUS']._serialized_start = 2165 - _globals['_WHITELISTOPERATION_STATUS']._serialized_end = 2372 - _globals['_SIGNEDMESSAGE_STATUS']._serialized_start = 2374 - _globals['_SIGNEDMESSAGE_STATUS']._serialized_end = 2483 - _globals['_COMMANDSTATUS']._serialized_start = 2486 - _globals['_COMMANDSTATUS']._serialized_end = 2697 - _globals['_UNSIGNEDMESSAGE']._serialized_start = 2700 - _globals['_UNSIGNEDMESSAGE']._serialized_end = 2974 - _globals['_CLOSURESTATUSES']._serialized_start = 2977 - _globals['_CLOSURESTATUSES']._serialized_end = 3358 - _globals['_DETAILEDCLOSURESTATUS']._serialized_start = 3360 - _globals['_DETAILEDCLOSURESTATUS']._serialized_end = 3411 - _globals['_VEHICLESTATUS']._serialized_start = 3414 - _globals['_VEHICLESTATUS']._serialized_end = 3694 - _globals['_FROMVCSECMESSAGE']._serialized_start = 3697 - _globals['_FROMVCSECMESSAGE']._serialized_end = 3980 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsec' + _globals['_SIGNATURETYPE']._serialized_start=4000 + _globals['_SIGNATURETYPE']._serialized_end=4072 + _globals['_KEYFORMFACTOR']._serialized_start=4075 + _globals['_KEYFORMFACTOR']._serialized_end=4803 + _globals['_INFORMATIONREQUESTTYPE']._serialized_start=4806 + _globals['_INFORMATIONREQUESTTYPE']._serialized_end=4975 + _globals['_RKEACTION_E']._serialized_start=4978 + _globals['_RKEACTION_E']._serialized_end=5319 + _globals['_CLOSUREMOVETYPE_E']._serialized_start=5322 + _globals['_CLOSUREMOVETYPE_E']._serialized_end=5482 + _globals['_OPERATIONSTATUS_E']._serialized_start=5484 + _globals['_OPERATIONSTATUS_E']._serialized_end=5580 + _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_start=5583 + _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_end=6722 + _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_start=6725 + _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_end=8789 + _globals['_CLOSURESTATE_E']._serialized_start=8792 + _globals['_CLOSURESTATE_E']._serialized_end=8990 + _globals['_VEHICLELOCKSTATE_E']._serialized_start=8993 + _globals['_VEHICLELOCKSTATE_E']._serialized_end=9152 + _globals['_VEHICLESLEEPSTATUS_E']._serialized_start=9154 + _globals['_VEHICLESLEEPSTATUS_E']._serialized_end=9275 + _globals['_USERPRESENCE_E']._serialized_start=9277 + _globals['_USERPRESENCE_E']._serialized_end=9402 + _globals['_SIGNEDMESSAGE']._serialized_start=66 + _globals['_SIGNEDMESSAGE']._serialized_end=158 + _globals['_TOVCSECMESSAGE']._serialized_start=160 + _globals['_TOVCSECMESSAGE']._serialized_end=221 + _globals['_KEYIDENTIFIER']._serialized_start=223 + _globals['_KEYIDENTIFIER']._serialized_end=261 + _globals['_KEYMETADATA']._serialized_start=263 + _globals['_KEYMETADATA']._serialized_end=321 + _globals['_PUBLICKEY']._serialized_start=323 + _globals['_PUBLICKEY']._serialized_end=356 + _globals['_WHITELISTINFO']._serialized_start=358 + _globals['_WHITELISTINFO']._serialized_end=464 + _globals['_WHITELISTENTRYINFO']._serialized_start=467 + _globals['_WHITELISTENTRYINFO']._serialized_end=648 + _globals['_INFORMATIONREQUEST']._serialized_start=651 + _globals['_INFORMATIONREQUEST']._serialized_end=817 + _globals['_CLOSUREMOVEREQUEST']._serialized_start=820 + _globals['_CLOSUREMOVEREQUEST']._serialized_end=1228 + _globals['_PERMISSIONCHANGE']._serialized_start=1230 + _globals['_PERMISSIONCHANGE']._serialized_end=1335 + _globals['_REPLACEKEY']._serialized_start=1338 + _globals['_REPLACEKEY']._serialized_end=1525 + _globals['_WHITELISTOPERATION']._serialized_start=1528 + _globals['_WHITELISTOPERATION']._serialized_end=2180 + _globals['_WHITELISTOPERATION_STATUS']._serialized_start=2183 + _globals['_WHITELISTOPERATION_STATUS']._serialized_end=2390 + _globals['_SIGNEDMESSAGE_STATUS']._serialized_start=2392 + _globals['_SIGNEDMESSAGE_STATUS']._serialized_end=2501 + _globals['_COMMANDSTATUS']._serialized_start=2504 + _globals['_COMMANDSTATUS']._serialized_end=2715 + _globals['_UNSIGNEDMESSAGE']._serialized_start=2718 + _globals['_UNSIGNEDMESSAGE']._serialized_end=2992 + _globals['_CLOSURESTATUSES']._serialized_start=2995 + _globals['_CLOSURESTATUSES']._serialized_end=3376 + _globals['_DETAILEDCLOSURESTATUS']._serialized_start=3378 + _globals['_DETAILEDCLOSURESTATUS']._serialized_end=3429 + _globals['_VEHICLESTATUS']._serialized_start=3432 + _globals['_VEHICLESTATUS']._serialized_end=3712 + _globals['_FROMVCSECMESSAGE']._serialized_start=3715 + _globals['_FROMVCSECMESSAGE']._serialized_end=3998 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.pyi index dd084d8..939a707 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/vcsec_pb2.pyi @@ -1,11 +1,12 @@ -import errors_pb2 as _errors_pb2 -import keys_pb2 as _keys_pb2 +from . import errors_pb2 as _errors_pb2 +from . import keys_pb2 as _keys_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Iterable as _Iterable, Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class SignatureType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -261,61 +262,49 @@ VEHICLE_USER_PRESENCE_NOT_PRESENT: UserPresence_E VEHICLE_USER_PRESENCE_PRESENT: UserPresence_E class SignedMessage(_message.Message): - __slots__ = ('protobufMessageAsBytes', 'signatureType') + __slots__ = ("protobufMessageAsBytes", "signatureType") PROTOBUFMESSAGEASBYTES_FIELD_NUMBER: _ClassVar[int] SIGNATURETYPE_FIELD_NUMBER: _ClassVar[int] protobufMessageAsBytes: bytes signatureType: SignatureType - - def __init__(self, protobufMessageAsBytes: _Optional[bytes]=..., signatureType: _Optional[_Union[SignatureType, str]]=...) -> None: - ... + def __init__(self, protobufMessageAsBytes: _Optional[bytes] = ..., signatureType: _Optional[_Union[SignatureType, str]] = ...) -> None: ... class ToVCSECMessage(_message.Message): - __slots__ = ('signedMessage',) + __slots__ = ("signedMessage",) SIGNEDMESSAGE_FIELD_NUMBER: _ClassVar[int] signedMessage: SignedMessage - - def __init__(self, signedMessage: _Optional[_Union[SignedMessage, _Mapping]]=...) -> None: - ... + def __init__(self, signedMessage: _Optional[_Union[SignedMessage, _Mapping]] = ...) -> None: ... class KeyIdentifier(_message.Message): - __slots__ = ('publicKeySHA1',) + __slots__ = ("publicKeySHA1",) PUBLICKEYSHA1_FIELD_NUMBER: _ClassVar[int] publicKeySHA1: bytes - - def __init__(self, publicKeySHA1: _Optional[bytes]=...) -> None: - ... + def __init__(self, publicKeySHA1: _Optional[bytes] = ...) -> None: ... class KeyMetadata(_message.Message): - __slots__ = ('keyFormFactor',) + __slots__ = ("keyFormFactor",) KEYFORMFACTOR_FIELD_NUMBER: _ClassVar[int] keyFormFactor: KeyFormFactor - - def __init__(self, keyFormFactor: _Optional[_Union[KeyFormFactor, str]]=...) -> None: - ... + def __init__(self, keyFormFactor: _Optional[_Union[KeyFormFactor, str]] = ...) -> None: ... class PublicKey(_message.Message): - __slots__ = ('PublicKeyRaw',) + __slots__ = ("PublicKeyRaw",) PUBLICKEYRAW_FIELD_NUMBER: _ClassVar[int] PublicKeyRaw: bytes - - def __init__(self, PublicKeyRaw: _Optional[bytes]=...) -> None: - ... + def __init__(self, PublicKeyRaw: _Optional[bytes] = ...) -> None: ... class WhitelistInfo(_message.Message): - __slots__ = ('numberOfEntries', 'whitelistEntries', 'slotMask') + __slots__ = ("numberOfEntries", "whitelistEntries", "slotMask") NUMBEROFENTRIES_FIELD_NUMBER: _ClassVar[int] WHITELISTENTRIES_FIELD_NUMBER: _ClassVar[int] SLOTMASK_FIELD_NUMBER: _ClassVar[int] numberOfEntries: int whitelistEntries: _containers.RepeatedCompositeFieldContainer[KeyIdentifier] slotMask: int - - def __init__(self, numberOfEntries: _Optional[int]=..., whitelistEntries: _Optional[_Iterable[_Union[KeyIdentifier, _Mapping]]]=..., slotMask: _Optional[int]=...) -> None: - ... + def __init__(self, numberOfEntries: _Optional[int] = ..., whitelistEntries: _Optional[_Iterable[_Union[KeyIdentifier, _Mapping]]] = ..., slotMask: _Optional[int] = ...) -> None: ... class WhitelistEntryInfo(_message.Message): - __slots__ = ('keyId', 'publicKey', 'metadataForKey', 'slot', 'keyRole') + __slots__ = ("keyId", "publicKey", "metadataForKey", "slot", "keyRole") KEYID_FIELD_NUMBER: _ClassVar[int] PUBLICKEY_FIELD_NUMBER: _ClassVar[int] METADATAFORKEY_FIELD_NUMBER: _ClassVar[int] @@ -326,12 +315,10 @@ class WhitelistEntryInfo(_message.Message): metadataForKey: KeyMetadata slot: int keyRole: _keys_pb2.Role - - def __init__(self, keyId: _Optional[_Union[KeyIdentifier, _Mapping]]=..., publicKey: _Optional[_Union[PublicKey, _Mapping]]=..., metadataForKey: _Optional[_Union[KeyMetadata, _Mapping]]=..., slot: _Optional[int]=..., keyRole: _Optional[_Union[_keys_pb2.Role, str]]=...) -> None: - ... + def __init__(self, keyId: _Optional[_Union[KeyIdentifier, _Mapping]] = ..., publicKey: _Optional[_Union[PublicKey, _Mapping]] = ..., metadataForKey: _Optional[_Union[KeyMetadata, _Mapping]] = ..., slot: _Optional[int] = ..., keyRole: _Optional[_Union[_keys_pb2.Role, str]] = ...) -> None: ... class InformationRequest(_message.Message): - __slots__ = ('informationRequestType', 'keyId', 'publicKey', 'slot') + __slots__ = ("informationRequestType", "keyId", "publicKey", "slot") INFORMATIONREQUESTTYPE_FIELD_NUMBER: _ClassVar[int] KEYID_FIELD_NUMBER: _ClassVar[int] PUBLICKEY_FIELD_NUMBER: _ClassVar[int] @@ -340,12 +327,10 @@ class InformationRequest(_message.Message): keyId: KeyIdentifier publicKey: bytes slot: int - - def __init__(self, informationRequestType: _Optional[_Union[InformationRequestType, str]]=..., keyId: _Optional[_Union[KeyIdentifier, _Mapping]]=..., publicKey: _Optional[bytes]=..., slot: _Optional[int]=...) -> None: - ... + def __init__(self, informationRequestType: _Optional[_Union[InformationRequestType, str]] = ..., keyId: _Optional[_Union[KeyIdentifier, _Mapping]] = ..., publicKey: _Optional[bytes] = ..., slot: _Optional[int] = ...) -> None: ... class ClosureMoveRequest(_message.Message): - __slots__ = ('frontDriverDoor', 'frontPassengerDoor', 'rearDriverDoor', 'rearPassengerDoor', 'rearTrunk', 'frontTrunk', 'chargePort', 'tonneau') + __slots__ = ("frontDriverDoor", "frontPassengerDoor", "rearDriverDoor", "rearPassengerDoor", "rearTrunk", "frontTrunk", "chargePort", "tonneau") FRONTDRIVERDOOR_FIELD_NUMBER: _ClassVar[int] FRONTPASSENGERDOOR_FIELD_NUMBER: _ClassVar[int] REARDRIVERDOOR_FIELD_NUMBER: _ClassVar[int] @@ -362,24 +347,20 @@ class ClosureMoveRequest(_message.Message): frontTrunk: ClosureMoveType_E chargePort: ClosureMoveType_E tonneau: ClosureMoveType_E - - def __init__(self, frontDriverDoor: _Optional[_Union[ClosureMoveType_E, str]]=..., frontPassengerDoor: _Optional[_Union[ClosureMoveType_E, str]]=..., rearDriverDoor: _Optional[_Union[ClosureMoveType_E, str]]=..., rearPassengerDoor: _Optional[_Union[ClosureMoveType_E, str]]=..., rearTrunk: _Optional[_Union[ClosureMoveType_E, str]]=..., frontTrunk: _Optional[_Union[ClosureMoveType_E, str]]=..., chargePort: _Optional[_Union[ClosureMoveType_E, str]]=..., tonneau: _Optional[_Union[ClosureMoveType_E, str]]=...) -> None: - ... + def __init__(self, frontDriverDoor: _Optional[_Union[ClosureMoveType_E, str]] = ..., frontPassengerDoor: _Optional[_Union[ClosureMoveType_E, str]] = ..., rearDriverDoor: _Optional[_Union[ClosureMoveType_E, str]] = ..., rearPassengerDoor: _Optional[_Union[ClosureMoveType_E, str]] = ..., rearTrunk: _Optional[_Union[ClosureMoveType_E, str]] = ..., frontTrunk: _Optional[_Union[ClosureMoveType_E, str]] = ..., chargePort: _Optional[_Union[ClosureMoveType_E, str]] = ..., tonneau: _Optional[_Union[ClosureMoveType_E, str]] = ...) -> None: ... class PermissionChange(_message.Message): - __slots__ = ('key', 'secondsToBeActive', 'keyRole') + __slots__ = ("key", "secondsToBeActive", "keyRole") KEY_FIELD_NUMBER: _ClassVar[int] SECONDSTOBEACTIVE_FIELD_NUMBER: _ClassVar[int] KEYROLE_FIELD_NUMBER: _ClassVar[int] key: PublicKey secondsToBeActive: int keyRole: _keys_pb2.Role - - def __init__(self, key: _Optional[_Union[PublicKey, _Mapping]]=..., secondsToBeActive: _Optional[int]=..., keyRole: _Optional[_Union[_keys_pb2.Role, str]]=...) -> None: - ... + def __init__(self, key: _Optional[_Union[PublicKey, _Mapping]] = ..., secondsToBeActive: _Optional[int] = ..., keyRole: _Optional[_Union[_keys_pb2.Role, str]] = ...) -> None: ... class ReplaceKey(_message.Message): - __slots__ = ('publicKeyToReplace', 'slotToReplace', 'keyToAdd', 'keyRole', 'impermanent') + __slots__ = ("publicKeyToReplace", "slotToReplace", "keyToAdd", "keyRole", "impermanent") PUBLICKEYTOREPLACE_FIELD_NUMBER: _ClassVar[int] SLOTTOREPLACE_FIELD_NUMBER: _ClassVar[int] KEYTOADD_FIELD_NUMBER: _ClassVar[int] @@ -390,12 +371,10 @@ class ReplaceKey(_message.Message): keyToAdd: PublicKey keyRole: _keys_pb2.Role impermanent: bool - - def __init__(self, publicKeyToReplace: _Optional[_Union[PublicKey, _Mapping]]=..., slotToReplace: _Optional[int]=..., keyToAdd: _Optional[_Union[PublicKey, _Mapping]]=..., keyRole: _Optional[_Union[_keys_pb2.Role, str]]=..., impermanent: bool=...) -> None: - ... + def __init__(self, publicKeyToReplace: _Optional[_Union[PublicKey, _Mapping]] = ..., slotToReplace: _Optional[int] = ..., keyToAdd: _Optional[_Union[PublicKey, _Mapping]] = ..., keyRole: _Optional[_Union[_keys_pb2.Role, str]] = ..., impermanent: _Optional[bool] = ...) -> None: ... class WhitelistOperation(_message.Message): - __slots__ = ('addPublicKeyToWhitelist', 'removePublicKeyFromWhitelist', 'addPermissionsToPublicKey', 'removePermissionsFromPublicKey', 'addKeyToWhitelistAndAddPermissions', 'updateKeyAndPermissions', 'addImpermanentKey', 'addImpermanentKeyAndRemoveExisting', 'removeAllImpermanentKeys', 'replaceKey', 'metadataForKey') + __slots__ = ("addPublicKeyToWhitelist", "removePublicKeyFromWhitelist", "addPermissionsToPublicKey", "removePermissionsFromPublicKey", "addKeyToWhitelistAndAddPermissions", "updateKeyAndPermissions", "addImpermanentKey", "addImpermanentKeyAndRemoveExisting", "removeAllImpermanentKeys", "replaceKey", "metadataForKey") ADDPUBLICKEYTOWHITELIST_FIELD_NUMBER: _ClassVar[int] REMOVEPUBLICKEYFROMWHITELIST_FIELD_NUMBER: _ClassVar[int] ADDPERMISSIONSTOPUBLICKEY_FIELD_NUMBER: _ClassVar[int] @@ -418,46 +397,38 @@ class WhitelistOperation(_message.Message): removeAllImpermanentKeys: bool replaceKey: ReplaceKey metadataForKey: KeyMetadata - - def __init__(self, addPublicKeyToWhitelist: _Optional[_Union[PublicKey, _Mapping]]=..., removePublicKeyFromWhitelist: _Optional[_Union[PublicKey, _Mapping]]=..., addPermissionsToPublicKey: _Optional[_Union[PermissionChange, _Mapping]]=..., removePermissionsFromPublicKey: _Optional[_Union[PermissionChange, _Mapping]]=..., addKeyToWhitelistAndAddPermissions: _Optional[_Union[PermissionChange, _Mapping]]=..., updateKeyAndPermissions: _Optional[_Union[PermissionChange, _Mapping]]=..., addImpermanentKey: _Optional[_Union[PermissionChange, _Mapping]]=..., addImpermanentKeyAndRemoveExisting: _Optional[_Union[PermissionChange, _Mapping]]=..., removeAllImpermanentKeys: bool=..., replaceKey: _Optional[_Union[ReplaceKey, _Mapping]]=..., metadataForKey: _Optional[_Union[KeyMetadata, _Mapping]]=...) -> None: - ... + def __init__(self, addPublicKeyToWhitelist: _Optional[_Union[PublicKey, _Mapping]] = ..., removePublicKeyFromWhitelist: _Optional[_Union[PublicKey, _Mapping]] = ..., addPermissionsToPublicKey: _Optional[_Union[PermissionChange, _Mapping]] = ..., removePermissionsFromPublicKey: _Optional[_Union[PermissionChange, _Mapping]] = ..., addKeyToWhitelistAndAddPermissions: _Optional[_Union[PermissionChange, _Mapping]] = ..., updateKeyAndPermissions: _Optional[_Union[PermissionChange, _Mapping]] = ..., addImpermanentKey: _Optional[_Union[PermissionChange, _Mapping]] = ..., addImpermanentKeyAndRemoveExisting: _Optional[_Union[PermissionChange, _Mapping]] = ..., removeAllImpermanentKeys: _Optional[bool] = ..., replaceKey: _Optional[_Union[ReplaceKey, _Mapping]] = ..., metadataForKey: _Optional[_Union[KeyMetadata, _Mapping]] = ...) -> None: ... class WhitelistOperation_status(_message.Message): - __slots__ = ('whitelistOperationInformation', 'signerOfOperation', 'operationStatus') + __slots__ = ("whitelistOperationInformation", "signerOfOperation", "operationStatus") WHITELISTOPERATIONINFORMATION_FIELD_NUMBER: _ClassVar[int] SIGNEROFOPERATION_FIELD_NUMBER: _ClassVar[int] OPERATIONSTATUS_FIELD_NUMBER: _ClassVar[int] whitelistOperationInformation: WhitelistOperation_information_E signerOfOperation: KeyIdentifier operationStatus: OperationStatus_E - - def __init__(self, whitelistOperationInformation: _Optional[_Union[WhitelistOperation_information_E, str]]=..., signerOfOperation: _Optional[_Union[KeyIdentifier, _Mapping]]=..., operationStatus: _Optional[_Union[OperationStatus_E, str]]=...) -> None: - ... + def __init__(self, whitelistOperationInformation: _Optional[_Union[WhitelistOperation_information_E, str]] = ..., signerOfOperation: _Optional[_Union[KeyIdentifier, _Mapping]] = ..., operationStatus: _Optional[_Union[OperationStatus_E, str]] = ...) -> None: ... class SignedMessage_status(_message.Message): - __slots__ = ('counter', 'signedMessageInformation') + __slots__ = ("counter", "signedMessageInformation") COUNTER_FIELD_NUMBER: _ClassVar[int] SIGNEDMESSAGEINFORMATION_FIELD_NUMBER: _ClassVar[int] counter: int signedMessageInformation: SignedMessage_information_E - - def __init__(self, counter: _Optional[int]=..., signedMessageInformation: _Optional[_Union[SignedMessage_information_E, str]]=...) -> None: - ... + def __init__(self, counter: _Optional[int] = ..., signedMessageInformation: _Optional[_Union[SignedMessage_information_E, str]] = ...) -> None: ... class CommandStatus(_message.Message): - __slots__ = ('operationStatus', 'signedMessageStatus', 'whitelistOperationStatus') + __slots__ = ("operationStatus", "signedMessageStatus", "whitelistOperationStatus") OPERATIONSTATUS_FIELD_NUMBER: _ClassVar[int] SIGNEDMESSAGESTATUS_FIELD_NUMBER: _ClassVar[int] WHITELISTOPERATIONSTATUS_FIELD_NUMBER: _ClassVar[int] operationStatus: OperationStatus_E signedMessageStatus: SignedMessage_status whitelistOperationStatus: WhitelistOperation_status - - def __init__(self, operationStatus: _Optional[_Union[OperationStatus_E, str]]=..., signedMessageStatus: _Optional[_Union[SignedMessage_status, _Mapping]]=..., whitelistOperationStatus: _Optional[_Union[WhitelistOperation_status, _Mapping]]=...) -> None: - ... + def __init__(self, operationStatus: _Optional[_Union[OperationStatus_E, str]] = ..., signedMessageStatus: _Optional[_Union[SignedMessage_status, _Mapping]] = ..., whitelistOperationStatus: _Optional[_Union[WhitelistOperation_status, _Mapping]] = ...) -> None: ... class UnsignedMessage(_message.Message): - __slots__ = ('InformationRequest', 'RKEAction', 'closureMoveRequest', 'WhitelistOperation') + __slots__ = ("InformationRequest", "RKEAction", "closureMoveRequest", "WhitelistOperation") INFORMATIONREQUEST_FIELD_NUMBER: _ClassVar[int] RKEACTION_FIELD_NUMBER: _ClassVar[int] CLOSUREMOVEREQUEST_FIELD_NUMBER: _ClassVar[int] @@ -466,12 +437,10 @@ class UnsignedMessage(_message.Message): RKEAction: RKEAction_E closureMoveRequest: ClosureMoveRequest WhitelistOperation: WhitelistOperation - - def __init__(self, InformationRequest: _Optional[_Union[InformationRequest, _Mapping]]=..., RKEAction: _Optional[_Union[RKEAction_E, str]]=..., closureMoveRequest: _Optional[_Union[ClosureMoveRequest, _Mapping]]=..., WhitelistOperation: _Optional[_Union[WhitelistOperation, _Mapping]]=...) -> None: - ... + def __init__(self, InformationRequest: _Optional[_Union[InformationRequest, _Mapping]] = ..., RKEAction: _Optional[_Union[RKEAction_E, str]] = ..., closureMoveRequest: _Optional[_Union[ClosureMoveRequest, _Mapping]] = ..., WhitelistOperation: _Optional[_Union[WhitelistOperation, _Mapping]] = ...) -> None: ... class ClosureStatuses(_message.Message): - __slots__ = ('frontDriverDoor', 'frontPassengerDoor', 'rearDriverDoor', 'rearPassengerDoor', 'rearTrunk', 'frontTrunk', 'chargePort', 'tonneau') + __slots__ = ("frontDriverDoor", "frontPassengerDoor", "rearDriverDoor", "rearPassengerDoor", "rearTrunk", "frontTrunk", "chargePort", "tonneau") FRONTDRIVERDOOR_FIELD_NUMBER: _ClassVar[int] FRONTPASSENGERDOOR_FIELD_NUMBER: _ClassVar[int] REARDRIVERDOOR_FIELD_NUMBER: _ClassVar[int] @@ -488,20 +457,16 @@ class ClosureStatuses(_message.Message): frontTrunk: ClosureState_E chargePort: ClosureState_E tonneau: ClosureState_E - - def __init__(self, frontDriverDoor: _Optional[_Union[ClosureState_E, str]]=..., frontPassengerDoor: _Optional[_Union[ClosureState_E, str]]=..., rearDriverDoor: _Optional[_Union[ClosureState_E, str]]=..., rearPassengerDoor: _Optional[_Union[ClosureState_E, str]]=..., rearTrunk: _Optional[_Union[ClosureState_E, str]]=..., frontTrunk: _Optional[_Union[ClosureState_E, str]]=..., chargePort: _Optional[_Union[ClosureState_E, str]]=..., tonneau: _Optional[_Union[ClosureState_E, str]]=...) -> None: - ... + def __init__(self, frontDriverDoor: _Optional[_Union[ClosureState_E, str]] = ..., frontPassengerDoor: _Optional[_Union[ClosureState_E, str]] = ..., rearDriverDoor: _Optional[_Union[ClosureState_E, str]] = ..., rearPassengerDoor: _Optional[_Union[ClosureState_E, str]] = ..., rearTrunk: _Optional[_Union[ClosureState_E, str]] = ..., frontTrunk: _Optional[_Union[ClosureState_E, str]] = ..., chargePort: _Optional[_Union[ClosureState_E, str]] = ..., tonneau: _Optional[_Union[ClosureState_E, str]] = ...) -> None: ... class DetailedClosureStatus(_message.Message): - __slots__ = ('tonneauPercentOpen',) + __slots__ = ("tonneauPercentOpen",) TONNEAUPERCENTOPEN_FIELD_NUMBER: _ClassVar[int] tonneauPercentOpen: int - - def __init__(self, tonneauPercentOpen: _Optional[int]=...) -> None: - ... + def __init__(self, tonneauPercentOpen: _Optional[int] = ...) -> None: ... class VehicleStatus(_message.Message): - __slots__ = ('closureStatuses', 'vehicleLockState', 'vehicleSleepStatus', 'userPresence', 'detailedClosureStatus') + __slots__ = ("closureStatuses", "vehicleLockState", "vehicleSleepStatus", "userPresence", "detailedClosureStatus") CLOSURESTATUSES_FIELD_NUMBER: _ClassVar[int] VEHICLELOCKSTATE_FIELD_NUMBER: _ClassVar[int] VEHICLESLEEPSTATUS_FIELD_NUMBER: _ClassVar[int] @@ -512,12 +477,10 @@ class VehicleStatus(_message.Message): vehicleSleepStatus: VehicleSleepStatus_E userPresence: UserPresence_E detailedClosureStatus: DetailedClosureStatus - - def __init__(self, closureStatuses: _Optional[_Union[ClosureStatuses, _Mapping]]=..., vehicleLockState: _Optional[_Union[VehicleLockState_E, str]]=..., vehicleSleepStatus: _Optional[_Union[VehicleSleepStatus_E, str]]=..., userPresence: _Optional[_Union[UserPresence_E, str]]=..., detailedClosureStatus: _Optional[_Union[DetailedClosureStatus, _Mapping]]=...) -> None: - ... + def __init__(self, closureStatuses: _Optional[_Union[ClosureStatuses, _Mapping]] = ..., vehicleLockState: _Optional[_Union[VehicleLockState_E, str]] = ..., vehicleSleepStatus: _Optional[_Union[VehicleSleepStatus_E, str]] = ..., userPresence: _Optional[_Union[UserPresence_E, str]] = ..., detailedClosureStatus: _Optional[_Union[DetailedClosureStatus, _Mapping]] = ...) -> None: ... class FromVCSECMessage(_message.Message): - __slots__ = ('vehicleStatus', 'commandStatus', 'whitelistInfo', 'whitelistEntryInfo', 'nominalError') + __slots__ = ("vehicleStatus", "commandStatus", "whitelistInfo", "whitelistEntryInfo", "nominalError") VEHICLESTATUS_FIELD_NUMBER: _ClassVar[int] COMMANDSTATUS_FIELD_NUMBER: _ClassVar[int] WHITELISTINFO_FIELD_NUMBER: _ClassVar[int] @@ -528,6 +491,4 @@ class FromVCSECMessage(_message.Message): whitelistInfo: WhitelistInfo whitelistEntryInfo: WhitelistEntryInfo nominalError: _errors_pb2.NominalError - - def __init__(self, vehicleStatus: _Optional[_Union[VehicleStatus, _Mapping]]=..., commandStatus: _Optional[_Union[CommandStatus, _Mapping]]=..., whitelistInfo: _Optional[_Union[WhitelistInfo, _Mapping]]=..., whitelistEntryInfo: _Optional[_Union[WhitelistEntryInfo, _Mapping]]=..., nominalError: _Optional[_Union[_errors_pb2.NominalError, _Mapping]]=...) -> None: - ... \ No newline at end of file + def __init__(self, vehicleStatus: _Optional[_Union[VehicleStatus, _Mapping]] = ..., commandStatus: _Optional[_Union[CommandStatus, _Mapping]] = ..., whitelistInfo: _Optional[_Union[WhitelistInfo, _Mapping]] = ..., whitelistEntryInfo: _Optional[_Union[WhitelistEntryInfo, _Mapping]] = ..., nominalError: _Optional[_Union[_errors_pb2.NominalError, _Mapping]] = ...) -> None: ... diff --git a/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.py b/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.py index 2e4961e..caebf41 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.py +++ b/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.py @@ -1,127 +1,147 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla/vehicle.proto +# Protobuf Python Version: 6.33.4 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion(_runtime_version.Domain.PUBLIC, 6, 31, 1, '', 'vehicle.proto') +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 4, + '', + 'tesla/vehicle.proto' +) +# @@protoc_insertion_point(imports) + _sym_db = _symbol_database.Default() + + from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from . import vcsec_pb2 as vcsec__pb2 -from . import common_pb2 as common__pb2 -from . import managed_charging_pb2 as managed__charging__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rvehicle.proto\x12\tCarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x0bvcsec.proto\x1a\x0ccommon.proto\x1a\x16managed_charging.proto"\xad\x05\n\x0bVehicleData\x12,\n\x0ccharge_state\x18\x03 \x01(\x0b2\x16.CarServer.ChargeState\x12.\n\rclimate_state\x18\x04 \x01(\x0b2\x17.CarServer.ClimateState\x12*\n\x0bdrive_state\x18\x05 \x01(\x0b2\x15.CarServer.DriveState\x120\n\x0elocation_state\x18\x08 \x01(\x0b2\x18.CarServer.LocationState\x120\n\x0eclosures_state\x18\t \x01(\x0b2\x18.CarServer.ClosuresState\x12=\n\x15charge_schedule_state\x18\x0f \x01(\x0b2\x1e.CarServer.ChargeScheduleState\x12O\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b2\'.CarServer.PreconditioningScheduleState\x129\n\x13tire_pressure_state\x18\x13 \x01(\x0b2\x1c.CarServer.TirePressureState\x12*\n\x0bmedia_state\x18\x14 \x01(\x0b2\x15.CarServer.MediaState\x127\n\x12media_detail_state\x18\x15 \x01(\x0b2\x1b.CarServer.MediaDetailState\x12=\n\x15software_update_state\x18\x17 \x01(\x0b2\x1e.CarServer.SoftwareUpdateState\x12A\n\x17parental_controls_state\x18\x18 \x01(\x0b2 .CarServer.ParentalControlsState"\x8f\x13\n\rClosuresState\x12 \n\x16door_open_driver_front\x18e \x01(\x08H\x00\x12\x1f\n\x15door_open_driver_rear\x18f \x01(\x08H\x01\x12#\n\x19door_open_passenger_front\x18g \x01(\x08H\x02\x12"\n\x18door_open_passenger_rear\x18h \x01(\x08H\x03\x12\x1f\n\x15door_open_trunk_front\x18i \x01(\x08H\x04\x12\x1e\n\x14door_open_trunk_rear\x18j \x01(\x08H\x05\x12"\n\x18window_open_driver_front\x18k \x01(\x08H\x06\x12%\n\x1bwindow_open_passenger_front\x18l \x01(\x08H\x07\x12!\n\x17window_open_driver_rear\x18m \x01(\x08H\x08\x12$\n\x1awindow_open_passenger_rear\x18n \x01(\x08H\t\x12=\n\x0esun_roof_state\x18\x0b \x01(\x0b2%.CarServer.ClosuresState.SunRoofState\x12\x1f\n\x15sun_roof_percent_open\x18p \x01(\x05H\n\x12\x10\n\x06locked\x18q \x01(\x08H\x0b\x12\x19\n\x0fis_user_present\x18r \x01(\x08H\x0c\x12C\n\x14center_display_state\x18\x0f \x01(\x0b2%.CarServer.ClosuresState.DisplayState\x12\x16\n\x0cremote_start\x18t \x01(\x08H\r\x12\x14\n\nvalet_mode\x18u \x01(\x08H\x0e\x12\x1a\n\x10valet_pin_needed\x18v \x01(\x08H\x0f\x12C\n\x11sentry_mode_state\x18\x13 \x01(\x0b2(.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x123\n\x10speed_limit_mode\x18\x16 \x01(\x0b2\x19.CarServer.SpeedLimitMode\x12.\n\rtonneau_state\x18\x17 \x01(\x0e2\x15.VCSEC.ClosureState_EH\x11\x12\x1e\n\x14tonneau_percent_open\x18\x18 \x01(\rH\x12\x12\x1b\n\x11tonneau_in_motion\x18\x19 \x01(\x08H\x13\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\xea\x01\n\x0cSunRoofState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Closed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Open\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Moving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Vent\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xf2\x02\n\x0cDisplayState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dim\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAccessory\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Driving\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Lock\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Sentry\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00\x12(\n\rEntertainment\x18\n \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xe2\x01\n\x0fSentryModeState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Idle\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Armed\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Aware\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Panic\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Quiet\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB!\n\x1foptional_door_open_driver_frontB \n\x1eoptional_door_open_driver_rearB$\n"optional_door_open_passenger_frontB#\n!optional_door_open_passenger_rearB \n\x1eoptional_door_open_trunk_frontB\x1f\n\x1doptional_door_open_trunk_rearB#\n!optional_window_open_driver_frontB&\n$optional_window_open_passenger_frontB"\n optional_window_open_driver_rearB%\n#optional_window_open_passenger_rearB \n\x1eoptional_sun_roof_percent_openB\x11\n\x0foptional_lockedB\x1a\n\x18optional_is_user_presentB\x17\n\x15optional_remote_startB\x15\n\x13optional_valet_modeB\x1b\n\x19optional_valet_pin_neededB \n\x1eoptional_sentry_mode_availableB\x18\n\x16optional_tonneau_stateB\x1f\n\x1doptional_tonneau_percent_openB\x1c\n\x1aoptional_tonneau_in_motion"\xda\x03\n\x13ChargeScheduleState\x123\n\x10charge_schedules\x18\x01 \x03(\x0b2\x19.CarServer.ChargeSchedule\x12;\n\x16charge_schedule_window\x18\x02 \x01(\x0b2\x19.CarServer.ChargeScheduleH\x00\x12\x17\n\rcharge_buffer\x18\x03 \x01(\x05H\x01\x12"\n\x18max_num_charge_schedules\x18\x04 \x01(\rH\x02\x12\x17\n\rnext_schedule\x18\x05 \x01(\x08H\x03\x12&\n\x1cshow_schedule_complete_state\x18\x06 \x01(\x08H\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB!\n\x1foptional_charge_schedule_windowB\x18\n\x16optional_charge_bufferB#\n!optional_max_num_charge_schedulesB\x18\n\x16optional_next_scheduleB\'\n%optional_show_schedule_complete_state"\x8f\x03\n\x1cPreconditioningScheduleState\x12?\n\x16precondition_schedules\x18\x01 \x03(\x0b2\x1f.CarServer.PreconditionSchedule\x12J\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b2\x1f.CarServer.PreconditionScheduleH\x00\x12(\n\x1emax_num_precondition_schedules\x18\x03 \x01(\rH\x01\x12\x17\n\rnext_schedule\x18\x04 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b2\x1a.google.protobuf.TimestampB*\n(optional_preconditioning_schedule_windowB)\n\'optional_max_num_precondition_schedulesB\x18\n\x16optional_next_schedule"\x87\x02\n\x0eSpeedLimitMode\x12\x10\n\x06active\x18g \x01(\x08H\x00\x12\x16\n\x0cpin_code_set\x18h \x01(\x08H\x01\x12\x17\n\rmax_limit_mph\x18j \x01(\x02H\x02\x12\x17\n\rmin_limit_mph\x18k \x01(\x02H\x03\x12\x1b\n\x11current_limit_mph\x18l \x01(\x02H\x04B\x11\n\x0foptional_activeB\x17\n\x15optional_pin_code_setB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mph"\xc5\x04\n\x18ParentalControlsSettings\x12\x1d\n\x13speed_limit_enabled\x18\x01 \x01(\x08H\x00\x12\x17\n\rmax_limit_mph\x18\x02 \x01(\x02H\x01\x12\x17\n\rmin_limit_mph\x18\x03 \x01(\x02H\x02\x12\x1b\n\x11current_limit_mph\x18\x04 \x01(\x02H\x03\x12$\n\x1achill_acceleration_enabled\x18\x05 \x01(\x08H\x04\x12)\n\x1frequire_safety_settings_enabled\x18\x06 \x01(\x08H\x05\x12\x18\n\x0ecurfew_enabled\x18\x07 \x01(\x08H\x06\x12\x1b\n\x11curfew_start_time\x18\x08 \x01(\x05H\x07\x12\x19\n\x0fcurfew_end_time\x18\t \x01(\x05H\x08B\x1e\n\x1coptional_speed_limit_enabledB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mphB%\n#optional_chill_acceleration_enabledB*\n(optional_require_safety_settings_enabledB\x19\n\x17optional_curfew_enabledB\x1c\n\x1aoptional_curfew_start_timeB\x1a\n\x18optional_curfew_end_time"\xa3\x02\n\x15ParentalControlsState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12"\n\x18parental_controls_active\x18\x02 \x01(\x08H\x00\x12#\n\x19parental_controls_pin_set\x18\x03 \x01(\x08H\x01\x12G\n\x1aparental_controls_settings\x18\x04 \x01(\x0b2#.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n"optional_parental_controls_pin_set"\xed\x05\n\x13SoftwareUpdateState\x12C\n\x06status\x18\x01 \x01(\x0b23.CarServer.SoftwareUpdateState.SoftwareUpdateStatus\x12\x1b\n\x11scheduled_time_ms\x18f \x01(\x04H\x00\x12#\n\x19warning_time_remaining_ms\x18g \x01(\x04H\x01\x12\x1f\n\x15expected_duration_sec\x18h \x01(\rH\x02\x12\x17\n\rdownload_perc\x18i \x01(\rH\x03\x12\x16\n\x0cinstall_perc\x18j \x01(\rH\x04\x12\x11\n\x07version\x18k \x01(\tH\x05\x12-\n\ttimestamp\x18l \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\x8d\x02\n\x14SoftwareUpdateStatus\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12%\n\nInstalling\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tScheduled\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12$\n\tAvailable\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12.\n\x13DownloadingWifiWait\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bDownloading\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x1c\n\x1aoptional_scheduled_time_msB$\n"optional_warning_time_remaining_msB \n\x1eoptional_expected_duration_secB\x18\n\x16optional_download_percB\x17\n\x15optional_install_percB\x12\n\x10optional_version"\x84\x07\n\nDriveState\x12*\n\x0bshift_state\x18\x01 \x01(\x0b2\x15.CarServer.ShiftState\x12\x0f\n\x05speed\x18f \x01(\rH\x00\x12\x0f\n\x05power\x18g \x01(\x05H\x01\x12-\n\ttimestamp\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12*\n odometer_in_hundredths_of_a_mile\x18i \x01(\x05H\x02\x12\x15\n\x0bspeed_float\x18j \x01(\x02H\x03\x12"\n\x18active_route_destination\x18\x07 \x01(\tH\x04\x12)\n\x1factive_route_minutes_to_arrival\x18\x08 \x01(\x02H\x05\x12\'\n\x1dactive_route_miles_to_arrival\x18\t \x01(\x02H\x06\x12,\n"active_route_traffic_minutes_delay\x18\n \x01(\x02H\x07\x12(\n\x1eactive_route_energy_at_arrival\x18\x0b \x01(\x02H\x08\x12\x1b\n\x11last_route_update\x18\x0e \x01(\rH\t\x127\n\x13last_traffic_update\x18\x0f \x01(\x0b2\x1a.google.protobuf.Timestamp\x124\n\x18active_route_coordinates\x18\x0c \x01(\x0b2\x12.CarServer.LatLongB\x10\n\x0eoptional_speedB\x10\n\x0eoptional_powerB+\n)optional_odometer_in_hundredths_of_a_mileB\x16\n\x14optional_speed_floatB#\n!optional_active_route_destinationB*\n(optional_active_route_minutes_to_arrivalB(\n&optional_active_route_miles_to_arrivalB-\n+optional_active_route_traffic_minutes_delayB)\n\'optional_active_route_energy_at_arrivalB\x1c\n\x1aoptional_last_route_update"\xfb<\n\x0bChargeState\x12<\n\x0echarging_state\x18\x01 \x01(\x0b2$.CarServer.ChargeState.ChargingState\x12=\n\x11fast_charger_type\x18\x02 \x01(\x0b2".CarServer.ChargeState.ChargerType\x12?\n\x12fast_charger_brand\x18\x03 \x01(\x0b2#.CarServer.ChargeState.ChargerBrand\x12\x1a\n\x10charge_limit_soc\x18h \x01(\x05H\x00\x12\x1e\n\x14charge_limit_soc_std\x18i \x01(\x05H\x01\x12\x1e\n\x14charge_limit_soc_min\x18j \x01(\x05H\x02\x12\x1e\n\x14charge_limit_soc_max\x18k \x01(\x05H\x03\x12"\n\x18max_range_charge_counter\x18m \x01(\x05H\x04\x12\x1e\n\x14fast_charger_present\x18n \x01(\x08H\x05\x12\x17\n\rbattery_range\x18o \x01(\x02H\x06\x12\x1b\n\x11est_battery_range\x18p \x01(\x02H\x07\x12\x1d\n\x13ideal_battery_range\x18q \x01(\x02H\x08\x12\x17\n\rbattery_level\x18r \x01(\x05H\t\x12\x1e\n\x14usable_battery_level\x18s \x01(\x05H\n\x12\x1d\n\x13charge_energy_added\x18t \x01(\x02H\x0b\x12"\n\x18charge_miles_added_rated\x18u \x01(\x02H\x0c\x12"\n\x18charge_miles_added_ideal\x18v \x01(\x02H\r\x12\x19\n\x0fcharger_voltage\x18w \x01(\x05H\x0e\x12\x1f\n\x15charger_pilot_current\x18x \x01(\x05H\x0f\x12 \n\x16charger_actual_current\x18y \x01(\x05H\x10\x12\x17\n\rcharger_power\x18z \x01(\x05H\x11\x12 \n\x16minutes_to_full_charge\x18{ \x01(\x05H\x12\x12"\n\x17minutes_to_charge_limit\x18\x8e\x01 \x01(\x05H\x13\x12\x17\n\rtrip_charging\x18} \x01(\x08H\x14\x12\x19\n\x0fcharge_rate_mph\x18~ \x01(\x05H\x15\x12\x1f\n\x15charge_port_door_open\x18\x7f \x01(\x08H\x16\x12;\n\x11conn_charge_cable\x18\x1c \x01(\x0b2 .CarServer.ChargeState.CableType\x12(\n\x1dscheduled_charging_start_time\x18\x81\x01 \x01(\x04H\x17\x12%\n\x1ascheduled_charging_pending\x18\x82\x01 \x01(\x08H\x18\x12<\n\x18scheduled_departure_time\x18\x1f \x01(\x0b2\x1a.google.protobuf.Timestamp\x12%\n\x1auser_charge_enable_request\x18\x84\x01 \x01(\x08H\x19\x12 \n\x15charge_enable_request\x18\x85\x01 \x01(\x08H\x1a\x12\x19\n\x0echarger_phases\x18\x86\x01 \x01(\x05H\x1b\x12:\n\x11charge_port_latch\x18# \x01(\x0b2\x1f.CarServer.ChargePortLatchState\x12(\n\x1dcharge_port_cold_weather_mode\x18\x88\x01 \x01(\x08H\x1c\x12!\n\x16charge_current_request\x18\x89\x01 \x01(\x05H\x1d\x12%\n\x1acharge_current_request_max\x18\x8a\x01 \x01(\x05H\x1e\x12"\n\x17managed_charging_active\x18\x8b\x01 \x01(\x08H\x1f\x12)\n\x1emanaged_charging_user_canceled\x18\x8c\x01 \x01(\x08H \x12&\n\x1bmanaged_charging_start_time\x18\x8d\x01 \x01(\x04H!\x12-\n\ttimestamp\x18, \x01(\x0b2\x1a.google.protobuf.Timestamp\x12>\n\x15preconditioning_times\x18- \x01(\x0b2\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18. \x01(\x0b2\x1f.CarServer.OffPeakChargingTimes\x12"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH"\x12P\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e2,.CarServer.ChargeState.ScheduledChargingModeH#\x12\x18\n\rcharging_amps\x18\x95\x01 \x01(\x05H$\x120\n%scheduled_charging_start_time_minutes\x18\x96\x01 \x01(\rH%\x12+\n scheduled_departure_time_minutes\x18\x97\x01 \x01(\rH&\x12"\n\x17preconditioning_enabled\x18\x98\x01 \x01(\x08H\'\x12,\n!scheduled_charging_start_time_app\x18\x99\x01 \x01(\x11H(\x12,\n!supercharger_session_trip_planner\x18\x9a\x01 \x01(\x08H)\x12F\n\x11charge_port_color\x18\x9b\x01 \x01(\x0e2(.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15charge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12H\n\x13charge_limit_reason\x18\x9d\x01 \x01(\x0e2(.CarServer.ChargeState.ChargeLimitReasonH,\x12@\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b2\x1f.CarServer.ManagedChargingState\x12!\n\x16charge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12;\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e2".CarServer.ChargeState.OutletStateH.\x12B\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e2%.CarServer.ChargeState.PowerFeedStateH/\x12\x1b\n\x10outlet_soc_limit\x18\xa2\x01 \x01(\x05H0\x12\x1f\n\x14power_feed_soc_limit\x18\xa3\x01 \x01(\x05H1\x12 \n\x15outlet_time_remaining\x18\xa4\x01 \x01(\x03H2\x12$\n\x19power_feed_time_remaining\x18\xa5\x01 \x01(\x03H3\x12%\n\x1apowershare_feature_allowed\x18\xa6\x01 \x01(\x08H4\x12%\n\x1apowershare_feature_enabled\x18\xa7\x01 \x01(\x08H5\x12\x1d\n\x12powershare_request\x18\xa8\x01 \x01(\x08H6\x12A\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e2%.CarServer.ChargeState.PowershareTypeH7\x12E\n\x11powershare_status\x18\xaa\x01 \x01(\x0e2\'.CarServer.ChargeState.PowershareStatusH8\x12N\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e2+.CarServer.ChargeState.PowershareStopReasonH9\x12+\n powershare_instantaneous_load_kw\x18\xac\x01 \x01(\x02H:\x12,\n!powershare_vehicle_energy_left_hr\x18\xad\x01 \x01(\x05H;\x12\x1f\n\x14powershare_soc_limit\x18\xae\x01 \x01(\x05H<\x12\x1d\n\x12one_time_soc_limit\x18\xaf\x01 \x01(\x05H=\x12,\n\rhome_location\x18\xb0\x01 \x01(\x0b2\x12.CarServer.LatLongH>\x12,\n\rwork_location\x18\xb1\x01 \x01(\x0b2\x12.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x1a\xb7\x01\n\tCableType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03IEC\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SAE\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_AC\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05GB_DC\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xdf\x02\n\x0bChargerType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cSupercharger\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Chademo\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02Gb\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fACSingleWireCAN\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Combo\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12*\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Other\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Tesla\x18\t \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1a\xc3\x02\n\rChargingState\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\'\n\x0cDisconnected\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07NoPower\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Starting\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Charging\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12#\n\x08Complete\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12"\n\x07Stopped\x18\x07 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12&\n\x0bCalibrating\x18\x08 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1aX\n\x0cChargerBrand\x12 \n\x05Tesla\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"z\n\x15ScheduledChargingMode\x12\x1c\n\x18ScheduledChargingModeOff\x10\x00\x12 \n\x1cScheduledChargingModeStartAt\x10\x01\x12!\n\x1dScheduledChargingModeDepartBy\x10\x02"\xc2\x02\n\x11ChargePortColor_E\x12\x16\n\x12ChargePortColorOff\x10\x00\x12\x16\n\x12ChargePortColorRed\x10\x01\x12\x18\n\x14ChargePortColorGreen\x10\x02\x12\x17\n\x13ChargePortColorBlue\x10\x03\x12\x18\n\x14ChargePortColorWhite\x10\x04\x12 \n\x1cChargePortColorFlashingGreen\x10\x05\x12 \n\x1cChargePortColorFlashingAmber\x10\x06\x12\x18\n\x14ChargePortColorAmber\x10\x07\x12\x17\n\x13ChargePortColorRave\x10\x08\x12\x18\n\x14ChargePortColorDebug\x10\t\x12\x1f\n\x1bChargePortColorFlashingBlue\x10\n"\xc3\x01\n\x11ChargeLimitReason\x12\x1c\n\x18ChargeLimitReasonUnknown\x10\x00\x12\x19\n\x15ChargeLimitReasonNone\x10\x01\x12\x19\n\x15ChargeLimitReasonEvse\x10\x02\x12 \n\x1cChargeLimitReasonBattTempLow\x10\x03\x12\x1c\n\x18ChargeLimitReasonHighSoc\x10\x04\x12\x1a\n\x16ChargeLimitReasonCabin\x10\x05"S\n\x0bOutletState\x12\x12\n\x0eOutletStateOff\x10\x00\x12\x1a\n\x16OutletStateCabinAndBed\x10\x01\x12\x14\n\x10OutletStateCabin\x10\x02"_\n\x0ePowerFeedState\x12\x15\n\x11PowerFeedStateOff\x10\x00\x12\x1d\n\x19PowerFeedStateCabinAndBed\x10\x01\x12\x17\n\x13PowerFeedStateCabin\x10\x02"\xd0\x01\n\x10PowershareStatus\x12\x1c\n\x18PowershareStatusInactive\x10\x00\x12\x18\n\x14PowershareStatusInit\x10\x01\x12\x1a\n\x16PowershareStatusActive\x10\x02\x12\x1b\n\x17PowershareStatusStopped\x10\x03\x12\x1f\n\x1bPowershareStatusHandshaking\x10\x04\x12*\n&PowershareStatusActiveReconnectingSoon\x10\x05"X\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02"\x81\x02\n\x14PowershareStopReason\x12\x1c\n\x18PowershareStopReasonNone\x10\x00\x12!\n\x1dPowershareStopReasonSOCTooLow\x10\x01\x12\x1d\n\x19PowershareStopReasonRetry\x10\x02\x12\x1d\n\x19PowershareStopReasonFault\x10\x03\x12\x1c\n\x18PowershareStopReasonUser\x10\x04\x12$\n PowershareStopReasonReconnecting\x10\x05\x12&\n"PowershareStopReasonAuthentication\x10\x06B\x1b\n\x19optional_charge_limit_socB\x1f\n\x1doptional_charge_limit_soc_stdB\x1f\n\x1doptional_charge_limit_soc_minB\x1f\n\x1doptional_charge_limit_soc_maxB#\n!optional_max_range_charge_counterB\x1f\n\x1doptional_fast_charger_presentB\x18\n\x16optional_battery_rangeB\x1c\n\x1aoptional_est_battery_rangeB\x1e\n\x1coptional_ideal_battery_rangeB\x18\n\x16optional_battery_levelB\x1f\n\x1doptional_usable_battery_levelB\x1e\n\x1coptional_charge_energy_addedB#\n!optional_charge_miles_added_ratedB#\n!optional_charge_miles_added_idealB\x1a\n\x18optional_charger_voltageB \n\x1eoptional_charger_pilot_currentB!\n\x1foptional_charger_actual_currentB\x18\n\x16optional_charger_powerB!\n\x1foptional_minutes_to_full_chargeB"\n optional_minutes_to_charge_limitB\x18\n\x16optional_trip_chargingB\x1a\n\x18optional_charge_rate_mphB \n\x1eoptional_charge_port_door_openB(\n&optional_scheduled_charging_start_timeB%\n#optional_scheduled_charging_pendingB%\n#optional_user_charge_enable_requestB \n\x1eoptional_charge_enable_requestB\x19\n\x17optional_charger_phasesB(\n&optional_charge_port_cold_weather_modeB!\n\x1foptional_charge_current_requestB%\n#optional_charge_current_request_maxB"\n optional_managed_charging_activeB)\n\'optional_managed_charging_user_canceledB&\n$optional_managed_charging_start_timeB"\n optional_off_peak_hours_end_timeB"\n optional_scheduled_charging_modeB\x18\n\x16optional_charging_ampsB0\n.optional_scheduled_charging_start_time_minutesB+\n)optional_scheduled_departure_time_minutesB"\n optional_preconditioning_enabledB,\n*optional_scheduled_charging_start_time_appB,\n*optional_supercharger_session_trip_plannerB\x1c\n\x1aoptional_charge_port_colorB \n\x1eoptional_charge_rate_mph_floatB\x1e\n\x1coptional_charge_limit_reasonB!\n\x1foptional_charge_cable_unlatchedB\x17\n\x15optional_outlet_stateB\x1b\n\x19optional_power_feed_stateB\x19\n\x17option_outlet_soc_limitB\x1d\n\x1boption_power_feed_soc_limitB\x1e\n\x1coption_outlet_time_remainingB"\n option_power_feed_time_remainingB%\n#optional_powershare_feature_allowedB%\n#optional_powershare_feature_enabledB\x1d\n\x1boptional_powershare_requestB\x1a\n\x18optional_powershare_typeB\x1c\n\x1aoptional_powershare_statusB!\n\x1foptional_powershare_stop_reasonB+\n)optional_powershare_instantaneous_load_kwB,\n*optional_powershare_vehicle_energy_left_hrB\x1f\n\x1doptional_powershare_soc_limitB\x1d\n\x1boptional_one_time_soc_limitB\x18\n\x16optional_home_locationB\x18\n\x16optional_work_locationB#\n!optional_outlet_max_timer_minutesJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,"\xaf\x02\n\x14ManagedChargingState\x12<\n\x15charge_on_solar_state\x18\x01 \x01(\x0b2\x1d.CarServer.ChargeOnSolarState\x12%\n\x1bcharge_on_solar_gateway_din\x18\x02 \x01(\tH\x00\x12!\n\x17tesla_electric_asset_id\x18\x03 \x01(\tH\x01\x12 \n\x16minutes_to_lower_limit\x18\x04 \x01(\x05H\x02B&\n$optional_charge_on_solar_gateway_dinB"\n optional_tesla_electric_asset_idB!\n\x1foptional_minutes_to_lower_limit"\xe7\x04\n\x12ChargeOnSolarState\x12>\n\x0bnot_allowed\x18\x01 \x01(\x0b2\'.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12Q\n\x15no_charge_recommended\x18\x02 \x01(\x0b20.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12V\n\x18charging_on_excess_solar\x18\x03 \x01(\x0b22.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12O\n\x14charging_on_anything\x18\x04 \x01(\x0b2/.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12B\n\ruser_disabled\x18\x06 \x01(\x0b2).CarServer.ChargeOnSolarStateUserDisabledH\x00\x12K\n\x12waiting_for_server\x18\x07 \x01(\x0b2-.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x123\n\x05error\x18\x08 \x01(\x0b2".CarServer.ChargeOnSolarStateErrorH\x00\x12@\n\x0cuser_stopped\x18\t \x01(\x0b2(.CarServer.ChargeOnSolarStateUserStoppedH\x00B\x07\n\x05stateJ\x04\x08\x05\x10\x06"\x1e\n\x1cChargeOnSolarStateNotAllowed"e\n%ChargeOnSolarStateNoChargeRecommended\x12<\n\x06reason\x18\x01 \x01(\x0e2,.ManagedCharging.ChargeOnSolarNoChargeReason")\n\'ChargeOnSolarStateChargingOnExcessSolar"&\n$ChargeOnSolarStateChargingOnAnything" \n\x1eChargeOnSolarStateUserDisabled"$\n"ChargeOnSolarStateWaitingForServer"\x19\n\x17ChargeOnSolarStateError"\x1f\n\x1dChargeOnSolarStateUserStopped"\xaa\t\n\rLocationState\x12\x12\n\x08latitude\x18e \x01(\x02H\x00\x12\x13\n\tlongitude\x18f \x01(\x02H\x01\x12\x11\n\x07heading\x18g \x01(\rH\x02\x12\x13\n\tgps_as_of\x18h \x01(\x04H\x03\x12#\n\x19native_location_supported\x18i \x01(\x08H\x04\x12\x19\n\x0fnative_latitude\x18j \x01(\x02H\x05\x12\x1a\n\x10native_longitude\x18k \x01(\x02H\x06\x12?\n\x0bnative_type\x18\x08 \x01(\x0b2*.CarServer.LocationState.GPSCoordinateType\x12\x1c\n\x12corrected_latitude\x18m \x01(\x02H\x07\x12\x1d\n\x13corrected_longitude\x18n \x01(\x02H\x08\x12-\n\ttimestamp\x18\x0b \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x19\n\x0fhomelink_nearby\x18p \x01(\x08H\t\x12\x17\n\rlocation_name\x18q \x01(\tH\n\x12\x16\n\x0cgeo_latitude\x18r \x01(\x02H\x0b\x12\x17\n\rgeo_longitude\x18s \x01(\x02H\x0c\x12\x15\n\x0bgeo_heading\x18t \x01(\x02H\r\x12\x17\n\rgeo_elevation\x18u \x01(\x02H\x0e\x12\x16\n\x0cgeo_accuracy\x18v \x01(\x02H\x0f\x12\x1d\n\x13estimated_gps_valid\x18w \x01(\x08H\x10\x12#\n\x19estimated_to_raw_distance\x18x \x01(\x02H\x11\x1a[\n\x11GPSCoordinateType\x12\x1e\n\x03GCJ\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03WGS\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04typeB\x13\n\x11optional_latitudeB\x14\n\x12optional_longitudeB\x12\n\x10optional_headingB\x14\n\x12optional_gps_as_ofB$\n"optional_native_location_supportedB\x1a\n\x18optional_native_latitudeB\x1b\n\x19optional_native_longitudeB\x1d\n\x1boptional_corrected_latitudeB\x1e\n\x1coptional_corrected_longitudeB\x1a\n\x18optional_homelink_nearbyB\x18\n\x16optional_location_nameB\x17\n\x15optional_geo_latitudeB\x18\n\x16optional_geo_longitudeB\x16\n\x14optional_geo_headingB\x18\n\x16optional_geo_elevationB\x17\n\x15optional_geo_accuracyB\x1e\n\x1coptional_estimated_gps_validB$\n"optional_estimated_to_raw_distanceJ\x04\x08\x0c\x10\r"j\n\x0cVehicleState\x124\n\tguestMode\x18J \x01(\x0b2!.CarServer.VehicleState.GuestMode\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08"\xeb#\n\x0cClimateState\x12\x1d\n\x13inside_temp_celsius\x18e \x01(\x02H\x00\x12\x1e\n\x14outside_temp_celsius\x18f \x01(\x02H\x01\x12\x1d\n\x13driver_temp_setting\x18g \x01(\x02H\x02\x12 \n\x16passenger_temp_setting\x18h \x01(\x02H\x03\x12\x1d\n\x13left_temp_direction\x18i \x01(\x05H\x04\x12\x1e\n\x14right_temp_direction\x18j \x01(\x05H\x05\x12\x1f\n\x15is_front_defroster_on\x18k \x01(\x08H\x06\x12\x1e\n\x14is_rear_defroster_on\x18l \x01(\x08H\x07\x12\x14\n\nfan_status\x18m \x01(\x05H\x08\x12\x17\n\ris_climate_on\x18n \x01(\x08H\t\x12 \n\x16min_avail_temp_celsius\x18o \x01(\x02H\n\x12 \n\x16max_avail_temp_celsius\x18p \x01(\x02H\x0b\x12\x1a\n\x10seat_heater_left\x18q \x01(\x05H\x0c\x12\x1b\n\x11seat_heater_right\x18r \x01(\x05H\r\x12\x1f\n\x15seat_heater_rear_left\x18s \x01(\x05H\x0e\x12 \n\x16seat_heater_rear_right\x18t \x01(\x05H\x0f\x12!\n\x17seat_heater_rear_center\x18u \x01(\x05H\x10\x12%\n\x1bseat_heater_rear_right_back\x18v \x01(\x05H\x11\x12$\n\x1aseat_heater_rear_left_back\x18w \x01(\x05H\x12\x12%\n\x1bseat_heater_third_row_right\x18x \x01(\x05H\x13\x12$\n\x1aseat_heater_third_row_left\x18y \x01(\x05H\x14\x12\x18\n\x0ebattery_heater\x18z \x01(\x08H\x15\x12!\n\x17battery_heater_no_power\x18{ \x01(\x08H\x16\x12\x1f\n\x15steering_wheel_heater\x18} \x01(\x08H\x17\x12\x1c\n\x12wiper_blade_heater\x18~ \x01(\x08H\x18\x12\x1d\n\x13side_mirror_heaters\x18\x7f \x01(\x08H\x19\x12\x1d\n\x12is_preconditioning\x18\x80\x01 \x01(\x08H\x1a\x12(\n\x1dremote_heater_control_enabled\x18\x81\x01 \x01(\x08H\x1b\x12F\n\x13climate_keeper_mode\x18\x1e \x01(\x0b2).CarServer.ClimateState.ClimateKeeperMode\x12-\n\ttimestamp\x18! \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1c\n\x11bioweapon_mode_on\x18\x86\x01 \x01(\x08H\x1c\x129\n\x0cdefrost_mode\x18# \x01(\x0b2#.CarServer.ClimateState.DefrostMode\x12"\n\x17is_auto_conditioning_on\x18\x88\x01 \x01(\x08H\x1d\x12!\n\x16auto_seat_climate_left\x18\x89\x01 \x01(\x08H\x1e\x12"\n\x17auto_seat_climate_right\x18\x8a\x01 \x01(\x08H\x1f\x12\x1e\n\x13seat_fan_front_left\x18\x8b\x01 \x01(\x05H \x12\x1f\n\x14seat_fan_front_right\x18\x8c\x01 \x01(\x05H!\x12*\n\x1fallow_cabin_overheat_protection\x18\x8d\x01 \x01(\x08H"\x126\n+supports_fan_only_cabin_overheat_protection\x18\x8e\x01 \x01(\x08H#\x12W\n\x19cabin_overheat_protection\x18\x8f\x01 \x01(\x0e21.CarServer.ClimateState.CabinOverheatProtection_EH$\x125\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12P\n\x1acop_activation_temperature\x18\x92\x01 \x01(\x0e2).CarServer.ClimateState.CopActivationTempH&\x12#\n\x18auto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12=\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e2\x17.CarServer.StwHeatLevelH(\x12E\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e2\'.CarServer.ClimateState.HvacAutoRequestH)\x12N\n\x16cop_not_running_reason\x18\x97\x01 \x01(\x0e2+.CarServer.ClimateState.COPNotRunningReasonH*\x1a\xc0\x01\n\x11ClimateKeeperMode\x12"\n\x07Unknown\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Off\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Dog\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12 \n\x05Party\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type\x1ax\n\x0bDefrostMode\x12\x1e\n\x03Off\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12!\n\x06Normal\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Max\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type"E\n\x0fHvacAutoRequest\x12\x15\n\x11HvacAutoRequestOn\x10\x00\x12\x1b\n\x17HvacAutoRequestOverride\x10\x01"~\n\x19CabinOverheatProtection_E\x12\x1e\n\x1aCabinOverheatProtectionOff\x10\x00\x12\x1d\n\x19CabinOverheatProtectionOn\x10\x01\x12"\n\x1eCabinOverheatProtectionFanOnly\x10\x02"t\n\x11SeatHeaterLevel_E\x12\x16\n\x12SeatHeaterLevelOff\x10\x00\x12\x16\n\x12SeatHeaterLevelLow\x10\x01\x12\x16\n\x12SeatHeaterLevelMed\x10\x02\x12\x17\n\x13SeatHeaterLevelHigh\x10\x03"y\n\x12SeatCoolingLevel_E\x12\x17\n\x13SeatCoolingLevelOff\x10\x00\x12\x17\n\x13SeatCoolingLevelLow\x10\x01\x12\x17\n\x13SeatCoolingLevelMed\x10\x02\x12\x18\n\x14SeatCoolingLevelHigh\x10\x03"\x87\x01\n\x11CopActivationTemp\x12 \n\x1cCopActivationTempUnspecified\x10\x00\x12\x18\n\x14CopActivationTempLow\x10\x01\x12\x1b\n\x17CopActivationTempMedium\x10\x02\x12\x19\n\x15CopActivationTempHigh\x10\x03"\x9e\x02\n\x13COPNotRunningReason\x12\x1f\n\x1bCOPNotRunningReasonNoReason\x10\x00\x12&\n"COPNotRunningReasonUserInteraction\x10\x01\x12/\n+COPNotRunningReasonEnergyConsumptionReached\x10\x02\x12\x1e\n\x1aCOPNotRunningReasonTimeout\x10\x03\x12#\n\x1fCOPNotRunningReasonLowSolarLoad\x10\x04\x12\x1c\n\x18COPNotRunningReasonFault\x10\x05\x12*\n&COPNotRunningReasonCabinBelowThreshold\x10\x06B\x1e\n\x1coptional_inside_temp_celsiusB\x1f\n\x1doptional_outside_temp_celsiusB\x1e\n\x1coptional_driver_temp_settingB!\n\x1foptional_passenger_temp_settingB\x1e\n\x1coptional_left_temp_directionB\x1f\n\x1doptional_right_temp_directionB \n\x1eoptional_is_front_defroster_onB\x1f\n\x1doptional_is_rear_defroster_onB\x15\n\x13optional_fan_statusB\x18\n\x16optional_is_climate_onB!\n\x1foptional_min_avail_temp_celsiusB!\n\x1foptional_max_avail_temp_celsiusB\x1b\n\x19optional_seat_heater_leftB\x1c\n\x1aoptional_seat_heater_rightB \n\x1eoptional_seat_heater_rear_leftB!\n\x1foptional_seat_heater_rear_rightB"\n optional_seat_heater_rear_centerB&\n$optional_seat_heater_rear_right_backB%\n#optional_seat_heater_rear_left_backB&\n$optional_seat_heater_third_row_rightB%\n#optional_seat_heater_third_row_leftB\x19\n\x17optional_battery_heaterB"\n optional_battery_heater_no_powerB \n\x1eoptional_steering_wheel_heaterB\x1d\n\x1boptional_wiper_blade_heaterB\x1e\n\x1coptional_side_mirror_heatersB\x1d\n\x1boptional_is_preconditioningB(\n&optional_remote_heater_control_enabledB\x1c\n\x1aoptional_bioweapon_mode_onB"\n optional_is_auto_conditioning_onB!\n\x1foptional_auto_seat_climate_leftB"\n optional_auto_seat_climate_rightB\x1e\n\x1coptional_seat_fan_front_leftB\x1f\n\x1doptional_seat_fan_front_rightB*\n(optional_allow_cabin_overheat_protectionB6\n4optional_supports_fan_only_cabin_overheat_protectionB$\n"optional_cabin_overheat_protectionB5\n3optional_cabin_overheat_protection_actively_coolingB%\n#optional_cop_activation_temperatureB#\n!optional_auto_steering_wheel_heatB$\n"optional_steering_wheel_heat_levelB\x1c\n\x1aoptional_hvac_auto_requestB!\n\x1foptional_cop_not_running_reasonJ\x06\x08\x91\x01\x10\x92\x01"\xc2\t\n\x11TirePressureState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1a\n\x10tpms_pressure_fl\x18\x02 \x01(\x02H\x00\x12\x1a\n\x10tpms_pressure_fr\x18\x03 \x01(\x02H\x01\x12\x1a\n\x10tpms_pressure_rl\x18\x04 \x01(\x02H\x02\x12\x1a\n\x10tpms_pressure_rr\x18\x05 \x01(\x02H\x03\x12C\n\x1ftpms_last_seen_pressure_time_fl\x18\x06 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_fr\x18\x07 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rl\x18\x08 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12C\n\x1ftpms_last_seen_pressure_time_rr\x18\t \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14tpms_hard_warning_fl\x18\n \x01(\x08H\x04\x12\x1e\n\x14tpms_hard_warning_fr\x18\x0b \x01(\x08H\x05\x12\x1e\n\x14tpms_hard_warning_rl\x18\x0c \x01(\x08H\x06\x12\x1e\n\x14tpms_hard_warning_rr\x18\r \x01(\x08H\x07\x12\x1e\n\x14tpms_soft_warning_fl\x18\x0e \x01(\x08H\x08\x12\x1e\n\x14tpms_soft_warning_fr\x18\x0f \x01(\x08H\t\x12\x1e\n\x14tpms_soft_warning_rl\x18\x10 \x01(\x08H\n\x12\x1e\n\x14tpms_soft_warning_rr\x18\x11 \x01(\x08H\x0b\x12\x1e\n\x14tpms_rcp_front_value\x18\x12 \x01(\x02H\x0c\x12\x1d\n\x13tpms_rcp_rear_value\x18\x13 \x01(\x02H\rB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_value"\xe3\x04\n\nMediaState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12 \n\x16remote_control_enabled\x18\x02 \x01(\x08H\x00\x12\x1c\n\x12now_playing_artist\x18\x03 \x01(\tH\x01\x12\x1b\n\x11now_playing_title\x18\x04 \x01(\tH\x02\x12\x16\n\x0caudio_volume\x18\x05 \x01(\x02H\x03\x12 \n\x16audio_volume_increment\x18\x06 \x01(\x02H\x04\x12\x1a\n\x10audio_volume_max\x18\x07 \x01(\x02H\x05\x128\n\x12now_playing_source\x18\x08 \x01(\x0e2\x1a.CarServer.MediaSourceTypeH\x06\x12?\n\x15media_playback_status\x18\t \x01(\x0e2\x1e.CarServer.MediaPlaybackStatusH\x07B!\n\x1foptional_remote_control_enabledB\x1d\n\x1boptional_now_playing_artistB\x1c\n\x1aoptional_now_playing_titleB\x17\n\x15optional_audio_volumeB!\n\x1foptional_audio_volume_incrementB\x1b\n\x19optional_audio_volume_maxB\x1d\n\x1boptional_now_playing_sourceB \n\x1eoptional_media_playback_status"\xbf\x03\n\x10MediaDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x1e\n\x14now_playing_duration\x18\x02 \x01(\x05H\x00\x12\x1d\n\x13now_playing_elapsed\x18\x03 \x01(\x05H\x01\x12#\n\x19now_playing_source_string\x18\x04 \x01(\tH\x02\x12\x1b\n\x11now_playing_album\x18\x05 \x01(\tH\x03\x12\x1d\n\x13now_playing_station\x18\x06 \x01(\tH\x04\x12\x1a\n\x10a2dp_source_name\x18\x07 \x01(\tH\x05B\x1f\n\x1doptional_now_playing_durationB\x1e\n\x1coptional_now_playing_elapsedB$\n"optional_now_playing_source_stringB\x1c\n\x1aoptional_now_playing_albumB\x1e\n\x1coptional_now_playing_stationB\x1b\n\x19optional_a2dp_source_name"\xd0\x01\n\nShiftState\x12"\n\x07Invalid\x18\x01 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01P\x18\x02 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01R\x18\x03 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01N\x18\x04 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1c\n\x01D\x18\x05 \x01(\x0b2\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x06 \x01(\x0b2\x0f.CarServer.VoidH\x00B\x06\n\x04type*\xcc\x07\n\x0fMediaSourceType\x12\x18\n\x14MediaSourceType_None\x10\x00\x12\x16\n\x12MediaSourceType_AM\x10\x01\x12\x16\n\x12MediaSourceType_FM\x10\x02\x12\x16\n\x12MediaSourceType_XM\x10\x03\x12\x1b\n\x17MediaSourceType_Slacker\x10\x05\x12\x1e\n\x1aMediaSourceType_LocalFiles\x10\x06\x12\x18\n\x14MediaSourceType_iPod\x10\x07\x12\x1d\n\x19MediaSourceType_Bluetooth\x10\x08\x12\x19\n\x15MediaSourceType_AuxIn\x10\t\x12\x17\n\x13MediaSourceType_DAB\x10\n\x12\x18\n\x14MediaSourceType_Rdio\x10\x0b\x12\x1b\n\x17MediaSourceType_Spotify\x10\x0c\x12\x1b\n\x17MediaSourceType_USRadio\x10\r\x12\x1b\n\x17MediaSourceType_EURadio\x10\x0e\x12\x1d\n\x19MediaSourceType_MediaFile\x10\x10\x12\x1a\n\x16MediaSourceType_TuneIn\x10\x11\x12\x1c\n\x18MediaSourceType_Stingray\x10\x12\x12\x1c\n\x18MediaSourceType_SiriusXM\x10\x13\x12\x19\n\x15MediaSourceType_Tidal\x10\x14\x12\x1b\n\x17MediaSourceType_QQMusic\x10\x15\x12\x1c\n\x18MediaSourceType_QQMusic2\x10\x16\x12\x1c\n\x18MediaSourceType_Ximalaya\x10\x17\x12\x1f\n\x1bMediaSourceType_OnlineRadio\x10\x18\x12 \n\x1cMediaSourceType_OnlineRadio2\x10\x19\x12 \n\x1cMediaSourceType_NetEaseMusic\x10\x1a\x12\x1b\n\x17MediaSourceType_Browser\x10\x1c\x12\x1b\n\x17MediaSourceType_Theater\x10\x1d\x12\x18\n\x14MediaSourceType_Game\x10\x1e\x12\x1c\n\x18MediaSourceType_Tutorial\x10\x1f\x12\x1a\n\x16MediaSourceType_Toybox\x10 \x12$\n MediaSourceType_RecentsFavorites\x10!\x12\x1c\n\x18MediaSourceType_HomeApps\x10"\x12\x1a\n\x16MediaSourceType_Search\x10#Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') +from . import vcsec_pb2 as tesla_dot_vcsec__pb2 +from . import common_pb2 as tesla_dot_common__pb2 +from . import managed_charging_pb2 as tesla_dot_managed__charging__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13tesla/vehicle.proto\x12\tCarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11tesla/vcsec.proto\x1a\x12tesla/common.proto\x1a\x1ctesla/managed_charging.proto\"\xad\x05\n\x0bVehicleData\x12,\n\x0c\x63harge_state\x18\x03 \x01(\x0b\x32\x16.CarServer.ChargeState\x12.\n\rclimate_state\x18\x04 \x01(\x0b\x32\x17.CarServer.ClimateState\x12*\n\x0b\x64rive_state\x18\x05 \x01(\x0b\x32\x15.CarServer.DriveState\x12\x30\n\x0elocation_state\x18\x08 \x01(\x0b\x32\x18.CarServer.LocationState\x12\x30\n\x0e\x63losures_state\x18\t \x01(\x0b\x32\x18.CarServer.ClosuresState\x12=\n\x15\x63harge_schedule_state\x18\x0f \x01(\x0b\x32\x1e.CarServer.ChargeScheduleState\x12O\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b\x32\'.CarServer.PreconditioningScheduleState\x12\x39\n\x13tire_pressure_state\x18\x13 \x01(\x0b\x32\x1c.CarServer.TirePressureState\x12*\n\x0bmedia_state\x18\x14 \x01(\x0b\x32\x15.CarServer.MediaState\x12\x37\n\x12media_detail_state\x18\x15 \x01(\x0b\x32\x1b.CarServer.MediaDetailState\x12=\n\x15software_update_state\x18\x17 \x01(\x0b\x32\x1e.CarServer.SoftwareUpdateState\x12\x41\n\x17parental_controls_state\x18\x18 \x01(\x0b\x32 .CarServer.ParentalControlsState\"\x8f\x13\n\rClosuresState\x12 \n\x16\x64oor_open_driver_front\x18\x65 \x01(\x08H\x00\x12\x1f\n\x15\x64oor_open_driver_rear\x18\x66 \x01(\x08H\x01\x12#\n\x19\x64oor_open_passenger_front\x18g \x01(\x08H\x02\x12\"\n\x18\x64oor_open_passenger_rear\x18h \x01(\x08H\x03\x12\x1f\n\x15\x64oor_open_trunk_front\x18i \x01(\x08H\x04\x12\x1e\n\x14\x64oor_open_trunk_rear\x18j \x01(\x08H\x05\x12\"\n\x18window_open_driver_front\x18k \x01(\x08H\x06\x12%\n\x1bwindow_open_passenger_front\x18l \x01(\x08H\x07\x12!\n\x17window_open_driver_rear\x18m \x01(\x08H\x08\x12$\n\x1awindow_open_passenger_rear\x18n \x01(\x08H\t\x12=\n\x0esun_roof_state\x18\x0b \x01(\x0b\x32%.CarServer.ClosuresState.SunRoofState\x12\x1f\n\x15sun_roof_percent_open\x18p \x01(\x05H\n\x12\x10\n\x06locked\x18q \x01(\x08H\x0b\x12\x19\n\x0fis_user_present\x18r \x01(\x08H\x0c\x12\x43\n\x14\x63\x65nter_display_state\x18\x0f \x01(\x0b\x32%.CarServer.ClosuresState.DisplayState\x12\x16\n\x0cremote_start\x18t \x01(\x08H\r\x12\x14\n\nvalet_mode\x18u \x01(\x08H\x0e\x12\x1a\n\x10valet_pin_needed\x18v \x01(\x08H\x0f\x12\x43\n\x11sentry_mode_state\x18\x13 \x01(\x0b\x32(.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x12\x33\n\x10speed_limit_mode\x18\x16 \x01(\x0b\x32\x19.CarServer.SpeedLimitMode\x12.\n\rtonneau_state\x18\x17 \x01(\x0e\x32\x15.VCSEC.ClosureState_EH\x11\x12\x1e\n\x14tonneau_percent_open\x18\x18 \x01(\rH\x12\x12\x1b\n\x11tonneau_in_motion\x18\x19 \x01(\x08H\x13\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xea\x01\n\x0cSunRoofState\x12\"\n\x07Unknown\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12&\n\x0b\x43\x61librating\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12!\n\x06\x43losed\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Open\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12!\n\x06Moving\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Vent\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xf2\x02\n\x0c\x44isplayState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03\x44im\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12$\n\tAccessory\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\"\n\x07\x44riving\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08\x43harging\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Lock\x18\x07 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12!\n\x06Sentry\x18\x08 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03\x44og\x18\t \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12(\n\rEntertainment\x18\n \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xe2\x01\n\x0fSentryModeState\x12\x1e\n\x03Off\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1f\n\x04Idle\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05\x41rmed\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05\x41ware\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05Panic\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05Quiet\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04typeB!\n\x1foptional_door_open_driver_frontB \n\x1eoptional_door_open_driver_rearB$\n\"optional_door_open_passenger_frontB#\n!optional_door_open_passenger_rearB \n\x1eoptional_door_open_trunk_frontB\x1f\n\x1doptional_door_open_trunk_rearB#\n!optional_window_open_driver_frontB&\n$optional_window_open_passenger_frontB\"\n optional_window_open_driver_rearB%\n#optional_window_open_passenger_rearB \n\x1eoptional_sun_roof_percent_openB\x11\n\x0foptional_lockedB\x1a\n\x18optional_is_user_presentB\x17\n\x15optional_remote_startB\x15\n\x13optional_valet_modeB\x1b\n\x19optional_valet_pin_neededB \n\x1eoptional_sentry_mode_availableB\x18\n\x16optional_tonneau_stateB\x1f\n\x1doptional_tonneau_percent_openB\x1c\n\x1aoptional_tonneau_in_motion\"\xda\x03\n\x13\x43hargeScheduleState\x12\x33\n\x10\x63harge_schedules\x18\x01 \x03(\x0b\x32\x19.CarServer.ChargeSchedule\x12;\n\x16\x63harge_schedule_window\x18\x02 \x01(\x0b\x32\x19.CarServer.ChargeScheduleH\x00\x12\x17\n\rcharge_buffer\x18\x03 \x01(\x05H\x01\x12\"\n\x18max_num_charge_schedules\x18\x04 \x01(\rH\x02\x12\x17\n\rnext_schedule\x18\x05 \x01(\x08H\x03\x12&\n\x1cshow_schedule_complete_state\x18\x06 \x01(\x08H\x04\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB!\n\x1foptional_charge_schedule_windowB\x18\n\x16optional_charge_bufferB#\n!optional_max_num_charge_schedulesB\x18\n\x16optional_next_scheduleB\'\n%optional_show_schedule_complete_state\"\x8f\x03\n\x1cPreconditioningScheduleState\x12?\n\x16precondition_schedules\x18\x01 \x03(\x0b\x32\x1f.CarServer.PreconditionSchedule\x12J\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b\x32\x1f.CarServer.PreconditionScheduleH\x00\x12(\n\x1emax_num_precondition_schedules\x18\x03 \x01(\rH\x01\x12\x17\n\rnext_schedule\x18\x04 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB*\n(optional_preconditioning_schedule_windowB)\n\'optional_max_num_precondition_schedulesB\x18\n\x16optional_next_schedule\"\x87\x02\n\x0eSpeedLimitMode\x12\x10\n\x06\x61\x63tive\x18g \x01(\x08H\x00\x12\x16\n\x0cpin_code_set\x18h \x01(\x08H\x01\x12\x17\n\rmax_limit_mph\x18j \x01(\x02H\x02\x12\x17\n\rmin_limit_mph\x18k \x01(\x02H\x03\x12\x1b\n\x11\x63urrent_limit_mph\x18l \x01(\x02H\x04\x42\x11\n\x0foptional_activeB\x17\n\x15optional_pin_code_setB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mph\"\xc5\x04\n\x18ParentalControlsSettings\x12\x1d\n\x13speed_limit_enabled\x18\x01 \x01(\x08H\x00\x12\x17\n\rmax_limit_mph\x18\x02 \x01(\x02H\x01\x12\x17\n\rmin_limit_mph\x18\x03 \x01(\x02H\x02\x12\x1b\n\x11\x63urrent_limit_mph\x18\x04 \x01(\x02H\x03\x12$\n\x1a\x63hill_acceleration_enabled\x18\x05 \x01(\x08H\x04\x12)\n\x1frequire_safety_settings_enabled\x18\x06 \x01(\x08H\x05\x12\x18\n\x0e\x63urfew_enabled\x18\x07 \x01(\x08H\x06\x12\x1b\n\x11\x63urfew_start_time\x18\x08 \x01(\x05H\x07\x12\x19\n\x0f\x63urfew_end_time\x18\t \x01(\x05H\x08\x42\x1e\n\x1coptional_speed_limit_enabledB\x18\n\x16optional_max_limit_mphB\x18\n\x16optional_min_limit_mphB\x1c\n\x1aoptional_current_limit_mphB%\n#optional_chill_acceleration_enabledB*\n(optional_require_safety_settings_enabledB\x19\n\x17optional_curfew_enabledB\x1c\n\x1aoptional_curfew_start_timeB\x1a\n\x18optional_curfew_end_time\"\xa3\x02\n\x15ParentalControlsState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x18parental_controls_active\x18\x02 \x01(\x08H\x00\x12#\n\x19parental_controls_pin_set\x18\x03 \x01(\x08H\x01\x12G\n\x1aparental_controls_settings\x18\x04 \x01(\x0b\x32#.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n\"optional_parental_controls_pin_set\"\xed\x05\n\x13SoftwareUpdateState\x12\x43\n\x06status\x18\x01 \x01(\x0b\x32\x33.CarServer.SoftwareUpdateState.SoftwareUpdateStatus\x12\x1b\n\x11scheduled_time_ms\x18\x66 \x01(\x04H\x00\x12#\n\x19warning_time_remaining_ms\x18g \x01(\x04H\x01\x12\x1f\n\x15\x65xpected_duration_sec\x18h \x01(\rH\x02\x12\x17\n\rdownload_perc\x18i \x01(\rH\x03\x12\x16\n\x0cinstall_perc\x18j \x01(\rH\x04\x12\x11\n\x07version\x18k \x01(\tH\x05\x12-\n\ttimestamp\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x8d\x02\n\x14SoftwareUpdateStatus\x12\"\n\x07Unknown\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12%\n\nInstalling\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12$\n\tScheduled\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12$\n\tAvailable\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12.\n\x13\x44ownloadingWifiWait\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12&\n\x0b\x44ownloading\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04typeB\x1c\n\x1aoptional_scheduled_time_msB$\n\"optional_warning_time_remaining_msB \n\x1eoptional_expected_duration_secB\x18\n\x16optional_download_percB\x17\n\x15optional_install_percB\x12\n\x10optional_version\"\x84\x07\n\nDriveState\x12*\n\x0bshift_state\x18\x01 \x01(\x0b\x32\x15.CarServer.ShiftState\x12\x0f\n\x05speed\x18\x66 \x01(\rH\x00\x12\x0f\n\x05power\x18g \x01(\x05H\x01\x12-\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n odometer_in_hundredths_of_a_mile\x18i \x01(\x05H\x02\x12\x15\n\x0bspeed_float\x18j \x01(\x02H\x03\x12\"\n\x18\x61\x63tive_route_destination\x18\x07 \x01(\tH\x04\x12)\n\x1f\x61\x63tive_route_minutes_to_arrival\x18\x08 \x01(\x02H\x05\x12\'\n\x1d\x61\x63tive_route_miles_to_arrival\x18\t \x01(\x02H\x06\x12,\n\"active_route_traffic_minutes_delay\x18\n \x01(\x02H\x07\x12(\n\x1e\x61\x63tive_route_energy_at_arrival\x18\x0b \x01(\x02H\x08\x12\x1b\n\x11last_route_update\x18\x0e \x01(\rH\t\x12\x37\n\x13last_traffic_update\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x18\x61\x63tive_route_coordinates\x18\x0c \x01(\x0b\x32\x12.CarServer.LatLongB\x10\n\x0eoptional_speedB\x10\n\x0eoptional_powerB+\n)optional_odometer_in_hundredths_of_a_mileB\x16\n\x14optional_speed_floatB#\n!optional_active_route_destinationB*\n(optional_active_route_minutes_to_arrivalB(\n&optional_active_route_miles_to_arrivalB-\n+optional_active_route_traffic_minutes_delayB)\n\'optional_active_route_energy_at_arrivalB\x1c\n\x1aoptional_last_route_update\"\xfb<\n\x0b\x43hargeState\x12<\n\x0e\x63harging_state\x18\x01 \x01(\x0b\x32$.CarServer.ChargeState.ChargingState\x12=\n\x11\x66\x61st_charger_type\x18\x02 \x01(\x0b\x32\".CarServer.ChargeState.ChargerType\x12?\n\x12\x66\x61st_charger_brand\x18\x03 \x01(\x0b\x32#.CarServer.ChargeState.ChargerBrand\x12\x1a\n\x10\x63harge_limit_soc\x18h \x01(\x05H\x00\x12\x1e\n\x14\x63harge_limit_soc_std\x18i \x01(\x05H\x01\x12\x1e\n\x14\x63harge_limit_soc_min\x18j \x01(\x05H\x02\x12\x1e\n\x14\x63harge_limit_soc_max\x18k \x01(\x05H\x03\x12\"\n\x18max_range_charge_counter\x18m \x01(\x05H\x04\x12\x1e\n\x14\x66\x61st_charger_present\x18n \x01(\x08H\x05\x12\x17\n\rbattery_range\x18o \x01(\x02H\x06\x12\x1b\n\x11\x65st_battery_range\x18p \x01(\x02H\x07\x12\x1d\n\x13ideal_battery_range\x18q \x01(\x02H\x08\x12\x17\n\rbattery_level\x18r \x01(\x05H\t\x12\x1e\n\x14usable_battery_level\x18s \x01(\x05H\n\x12\x1d\n\x13\x63harge_energy_added\x18t \x01(\x02H\x0b\x12\"\n\x18\x63harge_miles_added_rated\x18u \x01(\x02H\x0c\x12\"\n\x18\x63harge_miles_added_ideal\x18v \x01(\x02H\r\x12\x19\n\x0f\x63harger_voltage\x18w \x01(\x05H\x0e\x12\x1f\n\x15\x63harger_pilot_current\x18x \x01(\x05H\x0f\x12 \n\x16\x63harger_actual_current\x18y \x01(\x05H\x10\x12\x17\n\rcharger_power\x18z \x01(\x05H\x11\x12 \n\x16minutes_to_full_charge\x18{ \x01(\x05H\x12\x12\"\n\x17minutes_to_charge_limit\x18\x8e\x01 \x01(\x05H\x13\x12\x17\n\rtrip_charging\x18} \x01(\x08H\x14\x12\x19\n\x0f\x63harge_rate_mph\x18~ \x01(\x05H\x15\x12\x1f\n\x15\x63harge_port_door_open\x18\x7f \x01(\x08H\x16\x12;\n\x11\x63onn_charge_cable\x18\x1c \x01(\x0b\x32 .CarServer.ChargeState.CableType\x12(\n\x1dscheduled_charging_start_time\x18\x81\x01 \x01(\x04H\x17\x12%\n\x1ascheduled_charging_pending\x18\x82\x01 \x01(\x08H\x18\x12<\n\x18scheduled_departure_time\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12%\n\x1auser_charge_enable_request\x18\x84\x01 \x01(\x08H\x19\x12 \n\x15\x63harge_enable_request\x18\x85\x01 \x01(\x08H\x1a\x12\x19\n\x0e\x63harger_phases\x18\x86\x01 \x01(\x05H\x1b\x12:\n\x11\x63harge_port_latch\x18# \x01(\x0b\x32\x1f.CarServer.ChargePortLatchState\x12(\n\x1d\x63harge_port_cold_weather_mode\x18\x88\x01 \x01(\x08H\x1c\x12!\n\x16\x63harge_current_request\x18\x89\x01 \x01(\x05H\x1d\x12%\n\x1a\x63harge_current_request_max\x18\x8a\x01 \x01(\x05H\x1e\x12\"\n\x17managed_charging_active\x18\x8b\x01 \x01(\x08H\x1f\x12)\n\x1emanaged_charging_user_canceled\x18\x8c\x01 \x01(\x08H \x12&\n\x1bmanaged_charging_start_time\x18\x8d\x01 \x01(\x04H!\x12-\n\ttimestamp\x18, \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x15preconditioning_times\x18- \x01(\x0b\x32\x1f.CarServer.PreconditioningTimes\x12@\n\x17off_peak_charging_times\x18. \x01(\x0b\x32\x1f.CarServer.OffPeakChargingTimes\x12\"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH\"\x12P\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e\x32,.CarServer.ChargeState.ScheduledChargingModeH#\x12\x18\n\rcharging_amps\x18\x95\x01 \x01(\x05H$\x12\x30\n%scheduled_charging_start_time_minutes\x18\x96\x01 \x01(\rH%\x12+\n scheduled_departure_time_minutes\x18\x97\x01 \x01(\rH&\x12\"\n\x17preconditioning_enabled\x18\x98\x01 \x01(\x08H\'\x12,\n!scheduled_charging_start_time_app\x18\x99\x01 \x01(\x11H(\x12,\n!supercharger_session_trip_planner\x18\x9a\x01 \x01(\x08H)\x12\x46\n\x11\x63harge_port_color\x18\x9b\x01 \x01(\x0e\x32(.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15\x63harge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12H\n\x13\x63harge_limit_reason\x18\x9d\x01 \x01(\x0e\x32(.CarServer.ChargeState.ChargeLimitReasonH,\x12@\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b\x32\x1f.CarServer.ManagedChargingState\x12!\n\x16\x63harge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12;\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e\x32\".CarServer.ChargeState.OutletStateH.\x12\x42\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e\x32%.CarServer.ChargeState.PowerFeedStateH/\x12\x1b\n\x10outlet_soc_limit\x18\xa2\x01 \x01(\x05H0\x12\x1f\n\x14power_feed_soc_limit\x18\xa3\x01 \x01(\x05H1\x12 \n\x15outlet_time_remaining\x18\xa4\x01 \x01(\x03H2\x12$\n\x19power_feed_time_remaining\x18\xa5\x01 \x01(\x03H3\x12%\n\x1apowershare_feature_allowed\x18\xa6\x01 \x01(\x08H4\x12%\n\x1apowershare_feature_enabled\x18\xa7\x01 \x01(\x08H5\x12\x1d\n\x12powershare_request\x18\xa8\x01 \x01(\x08H6\x12\x41\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e\x32%.CarServer.ChargeState.PowershareTypeH7\x12\x45\n\x11powershare_status\x18\xaa\x01 \x01(\x0e\x32\'.CarServer.ChargeState.PowershareStatusH8\x12N\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e\x32+.CarServer.ChargeState.PowershareStopReasonH9\x12+\n powershare_instantaneous_load_kw\x18\xac\x01 \x01(\x02H:\x12,\n!powershare_vehicle_energy_left_hr\x18\xad\x01 \x01(\x05H;\x12\x1f\n\x14powershare_soc_limit\x18\xae\x01 \x01(\x05H<\x12\x1d\n\x12one_time_soc_limit\x18\xaf\x01 \x01(\x05H=\x12,\n\rhome_location\x18\xb0\x01 \x01(\x0b\x32\x12.CarServer.LatLongH>\x12,\n\rwork_location\x18\xb1\x01 \x01(\x0b\x32\x12.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x1a\xb7\x01\n\tCableType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03IEC\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SAE\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05GB_AC\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05GB_DC\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xdf\x02\n\x0b\x43hargerType\x12\x1e\n\x03SNA\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\'\n\x0cSupercharger\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\"\n\x07\x43hademo\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1d\n\x02Gb\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0f\x41\x43SingleWireCAN\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05\x43ombo\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12*\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05Other\x18\x08 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05Tesla\x18\t \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xc3\x02\n\rChargingState\x12\"\n\x07Unknown\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\'\n\x0c\x44isconnected\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\"\n\x07NoPower\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08Starting\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08\x43harging\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12#\n\x08\x43omplete\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\"\n\x07Stopped\x18\x07 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12&\n\x0b\x43\x61librating\x18\x08 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1aX\n\x0c\x43hargerBrand\x12 \n\x05Tesla\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\"z\n\x15ScheduledChargingMode\x12\x1c\n\x18ScheduledChargingModeOff\x10\x00\x12 \n\x1cScheduledChargingModeStartAt\x10\x01\x12!\n\x1dScheduledChargingModeDepartBy\x10\x02\"\xc2\x02\n\x11\x43hargePortColor_E\x12\x16\n\x12\x43hargePortColorOff\x10\x00\x12\x16\n\x12\x43hargePortColorRed\x10\x01\x12\x18\n\x14\x43hargePortColorGreen\x10\x02\x12\x17\n\x13\x43hargePortColorBlue\x10\x03\x12\x18\n\x14\x43hargePortColorWhite\x10\x04\x12 \n\x1c\x43hargePortColorFlashingGreen\x10\x05\x12 \n\x1c\x43hargePortColorFlashingAmber\x10\x06\x12\x18\n\x14\x43hargePortColorAmber\x10\x07\x12\x17\n\x13\x43hargePortColorRave\x10\x08\x12\x18\n\x14\x43hargePortColorDebug\x10\t\x12\x1f\n\x1b\x43hargePortColorFlashingBlue\x10\n\"\xc3\x01\n\x11\x43hargeLimitReason\x12\x1c\n\x18\x43hargeLimitReasonUnknown\x10\x00\x12\x19\n\x15\x43hargeLimitReasonNone\x10\x01\x12\x19\n\x15\x43hargeLimitReasonEvse\x10\x02\x12 \n\x1c\x43hargeLimitReasonBattTempLow\x10\x03\x12\x1c\n\x18\x43hargeLimitReasonHighSoc\x10\x04\x12\x1a\n\x16\x43hargeLimitReasonCabin\x10\x05\"S\n\x0bOutletState\x12\x12\n\x0eOutletStateOff\x10\x00\x12\x1a\n\x16OutletStateCabinAndBed\x10\x01\x12\x14\n\x10OutletStateCabin\x10\x02\"_\n\x0ePowerFeedState\x12\x15\n\x11PowerFeedStateOff\x10\x00\x12\x1d\n\x19PowerFeedStateCabinAndBed\x10\x01\x12\x17\n\x13PowerFeedStateCabin\x10\x02\"\xd0\x01\n\x10PowershareStatus\x12\x1c\n\x18PowershareStatusInactive\x10\x00\x12\x18\n\x14PowershareStatusInit\x10\x01\x12\x1a\n\x16PowershareStatusActive\x10\x02\x12\x1b\n\x17PowershareStatusStopped\x10\x03\x12\x1f\n\x1bPowershareStatusHandshaking\x10\x04\x12*\n&PowershareStatusActiveReconnectingSoon\x10\x05\"X\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02\"\x81\x02\n\x14PowershareStopReason\x12\x1c\n\x18PowershareStopReasonNone\x10\x00\x12!\n\x1dPowershareStopReasonSOCTooLow\x10\x01\x12\x1d\n\x19PowershareStopReasonRetry\x10\x02\x12\x1d\n\x19PowershareStopReasonFault\x10\x03\x12\x1c\n\x18PowershareStopReasonUser\x10\x04\x12$\n PowershareStopReasonReconnecting\x10\x05\x12&\n\"PowershareStopReasonAuthentication\x10\x06\x42\x1b\n\x19optional_charge_limit_socB\x1f\n\x1doptional_charge_limit_soc_stdB\x1f\n\x1doptional_charge_limit_soc_minB\x1f\n\x1doptional_charge_limit_soc_maxB#\n!optional_max_range_charge_counterB\x1f\n\x1doptional_fast_charger_presentB\x18\n\x16optional_battery_rangeB\x1c\n\x1aoptional_est_battery_rangeB\x1e\n\x1coptional_ideal_battery_rangeB\x18\n\x16optional_battery_levelB\x1f\n\x1doptional_usable_battery_levelB\x1e\n\x1coptional_charge_energy_addedB#\n!optional_charge_miles_added_ratedB#\n!optional_charge_miles_added_idealB\x1a\n\x18optional_charger_voltageB \n\x1eoptional_charger_pilot_currentB!\n\x1foptional_charger_actual_currentB\x18\n\x16optional_charger_powerB!\n\x1foptional_minutes_to_full_chargeB\"\n optional_minutes_to_charge_limitB\x18\n\x16optional_trip_chargingB\x1a\n\x18optional_charge_rate_mphB \n\x1eoptional_charge_port_door_openB(\n&optional_scheduled_charging_start_timeB%\n#optional_scheduled_charging_pendingB%\n#optional_user_charge_enable_requestB \n\x1eoptional_charge_enable_requestB\x19\n\x17optional_charger_phasesB(\n&optional_charge_port_cold_weather_modeB!\n\x1foptional_charge_current_requestB%\n#optional_charge_current_request_maxB\"\n optional_managed_charging_activeB)\n\'optional_managed_charging_user_canceledB&\n$optional_managed_charging_start_timeB\"\n optional_off_peak_hours_end_timeB\"\n optional_scheduled_charging_modeB\x18\n\x16optional_charging_ampsB0\n.optional_scheduled_charging_start_time_minutesB+\n)optional_scheduled_departure_time_minutesB\"\n optional_preconditioning_enabledB,\n*optional_scheduled_charging_start_time_appB,\n*optional_supercharger_session_trip_plannerB\x1c\n\x1aoptional_charge_port_colorB \n\x1eoptional_charge_rate_mph_floatB\x1e\n\x1coptional_charge_limit_reasonB!\n\x1foptional_charge_cable_unlatchedB\x17\n\x15optional_outlet_stateB\x1b\n\x19optional_power_feed_stateB\x19\n\x17option_outlet_soc_limitB\x1d\n\x1boption_power_feed_soc_limitB\x1e\n\x1coption_outlet_time_remainingB\"\n option_power_feed_time_remainingB%\n#optional_powershare_feature_allowedB%\n#optional_powershare_feature_enabledB\x1d\n\x1boptional_powershare_requestB\x1a\n\x18optional_powershare_typeB\x1c\n\x1aoptional_powershare_statusB!\n\x1foptional_powershare_stop_reasonB+\n)optional_powershare_instantaneous_load_kwB,\n*optional_powershare_vehicle_energy_left_hrB\x1f\n\x1doptional_powershare_soc_limitB\x1d\n\x1boptional_one_time_soc_limitB\x18\n\x16optional_home_locationB\x18\n\x16optional_work_locationB#\n!optional_outlet_max_timer_minutesJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,\"\xaf\x02\n\x14ManagedChargingState\x12<\n\x15\x63harge_on_solar_state\x18\x01 \x01(\x0b\x32\x1d.CarServer.ChargeOnSolarState\x12%\n\x1b\x63harge_on_solar_gateway_din\x18\x02 \x01(\tH\x00\x12!\n\x17tesla_electric_asset_id\x18\x03 \x01(\tH\x01\x12 \n\x16minutes_to_lower_limit\x18\x04 \x01(\x05H\x02\x42&\n$optional_charge_on_solar_gateway_dinB\"\n optional_tesla_electric_asset_idB!\n\x1foptional_minutes_to_lower_limit\"\xe7\x04\n\x12\x43hargeOnSolarState\x12>\n\x0bnot_allowed\x18\x01 \x01(\x0b\x32\'.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12Q\n\x15no_charge_recommended\x18\x02 \x01(\x0b\x32\x30.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12V\n\x18\x63harging_on_excess_solar\x18\x03 \x01(\x0b\x32\x32.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12O\n\x14\x63harging_on_anything\x18\x04 \x01(\x0b\x32/.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12\x42\n\ruser_disabled\x18\x06 \x01(\x0b\x32).CarServer.ChargeOnSolarStateUserDisabledH\x00\x12K\n\x12waiting_for_server\x18\x07 \x01(\x0b\x32-.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x12\x33\n\x05\x65rror\x18\x08 \x01(\x0b\x32\".CarServer.ChargeOnSolarStateErrorH\x00\x12@\n\x0cuser_stopped\x18\t \x01(\x0b\x32(.CarServer.ChargeOnSolarStateUserStoppedH\x00\x42\x07\n\x05stateJ\x04\x08\x05\x10\x06\"\x1e\n\x1c\x43hargeOnSolarStateNotAllowed\"e\n%ChargeOnSolarStateNoChargeRecommended\x12<\n\x06reason\x18\x01 \x01(\x0e\x32,.ManagedCharging.ChargeOnSolarNoChargeReason\")\n\'ChargeOnSolarStateChargingOnExcessSolar\"&\n$ChargeOnSolarStateChargingOnAnything\" \n\x1e\x43hargeOnSolarStateUserDisabled\"$\n\"ChargeOnSolarStateWaitingForServer\"\x19\n\x17\x43hargeOnSolarStateError\"\x1f\n\x1d\x43hargeOnSolarStateUserStopped\"\xaa\t\n\rLocationState\x12\x12\n\x08latitude\x18\x65 \x01(\x02H\x00\x12\x13\n\tlongitude\x18\x66 \x01(\x02H\x01\x12\x11\n\x07heading\x18g \x01(\rH\x02\x12\x13\n\tgps_as_of\x18h \x01(\x04H\x03\x12#\n\x19native_location_supported\x18i \x01(\x08H\x04\x12\x19\n\x0fnative_latitude\x18j \x01(\x02H\x05\x12\x1a\n\x10native_longitude\x18k \x01(\x02H\x06\x12?\n\x0bnative_type\x18\x08 \x01(\x0b\x32*.CarServer.LocationState.GPSCoordinateType\x12\x1c\n\x12\x63orrected_latitude\x18m \x01(\x02H\x07\x12\x1d\n\x13\x63orrected_longitude\x18n \x01(\x02H\x08\x12-\n\ttimestamp\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x0fhomelink_nearby\x18p \x01(\x08H\t\x12\x17\n\rlocation_name\x18q \x01(\tH\n\x12\x16\n\x0cgeo_latitude\x18r \x01(\x02H\x0b\x12\x17\n\rgeo_longitude\x18s \x01(\x02H\x0c\x12\x15\n\x0bgeo_heading\x18t \x01(\x02H\r\x12\x17\n\rgeo_elevation\x18u \x01(\x02H\x0e\x12\x16\n\x0cgeo_accuracy\x18v \x01(\x02H\x0f\x12\x1d\n\x13\x65stimated_gps_valid\x18w \x01(\x08H\x10\x12#\n\x19\x65stimated_to_raw_distance\x18x \x01(\x02H\x11\x1a[\n\x11GPSCoordinateType\x12\x1e\n\x03GCJ\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03WGS\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04typeB\x13\n\x11optional_latitudeB\x14\n\x12optional_longitudeB\x12\n\x10optional_headingB\x14\n\x12optional_gps_as_ofB$\n\"optional_native_location_supportedB\x1a\n\x18optional_native_latitudeB\x1b\n\x19optional_native_longitudeB\x1d\n\x1boptional_corrected_latitudeB\x1e\n\x1coptional_corrected_longitudeB\x1a\n\x18optional_homelink_nearbyB\x18\n\x16optional_location_nameB\x17\n\x15optional_geo_latitudeB\x18\n\x16optional_geo_longitudeB\x16\n\x14optional_geo_headingB\x18\n\x16optional_geo_elevationB\x17\n\x15optional_geo_accuracyB\x1e\n\x1coptional_estimated_gps_validB$\n\"optional_estimated_to_raw_distanceJ\x04\x08\x0c\x10\r\"j\n\x0cVehicleState\x12\x34\n\tguestMode\x18J \x01(\x0b\x32!.CarServer.VehicleState.GuestMode\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08\"\xeb#\n\x0c\x43limateState\x12\x1d\n\x13inside_temp_celsius\x18\x65 \x01(\x02H\x00\x12\x1e\n\x14outside_temp_celsius\x18\x66 \x01(\x02H\x01\x12\x1d\n\x13\x64river_temp_setting\x18g \x01(\x02H\x02\x12 \n\x16passenger_temp_setting\x18h \x01(\x02H\x03\x12\x1d\n\x13left_temp_direction\x18i \x01(\x05H\x04\x12\x1e\n\x14right_temp_direction\x18j \x01(\x05H\x05\x12\x1f\n\x15is_front_defroster_on\x18k \x01(\x08H\x06\x12\x1e\n\x14is_rear_defroster_on\x18l \x01(\x08H\x07\x12\x14\n\nfan_status\x18m \x01(\x05H\x08\x12\x17\n\ris_climate_on\x18n \x01(\x08H\t\x12 \n\x16min_avail_temp_celsius\x18o \x01(\x02H\n\x12 \n\x16max_avail_temp_celsius\x18p \x01(\x02H\x0b\x12\x1a\n\x10seat_heater_left\x18q \x01(\x05H\x0c\x12\x1b\n\x11seat_heater_right\x18r \x01(\x05H\r\x12\x1f\n\x15seat_heater_rear_left\x18s \x01(\x05H\x0e\x12 \n\x16seat_heater_rear_right\x18t \x01(\x05H\x0f\x12!\n\x17seat_heater_rear_center\x18u \x01(\x05H\x10\x12%\n\x1bseat_heater_rear_right_back\x18v \x01(\x05H\x11\x12$\n\x1aseat_heater_rear_left_back\x18w \x01(\x05H\x12\x12%\n\x1bseat_heater_third_row_right\x18x \x01(\x05H\x13\x12$\n\x1aseat_heater_third_row_left\x18y \x01(\x05H\x14\x12\x18\n\x0e\x62\x61ttery_heater\x18z \x01(\x08H\x15\x12!\n\x17\x62\x61ttery_heater_no_power\x18{ \x01(\x08H\x16\x12\x1f\n\x15steering_wheel_heater\x18} \x01(\x08H\x17\x12\x1c\n\x12wiper_blade_heater\x18~ \x01(\x08H\x18\x12\x1d\n\x13side_mirror_heaters\x18\x7f \x01(\x08H\x19\x12\x1d\n\x12is_preconditioning\x18\x80\x01 \x01(\x08H\x1a\x12(\n\x1dremote_heater_control_enabled\x18\x81\x01 \x01(\x08H\x1b\x12\x46\n\x13\x63limate_keeper_mode\x18\x1e \x01(\x0b\x32).CarServer.ClimateState.ClimateKeeperMode\x12-\n\ttimestamp\x18! \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x11\x62ioweapon_mode_on\x18\x86\x01 \x01(\x08H\x1c\x12\x39\n\x0c\x64\x65\x66rost_mode\x18# \x01(\x0b\x32#.CarServer.ClimateState.DefrostMode\x12\"\n\x17is_auto_conditioning_on\x18\x88\x01 \x01(\x08H\x1d\x12!\n\x16\x61uto_seat_climate_left\x18\x89\x01 \x01(\x08H\x1e\x12\"\n\x17\x61uto_seat_climate_right\x18\x8a\x01 \x01(\x08H\x1f\x12\x1e\n\x13seat_fan_front_left\x18\x8b\x01 \x01(\x05H \x12\x1f\n\x14seat_fan_front_right\x18\x8c\x01 \x01(\x05H!\x12*\n\x1f\x61llow_cabin_overheat_protection\x18\x8d\x01 \x01(\x08H\"\x12\x36\n+supports_fan_only_cabin_overheat_protection\x18\x8e\x01 \x01(\x08H#\x12W\n\x19\x63\x61\x62in_overheat_protection\x18\x8f\x01 \x01(\x0e\x32\x31.CarServer.ClimateState.CabinOverheatProtection_EH$\x12\x35\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12P\n\x1a\x63op_activation_temperature\x18\x92\x01 \x01(\x0e\x32).CarServer.ClimateState.CopActivationTempH&\x12#\n\x18\x61uto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12=\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e\x32\x17.CarServer.StwHeatLevelH(\x12\x45\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e\x32\'.CarServer.ClimateState.HvacAutoRequestH)\x12N\n\x16\x63op_not_running_reason\x18\x97\x01 \x01(\x0e\x32+.CarServer.ClimateState.COPNotRunningReasonH*\x1a\xc0\x01\n\x11\x43limateKeeperMode\x12\"\n\x07Unknown\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Off\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1d\n\x02On\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03\x44og\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12 \n\x05Party\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\x1ax\n\x0b\x44\x65\x66rostMode\x12\x1e\n\x03Off\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12!\n\x06Normal\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03Max\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type\"E\n\x0fHvacAutoRequest\x12\x15\n\x11HvacAutoRequestOn\x10\x00\x12\x1b\n\x17HvacAutoRequestOverride\x10\x01\"~\n\x19\x43\x61\x62inOverheatProtection_E\x12\x1e\n\x1a\x43\x61\x62inOverheatProtectionOff\x10\x00\x12\x1d\n\x19\x43\x61\x62inOverheatProtectionOn\x10\x01\x12\"\n\x1e\x43\x61\x62inOverheatProtectionFanOnly\x10\x02\"t\n\x11SeatHeaterLevel_E\x12\x16\n\x12SeatHeaterLevelOff\x10\x00\x12\x16\n\x12SeatHeaterLevelLow\x10\x01\x12\x16\n\x12SeatHeaterLevelMed\x10\x02\x12\x17\n\x13SeatHeaterLevelHigh\x10\x03\"y\n\x12SeatCoolingLevel_E\x12\x17\n\x13SeatCoolingLevelOff\x10\x00\x12\x17\n\x13SeatCoolingLevelLow\x10\x01\x12\x17\n\x13SeatCoolingLevelMed\x10\x02\x12\x18\n\x14SeatCoolingLevelHigh\x10\x03\"\x87\x01\n\x11\x43opActivationTemp\x12 \n\x1c\x43opActivationTempUnspecified\x10\x00\x12\x18\n\x14\x43opActivationTempLow\x10\x01\x12\x1b\n\x17\x43opActivationTempMedium\x10\x02\x12\x19\n\x15\x43opActivationTempHigh\x10\x03\"\x9e\x02\n\x13\x43OPNotRunningReason\x12\x1f\n\x1b\x43OPNotRunningReasonNoReason\x10\x00\x12&\n\"COPNotRunningReasonUserInteraction\x10\x01\x12/\n+COPNotRunningReasonEnergyConsumptionReached\x10\x02\x12\x1e\n\x1a\x43OPNotRunningReasonTimeout\x10\x03\x12#\n\x1f\x43OPNotRunningReasonLowSolarLoad\x10\x04\x12\x1c\n\x18\x43OPNotRunningReasonFault\x10\x05\x12*\n&COPNotRunningReasonCabinBelowThreshold\x10\x06\x42\x1e\n\x1coptional_inside_temp_celsiusB\x1f\n\x1doptional_outside_temp_celsiusB\x1e\n\x1coptional_driver_temp_settingB!\n\x1foptional_passenger_temp_settingB\x1e\n\x1coptional_left_temp_directionB\x1f\n\x1doptional_right_temp_directionB \n\x1eoptional_is_front_defroster_onB\x1f\n\x1doptional_is_rear_defroster_onB\x15\n\x13optional_fan_statusB\x18\n\x16optional_is_climate_onB!\n\x1foptional_min_avail_temp_celsiusB!\n\x1foptional_max_avail_temp_celsiusB\x1b\n\x19optional_seat_heater_leftB\x1c\n\x1aoptional_seat_heater_rightB \n\x1eoptional_seat_heater_rear_leftB!\n\x1foptional_seat_heater_rear_rightB\"\n optional_seat_heater_rear_centerB&\n$optional_seat_heater_rear_right_backB%\n#optional_seat_heater_rear_left_backB&\n$optional_seat_heater_third_row_rightB%\n#optional_seat_heater_third_row_leftB\x19\n\x17optional_battery_heaterB\"\n optional_battery_heater_no_powerB \n\x1eoptional_steering_wheel_heaterB\x1d\n\x1boptional_wiper_blade_heaterB\x1e\n\x1coptional_side_mirror_heatersB\x1d\n\x1boptional_is_preconditioningB(\n&optional_remote_heater_control_enabledB\x1c\n\x1aoptional_bioweapon_mode_onB\"\n optional_is_auto_conditioning_onB!\n\x1foptional_auto_seat_climate_leftB\"\n optional_auto_seat_climate_rightB\x1e\n\x1coptional_seat_fan_front_leftB\x1f\n\x1doptional_seat_fan_front_rightB*\n(optional_allow_cabin_overheat_protectionB6\n4optional_supports_fan_only_cabin_overheat_protectionB$\n\"optional_cabin_overheat_protectionB5\n3optional_cabin_overheat_protection_actively_coolingB%\n#optional_cop_activation_temperatureB#\n!optional_auto_steering_wheel_heatB$\n\"optional_steering_wheel_heat_levelB\x1c\n\x1aoptional_hvac_auto_requestB!\n\x1foptional_cop_not_running_reasonJ\x06\x08\x91\x01\x10\x92\x01\"\xc2\t\n\x11TirePressureState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x10tpms_pressure_fl\x18\x02 \x01(\x02H\x00\x12\x1a\n\x10tpms_pressure_fr\x18\x03 \x01(\x02H\x01\x12\x1a\n\x10tpms_pressure_rl\x18\x04 \x01(\x02H\x02\x12\x1a\n\x10tpms_pressure_rr\x18\x05 \x01(\x02H\x03\x12\x43\n\x1ftpms_last_seen_pressure_time_fl\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_fr\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rl\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rr\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x14tpms_hard_warning_fl\x18\n \x01(\x08H\x04\x12\x1e\n\x14tpms_hard_warning_fr\x18\x0b \x01(\x08H\x05\x12\x1e\n\x14tpms_hard_warning_rl\x18\x0c \x01(\x08H\x06\x12\x1e\n\x14tpms_hard_warning_rr\x18\r \x01(\x08H\x07\x12\x1e\n\x14tpms_soft_warning_fl\x18\x0e \x01(\x08H\x08\x12\x1e\n\x14tpms_soft_warning_fr\x18\x0f \x01(\x08H\t\x12\x1e\n\x14tpms_soft_warning_rl\x18\x10 \x01(\x08H\n\x12\x1e\n\x14tpms_soft_warning_rr\x18\x11 \x01(\x08H\x0b\x12\x1e\n\x14tpms_rcp_front_value\x18\x12 \x01(\x02H\x0c\x12\x1d\n\x13tpms_rcp_rear_value\x18\x13 \x01(\x02H\rB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x1f\n\x1doptional_tpms_hard_warning_flB\x1f\n\x1doptional_tpms_hard_warning_frB\x1f\n\x1doptional_tpms_hard_warning_rlB\x1f\n\x1doptional_tpms_hard_warning_rrB\x1f\n\x1doptional_tpms_soft_warning_flB\x1f\n\x1doptional_tpms_soft_warning_frB\x1f\n\x1doptional_tpms_soft_warning_rlB\x1f\n\x1doptional_tpms_soft_warning_rrB\x1f\n\x1doptional_tpms_rcp_front_valueB\x1e\n\x1coptional_tpms_rcp_rear_value\"\xe3\x04\n\nMediaState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x16remote_control_enabled\x18\x02 \x01(\x08H\x00\x12\x1c\n\x12now_playing_artist\x18\x03 \x01(\tH\x01\x12\x1b\n\x11now_playing_title\x18\x04 \x01(\tH\x02\x12\x16\n\x0c\x61udio_volume\x18\x05 \x01(\x02H\x03\x12 \n\x16\x61udio_volume_increment\x18\x06 \x01(\x02H\x04\x12\x1a\n\x10\x61udio_volume_max\x18\x07 \x01(\x02H\x05\x12\x38\n\x12now_playing_source\x18\x08 \x01(\x0e\x32\x1a.CarServer.MediaSourceTypeH\x06\x12?\n\x15media_playback_status\x18\t \x01(\x0e\x32\x1e.CarServer.MediaPlaybackStatusH\x07\x42!\n\x1foptional_remote_control_enabledB\x1d\n\x1boptional_now_playing_artistB\x1c\n\x1aoptional_now_playing_titleB\x17\n\x15optional_audio_volumeB!\n\x1foptional_audio_volume_incrementB\x1b\n\x19optional_audio_volume_maxB\x1d\n\x1boptional_now_playing_sourceB \n\x1eoptional_media_playback_status\"\xbf\x03\n\x10MediaDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1e\n\x14now_playing_duration\x18\x02 \x01(\x05H\x00\x12\x1d\n\x13now_playing_elapsed\x18\x03 \x01(\x05H\x01\x12#\n\x19now_playing_source_string\x18\x04 \x01(\tH\x02\x12\x1b\n\x11now_playing_album\x18\x05 \x01(\tH\x03\x12\x1d\n\x13now_playing_station\x18\x06 \x01(\tH\x04\x12\x1a\n\x10\x61\x32\x64p_source_name\x18\x07 \x01(\tH\x05\x42\x1f\n\x1doptional_now_playing_durationB\x1e\n\x1coptional_now_playing_elapsedB$\n\"optional_now_playing_source_stringB\x1c\n\x1aoptional_now_playing_albumB\x1e\n\x1coptional_now_playing_stationB\x1b\n\x19optional_a2dp_source_name\"\xd0\x01\n\nShiftState\x12\"\n\x07Invalid\x18\x01 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1c\n\x01P\x18\x02 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1c\n\x01R\x18\x03 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1c\n\x01N\x18\x04 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1c\n\x01\x44\x18\x05 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x12\x1e\n\x03SNA\x18\x06 \x01(\x0b\x32\x0f.CarServer.VoidH\x00\x42\x06\n\x04type*\xcc\x07\n\x0fMediaSourceType\x12\x18\n\x14MediaSourceType_None\x10\x00\x12\x16\n\x12MediaSourceType_AM\x10\x01\x12\x16\n\x12MediaSourceType_FM\x10\x02\x12\x16\n\x12MediaSourceType_XM\x10\x03\x12\x1b\n\x17MediaSourceType_Slacker\x10\x05\x12\x1e\n\x1aMediaSourceType_LocalFiles\x10\x06\x12\x18\n\x14MediaSourceType_iPod\x10\x07\x12\x1d\n\x19MediaSourceType_Bluetooth\x10\x08\x12\x19\n\x15MediaSourceType_AuxIn\x10\t\x12\x17\n\x13MediaSourceType_DAB\x10\n\x12\x18\n\x14MediaSourceType_Rdio\x10\x0b\x12\x1b\n\x17MediaSourceType_Spotify\x10\x0c\x12\x1b\n\x17MediaSourceType_USRadio\x10\r\x12\x1b\n\x17MediaSourceType_EURadio\x10\x0e\x12\x1d\n\x19MediaSourceType_MediaFile\x10\x10\x12\x1a\n\x16MediaSourceType_TuneIn\x10\x11\x12\x1c\n\x18MediaSourceType_Stingray\x10\x12\x12\x1c\n\x18MediaSourceType_SiriusXM\x10\x13\x12\x19\n\x15MediaSourceType_Tidal\x10\x14\x12\x1b\n\x17MediaSourceType_QQMusic\x10\x15\x12\x1c\n\x18MediaSourceType_QQMusic2\x10\x16\x12\x1c\n\x18MediaSourceType_Ximalaya\x10\x17\x12\x1f\n\x1bMediaSourceType_OnlineRadio\x10\x18\x12 \n\x1cMediaSourceType_OnlineRadio2\x10\x19\x12 \n\x1cMediaSourceType_NetEaseMusic\x10\x1a\x12\x1b\n\x17MediaSourceType_Browser\x10\x1c\x12\x1b\n\x17MediaSourceType_Theater\x10\x1d\x12\x18\n\x14MediaSourceType_Game\x10\x1e\x12\x1c\n\x18MediaSourceType_Tutorial\x10\x1f\x12\x1a\n\x16MediaSourceType_Toybox\x10 \x12$\n MediaSourceType_RecentsFavorites\x10!\x12\x1c\n\x18MediaSourceType_HomeApps\x10\"\x12\x1a\n\x16MediaSourceType_Search\x10#Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') + _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vehicle_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla.vehicle_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' - _globals['_MEDIASOURCETYPE']._serialized_start = 24400 - _globals['_MEDIASOURCETYPE']._serialized_end = 25372 - _globals['_VEHICLEDATA']._serialized_start = 113 - _globals['_VEHICLEDATA']._serialized_end = 798 - _globals['_CLOSURESSTATE']._serialized_start = 801 - _globals['_CLOSURESSTATE']._serialized_end = 3248 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start = 1768 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end = 2002 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start = 2005 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end = 2375 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start = 2378 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end = 2604 - _globals['_CHARGESCHEDULESTATE']._serialized_start = 3251 - _globals['_CHARGESCHEDULESTATE']._serialized_end = 3725 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start = 3728 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end = 4127 - _globals['_SPEEDLIMITMODE']._serialized_start = 4130 - _globals['_SPEEDLIMITMODE']._serialized_end = 4393 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_start = 4396 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_end = 4977 - _globals['_PARENTALCONTROLSSTATE']._serialized_start = 4980 - _globals['_PARENTALCONTROLSSTATE']._serialized_end = 5271 - _globals['_SOFTWAREUPDATESTATE']._serialized_start = 5274 - _globals['_SOFTWAREUPDATESTATE']._serialized_end = 6023 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start = 5581 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end = 5850 - _globals['_DRIVESTATE']._serialized_start = 6026 - _globals['_DRIVESTATE']._serialized_end = 6926 - _globals['_CHARGESTATE']._serialized_start = 6929 - _globals['_CHARGESTATE']._serialized_end = 14732 - _globals['_CHARGESTATE_CABLETYPE']._serialized_start = 10144 - _globals['_CHARGESTATE_CABLETYPE']._serialized_end = 10327 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start = 10330 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end = 10681 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start = 10684 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end = 11007 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start = 11009 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end = 11097 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start = 11099 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end = 11221 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start = 11224 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end = 11546 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start = 11549 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end = 11744 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start = 11746 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end = 11829 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start = 11831 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end = 11926 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start = 11929 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end = 12137 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start = 12139 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end = 12227 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start = 12230 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end = 12487 - _globals['_MANAGEDCHARGINGSTATE']._serialized_start = 14735 - _globals['_MANAGEDCHARGINGSTATE']._serialized_end = 15038 - _globals['_CHARGEONSOLARSTATE']._serialized_start = 15041 - _globals['_CHARGEONSOLARSTATE']._serialized_end = 15656 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start = 15658 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end = 15688 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start = 15690 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end = 15791 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start = 15793 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end = 15834 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start = 15836 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end = 15874 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start = 15876 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end = 15908 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start = 15910 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end = 15946 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_start = 15948 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_end = 15973 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start = 15975 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end = 16006 - _globals['_LOCATIONSTATE']._serialized_start = 16009 - _globals['_LOCATIONSTATE']._serialized_end = 17203 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start = 16613 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end = 16704 - _globals['_VEHICLESTATE']._serialized_start = 17205 - _globals['_VEHICLESTATE']._serialized_end = 17311 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_start = 17275 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_end = 17311 - _globals['_CLIMATESTATE']._serialized_start = 17314 - _globals['_CLIMATESTATE']._serialized_end = 21901 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start = 19200 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end = 19392 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start = 19394 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end = 19514 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start = 19516 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end = 19585 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start = 19587 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end = 19713 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start = 19715 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end = 19831 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start = 19833 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end = 19954 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start = 19957 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end = 20092 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start = 20095 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end = 20381 - _globals['_TIREPRESSURESTATE']._serialized_start = 21904 - _globals['_TIREPRESSURESTATE']._serialized_end = 23122 - _globals['_MEDIASTATE']._serialized_start = 23125 - _globals['_MEDIASTATE']._serialized_end = 23736 - _globals['_MEDIADETAILSTATE']._serialized_start = 23739 - _globals['_MEDIADETAILSTATE']._serialized_end = 24186 - _globals['_SHIFTSTATE']._serialized_start = 24189 - _globals['_SHIFTSTATE']._serialized_end = 24397 \ No newline at end of file + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n%com.tesla.generated.carserver.vehicleB\007VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver' + _globals['_MEDIASOURCETYPE']._serialized_start=24424 + _globals['_MEDIASOURCETYPE']._serialized_end=25396 + _globals['_VEHICLEDATA']._serialized_start=137 + _globals['_VEHICLEDATA']._serialized_end=822 + _globals['_CLOSURESSTATE']._serialized_start=825 + _globals['_CLOSURESSTATE']._serialized_end=3272 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start=1792 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end=2026 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start=2029 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end=2399 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start=2402 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end=2628 + _globals['_CHARGESCHEDULESTATE']._serialized_start=3275 + _globals['_CHARGESCHEDULESTATE']._serialized_end=3749 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start=3752 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end=4151 + _globals['_SPEEDLIMITMODE']._serialized_start=4154 + _globals['_SPEEDLIMITMODE']._serialized_end=4417 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_start=4420 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_end=5001 + _globals['_PARENTALCONTROLSSTATE']._serialized_start=5004 + _globals['_PARENTALCONTROLSSTATE']._serialized_end=5295 + _globals['_SOFTWAREUPDATESTATE']._serialized_start=5298 + _globals['_SOFTWAREUPDATESTATE']._serialized_end=6047 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start=5605 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end=5874 + _globals['_DRIVESTATE']._serialized_start=6050 + _globals['_DRIVESTATE']._serialized_end=6950 + _globals['_CHARGESTATE']._serialized_start=6953 + _globals['_CHARGESTATE']._serialized_end=14756 + _globals['_CHARGESTATE_CABLETYPE']._serialized_start=10168 + _globals['_CHARGESTATE_CABLETYPE']._serialized_end=10351 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start=10354 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end=10705 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start=10708 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end=11031 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start=11033 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end=11121 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start=11123 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end=11245 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start=11248 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end=11570 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start=11573 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end=11768 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start=11770 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end=11853 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start=11855 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end=11950 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start=11953 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end=12161 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start=12163 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end=12251 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start=12254 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end=12511 + _globals['_MANAGEDCHARGINGSTATE']._serialized_start=14759 + _globals['_MANAGEDCHARGINGSTATE']._serialized_end=15062 + _globals['_CHARGEONSOLARSTATE']._serialized_start=15065 + _globals['_CHARGEONSOLARSTATE']._serialized_end=15680 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start=15682 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end=15712 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start=15714 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end=15815 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start=15817 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end=15858 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start=15860 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end=15898 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start=15900 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end=15932 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start=15934 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end=15970 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_start=15972 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_end=15997 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start=15999 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end=16030 + _globals['_LOCATIONSTATE']._serialized_start=16033 + _globals['_LOCATIONSTATE']._serialized_end=17227 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start=16637 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end=16728 + _globals['_VEHICLESTATE']._serialized_start=17229 + _globals['_VEHICLESTATE']._serialized_end=17335 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_start=17299 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_end=17335 + _globals['_CLIMATESTATE']._serialized_start=17338 + _globals['_CLIMATESTATE']._serialized_end=21925 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start=19224 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end=19416 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start=19418 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end=19538 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start=19540 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end=19609 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start=19611 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end=19737 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start=19739 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end=19855 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start=19857 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end=19978 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start=19981 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end=20116 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start=20119 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end=20405 + _globals['_TIREPRESSURESTATE']._serialized_start=21928 + _globals['_TIREPRESSURESTATE']._serialized_end=23146 + _globals['_MEDIASTATE']._serialized_start=23149 + _globals['_MEDIASTATE']._serialized_end=23760 + _globals['_MEDIADETAILSTATE']._serialized_start=23763 + _globals['_MEDIADETAILSTATE']._serialized_end=24210 + _globals['_SHIFTSTATE']._serialized_start=24213 + _globals['_SHIFTSTATE']._serialized_end=24421 +# @@protoc_insertion_point(module_scope) diff --git a/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.pyi b/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.pyi index 458aef1..15c2623 100644 --- a/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.pyi +++ b/tesla_fleet_api/tesla/vehicle/proto/vehicle_pb2.pyi @@ -1,14 +1,16 @@ import datetime + from google.protobuf import timestamp_pb2 as _timestamp_pb2 -import vcsec_pb2 as _vcsec_pb2 -import common_pb2 as _common_pb2 -import managed_charging_pb2 as _managed_charging_pb2 +from . import vcsec_pb2 as _vcsec_pb2 +from . import common_pb2 as _common_pb2 +from . import managed_charging_pb2 as _managed_charging_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from collections.abc import Iterable as _Iterable, Mapping as _Mapping from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union + DESCRIPTOR: _descriptor.FileDescriptor class MediaSourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -81,7 +83,7 @@ MediaSourceType_HomeApps: MediaSourceType MediaSourceType_Search: MediaSourceType class VehicleData(_message.Message): - __slots__ = ('charge_state', 'climate_state', 'drive_state', 'location_state', 'closures_state', 'charge_schedule_state', 'preconditioning_schedule_state', 'tire_pressure_state', 'media_state', 'media_detail_state', 'software_update_state', 'parental_controls_state') + __slots__ = ("charge_state", "climate_state", "drive_state", "location_state", "closures_state", "charge_schedule_state", "preconditioning_schedule_state", "tire_pressure_state", "media_state", "media_detail_state", "software_update_state", "parental_controls_state") CHARGE_STATE_FIELD_NUMBER: _ClassVar[int] CLIMATE_STATE_FIELD_NUMBER: _ClassVar[int] DRIVE_STATE_FIELD_NUMBER: _ClassVar[int] @@ -106,15 +108,12 @@ class VehicleData(_message.Message): media_detail_state: MediaDetailState software_update_state: SoftwareUpdateState parental_controls_state: ParentalControlsState - - def __init__(self, charge_state: _Optional[_Union[ChargeState, _Mapping]]=..., climate_state: _Optional[_Union[ClimateState, _Mapping]]=..., drive_state: _Optional[_Union[DriveState, _Mapping]]=..., location_state: _Optional[_Union[LocationState, _Mapping]]=..., closures_state: _Optional[_Union[ClosuresState, _Mapping]]=..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]]=..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]]=..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]]=..., media_state: _Optional[_Union[MediaState, _Mapping]]=..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]]=..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]]=..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]]=...) -> None: - ... + def __init__(self, charge_state: _Optional[_Union[ChargeState, _Mapping]] = ..., climate_state: _Optional[_Union[ClimateState, _Mapping]] = ..., drive_state: _Optional[_Union[DriveState, _Mapping]] = ..., location_state: _Optional[_Union[LocationState, _Mapping]] = ..., closures_state: _Optional[_Union[ClosuresState, _Mapping]] = ..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]] = ..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]] = ..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]] = ..., media_state: _Optional[_Union[MediaState, _Mapping]] = ..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]] = ..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]] = ..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]] = ...) -> None: ... class ClosuresState(_message.Message): - __slots__ = ('door_open_driver_front', 'door_open_driver_rear', 'door_open_passenger_front', 'door_open_passenger_rear', 'door_open_trunk_front', 'door_open_trunk_rear', 'window_open_driver_front', 'window_open_passenger_front', 'window_open_driver_rear', 'window_open_passenger_rear', 'sun_roof_state', 'sun_roof_percent_open', 'locked', 'is_user_present', 'center_display_state', 'remote_start', 'valet_mode', 'valet_pin_needed', 'sentry_mode_state', 'sentry_mode_available', 'speed_limit_mode', 'tonneau_state', 'tonneau_percent_open', 'tonneau_in_motion', 'timestamp') - + __slots__ = ("door_open_driver_front", "door_open_driver_rear", "door_open_passenger_front", "door_open_passenger_rear", "door_open_trunk_front", "door_open_trunk_rear", "window_open_driver_front", "window_open_passenger_front", "window_open_driver_rear", "window_open_passenger_rear", "sun_roof_state", "sun_roof_percent_open", "locked", "is_user_present", "center_display_state", "remote_start", "valet_mode", "valet_pin_needed", "sentry_mode_state", "sentry_mode_available", "speed_limit_mode", "tonneau_state", "tonneau_percent_open", "tonneau_in_motion", "timestamp") class SunRoofState(_message.Message): - __slots__ = ('Unknown', 'Calibrating', 'Closed', 'Open', 'Moving', 'Vent') + __slots__ = ("Unknown", "Calibrating", "Closed", "Open", "Moving", "Vent") UNKNOWN_FIELD_NUMBER: _ClassVar[int] CALIBRATING_FIELD_NUMBER: _ClassVar[int] CLOSED_FIELD_NUMBER: _ClassVar[int] @@ -127,12 +126,9 @@ class ClosuresState(_message.Message): Open: _common_pb2.Void Moving: _common_pb2.Void Vent: _common_pb2.Void - - def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Calibrating: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Closed: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Open: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Moving: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Vent: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Calibrating: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Closed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Open: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Moving: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Vent: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class DisplayState(_message.Message): - __slots__ = ('Off', 'Dim', 'Accessory', 'On', 'Driving', 'Charging', 'Lock', 'Sentry', 'Dog', 'Entertainment') + __slots__ = ("Off", "Dim", "Accessory", "On", "Driving", "Charging", "Lock", "Sentry", "Dog", "Entertainment") OFF_FIELD_NUMBER: _ClassVar[int] DIM_FIELD_NUMBER: _ClassVar[int] ACCESSORY_FIELD_NUMBER: _ClassVar[int] @@ -153,12 +149,9 @@ class ClosuresState(_message.Message): Sentry: _common_pb2.Void Dog: _common_pb2.Void Entertainment: _common_pb2.Void - - def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Dim: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Accessory: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., On: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Driving: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Charging: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Lock: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Sentry: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Dog: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Entertainment: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Dim: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Accessory: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., On: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Driving: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Charging: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Lock: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Sentry: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Dog: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Entertainment: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class SentryModeState(_message.Message): - __slots__ = ('Off', 'Idle', 'Armed', 'Aware', 'Panic', 'Quiet') + __slots__ = ("Off", "Idle", "Armed", "Aware", "Panic", "Quiet") OFF_FIELD_NUMBER: _ClassVar[int] IDLE_FIELD_NUMBER: _ClassVar[int] ARMED_FIELD_NUMBER: _ClassVar[int] @@ -171,9 +164,7 @@ class ClosuresState(_message.Message): Aware: _common_pb2.Void Panic: _common_pb2.Void Quiet: _common_pb2.Void - - def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Idle: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Armed: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Aware: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Panic: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Quiet: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Idle: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Armed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Aware: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Panic: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Quiet: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... DOOR_OPEN_DRIVER_FRONT_FIELD_NUMBER: _ClassVar[int] DOOR_OPEN_DRIVER_REAR_FIELD_NUMBER: _ClassVar[int] DOOR_OPEN_PASSENGER_FRONT_FIELD_NUMBER: _ClassVar[int] @@ -224,12 +215,10 @@ class ClosuresState(_message.Message): tonneau_percent_open: int tonneau_in_motion: bool timestamp: _timestamp_pb2.Timestamp - - def __init__(self, door_open_driver_front: bool=..., door_open_driver_rear: bool=..., door_open_passenger_front: bool=..., door_open_passenger_rear: bool=..., door_open_trunk_front: bool=..., door_open_trunk_rear: bool=..., window_open_driver_front: bool=..., window_open_passenger_front: bool=..., window_open_driver_rear: bool=..., window_open_passenger_rear: bool=..., sun_roof_state: _Optional[_Union[ClosuresState.SunRoofState, _Mapping]]=..., sun_roof_percent_open: _Optional[int]=..., locked: bool=..., is_user_present: bool=..., center_display_state: _Optional[_Union[ClosuresState.DisplayState, _Mapping]]=..., remote_start: bool=..., valet_mode: bool=..., valet_pin_needed: bool=..., sentry_mode_state: _Optional[_Union[ClosuresState.SentryModeState, _Mapping]]=..., sentry_mode_available: bool=..., speed_limit_mode: _Optional[_Union[SpeedLimitMode, _Mapping]]=..., tonneau_state: _Optional[_Union[_vcsec_pb2.ClosureState_E, str]]=..., tonneau_percent_open: _Optional[int]=..., tonneau_in_motion: bool=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, door_open_driver_front: _Optional[bool] = ..., door_open_driver_rear: _Optional[bool] = ..., door_open_passenger_front: _Optional[bool] = ..., door_open_passenger_rear: _Optional[bool] = ..., door_open_trunk_front: _Optional[bool] = ..., door_open_trunk_rear: _Optional[bool] = ..., window_open_driver_front: _Optional[bool] = ..., window_open_passenger_front: _Optional[bool] = ..., window_open_driver_rear: _Optional[bool] = ..., window_open_passenger_rear: _Optional[bool] = ..., sun_roof_state: _Optional[_Union[ClosuresState.SunRoofState, _Mapping]] = ..., sun_roof_percent_open: _Optional[int] = ..., locked: _Optional[bool] = ..., is_user_present: _Optional[bool] = ..., center_display_state: _Optional[_Union[ClosuresState.DisplayState, _Mapping]] = ..., remote_start: _Optional[bool] = ..., valet_mode: _Optional[bool] = ..., valet_pin_needed: _Optional[bool] = ..., sentry_mode_state: _Optional[_Union[ClosuresState.SentryModeState, _Mapping]] = ..., sentry_mode_available: _Optional[bool] = ..., speed_limit_mode: _Optional[_Union[SpeedLimitMode, _Mapping]] = ..., tonneau_state: _Optional[_Union[_vcsec_pb2.ClosureState_E, str]] = ..., tonneau_percent_open: _Optional[int] = ..., tonneau_in_motion: _Optional[bool] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class ChargeScheduleState(_message.Message): - __slots__ = ('charge_schedules', 'charge_schedule_window', 'charge_buffer', 'max_num_charge_schedules', 'next_schedule', 'show_schedule_complete_state', 'timestamp') + __slots__ = ("charge_schedules", "charge_schedule_window", "charge_buffer", "max_num_charge_schedules", "next_schedule", "show_schedule_complete_state", "timestamp") CHARGE_SCHEDULES_FIELD_NUMBER: _ClassVar[int] CHARGE_SCHEDULE_WINDOW_FIELD_NUMBER: _ClassVar[int] CHARGE_BUFFER_FIELD_NUMBER: _ClassVar[int] @@ -244,12 +233,10 @@ class ChargeScheduleState(_message.Message): next_schedule: bool show_schedule_complete_state: bool timestamp: _timestamp_pb2.Timestamp - - def __init__(self, charge_schedules: _Optional[_Iterable[_Union[_common_pb2.ChargeSchedule, _Mapping]]]=..., charge_schedule_window: _Optional[_Union[_common_pb2.ChargeSchedule, _Mapping]]=..., charge_buffer: _Optional[int]=..., max_num_charge_schedules: _Optional[int]=..., next_schedule: bool=..., show_schedule_complete_state: bool=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, charge_schedules: _Optional[_Iterable[_Union[_common_pb2.ChargeSchedule, _Mapping]]] = ..., charge_schedule_window: _Optional[_Union[_common_pb2.ChargeSchedule, _Mapping]] = ..., charge_buffer: _Optional[int] = ..., max_num_charge_schedules: _Optional[int] = ..., next_schedule: _Optional[bool] = ..., show_schedule_complete_state: _Optional[bool] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class PreconditioningScheduleState(_message.Message): - __slots__ = ('precondition_schedules', 'preconditioning_schedule_window', 'max_num_precondition_schedules', 'next_schedule', 'timestamp') + __slots__ = ("precondition_schedules", "preconditioning_schedule_window", "max_num_precondition_schedules", "next_schedule", "timestamp") PRECONDITION_SCHEDULES_FIELD_NUMBER: _ClassVar[int] PRECONDITIONING_SCHEDULE_WINDOW_FIELD_NUMBER: _ClassVar[int] MAX_NUM_PRECONDITION_SCHEDULES_FIELD_NUMBER: _ClassVar[int] @@ -260,12 +247,10 @@ class PreconditioningScheduleState(_message.Message): max_num_precondition_schedules: int next_schedule: bool timestamp: _timestamp_pb2.Timestamp - - def __init__(self, precondition_schedules: _Optional[_Iterable[_Union[_common_pb2.PreconditionSchedule, _Mapping]]]=..., preconditioning_schedule_window: _Optional[_Union[_common_pb2.PreconditionSchedule, _Mapping]]=..., max_num_precondition_schedules: _Optional[int]=..., next_schedule: bool=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, precondition_schedules: _Optional[_Iterable[_Union[_common_pb2.PreconditionSchedule, _Mapping]]] = ..., preconditioning_schedule_window: _Optional[_Union[_common_pb2.PreconditionSchedule, _Mapping]] = ..., max_num_precondition_schedules: _Optional[int] = ..., next_schedule: _Optional[bool] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SpeedLimitMode(_message.Message): - __slots__ = ('active', 'pin_code_set', 'max_limit_mph', 'min_limit_mph', 'current_limit_mph') + __slots__ = ("active", "pin_code_set", "max_limit_mph", "min_limit_mph", "current_limit_mph") ACTIVE_FIELD_NUMBER: _ClassVar[int] PIN_CODE_SET_FIELD_NUMBER: _ClassVar[int] MAX_LIMIT_MPH_FIELD_NUMBER: _ClassVar[int] @@ -276,12 +261,10 @@ class SpeedLimitMode(_message.Message): max_limit_mph: float min_limit_mph: float current_limit_mph: float - - def __init__(self, active: bool=..., pin_code_set: bool=..., max_limit_mph: _Optional[float]=..., min_limit_mph: _Optional[float]=..., current_limit_mph: _Optional[float]=...) -> None: - ... + def __init__(self, active: _Optional[bool] = ..., pin_code_set: _Optional[bool] = ..., max_limit_mph: _Optional[float] = ..., min_limit_mph: _Optional[float] = ..., current_limit_mph: _Optional[float] = ...) -> None: ... class ParentalControlsSettings(_message.Message): - __slots__ = ('speed_limit_enabled', 'max_limit_mph', 'min_limit_mph', 'current_limit_mph', 'chill_acceleration_enabled', 'require_safety_settings_enabled', 'curfew_enabled', 'curfew_start_time', 'curfew_end_time') + __slots__ = ("speed_limit_enabled", "max_limit_mph", "min_limit_mph", "current_limit_mph", "chill_acceleration_enabled", "require_safety_settings_enabled", "curfew_enabled", "curfew_start_time", "curfew_end_time") SPEED_LIMIT_ENABLED_FIELD_NUMBER: _ClassVar[int] MAX_LIMIT_MPH_FIELD_NUMBER: _ClassVar[int] MIN_LIMIT_MPH_FIELD_NUMBER: _ClassVar[int] @@ -300,12 +283,10 @@ class ParentalControlsSettings(_message.Message): curfew_enabled: bool curfew_start_time: int curfew_end_time: int - - def __init__(self, speed_limit_enabled: bool=..., max_limit_mph: _Optional[float]=..., min_limit_mph: _Optional[float]=..., current_limit_mph: _Optional[float]=..., chill_acceleration_enabled: bool=..., require_safety_settings_enabled: bool=..., curfew_enabled: bool=..., curfew_start_time: _Optional[int]=..., curfew_end_time: _Optional[int]=...) -> None: - ... + def __init__(self, speed_limit_enabled: _Optional[bool] = ..., max_limit_mph: _Optional[float] = ..., min_limit_mph: _Optional[float] = ..., current_limit_mph: _Optional[float] = ..., chill_acceleration_enabled: _Optional[bool] = ..., require_safety_settings_enabled: _Optional[bool] = ..., curfew_enabled: _Optional[bool] = ..., curfew_start_time: _Optional[int] = ..., curfew_end_time: _Optional[int] = ...) -> None: ... class ParentalControlsState(_message.Message): - __slots__ = ('timestamp', 'parental_controls_active', 'parental_controls_pin_set', 'parental_controls_settings') + __slots__ = ("timestamp", "parental_controls_active", "parental_controls_pin_set", "parental_controls_settings") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] PARENTAL_CONTROLS_ACTIVE_FIELD_NUMBER: _ClassVar[int] PARENTAL_CONTROLS_PIN_SET_FIELD_NUMBER: _ClassVar[int] @@ -314,15 +295,12 @@ class ParentalControlsState(_message.Message): parental_controls_active: bool parental_controls_pin_set: bool parental_controls_settings: ParentalControlsSettings - - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., parental_controls_active: bool=..., parental_controls_pin_set: bool=..., parental_controls_settings: _Optional[_Union[ParentalControlsSettings, _Mapping]]=...) -> None: - ... + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., parental_controls_active: _Optional[bool] = ..., parental_controls_pin_set: _Optional[bool] = ..., parental_controls_settings: _Optional[_Union[ParentalControlsSettings, _Mapping]] = ...) -> None: ... class SoftwareUpdateState(_message.Message): - __slots__ = ('status', 'scheduled_time_ms', 'warning_time_remaining_ms', 'expected_duration_sec', 'download_perc', 'install_perc', 'version', 'timestamp') - + __slots__ = ("status", "scheduled_time_ms", "warning_time_remaining_ms", "expected_duration_sec", "download_perc", "install_perc", "version", "timestamp") class SoftwareUpdateStatus(_message.Message): - __slots__ = ('Unknown', 'Installing', 'Scheduled', 'Available', 'DownloadingWifiWait', 'Downloading') + __slots__ = ("Unknown", "Installing", "Scheduled", "Available", "DownloadingWifiWait", "Downloading") UNKNOWN_FIELD_NUMBER: _ClassVar[int] INSTALLING_FIELD_NUMBER: _ClassVar[int] SCHEDULED_FIELD_NUMBER: _ClassVar[int] @@ -335,9 +313,7 @@ class SoftwareUpdateState(_message.Message): Available: _common_pb2.Void DownloadingWifiWait: _common_pb2.Void Downloading: _common_pb2.Void - - def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Installing: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Scheduled: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Available: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., DownloadingWifiWait: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Downloading: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Installing: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Scheduled: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Available: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., DownloadingWifiWait: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Downloading: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... STATUS_FIELD_NUMBER: _ClassVar[int] SCHEDULED_TIME_MS_FIELD_NUMBER: _ClassVar[int] WARNING_TIME_REMAINING_MS_FIELD_NUMBER: _ClassVar[int] @@ -354,12 +330,10 @@ class SoftwareUpdateState(_message.Message): install_perc: int version: str timestamp: _timestamp_pb2.Timestamp - - def __init__(self, status: _Optional[_Union[SoftwareUpdateState.SoftwareUpdateStatus, _Mapping]]=..., scheduled_time_ms: _Optional[int]=..., warning_time_remaining_ms: _Optional[int]=..., expected_duration_sec: _Optional[int]=..., download_perc: _Optional[int]=..., install_perc: _Optional[int]=..., version: _Optional[str]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=...) -> None: - ... + def __init__(self, status: _Optional[_Union[SoftwareUpdateState.SoftwareUpdateStatus, _Mapping]] = ..., scheduled_time_ms: _Optional[int] = ..., warning_time_remaining_ms: _Optional[int] = ..., expected_duration_sec: _Optional[int] = ..., download_perc: _Optional[int] = ..., install_perc: _Optional[int] = ..., version: _Optional[str] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class DriveState(_message.Message): - __slots__ = ('shift_state', 'speed', 'power', 'timestamp', 'odometer_in_hundredths_of_a_mile', 'speed_float', 'active_route_destination', 'active_route_minutes_to_arrival', 'active_route_miles_to_arrival', 'active_route_traffic_minutes_delay', 'active_route_energy_at_arrival', 'last_route_update', 'last_traffic_update', 'active_route_coordinates') + __slots__ = ("shift_state", "speed", "power", "timestamp", "odometer_in_hundredths_of_a_mile", "speed_float", "active_route_destination", "active_route_minutes_to_arrival", "active_route_miles_to_arrival", "active_route_traffic_minutes_delay", "active_route_energy_at_arrival", "last_route_update", "last_traffic_update", "active_route_coordinates") SHIFT_STATE_FIELD_NUMBER: _ClassVar[int] SPEED_FIELD_NUMBER: _ClassVar[int] POWER_FIELD_NUMBER: _ClassVar[int] @@ -388,13 +362,10 @@ class DriveState(_message.Message): last_route_update: int last_traffic_update: _timestamp_pb2.Timestamp active_route_coordinates: _common_pb2.LatLong - - def __init__(self, shift_state: _Optional[_Union[ShiftState, _Mapping]]=..., speed: _Optional[int]=..., power: _Optional[int]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., odometer_in_hundredths_of_a_mile: _Optional[int]=..., speed_float: _Optional[float]=..., active_route_destination: _Optional[str]=..., active_route_minutes_to_arrival: _Optional[float]=..., active_route_miles_to_arrival: _Optional[float]=..., active_route_traffic_minutes_delay: _Optional[float]=..., active_route_energy_at_arrival: _Optional[float]=..., last_route_update: _Optional[int]=..., last_traffic_update: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., active_route_coordinates: _Optional[_Union[_common_pb2.LatLong, _Mapping]]=...) -> None: - ... + def __init__(self, shift_state: _Optional[_Union[ShiftState, _Mapping]] = ..., speed: _Optional[int] = ..., power: _Optional[int] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., odometer_in_hundredths_of_a_mile: _Optional[int] = ..., speed_float: _Optional[float] = ..., active_route_destination: _Optional[str] = ..., active_route_minutes_to_arrival: _Optional[float] = ..., active_route_miles_to_arrival: _Optional[float] = ..., active_route_traffic_minutes_delay: _Optional[float] = ..., active_route_energy_at_arrival: _Optional[float] = ..., last_route_update: _Optional[int] = ..., last_traffic_update: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., active_route_coordinates: _Optional[_Union[_common_pb2.LatLong, _Mapping]] = ...) -> None: ... class ChargeState(_message.Message): - __slots__ = ('charging_state', 'fast_charger_type', 'fast_charger_brand', 'charge_limit_soc', 'charge_limit_soc_std', 'charge_limit_soc_min', 'charge_limit_soc_max', 'max_range_charge_counter', 'fast_charger_present', 'battery_range', 'est_battery_range', 'ideal_battery_range', 'battery_level', 'usable_battery_level', 'charge_energy_added', 'charge_miles_added_rated', 'charge_miles_added_ideal', 'charger_voltage', 'charger_pilot_current', 'charger_actual_current', 'charger_power', 'minutes_to_full_charge', 'minutes_to_charge_limit', 'trip_charging', 'charge_rate_mph', 'charge_port_door_open', 'conn_charge_cable', 'scheduled_charging_start_time', 'scheduled_charging_pending', 'scheduled_departure_time', 'user_charge_enable_request', 'charge_enable_request', 'charger_phases', 'charge_port_latch', 'charge_port_cold_weather_mode', 'charge_current_request', 'charge_current_request_max', 'managed_charging_active', 'managed_charging_user_canceled', 'managed_charging_start_time', 'timestamp', 'preconditioning_times', 'off_peak_charging_times', 'off_peak_hours_end_time', 'scheduled_charging_mode', 'charging_amps', 'scheduled_charging_start_time_minutes', 'scheduled_departure_time_minutes', 'preconditioning_enabled', 'scheduled_charging_start_time_app', 'supercharger_session_trip_planner', 'charge_port_color', 'charge_rate_mph_float', 'charge_limit_reason', 'managed_charging_state', 'charge_cable_unlatched', 'outlet_state', 'power_feed_state', 'outlet_soc_limit', 'power_feed_soc_limit', 'outlet_time_remaining', 'power_feed_time_remaining', 'powershare_feature_allowed', 'powershare_feature_enabled', 'powershare_request', 'powershare_type', 'powershare_status', 'powershare_stop_reason', 'powershare_instantaneous_load_kw', 'powershare_vehicle_energy_left_hr', 'powershare_soc_limit', 'one_time_soc_limit', 'home_location', 'work_location', 'outlet_max_timer_minutes') - + __slots__ = ("charging_state", "fast_charger_type", "fast_charger_brand", "charge_limit_soc", "charge_limit_soc_std", "charge_limit_soc_min", "charge_limit_soc_max", "max_range_charge_counter", "fast_charger_present", "battery_range", "est_battery_range", "ideal_battery_range", "battery_level", "usable_battery_level", "charge_energy_added", "charge_miles_added_rated", "charge_miles_added_ideal", "charger_voltage", "charger_pilot_current", "charger_actual_current", "charger_power", "minutes_to_full_charge", "minutes_to_charge_limit", "trip_charging", "charge_rate_mph", "charge_port_door_open", "conn_charge_cable", "scheduled_charging_start_time", "scheduled_charging_pending", "scheduled_departure_time", "user_charge_enable_request", "charge_enable_request", "charger_phases", "charge_port_latch", "charge_port_cold_weather_mode", "charge_current_request", "charge_current_request_max", "managed_charging_active", "managed_charging_user_canceled", "managed_charging_start_time", "timestamp", "preconditioning_times", "off_peak_charging_times", "off_peak_hours_end_time", "scheduled_charging_mode", "charging_amps", "scheduled_charging_start_time_minutes", "scheduled_departure_time_minutes", "preconditioning_enabled", "scheduled_charging_start_time_app", "supercharger_session_trip_planner", "charge_port_color", "charge_rate_mph_float", "charge_limit_reason", "managed_charging_state", "charge_cable_unlatched", "outlet_state", "power_feed_state", "outlet_soc_limit", "power_feed_soc_limit", "outlet_time_remaining", "power_feed_time_remaining", "powershare_feature_allowed", "powershare_feature_enabled", "powershare_request", "powershare_type", "powershare_status", "powershare_stop_reason", "powershare_instantaneous_load_kw", "powershare_vehicle_energy_left_hr", "powershare_soc_limit", "one_time_soc_limit", "home_location", "work_location", "outlet_max_timer_minutes") class ScheduledChargingMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () ScheduledChargingModeOff: _ClassVar[ChargeState.ScheduledChargingMode] @@ -403,7 +374,6 @@ class ChargeState(_message.Message): ScheduledChargingModeOff: ChargeState.ScheduledChargingMode ScheduledChargingModeStartAt: ChargeState.ScheduledChargingMode ScheduledChargingModeDepartBy: ChargeState.ScheduledChargingMode - class ChargePortColor_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () ChargePortColorOff: _ClassVar[ChargeState.ChargePortColor_E] @@ -428,7 +398,6 @@ class ChargeState(_message.Message): ChargePortColorRave: ChargeState.ChargePortColor_E ChargePortColorDebug: ChargeState.ChargePortColor_E ChargePortColorFlashingBlue: ChargeState.ChargePortColor_E - class ChargeLimitReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () ChargeLimitReasonUnknown: _ClassVar[ChargeState.ChargeLimitReason] @@ -443,7 +412,6 @@ class ChargeState(_message.Message): ChargeLimitReasonBattTempLow: ChargeState.ChargeLimitReason ChargeLimitReasonHighSoc: ChargeState.ChargeLimitReason ChargeLimitReasonCabin: ChargeState.ChargeLimitReason - class OutletState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () OutletStateOff: _ClassVar[ChargeState.OutletState] @@ -452,7 +420,6 @@ class ChargeState(_message.Message): OutletStateOff: ChargeState.OutletState OutletStateCabinAndBed: ChargeState.OutletState OutletStateCabin: ChargeState.OutletState - class PowerFeedState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PowerFeedStateOff: _ClassVar[ChargeState.PowerFeedState] @@ -461,7 +428,6 @@ class ChargeState(_message.Message): PowerFeedStateOff: ChargeState.PowerFeedState PowerFeedStateCabinAndBed: ChargeState.PowerFeedState PowerFeedStateCabin: ChargeState.PowerFeedState - class PowershareStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PowershareStatusInactive: _ClassVar[ChargeState.PowershareStatus] @@ -476,7 +442,6 @@ class ChargeState(_message.Message): PowershareStatusStopped: ChargeState.PowershareStatus PowershareStatusHandshaking: ChargeState.PowershareStatus PowershareStatusActiveReconnectingSoon: ChargeState.PowershareStatus - class PowershareType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PowershareTypeNone: _ClassVar[ChargeState.PowershareType] @@ -485,7 +450,6 @@ class ChargeState(_message.Message): PowershareTypeNone: ChargeState.PowershareType PowershareTypeLoad: ChargeState.PowershareType PowershareTypeHome: ChargeState.PowershareType - class PowershareStopReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () PowershareStopReasonNone: _ClassVar[ChargeState.PowershareStopReason] @@ -502,9 +466,8 @@ class ChargeState(_message.Message): PowershareStopReasonUser: ChargeState.PowershareStopReason PowershareStopReasonReconnecting: ChargeState.PowershareStopReason PowershareStopReasonAuthentication: ChargeState.PowershareStopReason - class CableType(_message.Message): - __slots__ = ('SNA', 'IEC', 'SAE', 'GB_AC', 'GB_DC') + __slots__ = ("SNA", "IEC", "SAE", "GB_AC", "GB_DC") SNA_FIELD_NUMBER: _ClassVar[int] IEC_FIELD_NUMBER: _ClassVar[int] SAE_FIELD_NUMBER: _ClassVar[int] @@ -515,12 +478,9 @@ class ChargeState(_message.Message): SAE: _common_pb2.Void GB_AC: _common_pb2.Void GB_DC: _common_pb2.Void - - def __init__(self, SNA: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., IEC: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SAE: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., GB_AC: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., GB_DC: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, SNA: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., IEC: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SAE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., GB_AC: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., GB_DC: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class ChargerType(_message.Message): - __slots__ = ('SNA', 'Supercharger', 'Chademo', 'Gb', 'ACSingleWireCAN', 'Combo', 'MCSingleWireCAN', 'Other', 'Tesla') + __slots__ = ("SNA", "Supercharger", "Chademo", "Gb", "ACSingleWireCAN", "Combo", "MCSingleWireCAN", "Other", "Tesla") SNA_FIELD_NUMBER: _ClassVar[int] SUPERCHARGER_FIELD_NUMBER: _ClassVar[int] CHADEMO_FIELD_NUMBER: _ClassVar[int] @@ -539,12 +499,9 @@ class ChargeState(_message.Message): MCSingleWireCAN: _common_pb2.Void Other: _common_pb2.Void Tesla: _common_pb2.Void - - def __init__(self, SNA: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Supercharger: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Chademo: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Gb: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., ACSingleWireCAN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Combo: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., MCSingleWireCAN: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Other: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Tesla: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, SNA: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Supercharger: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Chademo: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gb: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ACSingleWireCAN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Combo: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MCSingleWireCAN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Other: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Tesla: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class ChargingState(_message.Message): - __slots__ = ('Unknown', 'Disconnected', 'NoPower', 'Starting', 'Charging', 'Complete', 'Stopped', 'Calibrating') + __slots__ = ("Unknown", "Disconnected", "NoPower", "Starting", "Charging", "Complete", "Stopped", "Calibrating") UNKNOWN_FIELD_NUMBER: _ClassVar[int] DISCONNECTED_FIELD_NUMBER: _ClassVar[int] NOPOWER_FIELD_NUMBER: _ClassVar[int] @@ -561,19 +518,14 @@ class ChargeState(_message.Message): Complete: _common_pb2.Void Stopped: _common_pb2.Void Calibrating: _common_pb2.Void - - def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Disconnected: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., NoPower: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Starting: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Charging: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Complete: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Stopped: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Calibrating: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Disconnected: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., NoPower: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Starting: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Charging: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Complete: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Stopped: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Calibrating: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class ChargerBrand(_message.Message): - __slots__ = ('Tesla', 'SNA') + __slots__ = ("Tesla", "SNA") TESLA_FIELD_NUMBER: _ClassVar[int] SNA_FIELD_NUMBER: _ClassVar[int] Tesla: _common_pb2.Void SNA: _common_pb2.Void - - def __init__(self, Tesla: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SNA: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, Tesla: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SNA: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... CHARGING_STATE_FIELD_NUMBER: _ClassVar[int] FAST_CHARGER_TYPE_FIELD_NUMBER: _ClassVar[int] FAST_CHARGER_BRAND_FIELD_NUMBER: _ClassVar[int] @@ -724,12 +676,10 @@ class ChargeState(_message.Message): home_location: _common_pb2.LatLong work_location: _common_pb2.LatLong outlet_max_timer_minutes: int - - def __init__(self, charging_state: _Optional[_Union[ChargeState.ChargingState, _Mapping]]=..., fast_charger_type: _Optional[_Union[ChargeState.ChargerType, _Mapping]]=..., fast_charger_brand: _Optional[_Union[ChargeState.ChargerBrand, _Mapping]]=..., charge_limit_soc: _Optional[int]=..., charge_limit_soc_std: _Optional[int]=..., charge_limit_soc_min: _Optional[int]=..., charge_limit_soc_max: _Optional[int]=..., max_range_charge_counter: _Optional[int]=..., fast_charger_present: bool=..., battery_range: _Optional[float]=..., est_battery_range: _Optional[float]=..., ideal_battery_range: _Optional[float]=..., battery_level: _Optional[int]=..., usable_battery_level: _Optional[int]=..., charge_energy_added: _Optional[float]=..., charge_miles_added_rated: _Optional[float]=..., charge_miles_added_ideal: _Optional[float]=..., charger_voltage: _Optional[int]=..., charger_pilot_current: _Optional[int]=..., charger_actual_current: _Optional[int]=..., charger_power: _Optional[int]=..., minutes_to_full_charge: _Optional[int]=..., minutes_to_charge_limit: _Optional[int]=..., trip_charging: bool=..., charge_rate_mph: _Optional[int]=..., charge_port_door_open: bool=..., conn_charge_cable: _Optional[_Union[ChargeState.CableType, _Mapping]]=..., scheduled_charging_start_time: _Optional[int]=..., scheduled_charging_pending: bool=..., scheduled_departure_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., user_charge_enable_request: bool=..., charge_enable_request: bool=..., charger_phases: _Optional[int]=..., charge_port_latch: _Optional[_Union[_common_pb2.ChargePortLatchState, _Mapping]]=..., charge_port_cold_weather_mode: bool=..., charge_current_request: _Optional[int]=..., charge_current_request_max: _Optional[int]=..., managed_charging_active: bool=..., managed_charging_user_canceled: bool=..., managed_charging_start_time: _Optional[int]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., preconditioning_times: _Optional[_Union[_common_pb2.PreconditioningTimes, _Mapping]]=..., off_peak_charging_times: _Optional[_Union[_common_pb2.OffPeakChargingTimes, _Mapping]]=..., off_peak_hours_end_time: _Optional[int]=..., scheduled_charging_mode: _Optional[_Union[ChargeState.ScheduledChargingMode, str]]=..., charging_amps: _Optional[int]=..., scheduled_charging_start_time_minutes: _Optional[int]=..., scheduled_departure_time_minutes: _Optional[int]=..., preconditioning_enabled: bool=..., scheduled_charging_start_time_app: _Optional[int]=..., supercharger_session_trip_planner: bool=..., charge_port_color: _Optional[_Union[ChargeState.ChargePortColor_E, str]]=..., charge_rate_mph_float: _Optional[float]=..., charge_limit_reason: _Optional[_Union[ChargeState.ChargeLimitReason, str]]=..., managed_charging_state: _Optional[_Union[ManagedChargingState, _Mapping]]=..., charge_cable_unlatched: bool=..., outlet_state: _Optional[_Union[ChargeState.OutletState, str]]=..., power_feed_state: _Optional[_Union[ChargeState.PowerFeedState, str]]=..., outlet_soc_limit: _Optional[int]=..., power_feed_soc_limit: _Optional[int]=..., outlet_time_remaining: _Optional[int]=..., power_feed_time_remaining: _Optional[int]=..., powershare_feature_allowed: bool=..., powershare_feature_enabled: bool=..., powershare_request: bool=..., powershare_type: _Optional[_Union[ChargeState.PowershareType, str]]=..., powershare_status: _Optional[_Union[ChargeState.PowershareStatus, str]]=..., powershare_stop_reason: _Optional[_Union[ChargeState.PowershareStopReason, str]]=..., powershare_instantaneous_load_kw: _Optional[float]=..., powershare_vehicle_energy_left_hr: _Optional[int]=..., powershare_soc_limit: _Optional[int]=..., one_time_soc_limit: _Optional[int]=..., home_location: _Optional[_Union[_common_pb2.LatLong, _Mapping]]=..., work_location: _Optional[_Union[_common_pb2.LatLong, _Mapping]]=..., outlet_max_timer_minutes: _Optional[int]=...) -> None: - ... + def __init__(self, charging_state: _Optional[_Union[ChargeState.ChargingState, _Mapping]] = ..., fast_charger_type: _Optional[_Union[ChargeState.ChargerType, _Mapping]] = ..., fast_charger_brand: _Optional[_Union[ChargeState.ChargerBrand, _Mapping]] = ..., charge_limit_soc: _Optional[int] = ..., charge_limit_soc_std: _Optional[int] = ..., charge_limit_soc_min: _Optional[int] = ..., charge_limit_soc_max: _Optional[int] = ..., max_range_charge_counter: _Optional[int] = ..., fast_charger_present: _Optional[bool] = ..., battery_range: _Optional[float] = ..., est_battery_range: _Optional[float] = ..., ideal_battery_range: _Optional[float] = ..., battery_level: _Optional[int] = ..., usable_battery_level: _Optional[int] = ..., charge_energy_added: _Optional[float] = ..., charge_miles_added_rated: _Optional[float] = ..., charge_miles_added_ideal: _Optional[float] = ..., charger_voltage: _Optional[int] = ..., charger_pilot_current: _Optional[int] = ..., charger_actual_current: _Optional[int] = ..., charger_power: _Optional[int] = ..., minutes_to_full_charge: _Optional[int] = ..., minutes_to_charge_limit: _Optional[int] = ..., trip_charging: _Optional[bool] = ..., charge_rate_mph: _Optional[int] = ..., charge_port_door_open: _Optional[bool] = ..., conn_charge_cable: _Optional[_Union[ChargeState.CableType, _Mapping]] = ..., scheduled_charging_start_time: _Optional[int] = ..., scheduled_charging_pending: _Optional[bool] = ..., scheduled_departure_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., user_charge_enable_request: _Optional[bool] = ..., charge_enable_request: _Optional[bool] = ..., charger_phases: _Optional[int] = ..., charge_port_latch: _Optional[_Union[_common_pb2.ChargePortLatchState, _Mapping]] = ..., charge_port_cold_weather_mode: _Optional[bool] = ..., charge_current_request: _Optional[int] = ..., charge_current_request_max: _Optional[int] = ..., managed_charging_active: _Optional[bool] = ..., managed_charging_user_canceled: _Optional[bool] = ..., managed_charging_start_time: _Optional[int] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., preconditioning_times: _Optional[_Union[_common_pb2.PreconditioningTimes, _Mapping]] = ..., off_peak_charging_times: _Optional[_Union[_common_pb2.OffPeakChargingTimes, _Mapping]] = ..., off_peak_hours_end_time: _Optional[int] = ..., scheduled_charging_mode: _Optional[_Union[ChargeState.ScheduledChargingMode, str]] = ..., charging_amps: _Optional[int] = ..., scheduled_charging_start_time_minutes: _Optional[int] = ..., scheduled_departure_time_minutes: _Optional[int] = ..., preconditioning_enabled: _Optional[bool] = ..., scheduled_charging_start_time_app: _Optional[int] = ..., supercharger_session_trip_planner: _Optional[bool] = ..., charge_port_color: _Optional[_Union[ChargeState.ChargePortColor_E, str]] = ..., charge_rate_mph_float: _Optional[float] = ..., charge_limit_reason: _Optional[_Union[ChargeState.ChargeLimitReason, str]] = ..., managed_charging_state: _Optional[_Union[ManagedChargingState, _Mapping]] = ..., charge_cable_unlatched: _Optional[bool] = ..., outlet_state: _Optional[_Union[ChargeState.OutletState, str]] = ..., power_feed_state: _Optional[_Union[ChargeState.PowerFeedState, str]] = ..., outlet_soc_limit: _Optional[int] = ..., power_feed_soc_limit: _Optional[int] = ..., outlet_time_remaining: _Optional[int] = ..., power_feed_time_remaining: _Optional[int] = ..., powershare_feature_allowed: _Optional[bool] = ..., powershare_feature_enabled: _Optional[bool] = ..., powershare_request: _Optional[bool] = ..., powershare_type: _Optional[_Union[ChargeState.PowershareType, str]] = ..., powershare_status: _Optional[_Union[ChargeState.PowershareStatus, str]] = ..., powershare_stop_reason: _Optional[_Union[ChargeState.PowershareStopReason, str]] = ..., powershare_instantaneous_load_kw: _Optional[float] = ..., powershare_vehicle_energy_left_hr: _Optional[int] = ..., powershare_soc_limit: _Optional[int] = ..., one_time_soc_limit: _Optional[int] = ..., home_location: _Optional[_Union[_common_pb2.LatLong, _Mapping]] = ..., work_location: _Optional[_Union[_common_pb2.LatLong, _Mapping]] = ..., outlet_max_timer_minutes: _Optional[int] = ...) -> None: ... class ManagedChargingState(_message.Message): - __slots__ = ('charge_on_solar_state', 'charge_on_solar_gateway_din', 'tesla_electric_asset_id', 'minutes_to_lower_limit') + __slots__ = ("charge_on_solar_state", "charge_on_solar_gateway_din", "tesla_electric_asset_id", "minutes_to_lower_limit") CHARGE_ON_SOLAR_STATE_FIELD_NUMBER: _ClassVar[int] CHARGE_ON_SOLAR_GATEWAY_DIN_FIELD_NUMBER: _ClassVar[int] TESLA_ELECTRIC_ASSET_ID_FIELD_NUMBER: _ClassVar[int] @@ -738,12 +688,10 @@ class ManagedChargingState(_message.Message): charge_on_solar_gateway_din: str tesla_electric_asset_id: str minutes_to_lower_limit: int - - def __init__(self, charge_on_solar_state: _Optional[_Union[ChargeOnSolarState, _Mapping]]=..., charge_on_solar_gateway_din: _Optional[str]=..., tesla_electric_asset_id: _Optional[str]=..., minutes_to_lower_limit: _Optional[int]=...) -> None: - ... + def __init__(self, charge_on_solar_state: _Optional[_Union[ChargeOnSolarState, _Mapping]] = ..., charge_on_solar_gateway_din: _Optional[str] = ..., tesla_electric_asset_id: _Optional[str] = ..., minutes_to_lower_limit: _Optional[int] = ...) -> None: ... class ChargeOnSolarState(_message.Message): - __slots__ = ('not_allowed', 'no_charge_recommended', 'charging_on_excess_solar', 'charging_on_anything', 'user_disabled', 'waiting_for_server', 'error', 'user_stopped') + __slots__ = ("not_allowed", "no_charge_recommended", "charging_on_excess_solar", "charging_on_anything", "user_disabled", "waiting_for_server", "error", "user_stopped") NOT_ALLOWED_FIELD_NUMBER: _ClassVar[int] NO_CHARGE_RECOMMENDED_FIELD_NUMBER: _ClassVar[int] CHARGING_ON_EXCESS_SOLAR_FIELD_NUMBER: _ClassVar[int] @@ -760,72 +708,51 @@ class ChargeOnSolarState(_message.Message): waiting_for_server: ChargeOnSolarStateWaitingForServer error: ChargeOnSolarStateError user_stopped: ChargeOnSolarStateUserStopped - - def __init__(self, not_allowed: _Optional[_Union[ChargeOnSolarStateNotAllowed, _Mapping]]=..., no_charge_recommended: _Optional[_Union[ChargeOnSolarStateNoChargeRecommended, _Mapping]]=..., charging_on_excess_solar: _Optional[_Union[ChargeOnSolarStateChargingOnExcessSolar, _Mapping]]=..., charging_on_anything: _Optional[_Union[ChargeOnSolarStateChargingOnAnything, _Mapping]]=..., user_disabled: _Optional[_Union[ChargeOnSolarStateUserDisabled, _Mapping]]=..., waiting_for_server: _Optional[_Union[ChargeOnSolarStateWaitingForServer, _Mapping]]=..., error: _Optional[_Union[ChargeOnSolarStateError, _Mapping]]=..., user_stopped: _Optional[_Union[ChargeOnSolarStateUserStopped, _Mapping]]=...) -> None: - ... + def __init__(self, not_allowed: _Optional[_Union[ChargeOnSolarStateNotAllowed, _Mapping]] = ..., no_charge_recommended: _Optional[_Union[ChargeOnSolarStateNoChargeRecommended, _Mapping]] = ..., charging_on_excess_solar: _Optional[_Union[ChargeOnSolarStateChargingOnExcessSolar, _Mapping]] = ..., charging_on_anything: _Optional[_Union[ChargeOnSolarStateChargingOnAnything, _Mapping]] = ..., user_disabled: _Optional[_Union[ChargeOnSolarStateUserDisabled, _Mapping]] = ..., waiting_for_server: _Optional[_Union[ChargeOnSolarStateWaitingForServer, _Mapping]] = ..., error: _Optional[_Union[ChargeOnSolarStateError, _Mapping]] = ..., user_stopped: _Optional[_Union[ChargeOnSolarStateUserStopped, _Mapping]] = ...) -> None: ... class ChargeOnSolarStateNotAllowed(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateNoChargeRecommended(_message.Message): - __slots__ = ('reason',) + __slots__ = ("reason",) REASON_FIELD_NUMBER: _ClassVar[int] reason: _managed_charging_pb2.ChargeOnSolarNoChargeReason - - def __init__(self, reason: _Optional[_Union[_managed_charging_pb2.ChargeOnSolarNoChargeReason, str]]=...) -> None: - ... + def __init__(self, reason: _Optional[_Union[_managed_charging_pb2.ChargeOnSolarNoChargeReason, str]] = ...) -> None: ... class ChargeOnSolarStateChargingOnExcessSolar(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateChargingOnAnything(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateUserDisabled(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateWaitingForServer(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateError(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class ChargeOnSolarStateUserStopped(_message.Message): __slots__ = () - - def __init__(self) -> None: - ... + def __init__(self) -> None: ... class LocationState(_message.Message): - __slots__ = ('latitude', 'longitude', 'heading', 'gps_as_of', 'native_location_supported', 'native_latitude', 'native_longitude', 'native_type', 'corrected_latitude', 'corrected_longitude', 'timestamp', 'homelink_nearby', 'location_name', 'geo_latitude', 'geo_longitude', 'geo_heading', 'geo_elevation', 'geo_accuracy', 'estimated_gps_valid', 'estimated_to_raw_distance') - + __slots__ = ("latitude", "longitude", "heading", "gps_as_of", "native_location_supported", "native_latitude", "native_longitude", "native_type", "corrected_latitude", "corrected_longitude", "timestamp", "homelink_nearby", "location_name", "geo_latitude", "geo_longitude", "geo_heading", "geo_elevation", "geo_accuracy", "estimated_gps_valid", "estimated_to_raw_distance") class GPSCoordinateType(_message.Message): - __slots__ = ('GCJ', 'WGS') + __slots__ = ("GCJ", "WGS") GCJ_FIELD_NUMBER: _ClassVar[int] WGS_FIELD_NUMBER: _ClassVar[int] GCJ: _common_pb2.Void WGS: _common_pb2.Void - - def __init__(self, GCJ: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., WGS: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, GCJ: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WGS: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... LATITUDE_FIELD_NUMBER: _ClassVar[int] LONGITUDE_FIELD_NUMBER: _ClassVar[int] HEADING_FIELD_NUMBER: _ClassVar[int] @@ -866,36 +793,27 @@ class LocationState(_message.Message): geo_accuracy: float estimated_gps_valid: bool estimated_to_raw_distance: float - - def __init__(self, latitude: _Optional[float]=..., longitude: _Optional[float]=..., heading: _Optional[int]=..., gps_as_of: _Optional[int]=..., native_location_supported: bool=..., native_latitude: _Optional[float]=..., native_longitude: _Optional[float]=..., native_type: _Optional[_Union[LocationState.GPSCoordinateType, _Mapping]]=..., corrected_latitude: _Optional[float]=..., corrected_longitude: _Optional[float]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., homelink_nearby: bool=..., location_name: _Optional[str]=..., geo_latitude: _Optional[float]=..., geo_longitude: _Optional[float]=..., geo_heading: _Optional[float]=..., geo_elevation: _Optional[float]=..., geo_accuracy: _Optional[float]=..., estimated_gps_valid: bool=..., estimated_to_raw_distance: _Optional[float]=...) -> None: - ... + def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ..., heading: _Optional[int] = ..., gps_as_of: _Optional[int] = ..., native_location_supported: _Optional[bool] = ..., native_latitude: _Optional[float] = ..., native_longitude: _Optional[float] = ..., native_type: _Optional[_Union[LocationState.GPSCoordinateType, _Mapping]] = ..., corrected_latitude: _Optional[float] = ..., corrected_longitude: _Optional[float] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., homelink_nearby: _Optional[bool] = ..., location_name: _Optional[str] = ..., geo_latitude: _Optional[float] = ..., geo_longitude: _Optional[float] = ..., geo_heading: _Optional[float] = ..., geo_elevation: _Optional[float] = ..., geo_accuracy: _Optional[float] = ..., estimated_gps_valid: _Optional[bool] = ..., estimated_to_raw_distance: _Optional[float] = ...) -> None: ... class VehicleState(_message.Message): - __slots__ = ('guestMode',) - + __slots__ = ("guestMode",) class GuestMode(_message.Message): - __slots__ = ('GuestModeActive',) + __slots__ = ("GuestModeActive",) GUESTMODEACTIVE_FIELD_NUMBER: _ClassVar[int] GuestModeActive: bool - - def __init__(self, GuestModeActive: bool=...) -> None: - ... + def __init__(self, GuestModeActive: _Optional[bool] = ...) -> None: ... GUESTMODE_FIELD_NUMBER: _ClassVar[int] guestMode: VehicleState.GuestMode - - def __init__(self, guestMode: _Optional[_Union[VehicleState.GuestMode, _Mapping]]=...) -> None: - ... + def __init__(self, guestMode: _Optional[_Union[VehicleState.GuestMode, _Mapping]] = ...) -> None: ... class ClimateState(_message.Message): - __slots__ = ('inside_temp_celsius', 'outside_temp_celsius', 'driver_temp_setting', 'passenger_temp_setting', 'left_temp_direction', 'right_temp_direction', 'is_front_defroster_on', 'is_rear_defroster_on', 'fan_status', 'is_climate_on', 'min_avail_temp_celsius', 'max_avail_temp_celsius', 'seat_heater_left', 'seat_heater_right', 'seat_heater_rear_left', 'seat_heater_rear_right', 'seat_heater_rear_center', 'seat_heater_rear_right_back', 'seat_heater_rear_left_back', 'seat_heater_third_row_right', 'seat_heater_third_row_left', 'battery_heater', 'battery_heater_no_power', 'steering_wheel_heater', 'wiper_blade_heater', 'side_mirror_heaters', 'is_preconditioning', 'remote_heater_control_enabled', 'climate_keeper_mode', 'timestamp', 'bioweapon_mode_on', 'defrost_mode', 'is_auto_conditioning_on', 'auto_seat_climate_left', 'auto_seat_climate_right', 'seat_fan_front_left', 'seat_fan_front_right', 'allow_cabin_overheat_protection', 'supports_fan_only_cabin_overheat_protection', 'cabin_overheat_protection', 'cabin_overheat_protection_actively_cooling', 'cop_activation_temperature', 'auto_steering_wheel_heat', 'steering_wheel_heat_level', 'hvac_auto_request', 'cop_not_running_reason') - + __slots__ = ("inside_temp_celsius", "outside_temp_celsius", "driver_temp_setting", "passenger_temp_setting", "left_temp_direction", "right_temp_direction", "is_front_defroster_on", "is_rear_defroster_on", "fan_status", "is_climate_on", "min_avail_temp_celsius", "max_avail_temp_celsius", "seat_heater_left", "seat_heater_right", "seat_heater_rear_left", "seat_heater_rear_right", "seat_heater_rear_center", "seat_heater_rear_right_back", "seat_heater_rear_left_back", "seat_heater_third_row_right", "seat_heater_third_row_left", "battery_heater", "battery_heater_no_power", "steering_wheel_heater", "wiper_blade_heater", "side_mirror_heaters", "is_preconditioning", "remote_heater_control_enabled", "climate_keeper_mode", "timestamp", "bioweapon_mode_on", "defrost_mode", "is_auto_conditioning_on", "auto_seat_climate_left", "auto_seat_climate_right", "seat_fan_front_left", "seat_fan_front_right", "allow_cabin_overheat_protection", "supports_fan_only_cabin_overheat_protection", "cabin_overheat_protection", "cabin_overheat_protection_actively_cooling", "cop_activation_temperature", "auto_steering_wheel_heat", "steering_wheel_heat_level", "hvac_auto_request", "cop_not_running_reason") class HvacAutoRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () HvacAutoRequestOn: _ClassVar[ClimateState.HvacAutoRequest] HvacAutoRequestOverride: _ClassVar[ClimateState.HvacAutoRequest] HvacAutoRequestOn: ClimateState.HvacAutoRequest HvacAutoRequestOverride: ClimateState.HvacAutoRequest - class CabinOverheatProtection_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () CabinOverheatProtectionOff: _ClassVar[ClimateState.CabinOverheatProtection_E] @@ -904,7 +822,6 @@ class ClimateState(_message.Message): CabinOverheatProtectionOff: ClimateState.CabinOverheatProtection_E CabinOverheatProtectionOn: ClimateState.CabinOverheatProtection_E CabinOverheatProtectionFanOnly: ClimateState.CabinOverheatProtection_E - class SeatHeaterLevel_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () SeatHeaterLevelOff: _ClassVar[ClimateState.SeatHeaterLevel_E] @@ -915,7 +832,6 @@ class ClimateState(_message.Message): SeatHeaterLevelLow: ClimateState.SeatHeaterLevel_E SeatHeaterLevelMed: ClimateState.SeatHeaterLevel_E SeatHeaterLevelHigh: ClimateState.SeatHeaterLevel_E - class SeatCoolingLevel_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () SeatCoolingLevelOff: _ClassVar[ClimateState.SeatCoolingLevel_E] @@ -926,7 +842,6 @@ class ClimateState(_message.Message): SeatCoolingLevelLow: ClimateState.SeatCoolingLevel_E SeatCoolingLevelMed: ClimateState.SeatCoolingLevel_E SeatCoolingLevelHigh: ClimateState.SeatCoolingLevel_E - class CopActivationTemp(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () CopActivationTempUnspecified: _ClassVar[ClimateState.CopActivationTemp] @@ -937,7 +852,6 @@ class ClimateState(_message.Message): CopActivationTempLow: ClimateState.CopActivationTemp CopActivationTempMedium: ClimateState.CopActivationTemp CopActivationTempHigh: ClimateState.CopActivationTemp - class COPNotRunningReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () COPNotRunningReasonNoReason: _ClassVar[ClimateState.COPNotRunningReason] @@ -954,9 +868,8 @@ class ClimateState(_message.Message): COPNotRunningReasonLowSolarLoad: ClimateState.COPNotRunningReason COPNotRunningReasonFault: ClimateState.COPNotRunningReason COPNotRunningReasonCabinBelowThreshold: ClimateState.COPNotRunningReason - class ClimateKeeperMode(_message.Message): - __slots__ = ('Unknown', 'Off', 'On', 'Dog', 'Party') + __slots__ = ("Unknown", "Off", "On", "Dog", "Party") UNKNOWN_FIELD_NUMBER: _ClassVar[int] OFF_FIELD_NUMBER: _ClassVar[int] ON_FIELD_NUMBER: _ClassVar[int] @@ -967,21 +880,16 @@ class ClimateState(_message.Message): On: _common_pb2.Void Dog: _common_pb2.Void Party: _common_pb2.Void - - def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Off: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., On: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Dog: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Party: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... - + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Off: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., On: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Dog: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Party: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class DefrostMode(_message.Message): - __slots__ = ('Off', 'Normal', 'Max') + __slots__ = ("Off", "Normal", "Max") OFF_FIELD_NUMBER: _ClassVar[int] NORMAL_FIELD_NUMBER: _ClassVar[int] MAX_FIELD_NUMBER: _ClassVar[int] Off: _common_pb2.Void Normal: _common_pb2.Void Max: _common_pb2.Void - - def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Normal: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., Max: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... + def __init__(self, Off: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Normal: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Max: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... INSIDE_TEMP_CELSIUS_FIELD_NUMBER: _ClassVar[int] OUTSIDE_TEMP_CELSIUS_FIELD_NUMBER: _ClassVar[int] DRIVER_TEMP_SETTING_FIELD_NUMBER: _ClassVar[int] @@ -1074,12 +982,10 @@ class ClimateState(_message.Message): steering_wheel_heat_level: _common_pb2.StwHeatLevel hvac_auto_request: ClimateState.HvacAutoRequest cop_not_running_reason: ClimateState.COPNotRunningReason - - def __init__(self, inside_temp_celsius: _Optional[float]=..., outside_temp_celsius: _Optional[float]=..., driver_temp_setting: _Optional[float]=..., passenger_temp_setting: _Optional[float]=..., left_temp_direction: _Optional[int]=..., right_temp_direction: _Optional[int]=..., is_front_defroster_on: bool=..., is_rear_defroster_on: bool=..., fan_status: _Optional[int]=..., is_climate_on: bool=..., min_avail_temp_celsius: _Optional[float]=..., max_avail_temp_celsius: _Optional[float]=..., seat_heater_left: _Optional[int]=..., seat_heater_right: _Optional[int]=..., seat_heater_rear_left: _Optional[int]=..., seat_heater_rear_right: _Optional[int]=..., seat_heater_rear_center: _Optional[int]=..., seat_heater_rear_right_back: _Optional[int]=..., seat_heater_rear_left_back: _Optional[int]=..., seat_heater_third_row_right: _Optional[int]=..., seat_heater_third_row_left: _Optional[int]=..., battery_heater: bool=..., battery_heater_no_power: bool=..., steering_wheel_heater: bool=..., wiper_blade_heater: bool=..., side_mirror_heaters: bool=..., is_preconditioning: bool=..., remote_heater_control_enabled: bool=..., climate_keeper_mode: _Optional[_Union[ClimateState.ClimateKeeperMode, _Mapping]]=..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., bioweapon_mode_on: bool=..., defrost_mode: _Optional[_Union[ClimateState.DefrostMode, _Mapping]]=..., is_auto_conditioning_on: bool=..., auto_seat_climate_left: bool=..., auto_seat_climate_right: bool=..., seat_fan_front_left: _Optional[int]=..., seat_fan_front_right: _Optional[int]=..., allow_cabin_overheat_protection: bool=..., supports_fan_only_cabin_overheat_protection: bool=..., cabin_overheat_protection: _Optional[_Union[ClimateState.CabinOverheatProtection_E, str]]=..., cabin_overheat_protection_actively_cooling: bool=..., cop_activation_temperature: _Optional[_Union[ClimateState.CopActivationTemp, str]]=..., auto_steering_wheel_heat: bool=..., steering_wheel_heat_level: _Optional[_Union[_common_pb2.StwHeatLevel, str]]=..., hvac_auto_request: _Optional[_Union[ClimateState.HvacAutoRequest, str]]=..., cop_not_running_reason: _Optional[_Union[ClimateState.COPNotRunningReason, str]]=...) -> None: - ... + def __init__(self, inside_temp_celsius: _Optional[float] = ..., outside_temp_celsius: _Optional[float] = ..., driver_temp_setting: _Optional[float] = ..., passenger_temp_setting: _Optional[float] = ..., left_temp_direction: _Optional[int] = ..., right_temp_direction: _Optional[int] = ..., is_front_defroster_on: _Optional[bool] = ..., is_rear_defroster_on: _Optional[bool] = ..., fan_status: _Optional[int] = ..., is_climate_on: _Optional[bool] = ..., min_avail_temp_celsius: _Optional[float] = ..., max_avail_temp_celsius: _Optional[float] = ..., seat_heater_left: _Optional[int] = ..., seat_heater_right: _Optional[int] = ..., seat_heater_rear_left: _Optional[int] = ..., seat_heater_rear_right: _Optional[int] = ..., seat_heater_rear_center: _Optional[int] = ..., seat_heater_rear_right_back: _Optional[int] = ..., seat_heater_rear_left_back: _Optional[int] = ..., seat_heater_third_row_right: _Optional[int] = ..., seat_heater_third_row_left: _Optional[int] = ..., battery_heater: _Optional[bool] = ..., battery_heater_no_power: _Optional[bool] = ..., steering_wheel_heater: _Optional[bool] = ..., wiper_blade_heater: _Optional[bool] = ..., side_mirror_heaters: _Optional[bool] = ..., is_preconditioning: _Optional[bool] = ..., remote_heater_control_enabled: _Optional[bool] = ..., climate_keeper_mode: _Optional[_Union[ClimateState.ClimateKeeperMode, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., bioweapon_mode_on: _Optional[bool] = ..., defrost_mode: _Optional[_Union[ClimateState.DefrostMode, _Mapping]] = ..., is_auto_conditioning_on: _Optional[bool] = ..., auto_seat_climate_left: _Optional[bool] = ..., auto_seat_climate_right: _Optional[bool] = ..., seat_fan_front_left: _Optional[int] = ..., seat_fan_front_right: _Optional[int] = ..., allow_cabin_overheat_protection: _Optional[bool] = ..., supports_fan_only_cabin_overheat_protection: _Optional[bool] = ..., cabin_overheat_protection: _Optional[_Union[ClimateState.CabinOverheatProtection_E, str]] = ..., cabin_overheat_protection_actively_cooling: _Optional[bool] = ..., cop_activation_temperature: _Optional[_Union[ClimateState.CopActivationTemp, str]] = ..., auto_steering_wheel_heat: _Optional[bool] = ..., steering_wheel_heat_level: _Optional[_Union[_common_pb2.StwHeatLevel, str]] = ..., hvac_auto_request: _Optional[_Union[ClimateState.HvacAutoRequest, str]] = ..., cop_not_running_reason: _Optional[_Union[ClimateState.COPNotRunningReason, str]] = ...) -> None: ... class TirePressureState(_message.Message): - __slots__ = ('timestamp', 'tpms_pressure_fl', 'tpms_pressure_fr', 'tpms_pressure_rl', 'tpms_pressure_rr', 'tpms_last_seen_pressure_time_fl', 'tpms_last_seen_pressure_time_fr', 'tpms_last_seen_pressure_time_rl', 'tpms_last_seen_pressure_time_rr', 'tpms_hard_warning_fl', 'tpms_hard_warning_fr', 'tpms_hard_warning_rl', 'tpms_hard_warning_rr', 'tpms_soft_warning_fl', 'tpms_soft_warning_fr', 'tpms_soft_warning_rl', 'tpms_soft_warning_rr', 'tpms_rcp_front_value', 'tpms_rcp_rear_value') + __slots__ = ("timestamp", "tpms_pressure_fl", "tpms_pressure_fr", "tpms_pressure_rl", "tpms_pressure_rr", "tpms_last_seen_pressure_time_fl", "tpms_last_seen_pressure_time_fr", "tpms_last_seen_pressure_time_rl", "tpms_last_seen_pressure_time_rr", "tpms_hard_warning_fl", "tpms_hard_warning_fr", "tpms_hard_warning_rl", "tpms_hard_warning_rr", "tpms_soft_warning_fl", "tpms_soft_warning_fr", "tpms_soft_warning_rl", "tpms_soft_warning_rr", "tpms_rcp_front_value", "tpms_rcp_rear_value") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] TPMS_PRESSURE_FL_FIELD_NUMBER: _ClassVar[int] TPMS_PRESSURE_FR_FIELD_NUMBER: _ClassVar[int] @@ -1118,12 +1024,10 @@ class TirePressureState(_message.Message): tpms_soft_warning_rr: bool tpms_rcp_front_value: float tpms_rcp_rear_value: float - - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tpms_pressure_fl: _Optional[float]=..., tpms_pressure_fr: _Optional[float]=..., tpms_pressure_rl: _Optional[float]=..., tpms_pressure_rr: _Optional[float]=..., tpms_last_seen_pressure_time_fl: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tpms_last_seen_pressure_time_fr: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tpms_last_seen_pressure_time_rl: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tpms_last_seen_pressure_time_rr: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., tpms_hard_warning_fl: bool=..., tpms_hard_warning_fr: bool=..., tpms_hard_warning_rl: bool=..., tpms_hard_warning_rr: bool=..., tpms_soft_warning_fl: bool=..., tpms_soft_warning_fr: bool=..., tpms_soft_warning_rl: bool=..., tpms_soft_warning_rr: bool=..., tpms_rcp_front_value: _Optional[float]=..., tpms_rcp_rear_value: _Optional[float]=...) -> None: - ... + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., tpms_pressure_fl: _Optional[float] = ..., tpms_pressure_fr: _Optional[float] = ..., tpms_pressure_rl: _Optional[float] = ..., tpms_pressure_rr: _Optional[float] = ..., tpms_last_seen_pressure_time_fl: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., tpms_last_seen_pressure_time_fr: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., tpms_last_seen_pressure_time_rl: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., tpms_last_seen_pressure_time_rr: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., tpms_hard_warning_fl: _Optional[bool] = ..., tpms_hard_warning_fr: _Optional[bool] = ..., tpms_hard_warning_rl: _Optional[bool] = ..., tpms_hard_warning_rr: _Optional[bool] = ..., tpms_soft_warning_fl: _Optional[bool] = ..., tpms_soft_warning_fr: _Optional[bool] = ..., tpms_soft_warning_rl: _Optional[bool] = ..., tpms_soft_warning_rr: _Optional[bool] = ..., tpms_rcp_front_value: _Optional[float] = ..., tpms_rcp_rear_value: _Optional[float] = ...) -> None: ... class MediaState(_message.Message): - __slots__ = ('timestamp', 'remote_control_enabled', 'now_playing_artist', 'now_playing_title', 'audio_volume', 'audio_volume_increment', 'audio_volume_max', 'now_playing_source', 'media_playback_status') + __slots__ = ("timestamp", "remote_control_enabled", "now_playing_artist", "now_playing_title", "audio_volume", "audio_volume_increment", "audio_volume_max", "now_playing_source", "media_playback_status") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] REMOTE_CONTROL_ENABLED_FIELD_NUMBER: _ClassVar[int] NOW_PLAYING_ARTIST_FIELD_NUMBER: _ClassVar[int] @@ -1142,12 +1046,10 @@ class MediaState(_message.Message): audio_volume_max: float now_playing_source: MediaSourceType media_playback_status: _common_pb2.MediaPlaybackStatus - - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., remote_control_enabled: bool=..., now_playing_artist: _Optional[str]=..., now_playing_title: _Optional[str]=..., audio_volume: _Optional[float]=..., audio_volume_increment: _Optional[float]=..., audio_volume_max: _Optional[float]=..., now_playing_source: _Optional[_Union[MediaSourceType, str]]=..., media_playback_status: _Optional[_Union[_common_pb2.MediaPlaybackStatus, str]]=...) -> None: - ... + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., remote_control_enabled: _Optional[bool] = ..., now_playing_artist: _Optional[str] = ..., now_playing_title: _Optional[str] = ..., audio_volume: _Optional[float] = ..., audio_volume_increment: _Optional[float] = ..., audio_volume_max: _Optional[float] = ..., now_playing_source: _Optional[_Union[MediaSourceType, str]] = ..., media_playback_status: _Optional[_Union[_common_pb2.MediaPlaybackStatus, str]] = ...) -> None: ... class MediaDetailState(_message.Message): - __slots__ = ('timestamp', 'now_playing_duration', 'now_playing_elapsed', 'now_playing_source_string', 'now_playing_album', 'now_playing_station', 'a2dp_source_name') + __slots__ = ("timestamp", "now_playing_duration", "now_playing_elapsed", "now_playing_source_string", "now_playing_album", "now_playing_station", "a2dp_source_name") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] NOW_PLAYING_DURATION_FIELD_NUMBER: _ClassVar[int] NOW_PLAYING_ELAPSED_FIELD_NUMBER: _ClassVar[int] @@ -1162,12 +1064,10 @@ class MediaDetailState(_message.Message): now_playing_album: str now_playing_station: str a2dp_source_name: str - - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]]=..., now_playing_duration: _Optional[int]=..., now_playing_elapsed: _Optional[int]=..., now_playing_source_string: _Optional[str]=..., now_playing_album: _Optional[str]=..., now_playing_station: _Optional[str]=..., a2dp_source_name: _Optional[str]=...) -> None: - ... + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., now_playing_duration: _Optional[int] = ..., now_playing_elapsed: _Optional[int] = ..., now_playing_source_string: _Optional[str] = ..., now_playing_album: _Optional[str] = ..., now_playing_station: _Optional[str] = ..., a2dp_source_name: _Optional[str] = ...) -> None: ... class ShiftState(_message.Message): - __slots__ = ('Invalid', 'P', 'R', 'N', 'D', 'SNA') + __slots__ = ("Invalid", "P", "R", "N", "D", "SNA") INVALID_FIELD_NUMBER: _ClassVar[int] P_FIELD_NUMBER: _ClassVar[int] R_FIELD_NUMBER: _ClassVar[int] @@ -1180,6 +1080,4 @@ class ShiftState(_message.Message): N: _common_pb2.Void D: _common_pb2.Void SNA: _common_pb2.Void - - def __init__(self, Invalid: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., P: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., R: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., N: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., D: _Optional[_Union[_common_pb2.Void, _Mapping]]=..., SNA: _Optional[_Union[_common_pb2.Void, _Mapping]]=...) -> None: - ... \ No newline at end of file + def __init__(self, Invalid: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., P: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., R: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., N: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SNA: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... diff --git a/uv.lock b/uv.lock index 2f345c5..17023f3 100644 --- a/uv.lock +++ b/uv.lock @@ -821,17 +821,17 @@ wheels = [ [[package]] name = "protobuf" -version = "6.33.2" +version = "7.34.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz", hash = "sha256:56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4", size = 444296, upload-time = "2025-12-06T00:17:53.311Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/6b/a0e95cad1ad7cc3f2c6821fcab91671bd5b78bd42afb357bb4765f29bc41/protobuf-7.34.1.tar.gz", hash = "sha256:9ce42245e704cc5027be797c1db1eb93184d44d1cdd71811fb2d9b25ad541280", size = 454708, upload-time = "2026-03-20T17:34:47.036Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/91/1e3a34881a88697a7354ffd177e8746e97a722e5e8db101544b47e84afb1/protobuf-6.33.2-cp310-abi3-win32.whl", hash = "sha256:87eb388bd2d0f78febd8f4c8779c79247b26a5befad525008e49a6955787ff3d", size = 425603, upload-time = "2025-12-06T00:17:41.114Z" }, - { url = "https://files.pythonhosted.org/packages/64/20/4d50191997e917ae13ad0a235c8b42d8c1ab9c3e6fd455ca16d416944355/protobuf-6.33.2-cp310-abi3-win_amd64.whl", hash = "sha256:fc2a0e8b05b180e5fc0dd1559fe8ebdae21a27e81ac77728fb6c42b12c7419b4", size = 436930, upload-time = "2025-12-06T00:17:43.278Z" }, - { url = "https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d9b19771ca75935b3a4422957bc518b0cecb978b31d1dd12037b088f6bcc0e43", size = 427621, upload-time = "2025-12-06T00:17:44.445Z" }, - { url = "https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5d3b5625192214066d99b2b605f5783483575656784de223f00a8d00754fc0e", size = 324460, upload-time = "2025-12-06T00:17:45.678Z" }, - { url = "https://files.pythonhosted.org/packages/b1/fa/26468d00a92824020f6f2090d827078c09c9c587e34cbfd2d0c7911221f8/protobuf-6.33.2-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8cd7640aee0b7828b6d03ae518b5b4806fdfc1afe8de82f79c3454f8aef29872", size = 339168, upload-time = "2025-12-06T00:17:46.813Z" }, - { url = "https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:1f8017c48c07ec5859106533b682260ba3d7c5567b1ca1f24297ce03384d1b4f", size = 323270, upload-time = "2025-12-06T00:17:48.253Z" }, - { url = "https://files.pythonhosted.org/packages/0e/15/4f02896cc3df04fc465010a4c6a0cd89810f54617a32a70ef531ed75d61c/protobuf-6.33.2-py3-none-any.whl", hash = "sha256:7636aad9bb01768870266de5dc009de2d1b936771b38a793f73cbbf279c91c5c", size = 170501, upload-time = "2025-12-06T00:17:52.211Z" }, + { url = "https://files.pythonhosted.org/packages/ec/11/3325d41e6ee15bf1125654301211247b042563bcc898784351252549a8ad/protobuf-7.34.1-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8b2cc79c4d8f62b293ad9b11ec3aebce9af481fa73e64556969f7345ebf9fc7", size = 429247, upload-time = "2026-03-20T17:34:37.024Z" }, + { url = "https://files.pythonhosted.org/packages/eb/9d/aa69df2724ff63efa6f72307b483ce0827f4347cc6d6df24b59e26659fef/protobuf-7.34.1-cp310-abi3-manylinux2014_aarch64.whl", hash = "sha256:5185e0e948d07abe94bb76ec9b8416b604cfe5da6f871d67aad30cbf24c3110b", size = 325753, upload-time = "2026-03-20T17:34:38.751Z" }, + { url = "https://files.pythonhosted.org/packages/92/e8/d174c91fd48e50101943f042b09af9029064810b734e4160bbe282fa1caa/protobuf-7.34.1-cp310-abi3-manylinux2014_s390x.whl", hash = "sha256:403b093a6e28a960372b44e5eb081775c9b056e816a8029c61231743d63f881a", size = 340198, upload-time = "2026-03-20T17:34:39.871Z" }, + { url = "https://files.pythonhosted.org/packages/53/1b/3b431694a4dc6d37b9f653f0c64b0a0d9ec074ee810710c0c3da21d67ba7/protobuf-7.34.1-cp310-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ff40ce8cd688f7265326b38d5a1bed9bfdf5e6723d49961432f83e21d5713e4", size = 324267, upload-time = "2026-03-20T17:34:41.1Z" }, + { url = "https://files.pythonhosted.org/packages/85/29/64de04a0ac142fb685fd09999bc3d337943fb386f3a0ec57f92fd8203f97/protobuf-7.34.1-cp310-abi3-win32.whl", hash = "sha256:34b84ce27680df7cca9f231043ada0daa55d0c44a2ddfaa58ec1d0d89d8bf60a", size = 426628, upload-time = "2026-03-20T17:34:42.536Z" }, + { url = "https://files.pythonhosted.org/packages/4d/87/cb5e585192a22b8bd457df5a2c16a75ea0db9674c3a0a39fc9347d84e075/protobuf-7.34.1-cp310-abi3-win_amd64.whl", hash = "sha256:e97b55646e6ce5cbb0954a8c28cd39a5869b59090dfaa7df4598a7fba869468c", size = 437901, upload-time = "2026-03-20T17:34:44.112Z" }, + { url = "https://files.pythonhosted.org/packages/88/95/608f665226bca68b736b79e457fded9a2a38c4f4379a4a7614303d9db3bc/protobuf-7.34.1-py3-none-any.whl", hash = "sha256:bb3812cd53aefea2b028ef42bd780f5b96407247f20c6ef7c679807e9d188f11", size = 170715, upload-time = "2026-03-20T17:34:45.384Z" }, ] [[package]] @@ -929,7 +929,7 @@ wheels = [ [[package]] name = "tesla-fleet-api" -version = "1.4.6" +version = "1.4.7" source = { editable = "." } dependencies = [ { name = "aiofiles" }, From 7d6fa1e03837f6300fe47b17051fb6cd8847ea60 Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Fri, 19 Jun 2026 19:12:51 +1000 Subject: [PATCH 2/3] Add tests --- tests/test_fleet_auth_refresh.py | 138 ++++++++++++++ tests/test_tessie_vehicle_params.py | 285 ++++++++++++++++++++++++++++ 2 files changed, 423 insertions(+) create mode 100644 tests/test_fleet_auth_refresh.py create mode 100644 tests/test_tessie_vehicle_params.py diff --git a/tests/test_fleet_auth_refresh.py b/tests/test_fleet_auth_refresh.py new file mode 100644 index 0000000..897f0d4 --- /dev/null +++ b/tests/test_fleet_auth_refresh.py @@ -0,0 +1,138 @@ +"""Unit tests for TeslaFleetApi auth refresh retry behavior.""" + +from unittest import IsolatedAsyncioTestCase +from unittest.mock import AsyncMock, MagicMock + +from tesla_fleet_api.const import Method +from tesla_fleet_api.exceptions import ( + InvalidRegion, + InvalidToken, + LibraryError, + LoginRequired, + OAuthExpired, +) +from tesla_fleet_api.tesla.fleet import TeslaFleetApi + + +class TestTeslaFleetApi(TeslaFleetApi): + """Test helper exposing a public wrapper for the protected request method.""" + + async def request(self, method: Method, path: str) -> dict[str, object]: + """Call the protected request path under test.""" + + return await self._request(method, path) + + +class TeslaFleetApiAuthRefreshTests(IsolatedAsyncioTestCase): + """Verify auth refresh retry behavior in TeslaFleetApi.""" + + def create_api( + self, force_token_refresh: AsyncMock | None = None + ) -> TestTeslaFleetApi: + """Create an API instance with a mocked session.""" + + return TestTeslaFleetApi( + session=MagicMock(), + access_token="access-token", + force_token_refresh=force_token_refresh, + server="https://fleet.example.com", + ) + + async def test_constructor_is_backward_compatible(self) -> None: + """The new refresh callback remains optional.""" + + api = TeslaFleetApi( + session=MagicMock(), + access_token="access-token", + server="https://fleet.example.com", + ) + + self.assertIsNone(api._force_token_refresh) # pyright: ignore[reportPrivateUsage] + + async def test_request_retries_once_after_auth_failure_then_succeeds(self) -> None: + """A recoverable auth failure should refresh and retry once.""" + + for error_type in (InvalidToken, OAuthExpired, LoginRequired): + with self.subTest(error_type=error_type.__name__): + refresh = AsyncMock() + api = self.create_api(force_token_refresh=refresh) + request_once = AsyncMock(side_effect=[error_type(), {"response": "ok"}]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + response = await api.request(Method.GET, "api/1/products") + + self.assertEqual(response, {"response": "ok"}) + self.assertEqual(request_once.await_count, 2) + refresh.assert_awaited_once() + + async def test_request_raises_auth_error_when_retry_also_auth_fails(self) -> None: + """A second auth failure should stop retrying and bubble up.""" + + for error_type in (InvalidToken, OAuthExpired, LoginRequired): + with self.subTest(error_type=error_type.__name__): + refresh = AsyncMock() + api = self.create_api(force_token_refresh=refresh) + request_once = AsyncMock(side_effect=[error_type(), LoginRequired()]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + with self.assertRaises(LoginRequired): + await api.request(Method.GET, "api/1/products") + + self.assertEqual(request_once.await_count, 2) + refresh.assert_awaited_once() + + async def test_request_raises_auth_error_when_refresh_requires_reauth(self) -> None: + """Refresh failures that require reauth should surface as LoginRequired.""" + + for error_type in (InvalidToken, OAuthExpired, LoginRequired): + with self.subTest(error_type=error_type.__name__): + refresh = AsyncMock(side_effect=error_type()) + api = self.create_api(force_token_refresh=refresh) + request_once = AsyncMock(side_effect=[InvalidToken()]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + with self.assertRaises(LoginRequired): + await api.request(Method.GET, "api/1/products") + + self.assertEqual(request_once.await_count, 1) + refresh.assert_awaited_once() + + async def test_request_raises_library_error_when_refresh_fails_transiently(self) -> None: + """Transient callback failures should not be treated as success.""" + + refresh = AsyncMock(side_effect=LibraryError("temporary refresh failure")) + api = self.create_api(force_token_refresh=refresh) + request_once = AsyncMock(side_effect=[InvalidToken()]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + with self.assertRaises(LibraryError): + await api.request(Method.GET, "api/1/products") + + self.assertEqual(request_once.await_count, 1) + refresh.assert_awaited_once() + + async def test_request_re_raises_auth_error_without_refresh_callback(self) -> None: + """Existing callers without a callback should see the original auth error.""" + + api = self.create_api() + request_once = AsyncMock(side_effect=[OAuthExpired()]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + with self.assertRaises(OAuthExpired): + await api.request(Method.GET, "api/1/products") + + self.assertEqual(request_once.await_count, 1) + + async def test_request_preserves_non_auth_tesla_error_from_refresh_callback(self) -> None: + """Non-auth TeslaFleetError refresh failures should propagate unchanged.""" + + refresh = AsyncMock(side_effect=InvalidRegion()) + api = self.create_api(force_token_refresh=refresh) + request_once = AsyncMock(side_effect=[InvalidToken()]) + api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] + + with self.assertRaises(InvalidRegion): + await api.request(Method.GET, "api/1/products") + + self.assertEqual(request_once.await_count, 1) + refresh.assert_awaited_once() diff --git a/tests/test_tessie_vehicle_params.py b/tests/test_tessie_vehicle_params.py new file mode 100644 index 0000000..a88a05e --- /dev/null +++ b/tests/test_tessie_vehicle_params.py @@ -0,0 +1,285 @@ +"""Unit tests for Tessie vehicle command parameter mapping.""" + +from unittest import IsolatedAsyncioTestCase +from unittest.mock import AsyncMock, MagicMock + +from tesla_fleet_api.const import Method +from tesla_fleet_api.tessie.vehicles import TessieVehicle + + +class TessieVehicleParameterTests(IsolatedAsyncioTestCase): + """Verify Tessie-specific command parameters match the upstream API.""" + + VIN = "5YJXCAE43LF123456" + + def create_vehicle(self) -> tuple[TessieVehicle, AsyncMock]: + """Create a test vehicle with a mocked request method.""" + + parent = MagicMock() + request = AsyncMock(return_value={"result": True}) + parent._request = request # pyright: ignore[reportAttributeAccessIssue] + return TessieVehicle(parent, self.VIN), request + + async def test_climate_command_parameters_match_tessie_reference(self) -> None: + """Climate-related Tessie commands should send the documented query params.""" + + test_cases = [ + ( + "tessie_set_cabin_overheat_protection", + lambda vehicle: vehicle.tessie_set_cabin_overheat_protection( + on=True, + fan_only=True, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_cabin_overheat_protection", + { + "on": True, + "fan_only": True, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_set_cop_temp", + lambda vehicle: vehicle.tessie_set_cop_temp( + cop_temp=3, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_cop_temp", + { + "cop_temp": 3, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_set_bioweapon_mode", + lambda vehicle: vehicle.tessie_set_bioweapon_mode( + on=True, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_bioweapon_mode", + { + "on": True, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_set_climate_keeper_mode", + lambda vehicle: vehicle.tessie_set_climate_keeper_mode( + mode=2, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_climate_keeper_mode", + { + "mode": 2, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ] + + for method_name, invoke, path, params in test_cases: + with self.subTest(method=method_name): + vehicle, request = self.create_vehicle() + + response = await invoke(vehicle) + + self.assertEqual(response, {"result": True}) + request.assert_awaited_once_with(Method.POST, path, params=params) + + async def test_misc_command_parameters_match_tessie_reference(self) -> None: + """Other corrected Tessie commands should send the documented query params.""" + + test_cases = [ + ( + "tessie_set_charging_amps", + lambda vehicle: vehicle.tessie_set_charging_amps( + amps=16, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_charging_amps", + { + "amps": 16, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_trigger_homelink", + lambda vehicle: vehicle.tessie_trigger_homelink( + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/trigger_homelink", + { + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_schedule_software_update", + lambda vehicle: vehicle.tessie_schedule_software_update( + in_seconds=3600, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/schedule_software_update", + { + "in_seconds": 3600, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ( + "tessie_set_scheduled_departure", + lambda vehicle: vehicle.tessie_set_scheduled_departure( + enable=True, + departure_time=480, + preconditioning_enabled=True, + end_off_peak_time=360, + max_attempts=2, + wait_for_completion=False, + ), + f"{self.VIN}/command/set_scheduled_departure", + { + "enable": True, + "departure_time": 480, + "preconditioning_enabled": True, + "preconditioning_weekdays_only": False, + "off_peak_charging_enabled": False, + "off_peak_charging_weekdays_only": False, + "end_off_peak_time": 360, + "max_attempts": 2, + "wait_for_completion": False, + }, + ), + ] + + for method_name, invoke, path, params in test_cases: + with self.subTest(method=method_name): + vehicle, request = self.create_vehicle() + + response = await invoke(vehicle) + + self.assertEqual(response, {"result": True}) + request.assert_awaited_once_with(Method.POST, path, params=params) + + async def test_tessie_add_charge_schedule_uses_documented_parameters(self) -> None: + """Charge schedule requests should follow the Tessie add_charge_schedule schema.""" + + vehicle, request = self.create_vehicle() + + response = await vehicle.tessie_add_charge_schedule( + days_of_week="Weekdays", + enabled=True, + start_enabled=True, + end_enabled=False, + lat=1.23, + lon=4.56, + start_time=360, + one_time=True, + id=7, + max_attempts=2, + wait_for_completion=False, + ) + + self.assertEqual(response, {"result": True}) + request.assert_awaited_once_with( + Method.POST, + f"{self.VIN}/command/add_charge_schedule", + params={ + "days_of_week": "Weekdays", + "enabled": True, + "start_enabled": True, + "end_enabled": False, + "lat": 1.23, + "lon": 4.56, + "start_time": 360, + "one_time": True, + "id": 7, + "max_attempts": 2, + "wait_for_completion": False, + }, + ) + + async def test_tessie_add_charge_schedule_validates_enabled_times(self) -> None: + """Charge schedule helpers should reject invalid start/end combinations.""" + + vehicle, _ = self.create_vehicle() + + with self.assertRaisesRegex( + ValueError, "Either start_enabled or end_enabled must be True" + ): + await vehicle.tessie_add_charge_schedule( + days_of_week="Weekdays", + enabled=True, + start_enabled=False, + end_enabled=False, + lat=1.23, + lon=4.56, + ) + + with self.assertRaisesRegex( + ValueError, "start_time is required when start_enabled is True" + ): + await vehicle.tessie_add_charge_schedule( + days_of_week="Weekdays", + enabled=True, + start_enabled=True, + end_enabled=False, + lat=1.23, + lon=4.56, + ) + + with self.assertRaisesRegex( + ValueError, "end_time is required when end_enabled is True" + ): + await vehicle.tessie_add_charge_schedule( + days_of_week="Weekdays", + enabled=True, + start_enabled=False, + end_enabled=True, + lat=1.23, + lon=4.56, + ) + + async def test_tessie_add_precondition_schedule_uses_documented_parameters(self) -> None: + """Precondition schedule requests should follow the Tessie schema.""" + + vehicle, request = self.create_vehicle() + + response = await vehicle.tessie_add_precondition_schedule( + days_of_week="Weekdays", + enabled=True, + lat=1.23, + lon=4.56, + precondition_time=420, + one_time=True, + id=7, + max_attempts=2, + wait_for_completion=False, + ) + + self.assertEqual(response, {"result": True}) + request.assert_awaited_once_with( + Method.POST, + f"{self.VIN}/command/add_precondition_schedule", + params={ + "days_of_week": "Weekdays", + "enabled": True, + "lat": 1.23, + "lon": 4.56, + "precondition_time": 420, + "one_time": True, + "id": 7, + "max_attempts": 2, + "wait_for_completion": False, + }, + ) From cb5cbdbf0f5cf1af3b8d4bb1fd4651b4b329c30b Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Fri, 19 Jun 2026 19:20:00 +1000 Subject: [PATCH 3/3] Add pytest and rewrite auth tests to match _request behavior Add pytest as the dev test runner with a [tool.pytest.ini_options] section, rewrite the broken auth-refresh test file as characterization tests for the real TeslaFleetApi._request, and update the stale "no test suite" note in AGENTS.md. Co-Authored-By: Claude Opus 4.8 (1M context) --- AGENTS.md | 6 +- pyproject.toml | 5 +- tests/test_fleet_auth_refresh.py | 228 ++++++++++++++----------------- uv.lock | 135 +++++++++++++++++- 4 files changed, 246 insertions(+), 128 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d2f707a..6e1853e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,9 +14,13 @@ uv run pyright tesla_fleet_api # Linting uv run ruff check tesla_fleet_api uv run ruff format tesla_fleet_api + +# Tests +uv run pytest tests ``` -No test suite exists in this repo. +Tests live in `tests/` and use `unittest.IsolatedAsyncioTestCase` (collected and +run natively by pytest — `pytest-asyncio` is not required). ## API References diff --git a/pyproject.toml b/pyproject.toml index 1356c1e..e8e1ba9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "Homepage" = "https://github.com/Teslemetry/python-tesla-fleet-api" [dependency-groups] -dev = ["pyright>=1.1.399"] +dev = ["pyright>=1.1.399", "pytest>=8.0"] [tool.setuptools.packages.find] include = ["tesla_fleet_api*"] @@ -44,3 +44,6 @@ exclude = ["tesla_fleet_api/tesla/vehicle/proto/*"] include = ["tesla_fleet_api"] typeCheckingMode = "strict" exclude = ["tesla_fleet_api/tesla/vehicle/proto/*"] + +[tool.pytest.ini_options] +testpaths = ["tests"] diff --git a/tests/test_fleet_auth_refresh.py b/tests/test_fleet_auth_refresh.py index 897f0d4..fb0adcd 100644 --- a/tests/test_fleet_auth_refresh.py +++ b/tests/test_fleet_auth_refresh.py @@ -1,138 +1,116 @@ -"""Unit tests for TeslaFleetApi auth refresh retry behavior.""" +"""Characterization tests for TeslaFleetApi._request behavior. +These tests assert what ``_request`` does today; they do not assume any +auth-refresh / retry feature exists. If that feature is added later, extend +these tests to cover the retry path rather than deleting them. +""" + +from contextlib import asynccontextmanager from unittest import IsolatedAsyncioTestCase from unittest.mock import AsyncMock, MagicMock from tesla_fleet_api.const import Method -from tesla_fleet_api.exceptions import ( - InvalidRegion, - InvalidToken, - LibraryError, - LoginRequired, - OAuthExpired, -) +from tesla_fleet_api.exceptions import MissingToken, NotFound, ResponseError from tesla_fleet_api.tesla.fleet import TeslaFleetApi -class TestTeslaFleetApi(TeslaFleetApi): - """Test helper exposing a public wrapper for the protected request method.""" - - async def request(self, method: Method, path: str) -> dict[str, object]: - """Call the protected request path under test.""" - - return await self._request(method, path) - - -class TeslaFleetApiAuthRefreshTests(IsolatedAsyncioTestCase): - """Verify auth refresh retry behavior in TeslaFleetApi.""" - - def create_api( - self, force_token_refresh: AsyncMock | None = None - ) -> TestTeslaFleetApi: - """Create an API instance with a mocked session.""" - - return TestTeslaFleetApi( - session=MagicMock(), - access_token="access-token", - force_token_refresh=force_token_refresh, - server="https://fleet.example.com", - ) - - async def test_constructor_is_backward_compatible(self) -> None: - """The new refresh callback remains optional.""" - - api = TeslaFleetApi( - session=MagicMock(), - access_token="access-token", - server="https://fleet.example.com", - ) - - self.assertIsNone(api._force_token_refresh) # pyright: ignore[reportPrivateUsage] - - async def test_request_retries_once_after_auth_failure_then_succeeds(self) -> None: - """A recoverable auth failure should refresh and retry once.""" - - for error_type in (InvalidToken, OAuthExpired, LoginRequired): - with self.subTest(error_type=error_type.__name__): - refresh = AsyncMock() - api = self.create_api(force_token_refresh=refresh) - request_once = AsyncMock(side_effect=[error_type(), {"response": "ok"}]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - response = await api.request(Method.GET, "api/1/products") - - self.assertEqual(response, {"response": "ok"}) - self.assertEqual(request_once.await_count, 2) - refresh.assert_awaited_once() - - async def test_request_raises_auth_error_when_retry_also_auth_fails(self) -> None: - """A second auth failure should stop retrying and bubble up.""" - - for error_type in (InvalidToken, OAuthExpired, LoginRequired): - with self.subTest(error_type=error_type.__name__): - refresh = AsyncMock() - api = self.create_api(force_token_refresh=refresh) - request_once = AsyncMock(side_effect=[error_type(), LoginRequired()]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - with self.assertRaises(LoginRequired): - await api.request(Method.GET, "api/1/products") - - self.assertEqual(request_once.await_count, 2) - refresh.assert_awaited_once() - - async def test_request_raises_auth_error_when_refresh_requires_reauth(self) -> None: - """Refresh failures that require reauth should surface as LoginRequired.""" - - for error_type in (InvalidToken, OAuthExpired, LoginRequired): - with self.subTest(error_type=error_type.__name__): - refresh = AsyncMock(side_effect=error_type()) - api = self.create_api(force_token_refresh=refresh) - request_once = AsyncMock(side_effect=[InvalidToken()]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - with self.assertRaises(LoginRequired): - await api.request(Method.GET, "api/1/products") - - self.assertEqual(request_once.await_count, 1) - refresh.assert_awaited_once() - - async def test_request_raises_library_error_when_refresh_fails_transiently(self) -> None: - """Transient callback failures should not be treated as success.""" - - refresh = AsyncMock(side_effect=LibraryError("temporary refresh failure")) - api = self.create_api(force_token_refresh=refresh) - request_once = AsyncMock(side_effect=[InvalidToken()]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - with self.assertRaises(LibraryError): +class _RequestTestApi(TeslaFleetApi): + """Expose the protected _request for testing.""" + + async def request( + self, + method: Method, + path: str, + params: dict[str, object] | None = None, + json: dict[str, object] | None = {}, + ) -> dict[str, object]: + return await self._request(method, path, params=params, json=json) + + +def _make_api( + token: str | None = "access-token", + *, + response: object = None, + session: object = None, +) -> _RequestTestApi: + """Create an API whose session.request yields the given fake response.""" + if session is None: + session = MagicMock() + + @asynccontextmanager + async def _ctx(*args, **kwargs): + yield response + + # session.request(...) must return an async context manager + session.request = MagicMock(side_effect=lambda *a, **k: _ctx(*a, **k)) + + return _RequestTestApi( + session=session, + access_token=token, + server="https://fleet.example.com", + ) + + +def _fake_response( + *, + status: int = 200, + ok: bool = True, + content_type: str = "application/json", + json_body: object = None, + text_body: str = "", +): + resp = MagicMock() + resp.status = status + resp.ok = ok + resp.content_type = content_type + resp.url = "https://fleet.example.com/x" + resp.headers = {} + resp.json = AsyncMock(return_value=json_body if json_body is not None else {}) + resp.text = AsyncMock(return_value=text_body) + return resp + + +class RequestBehaviorTests(IsolatedAsyncioTestCase): + """Verify the real, current behavior of TeslaFleetApi._request.""" + + async def test_missing_token_raises_missing_token(self) -> None: + api = _make_api(token=None, response=_fake_response()) + with self.assertRaises(MissingToken): await api.request(Method.GET, "api/1/products") - self.assertEqual(request_once.await_count, 1) - refresh.assert_awaited_once() - - async def test_request_re_raises_auth_error_without_refresh_callback(self) -> None: - """Existing callers without a callback should see the original auth error.""" - - api = self.create_api() - request_once = AsyncMock(side_effect=[OAuthExpired()]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - with self.assertRaises(OAuthExpired): + async def test_get_returns_parsed_json_and_sends_no_body(self) -> None: + resp = _fake_response(json_body={"response": "ok"}) + api = _make_api(response=resp) + result = await api.request(Method.GET, "api/1/products") + self.assertEqual(result, {"response": "ok"}) + # GET must send json=None + _, kwargs = api.session.request.call_args + self.assertIsNone(kwargs["json"]) + self.assertEqual(kwargs["headers"]["Authorization"], "Bearer access-token") + + async def test_request_targets_server_and_path(self) -> None: + resp = _fake_response(json_body={"response": "ok"}) + api = _make_api(response=resp) + await api.request(Method.GET, "api/1/products") + args, _ = api.session.request.call_args + self.assertEqual(args[0], Method.GET) + self.assertEqual(args[1], "https://fleet.example.com/api/1/products") + + async def test_non_json_content_type_raises_response_error(self) -> None: + resp = _fake_response(content_type="text/html", text_body="") + api = _make_api(response=resp) + with self.assertRaises(ResponseError): await api.request(Method.GET, "api/1/products") - self.assertEqual(request_once.await_count, 1) - - async def test_request_preserves_non_auth_tesla_error_from_refresh_callback(self) -> None: - """Non-auth TeslaFleetError refresh failures should propagate unchanged.""" - - refresh = AsyncMock(side_effect=InvalidRegion()) - api = self.create_api(force_token_refresh=refresh) - request_once = AsyncMock(side_effect=[InvalidToken()]) - api._request_once = request_once # pyright: ignore[reportAttributeAccessIssue, reportPrivateUsage] - - with self.assertRaises(InvalidRegion): + async def test_none_params_are_stripped_and_booleans_normalized(self) -> None: + resp = _fake_response(json_body={"response": "ok"}) + api = _make_api(response=resp) + await api.request(Method.GET, "api/1/x", params={"a": None, "b": True}) + _, kwargs = api.session.request.call_args + self.assertEqual(kwargs["params"], {"b": "true"}) + + async def test_error_status_routes_through_raise_for_status(self) -> None: + resp = _fake_response(status=404, ok=False, json_body={"error": "not found"}) + api = _make_api(response=resp) + with self.assertRaises(NotFound): await api.request(Method.GET, "api/1/products") - - self.assertEqual(request_once.await_count, 1) - refresh.assert_awaited_once() diff --git a/uv.lock b/uv.lock index 17023f3..60f93d2 100644 --- a/uv.lock +++ b/uv.lock @@ -330,6 +330,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, ] +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + [[package]] name = "cryptography" version = "46.0.3" @@ -428,6 +437,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/89/94/b7ff6279e642b014cd4aef4d914b9fca3917c2c9c35df49db062023cbdfc/dbus_fast-3.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:1d7cc1315586e4c50875c9a2d56b9ad2e056ec75e2f27c43cd80392f72d0f6e3", size = 1623709, upload-time = "2025-11-17T03:49:59.571Z" }, ] +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + [[package]] name = "frozenlist" version = "1.8.0" @@ -558,6 +579,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, ] +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + [[package]] name = "multidict" version = "6.7.0" @@ -705,6 +735,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" }, ] +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + [[package]] name = "propcache" version = "0.4.1" @@ -843,6 +891,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, ] +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + [[package]] name = "pyobjc-core" version = "12.1" @@ -927,6 +984,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0c/82/a2c93e32800940d9573fb28c346772a14778b84ba7524e691b324620ab89/pyright-1.1.408-py3-none-any.whl", hash = "sha256:090b32865f4fdb1e0e6cd82bf5618480d48eecd2eb2e70f960982a3d9a4c17c1", size = 6399144, upload-time = "2026-01-08T08:07:37.082Z" }, ] +[[package]] +name = "pytest" +version = "9.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/0e/b5858858d74958632c49b72cb25a3976ff9f632397626715be71c89d3971/pytest-9.1.0.tar.gz", hash = "sha256:41dd9148c08072446394cefd3d79701701335a9f4cae69ba92e39f6c7f5c061c", size = 1634181, upload-time = "2026-06-13T18:52:45.983Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/5a/ba30a81239b909821b3153e303e7def45178bf353da4f72380e6c5e8793b/pytest-9.1.0-py3-none-any.whl", hash = "sha256:8ebb0e7888bdf2bdfc602ec51f8f62d50200af37356c74e503c79a94f5c81f32", size = 386453, upload-time = "2026-06-13T18:52:44.045Z" }, +] + [[package]] name = "tesla-fleet-api" version = "1.4.7" @@ -944,6 +1019,7 @@ dependencies = [ [package.dev-dependencies] dev = [ { name = "pyright" }, + { name = "pytest" }, ] [package.metadata] @@ -958,7 +1034,64 @@ requires-dist = [ ] [package.metadata.requires-dev] -dev = [{ name = "pyright", specifier = ">=1.1.399" }] +dev = [ + { name = "pyright", specifier = ">=1.1.399" }, + { name = "pytest", specifier = ">=8.0" }, +] + +[[package]] +name = "tomli" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543, upload-time = "2026-03-25T20:22:03.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704, upload-time = "2026-03-25T20:21:10.473Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454, upload-time = "2026-03-25T20:21:12.036Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561, upload-time = "2026-03-25T20:21:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824, upload-time = "2026-03-25T20:21:14.569Z" }, + { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227, upload-time = "2026-03-25T20:21:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859, upload-time = "2026-03-25T20:21:17.001Z" }, + { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204, upload-time = "2026-03-25T20:21:18.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084, upload-time = "2026-03-25T20:21:18.978Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285, upload-time = "2026-03-25T20:21:20.309Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924, upload-time = "2026-03-25T20:21:21.626Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018, upload-time = "2026-03-25T20:21:23.002Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948, upload-time = "2026-03-25T20:21:24.04Z" }, + { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341, upload-time = "2026-03-25T20:21:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159, upload-time = "2026-03-25T20:21:26.364Z" }, + { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290, upload-time = "2026-03-25T20:21:27.46Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141, upload-time = "2026-03-25T20:21:28.492Z" }, + { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847, upload-time = "2026-03-25T20:21:29.386Z" }, + { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088, upload-time = "2026-03-25T20:21:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866, upload-time = "2026-03-25T20:21:31.65Z" }, + { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887, upload-time = "2026-03-25T20:21:33.028Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704, upload-time = "2026-03-25T20:21:34.51Z" }, + { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628, upload-time = "2026-03-25T20:21:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180, upload-time = "2026-03-25T20:21:37.136Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674, upload-time = "2026-03-25T20:21:38.298Z" }, + { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976, upload-time = "2026-03-25T20:21:39.316Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755, upload-time = "2026-03-25T20:21:40.248Z" }, + { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265, upload-time = "2026-03-25T20:21:41.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726, upload-time = "2026-03-25T20:21:42.23Z" }, + { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859, upload-time = "2026-03-25T20:21:43.386Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713, upload-time = "2026-03-25T20:21:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084, upload-time = "2026-03-25T20:21:45.62Z" }, + { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973, upload-time = "2026-03-25T20:21:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223, upload-time = "2026-03-25T20:21:48.467Z" }, + { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973, upload-time = "2026-03-25T20:21:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082, upload-time = "2026-03-25T20:21:50.506Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490, upload-time = "2026-03-25T20:21:51.474Z" }, + { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263, upload-time = "2026-03-25T20:21:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736, upload-time = "2026-03-25T20:21:53.674Z" }, + { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717, upload-time = "2026-03-25T20:21:55.129Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461, upload-time = "2026-03-25T20:21:56.228Z" }, + { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855, upload-time = "2026-03-25T20:21:57.653Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144, upload-time = "2026-03-25T20:21:59.089Z" }, + { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683, upload-time = "2026-03-25T20:22:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196, upload-time = "2026-03-25T20:22:01.169Z" }, + { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393, upload-time = "2026-03-25T20:22:02.137Z" }, + { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583, upload-time = "2026-03-25T20:22:03.012Z" }, +] [[package]] name = "typing-extensions"