diff --git a/.changeset/keep-on-ports-registration-and-name-corrections.md b/.changeset/keep-on-ports-registration-and-name-corrections.md new file mode 100644 index 0000000..a01bc4b --- /dev/null +++ b/.changeset/keep-on-ports-registration-and-name-corrections.md @@ -0,0 +1,44 @@ +--- +"@teslemetry/tesla-protocol": major +--- + +Add keep-on accessory ports, the legacy vehicle configuration block, VCSEC information-request replies and energy-device registration and Supercharger messages, and correct placeholder and mis-guessed field names in `command`. + +**Breaking: field names in `command` change.** The tags and the wire bytes are the same. The field names, the generated-code names and the JSON names change: + +| Message | Tag | JSON name before | JSON name after | +|---|---|---|---| +| `Signatures.AES_GCM_Detached_Signature_Data` | 1 | `epoch` | `nonce` | +| `Signatures.AES_GCM_Detached_Signature_Data` | 4 | `nonce` | `tag` | +| `Signatures.AES_GCM_Detached_Signature_Data` | 5 | `tag` | `prefix` | +| `Signatures.SessionInfo` | 7 | `field7` | `flags` | +| `CarServer.PrepareMobileUploadAction` | 3 | `field3` | `apply` | +| `CarServer.DogModeLiveActivityData` | 3 | `field3` | `vin` | +| `CarServer.DogModeLiveActivityData` | 4 | `field4` | `timestamp` | +| `CarServer.DogModeLiveActivityData.DogModeImageData` | 2 | `encryptedImage` | `image` | +| `CarServer.SetPhoneSettingPreferencesAction` | 2 | `field2` | `language` | +| `CarServer.SohState.SohResult` | 3 | `field3` | `soh` | +| `CarServer.VehicleDataSubscriptionResponse` | 3 | `unknown` | `error` | +| `CarServer.VitalsSubscriptionResponse` | 2 | `unknown` | `error` | +| `CarServer.PseudonymSyncResponse` | 1 | `unknown` | `pseudonym` | +| `CarServer.NavigationRouteResponse` | 1 | `unknown` | `route` | +| `CarServer.RequestTeslaAuthCommand` | 2 | `unknown` | `scope` | +| `CarServer.Profile` | 1 | `unknown1` | `uuid` | +| `CarServer.Profile` | 2 | `unknown2` | `name` | +| `CarServer.KeyInfo` | 1 | `unknown1` | `name` | +| `CarServer.KeyInfo` | 2 | `unknown2` | `model` | + +`SohState.SohResult.soh` also moves from the oneof `optional_field_3` to `optional_soh`. + +`AES_GCM_Detached_Signature_Data` is more than a rename: code that set `epoch` and `nonce` by name put the nonce bytes at tag 4 and the epoch bytes at tag 1. Tag 1 is the nonce, tag 4 is the tag and tag 5 is the prefix. + +**Added (wire-compatible):** + +- `command`: `KeepOnAccessoryPortRequest`, `KeepOnAccessoryPortsState` (`VehicleData` 39), `GetVehicleData.getKeepOnAccessoryPortsState` (34), `VehicleDataSubscription.keep_on_accessory_ports_state_max_update_rate_ms` (31), `VehicleDataFields.keep_on_accessory_ports_state` (33), and the commands `VehicleAction.setKeepOnCabin12vPortAction` (721262) and `setKeepOnCabin48vPortAction` (721263). +- `command`: `VehicleAction.dropNominalSuccessResponses` (185), `CurrentVehicleState.halloween_mode` (71) and `trick_or_treat_mode` (72), `RKEAction_E` `RKE_ACTION_LEFT_STORAGE_OPEN` (33) and `RKE_ACTION_RIGHT_STORAGE_OPEN` (34), and `Domain` `DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND` (11). +- `command`: named alternatives for `AutoparkStyle`, `AutoparkVersion`, `AutoparkState`, `SpoilerState`, `SohState.SohTestPhase` and `SohState.SohTestEndMode`, and the legacy `VehicleState` fields 34, 37, 46 and 47. +- `command`: the legacy `VehicleConfig` configuration fields (car type, trim, badging, wheels, colors, seats, charge port, drive units, efficiency package, steering wheel, `rhd`, `plg`, `vin`) with their Void-oneof types, more `InteriorTrimType` and `ExteriorTrimType` alternatives, and the `GuiSettings` distance, temperature, charge-rate and range-display units. +- `command`: the VCSEC replies to the personalization, capabilities, key-status and active-key information requests (`FromVCSECMessage` 5, 19, 21, 22), `VehicleStatus.keyLocationStatus`, and the key-permission lists on `WhitelistEntryInfo` and `PermissionChange`. +- `energy_device`: `registration_api.proto` (`RegistrationMessages`, `MessageEnvelope` 18) and `supercharger_api.proto` (`SuperchargerMessages`, `MessageEnvelope` 17); the register and site-lookup payloads on `CommonMessages` 40-45 and on the TEG and Wall Connector register calls; `Participant.proxied_device`; `CommonAPIGetSystemInfoResponse.installed_firmware_signature` (8) and `offline_firmware_signature` (9); and new `UpdateStatus`, `WCThirdPartyVehicleMode` and `WCEvseNotReadyReason` values. + +Fields not yet confirmed on a live vehicle carry an `UNCONFIRMED` comment. diff --git a/buf.yaml b/buf.yaml index e042dec..739e453 100644 --- a/buf.yaml +++ b/buf.yaml @@ -24,19 +24,17 @@ breaking: # trips this rule every time, so it's excepted repo-wide rather than per-PR. except: - RESERVED_MESSAGE_NO_DELETE - # Temporary: this patch release mirrors fleet-telemetry PR 572's final - # content, which renames, removes and renumbers Field 272-278 and drops - # Value.cruise_state_value (56) as published by the PR's first version. - # These rules flag that. Delete this block in the first PR after this - # release is published. + # Temporary: this major release corrects placeholder and mis-guessed field + # names in command/ (same tags, new names). These rules flag that. Delete this + # block in the first PR after this release is published. ignore_only: - ENUM_VALUE_NO_DELETE_UNLESS_NAME_RESERVED: - - proto/telemetry/vehicle_data.proto - ENUM_VALUE_NO_DELETE_UNLESS_NUMBER_RESERVED: - - proto/telemetry/vehicle_data.proto - ENUM_VALUE_SAME_NAME: - - proto/telemetry/vehicle_data.proto - FIELD_NO_DELETE_UNLESS_NAME_RESERVED: - - proto/telemetry/vehicle_data.proto - FIELD_NO_DELETE_UNLESS_NUMBER_RESERVED: - - proto/telemetry/vehicle_data.proto + FIELD_SAME_JSON_NAME: + - proto/command/car_server.proto + - proto/command/signatures.proto + - proto/command/vehicle.proto + FIELD_SAME_NAME: + - proto/command/car_server.proto + - proto/command/signatures.proto + - proto/command/vehicle.proto + FIELD_SAME_ONEOF: + - proto/command/vehicle.proto diff --git a/catalog/SUMMARY.md b/catalog/SUMMARY.md index 6569032..36dfc12 100644 --- a/catalog/SUMMARY.md +++ b/catalog/SUMMARY.md @@ -4,15 +4,15 @@ Generated by `scripts/build_catalog.py` from `proto/`. Do not edit by hand; regenerate with `.venv/bin/python scripts/build_catalog.py` and commit the diff. See `catalog/catalog.json` for the full descriptor-based inventory. -**Totals:** 39 source files, 7 groups, 905 messages, 254 enums, 3016 fields. +**Totals:** 41 source files, 7 groups, 1019 messages, 271 enums, 3588 fields. | Group | Source files | Compiled top-level inputs | Messages | Enums | Fields | |---|---:|---:|---:|---:|---:| | `charging` | 1 | 1 | 6 | 0 | 31 | -| `command` | 10 | 10 | 344 | 106 | 1608 | +| `command` | 10 | 10 | 377 | 113 | 1974 | | `dashcam` | 1 | 1 | 1 | 2 | 16 | | `energy_command` | 1 | 1 | 0 | 1 | 0 | -| `energy_device` | 20 | 19 | 443 | 94 | 1035 | +| `energy_device` | 22 | 21 | 524 | 104 | 1241 | | `telemetry` | 5 | 5 | 16 | 48 | 112 | | `teslapower` | 1 | 1 | 95 | 3 | 214 | diff --git a/catalog/catalog.json b/catalog/catalog.json index a71024a..74bebad 100644 --- a/catalog/catalog.json +++ b/catalog/catalog.json @@ -346,9 +346,9 @@ "typescript": "packages/typescript/src/command", "python": "packages/python/tesla_protocol/command" }, - "messages": 344, - "enums": 106, - "fields": 1608, + "messages": 377, + "enums": 113, + "fields": 1974, "files": [ { "package": "CarServer", @@ -1474,6 +1474,30 @@ "type_name": ".CarServer.SetDeckLightAction", "label": "LABEL_OPTIONAL", "oneof": "vehicle_action_msg" + }, + { + "number": 721262, + "name": "setKeepOnCabin12vPortAction", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SetKeepOnCabin12vPortAction", + "label": "LABEL_OPTIONAL", + "oneof": "vehicle_action_msg" + }, + { + "number": 721263, + "name": "setKeepOnCabin48vPortAction", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SetKeepOnCabin48vPortAction", + "label": "LABEL_OPTIONAL", + "oneof": "vehicle_action_msg" + }, + { + "number": 185, + "name": "dropNominalSuccessResponses", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [ @@ -1700,6 +1724,14 @@ "type_name": ".CarServer.GetDisplayState", "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 34, + "name": "getKeepOnAccessoryPortsState", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.GetKeepOnAccessoryPortsState", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -1718,6 +1750,16 @@ "nested_messages": [], "nested_enums": [] }, + { + "fqn": ".CarServer.GetKeepOnAccessoryPortsState", + "name": "GetKeepOnAccessoryPortsState", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { "fqn": ".CarServer.GetLegacyVehicleState", "name": "GetLegacyVehicleState", @@ -2018,7 +2060,7 @@ }, { "number": 3, - "name": "field_3", + "name": "apply", "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2256,7 +2298,7 @@ }, { "number": 3, - "name": "field_3", + "name": "vin", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2264,7 +2306,7 @@ }, { "number": 4, - "name": "field_4", + "name": "timestamp", "type": "TYPE_MESSAGE", "type_name": ".google.protobuf.Timestamp", "label": "LABEL_OPTIONAL", @@ -2321,7 +2363,7 @@ }, { "number": 2, - "name": "encryptedImage", + "name": "image", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2705,7 +2747,7 @@ "fields": [ { "number": 3, - "name": "unknown", + "name": "error", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2740,7 +2782,7 @@ }, { "number": 2, - "name": "unknown", + "name": "error", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2794,7 +2836,7 @@ "fields": [ { "number": 1, - "name": "unknown", + "name": "pseudonym", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2813,7 +2855,7 @@ "fields": [ { "number": 1, - "name": "unknown", + "name": "route", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -2971,7 +3013,7 @@ }, { "number": 2, - "name": "unknown", + "name": "scope", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -3036,7 +3078,7 @@ "fields": [ { "number": 1, - "name": "unknown_1", + "name": "uuid", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -3044,7 +3086,7 @@ }, { "number": 2, - "name": "unknown_2", + "name": "name", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -3082,7 +3124,7 @@ "fields": [ { "number": 1, - "name": "unknown_1", + "name": "name", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -3090,7 +3132,7 @@ }, { "number": 2, - "name": "unknown_2", + "name": "model", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -5505,6 +5547,14 @@ "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 31, + "name": "keep_on_accessory_ports_state_max_update_rate_ms", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -8067,7 +8117,7 @@ }, { "number": 2, - "name": "field_2", + "name": "language", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -8171,6 +8221,44 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] + }, + { + "fqn": ".CarServer.SetKeepOnCabin12vPortAction", + "name": "SetKeepOnCabin12vPortAction", + "fields": [ + { + "number": 1, + "name": "keepOnMode", + "type": "TYPE_ENUM", + "type_name": ".CarServer.KeepOnAccessoryPortRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SetKeepOnCabin48vPortAction", + "name": "SetKeepOnCabin48vPortAction", + "fields": [ + { + "number": 1, + "name": "keepOnMode", + "type": "TYPE_ENUM", + "type_name": ".CarServer.KeepOnAccessoryPortRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] } ], "enums": [ @@ -8294,6 +8382,10 @@ "number": 30, "name": "display_state" }, + { + "number": 33, + "name": "keep_on_accessory_ports_state" + }, { "number": 6072, "name": "legacy_vehicle_state_media_info" @@ -10103,7 +10195,7 @@ "fields": [ { "number": 1, - "name": "epoch", + "name": "nonce", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", @@ -10127,7 +10219,7 @@ }, { "number": 4, - "name": "nonce", + "name": "tag", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", @@ -10135,7 +10227,7 @@ }, { "number": 5, - "name": "tag", + "name": "prefix", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", @@ -10392,7 +10484,7 @@ }, { "number": 7, - "name": "field_7", + "name": "flags", "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", @@ -10848,6 +10940,10 @@ { "number": 8, "name": "DOMAIN_ENERGY_DEVICE_AUTH" + }, + { + "number": 11, + "name": "DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND" } ], "reserved_ranges": [], @@ -11214,6 +11310,22 @@ "label": "LABEL_OPTIONAL", "oneof": null }, + { + "number": 3, + "name": "permissions", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.WhitelistKeyPermission_E", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 5, + "name": "secondsEntryRemainsActive", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, { "number": 7, "name": "keyRole", @@ -11361,6 +11473,14 @@ "label": "LABEL_OPTIONAL", "oneof": null }, + { + "number": 2, + "name": "permission", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.WhitelistKeyPermission_E", + "label": "LABEL_REPEATED", + "oneof": null + }, { "number": 3, "name": "secondsToBeActive", @@ -11934,6 +12054,192 @@ "nested_messages": [], "nested_enums": [] }, + { + "fqn": ".VCSEC.KeyLocationStatus", + "name": "KeyLocationStatus", + "fields": [ + { + "number": 1, + "name": "keyCloseToCenterConsoleWithHighProbability", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.KeyLocationStatus_E", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".VCSEC.PersonalizationInformation", + "name": "PersonalizationInformation", + "fields": [ + { + "number": 1, + "name": "vin", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".VCSEC.Capabilities", + "name": "Capabilities", + "fields": [ + { + "number": 1, + "name": "chargePortOpen", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "chargePortClose", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".VCSEC.KeyStatus", + "name": "KeyStatus", + "fields": [ + { + "number": 1, + "name": "keyId", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.KeyIdentifier", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "nfcPresence", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.NFCPresence", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "blePresence", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.BLEPresence", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "publicKey", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.PublicKey", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "keyFormFactor", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.KeyFormFactor", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "slot", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "role", + "type": "TYPE_ENUM", + "type_name": ".Keys.Role", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".VCSEC.KeyStatusInfo", + "name": "KeyStatusInfo", + "fields": [ + { + "number": 1, + "name": "keyStatuses", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.KeyStatus", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2, + "name": "requestSource", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.RequestSource_E", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "QRCodeStatus", + "type": "TYPE_ENUM", + "type_name": ".VCSEC.QRCodeStatus_E", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".VCSEC.ActiveKey", + "name": "ActiveKey", + "fields": [ + { + "number": 1, + "name": "activeKey", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.KeyIdentifier", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { "fqn": ".VCSEC.VehicleStatus", "name": "VehicleStatus", @@ -11993,6 +12299,14 @@ "type_name": ".VCSEC.Gear_E", "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 8, + "name": "keyLocationStatus", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.KeyLocationStatus", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -12029,6 +12343,14 @@ "label": "LABEL_OPTIONAL", "oneof": "sub_message" }, + { + "number": 5, + "name": "personalizationInformation", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.PersonalizationInformation", + "label": "LABEL_OPTIONAL", + "oneof": "sub_message" + }, { "number": 16, "name": "whitelistInfo", @@ -12045,6 +12367,30 @@ "label": "LABEL_OPTIONAL", "oneof": "sub_message" }, + { + "number": 19, + "name": "capabilities", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.Capabilities", + "label": "LABEL_OPTIONAL", + "oneof": "sub_message" + }, + { + "number": 21, + "name": "keyStatusInfo", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.KeyStatusInfo", + "label": "LABEL_OPTIONAL", + "oneof": "sub_message" + }, + { + "number": 22, + "name": "activeKey", + "type": "TYPE_MESSAGE", + "type_name": ".VCSEC.ActiveKey", + "label": "LABEL_OPTIONAL", + "oneof": "sub_message" + }, { "number": 46, "name": "nominalError", @@ -12292,6 +12638,14 @@ { "number": 32, "name": "RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES" + }, + { + "number": 33, + "name": "RKE_ACTION_LEFT_STORAGE_OPEN" + }, + { + "number": 34, + "name": "RKE_ACTION_RIGHT_STORAGE_OPEN" } ], "reserved_ranges": [], @@ -12828,6 +13182,154 @@ ], "reserved_ranges": [], "reserved_names": [] + }, + { + "fqn": ".VCSEC.WhitelistKeyPermission_E", + "name": "WhitelistKeyPermission_E", + "values": [ + { + "number": 0, + "name": "WHITELISTKEYPERMISSION_ADD_TO_WHITELIST" + }, + { + "number": 1, + "name": "WHITELISTKEYPERMISSION_LOCAL_UNLOCK" + }, + { + "number": 2, + "name": "WHITELISTKEYPERMISSION_LOCAL_DRIVE" + }, + { + "number": 3, + "name": "WHITELISTKEYPERMISSION_REMOTE_UNLOCK" + }, + { + "number": 4, + "name": "WHITELISTKEYPERMISSION_REMOTE_DRIVE" + }, + { + "number": 5, + "name": "WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS" + }, + { + "number": 6, + "name": "WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST" + }, + { + "number": 7, + "name": "WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST" + }, + { + "number": 8, + "name": "WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS" + }, + { + "number": 31, + "name": "WHITELISTKEYPERMISSION_UNKNOWN" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".VCSEC.KeyLocationStatus_E", + "name": "KeyLocationStatus_E", + "values": [ + { + "number": 0, + "name": "KEY_LOCATION_UNKNOWN" + }, + { + "number": 1, + "name": "KEY_LOCATION_NOT_PRESENT" + }, + { + "number": 2, + "name": "KEY_LOCATION_PRESENT" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".VCSEC.NFCPresence", + "name": "NFCPresence", + "values": [ + { + "number": 0, + "name": "NFC_PRESENCE_NOT_PRESENT" + }, + { + "number": 1, + "name": "NFC_PRESENCE_PRESENT_AT_B_PILLAR" + }, + { + "number": 2, + "name": "NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".VCSEC.BLEPresence", + "name": "BLEPresence", + "values": [ + { + "number": 0, + "name": "BLE_PRESENCE_NOT_PRESENT" + }, + { + "number": 1, + "name": "BLE_PRESENCE_PRESENT" + }, + { + "number": 2, + "name": "BLE_PRESENCE_CONNECTED_NOT_PRESENT" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".VCSEC.RequestSource_E", + "name": "RequestSource_E", + "values": [ + { + "number": 0, + "name": "REQUEST_SOURCE_NOT_POPULATED" + }, + { + "number": 1, + "name": "REQUEST_SOURCE_BLE" + }, + { + "number": 2, + "name": "REQUEST_SOURCE_OTHER" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".VCSEC.QRCodeStatus_E", + "name": "QRCodeStatus_E", + "values": [ + { + "number": 0, + "name": "QR_CODE_STATUS_UNKNOWN" + }, + { + "number": 1, + "name": "QR_CODE_STATUS_DISPLAYED" + }, + { + "number": 2, + "name": "QR_CODE_STATUS_NOT_DISPLAYED" + } + ], + "reserved_ranges": [], + "reserved_names": [] } ], "path": "proto/command/vcsec.proto", @@ -13070,6 +13572,14 @@ "label": "LABEL_OPTIONAL", "oneof": null }, + { + "number": 39, + "name": "keep_on_accessory_ports_state", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.KeepOnAccessoryPortsState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, { "number": 900, "name": "pii_key_responses", @@ -16236,6 +16746,22 @@ "fqn": ".CarServer.VehicleState", "name": "VehicleState", "fields": [ + { + "number": 34, + "name": "autopark_style", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.AutoparkStyle", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 37, + "name": "active_spoiler_state", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SpoilerState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, { "number": 38, "name": "software_update_state", @@ -16260,6 +16786,22 @@ "label": "LABEL_OPTIONAL", "oneof": null }, + { + "number": 46, + "name": "autopark_version", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.AutoparkVersion", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 47, + "name": "autopark_state", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.AutoparkState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, { "number": 55, "name": "feature_bitmask", @@ -17456,6 +17998,22 @@ "type_name": null, "label": "LABEL_OPTIONAL", "oneof": "optional_field_70" + }, + { + "number": 71, + "name": "halloween_mode", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_halloween_mode" + }, + { + "number": 72, + "name": "trick_or_treat_mode", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_trick_or_treat_mode" } ], "oneofs": [ @@ -17515,7 +18073,9 @@ "optional_deck_lights_on", "optional_hazards_on", "optional_deck_lights_allowed", - "optional_field_70" + "optional_field_70", + "optional_halloween_mode", + "optional_trick_or_treat_mode" ], "reserved_ranges": [], "reserved_names": [], @@ -17555,18 +18115,28 @@ { "fqn": ".CarServer.AutoparkStyle", "name": "AutoparkStyle", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ], - [ - 2, - 2 - ] + "fields": [ + { + "number": 1, + "name": "Deadman", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Standard", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] @@ -17574,22 +18144,36 @@ { "fqn": ".CarServer.AutoparkVersion", "name": "AutoparkVersion", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ], - [ - 2, - 2 - ], - [ - 3, - 3 - ] + "fields": [ + { + "number": 1, + "name": "Version2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Version3", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Version4", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" ], + "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] @@ -17597,14 +18181,108 @@ { "fqn": ".CarServer.AutoparkState", "name": "AutoparkState", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 12 - ] + "fields": [ + { + "number": 1, + "name": "Standby", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Unavailable", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Ready", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "ActiveForward", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 5, + "name": "ActiveReverse", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 6, + "name": "Disabled", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 7, + "name": "Panic", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 8, + "name": "Preparing", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 9, + "name": "Aborting", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 10, + "name": "Paused", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 11, + "name": "Resuming", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 12, + "name": "OpeningGate", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" ], + "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] @@ -17612,26 +18290,44 @@ { "fqn": ".CarServer.SpoilerState", "name": "SpoilerState", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ], - [ - 2, - 2 - ], - [ - 3, - 3 - ], - [ - 4, - 4 - ] + "fields": [ + { + "number": 1, + "name": "Unknown", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Retracted", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Extended", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "Fault", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" ], + "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] @@ -19532,1261 +20228,955 @@ "nested_enums": [] }, { - "fqn": ".CarServer.GuiSettings", - "name": "GuiSettings", + "fqn": ".CarServer.VehicleBadging", + "name": "VehicleBadging", "fields": [ { - "number": 7, - "name": "timestamp", + "number": 1, + "name": "Base", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 104, - "name": "gui_24_hour_time", - "type": "TYPE_BOOL", - "type_name": null, + "number": 2, + "name": "Founder", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_gui_24_hour_time" + "oneof": "type" }, { - "number": 106, - "name": "show_range_units", - "type": "TYPE_BOOL", - "type_name": null, + "number": 3, + "name": "Signature", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_show_range_units" + "oneof": "type" }, { - "number": 108, - "name": "gui_tirepressure_units", - "type": "TYPE_ENUM", - "type_name": ".CarServer.GuiSettings.TirePressureUnit", + "number": 4, + "name": "Performance", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_gui_tirepressure_units" + "oneof": "type" + }, + { + "number": 5, + "name": "LaunchSeries", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 6, + "name": "SignatureSeries", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], "oneofs": [ - "optional_gui_24_hour_time", - "optional_show_range_units", - "optional_gui_tirepressure_units" + "type" ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], - "nested_enums": [ - { - "fqn": ".CarServer.GuiSettings.TirePressureUnit", - "name": "TirePressureUnit", - "values": [ - { - "number": 0, - "name": "TirePressureUnitPsi" - }, - { - "number": 1, - "name": "TirePressureUnitBar" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ] + "nested_enums": [] }, { - "fqn": ".CarServer.VehicleConfig", - "name": "VehicleConfig", + "fqn": ".CarServer.CarTrim", + "name": "CarTrim", "fields": [ { - "number": 28, - "name": "interior_trim_type", + "number": 1, + "name": "Trim40", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.VehicleConfig.InteriorTrimType", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 35, - "name": "exterior_trim_type", + "number": 2, + "name": "OBSOLETETrim50", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.VehicleConfig.ExteriorTrimType", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 61, - "name": "red_brake_calipers", - "type": "TYPE_BOOL", - "type_name": null, + "number": 3, + "name": "OBSOLETETrim50D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_red_brake_calipers" + "oneof": "type" }, { - "number": 103, - "name": "use_range_badging", - "type": "TYPE_BOOL", - "type_name": null, + "number": 4, + "name": "Trim60", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_use_range_badging" + "oneof": "type" }, { - "number": 104, - "name": "range_plus_badging", - "type": "TYPE_BOOL", - "type_name": null, + "number": 5, + "name": "Trim60D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_range_plus_badging" + "oneof": "type" }, { - "number": 105, - "name": "has_ludicrous_mode", - "type": "TYPE_BOOL", - "type_name": null, + "number": 6, + "name": "Trim70", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_ludicrous_mode" + "oneof": "type" }, { - "number": 106, - "name": "can_actuate_trunks", - "type": "TYPE_BOOL", - "type_name": null, + "number": 7, + "name": "Trim70D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_can_actuate_trunks" + "oneof": "type" }, { - "number": 110, - "name": "has_air_suspension", - "type": "TYPE_BOOL", - "type_name": null, + "number": 8, + "name": "Trim75", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_air_suspension" + "oneof": "type" }, { - "number": 120, - "name": "ece_restrictions", - "type": "TYPE_BOOL", - "type_name": null, + "number": 9, + "name": "Trim75D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_ece_restrictions" + "oneof": "type" }, { - "number": 121, - "name": "eu_vehicle", - "type": "TYPE_BOOL", - "type_name": null, + "number": 10, + "name": "TrimP75D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_eu_vehicle" + "oneof": "type" }, { - "number": 122, - "name": "motorized_charge_port", - "type": "TYPE_BOOL", - "type_name": null, + "number": 11, + "name": "Trim85", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_motorized_charge_port" + "oneof": "type" }, { - "number": 124, - "name": "can_accept_navigation_requests", - "type": "TYPE_BOOL", - "type_name": null, + "number": 12, + "name": "TrimP85", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_can_accept_navigation_requests" + "oneof": "type" }, { - "number": 125, - "name": "key_version", - "type": "TYPE_UINT32", - "type_name": null, + "number": 13, + "name": "TrimP85Plus", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_key_version" + "oneof": "type" }, { - "number": 126, - "name": "mobile_enabled", - "type": "TYPE_BOOL", - "type_name": null, + "number": 14, + "name": "Trim85D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_mobile_enabled" + "oneof": "type" }, { - "number": 134, - "name": "default_charge_to_max", - "type": "TYPE_BOOL", - "type_name": null, + "number": 15, + "name": "TrimP85D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_default_charge_to_max" + "oneof": "type" }, { - "number": 136, - "name": "steering_wheel_heater_installed", - "type": "TYPE_BOOL", - "type_name": null, + "number": 16, + "name": "Trim90", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_steering_wheel_heater_installed" + "oneof": "type" }, { - "number": 137, - "name": "sentry_mode_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 17, + "name": "TrimP90", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_sentry_mode_supported" + "oneof": "type" }, { - "number": 138, - "name": "homelink_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 18, + "name": "TrimP90Plus", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_homelink_supported" + "oneof": "type" }, { - "number": 139, - "name": "webcam_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 19, + "name": "Trim90D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_webcam_supported" + "oneof": "type" }, { - "number": 141, - "name": "bioweapon_mode_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 20, + "name": "TrimP90D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_bioweapon_mode_supported" + "oneof": "type" }, { - "number": 142, - "name": "dashcam_clip_save_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 21, + "name": "Trim100", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_dashcam_clip_save_supported" + "oneof": "type" }, { - "number": 143, - "name": "has_pws", - "type": "TYPE_BOOL", - "type_name": null, + "number": 22, + "name": "TrimP100", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_pws" + "oneof": "type" }, { - "number": 144, - "name": "utc_offset", - "type": "TYPE_SINT32", - "type_name": null, + "number": 23, + "name": "Trim100D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_utc_offset" + "oneof": "type" }, { - "number": 145, - "name": "has_seat_cooling", - "type": "TYPE_BOOL", - "type_name": null, + "number": 24, + "name": "TrimP100D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_seat_cooling" + "oneof": "type" }, { - "number": 146, - "name": "paint_color_override", - "type": "TYPE_STRING", - "type_name": null, + "number": 25, + "name": "Trim50", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_paint_color_override" + "oneof": "type" }, { - "number": 147, - "name": "tpms_pressures_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 26, + "name": "Trim50D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_tpms_pressures_supported" + "oneof": "type" }, { - "number": 148, - "name": "vehicle_badging", - "type": "TYPE_UINT32", - "type_name": null, + "number": 27, + "name": "Trim62", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_vehicle_badging" + "oneof": "type" }, { - "number": 149, - "name": "exterior_trim_override", - "type": "TYPE_STRING", - "type_name": null, + "number": 28, + "name": "Trim62D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_exterior_trim_override" + "oneof": "type" }, { - "number": 150, - "name": "headlamp_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.HeadlampType_E", + "number": 29, + "name": "Trim74", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_headlamp_type" + "oneof": "type" }, { - "number": 154, - "name": "aux_park_lamps", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.AuxParkLamps_E", + "number": 30, + "name": "Trim74D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_aux_park_lamps" + "oneof": "type" }, { - "number": 155, - "name": "is_raven", - "type": "TYPE_BOOL", - "type_name": null, + "number": 31, + "name": "TrimP74D", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_is_raven" + "oneof": "type" }, { - "number": 156, - "name": "has_auto_seat_climate", - "type": "TYPE_BOOL", - "type_name": null, + "number": 32, + "name": "TrimDefault", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_auto_seat_climate" + "oneof": "type" }, { - "number": 157, - "name": "has_front_row_seat_heaters", - "type": "TYPE_BOOL", - "type_name": null, + "number": 34, + "name": "TrimCyberbeast", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_front_row_seat_heaters" + "oneof": "type" }, { - "number": 158, - "name": "has_third_row_seat_heaters", - "type": "TYPE_BOOL", - "type_name": null, + "number": 255, + "name": "TrimInvalid", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_third_row_seat_heaters" - }, + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SunRoofType", + "name": "SunRoofType", + "fields": [ { - "number": 159, - "name": "supports_qr_pairing", - "type": "TYPE_BOOL", - "type_name": null, + "number": 1, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_qr_pairing" + "oneof": "type" }, { - "number": 161, - "name": "disable_window_vent_close", - "type": "TYPE_BOOL", - "type_name": null, + "number": 2, + "name": "Gen1", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_disable_window_vent_close" + "oneof": "type" }, { - "number": 162, - "name": "webcam_selfie_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 3, + "name": "Gen2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_webcam_selfie_supported" - }, + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.WheelType", + "name": "WheelType", + "fields": [ { - "number": 163, - "name": "cop_user_set_temp_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 3, + "name": "Unknown", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_cop_user_set_temp_supported" + "oneof": "type" }, { - "number": 164, - "name": "has_auto_stw_heat", - "type": "TYPE_BOOL", - "type_name": null, + "number": 4, + "name": "ZeroG20Gunpowder", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_auto_stw_heat" + "oneof": "type" }, { - "number": 165, - "name": "rearlight_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.RearLightType", + "number": 5, + "name": "Pinwheel18", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_rearlight_type" + "oneof": "type" }, { - "number": 166, - "name": "rear_seat_heater_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.RearSeatHeaterType", + "number": 6, + "name": "Pinwheel18CapKit", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_rear_seat_heater_type" + "oneof": "type" }, { - "number": 167, - "name": "webcam_grid_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 7, + "name": "Stiletto19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_webcam_grid_supported" + "oneof": "type" }, { - "number": 168, - "name": "has_tesla_badge", - "type": "TYPE_BOOL", - "type_name": null, + "number": 8, + "name": "Stiletto20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_tesla_badge" + "oneof": "type" }, { - "number": 169, - "name": "has_tesla_wordmark", - "type": "TYPE_BOOL", - "type_name": null, + "number": 9, + "name": "Stiletto20DarkStaggered", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_tesla_wordmark" + "oneof": "type" }, { - "number": 170, - "name": "fascia_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.FasciaType", + "number": 10, + "name": "Stiletto20DarkSquare", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_fascia_type" + "oneof": "type" }, { - "number": 171, - "name": "accessory_lightbar_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.AccessoryLightbarType", + "number": 11, + "name": "Gemini19Square", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_type" + "oneof": "type" }, { - "number": 172, - "name": "sentry_preview_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 12, + "name": "Gemini19Staggered", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_sentry_preview_supported" + "oneof": "type" }, { - "number": 173, - "name": "seat_trim_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.SeatTrimType", + "number": 13, + "name": "Induction20Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_seat_trim_type" + "oneof": "type" }, { - "number": 174, - "name": "drivetrain_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.DrivetrainType", + "number": 14, + "name": "UberTurbine21Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_drivetrain_type" + "oneof": "type" }, { - "number": 175, - "name": "lightshow_supported", - "type": "TYPE_BOOL", - "type_name": null, + "number": 15, + "name": "Apollo19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_lightshow_supported" + "oneof": "type" }, { - "number": 176, - "name": "mobile_dashcam_viewer_version", - "type": "TYPE_UINT32", - "type_name": null, + "number": 16, + "name": "Apollo19CapKit", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_mobile_dashcam_viewer_version" + "oneof": "type" }, { - "number": 177, - "name": "has_premium_connectivity", - "type": "TYPE_BOOL", - "type_name": null, + "number": 17, + "name": "ZeroG19Gunpowder", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_premium_connectivity" + "oneof": "type" }, { - "number": 178, - "name": "car_wrap_enabled", - "type": "TYPE_BOOL", - "type_name": null, + "number": 18, + "name": "Cardenio19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_car_wrap_enabled" + "oneof": "type" }, { - "number": 179, - "name": "supports_ride_height", - "type": "TYPE_BOOL", - "type_name": null, + "number": 19, + "name": "Default", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_ride_height" + "oneof": "type" }, { - "number": 180, - "name": "supports_set_arrival_energy", - "type": "TYPE_BOOL", - "type_name": null, + "number": 20, + "name": "NewTurbine22Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_set_arrival_energy" + "oneof": "type" }, { - "number": 181, - "name": "supports_pillar_camera_metadata", - "type": "TYPE_BOOL", - "type_name": null, + "number": 21, + "name": "Cyberstream", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_pillar_camera_metadata" + "oneof": "type" }, { - "number": 182, - "name": "chassis_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.ChassisType", + "number": 22, + "name": "Arachnid21", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_chassis_type" + "oneof": "type" }, { - "number": 183, - "name": "is_china_vehicle", - "type": "TYPE_BOOL", - "type_name": null, + "number": 23, + "name": "Base19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_is_china_vehicle" + "oneof": "type" }, { - "number": 184, - "name": "is_using_unreal_apviz", - "type": "TYPE_BOOL", - "type_name": null, + "number": 24, + "name": "Silver21", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_is_using_unreal_apviz" + "oneof": "type" }, { - "number": 185, - "name": "supports_flexible_dashcam_bitrate", - "type": "TYPE_BOOL", - "type_name": null, + "number": 25, + "name": "Charcoal21", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_flexible_dashcam_bitrate" + "oneof": "type" }, { - "number": 186, - "name": "front_fascia_camera_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.FrontFasciaCameraType", + "number": 26, + "name": "Silver21Euro", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_front_fascia_camera_type" + "oneof": "type" }, { - "number": 187, - "name": "turn_indicator_control_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.TurnIndicatorControlType", + "number": 27, + "name": "Aero19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_turn_indicator_control_type" + "oneof": "type" }, { - "number": 188, - "name": "has_rear_display", - "type": "TYPE_BOOL", - "type_name": null, + "number": 28, + "name": "Charcoal21Euro", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_rear_display" + "oneof": "type" }, { - "number": 189, - "name": "window_tint_color", - "type": "TYPE_STRING", - "type_name": null, + "number": 29, + "name": "Super21Gray", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_window_tint_color" + "oneof": "type" }, { - "number": 190, - "name": "interior_upper_trim_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.InteriorUpperTrimType", + "number": 30, + "name": "Super21Silver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_interior_upper_trim_type" + "oneof": "type" }, { - "number": 191, - "name": "badging_material_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.BadgingMaterialType", + "number": 31, + "name": "Turbine19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_badging_material_type" + "oneof": "type" }, { - "number": 192, - "name": "webcam_interior_only", - "type": "TYPE_BOOL", - "type_name": null, + "number": 32, + "name": "Turbine19Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_webcam_interior_only" + "oneof": "type" }, { - "number": 193, - "name": "country_code", - "type": "TYPE_STRING", - "type_name": null, + "number": 33, + "name": "AeroTurbine19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_country_code" + "oneof": "type" }, { - "number": 194, - "name": "bed_lighting_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.BedLightingType", + "number": 34, + "name": "AeroTurbine19Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_bed_lighting_type" + "oneof": "type" }, { - "number": 195, - "name": "rear_light_hardware_variant", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleConfig.RearLightHardwareVariant", + "number": 35, + "name": "Helix20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_rear_light_hardware_variant" + "oneof": "type" }, { - "number": 196, - "name": "autopilot_base", - "type": "TYPE_ENUM", - "type_name": ".CarServer.AutopilotBase", + "number": 36, + "name": "AeroTurbine20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 197, - "name": "autopilot_override_state", - "type": "TYPE_ENUM", - "type_name": ".CarServer.AutopilotOverrideState", + "number": 37, + "name": "Turbine22", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 198, - "name": "autopilot_override_expire_time", - "type": "TYPE_INT64", - "type_name": null, + "number": 38, + "name": "Cyclone19Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_autopilot_override_expire_time" + "oneof": "type" }, { - "number": 199, - "name": "supports_dynamic_environments", - "type": "TYPE_BOOL", - "type_name": null, + "number": 39, + "name": "AeroTurbine20Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_supports_dynamic_environments" + "oneof": "type" }, { - "number": 200, - "name": "wheel_caps_on", - "type": "TYPE_BOOL", - "type_name": null, + "number": 40, + "name": "Turbine22Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_wheel_caps_on" - } - ], - "oneofs": [ - "optional_red_brake_calipers", - "optional_use_range_badging", - "optional_range_plus_badging", - "optional_has_ludicrous_mode", - "optional_can_actuate_trunks", - "optional_has_air_suspension", - "optional_ece_restrictions", - "optional_eu_vehicle", - "optional_motorized_charge_port", - "optional_can_accept_navigation_requests", - "optional_key_version", - "optional_mobile_enabled", - "optional_default_charge_to_max", - "optional_steering_wheel_heater_installed", - "optional_sentry_mode_supported", - "optional_homelink_supported", - "optional_webcam_supported", - "optional_bioweapon_mode_supported", - "optional_dashcam_clip_save_supported", - "optional_has_pws", - "optional_utc_offset", - "optional_has_seat_cooling", - "optional_paint_color_override", - "optional_tpms_pressures_supported", - "optional_vehicle_badging", - "optional_exterior_trim_override", - "optional_headlamp_type", - "optional_aux_park_lamps", - "optional_is_raven", - "optional_has_auto_seat_climate", - "optional_has_front_row_seat_heaters", - "optional_has_third_row_seat_heaters", - "optional_supports_qr_pairing", - "optional_disable_window_vent_close", - "optional_webcam_selfie_supported", - "optional_cop_user_set_temp_supported", - "optional_has_auto_stw_heat", - "optional_rearlight_type", - "optional_rear_seat_heater_type", - "optional_webcam_grid_supported", - "optional_has_tesla_badge", - "optional_has_tesla_wordmark", - "optional_fascia_type", - "optional_accessory_lightbar_type", - "optional_sentry_preview_supported", - "optional_seat_trim_type", - "optional_drivetrain_type", - "optional_lightshow_supported", - "optional_mobile_dashcam_viewer_version", - "optional_has_premium_connectivity", - "optional_car_wrap_enabled", - "optional_supports_ride_height", - "optional_supports_set_arrival_energy", - "optional_supports_pillar_camera_metadata", - "optional_chassis_type", - "optional_is_china_vehicle", - "optional_is_using_unreal_apviz", - "optional_supports_flexible_dashcam_bitrate", - "optional_front_fascia_camera_type", - "optional_turn_indicator_control_type", - "optional_has_rear_display", - "optional_window_tint_color", - "optional_interior_upper_trim_type", - "optional_badging_material_type", - "optional_webcam_interior_only", - "optional_country_code", - "optional_bed_lighting_type", - "optional_rear_light_hardware_variant", - "optional_autopilot_override_expire_time", - "optional_supports_dynamic_environments", - "optional_wheel_caps_on" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [ + "oneof": "type" + }, { - "fqn": ".CarServer.VehicleConfig.InteriorTrimType", - "name": "InteriorTrimType", - "fields": [ - { - "number": 6, - "name": "BLACKCONSOLE2", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 7, - "name": "WHITECONSOLE2", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 8, - "name": "ALLBLACK", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 9, - "name": "BLACKANDWHITE", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 12, - "name": "WALNUTCREAM", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 13, - "name": "WALNUTWHITE", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 14, - "name": "EBONYBLACK", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 15, - "name": "CARBONCREAM", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 16, - "name": "CARBONWHITE", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 17, - "name": "CARBONBLACK", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 18, - "name": "TACTICALGREY", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - } - ], - "oneofs": [ - "type" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "number": 41, + "name": "Arachnid21Silver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.ExteriorTrimType", - "name": "ExteriorTrimType", - "fields": [ - { - "number": 3, - "name": "STANDARDCHROME", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - }, - { - "number": 4, - "name": "SATINBLACK", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.Void", - "label": "LABEL_OPTIONAL", - "oneof": "type" - } - ], - "oneofs": [ - "type" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - } - ], - "nested_enums": [ + "number": 42, + "name": "Arachnid21Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "fqn": ".CarServer.VehicleConfig.AuxParkLamps_E", - "name": "AuxParkLamps_E", - "values": [ - { - "number": 0, - "name": "AuxParkLampsNaBase" - }, - { - "number": 1, - "name": "AuxParkLampsNaPremium" - }, - { - "number": 2, - "name": "AuxParkLampsEu" - }, - { - "number": 3, - "name": "AuxParkLampsNone" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 43, + "name": "Arachnid21Grey", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.BadgingMaterialType", - "name": "BadgingMaterialType", - "values": [ - { - "number": 0, - "name": "BadgingMaterialTypeChromeSilver" - }, - { - "number": 1, - "name": "BadgingMaterialTypeBlackMatte" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 44, + "name": "Slipstream20Carbon", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.BedLightingType", - "name": "BedLightingType", - "values": [ - { - "number": 0, - "name": "BedLightingTypeBase" - }, - { - "number": 1, - "name": "BedLightingTypePremium" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 45, + "name": "Slipstream20Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.DrivetrainType", - "name": "DrivetrainType", - "values": [ - { - "number": 0, - "name": "DrivetrainTypeRWD" - }, - { - "number": 1, - "name": "DrivetrainTypeAWD" - }, - { - "number": 2, - "name": "DrivetrainTypeAWDTriMotor" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 46, + "name": "Slipstream19Carbon", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.FrontFasciaCameraType", - "name": "FrontFasciaCameraType", - "values": [ - { - "number": 0, - "name": "FrontFasciaCameraTypeNone" - }, - { - "number": 1, - "name": "FrontFasciaCameraTypeIMX963" - }, - { - "number": 2, - "name": "FrontFasciaCameraTypeIMX00N" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 47, + "name": "TwinTurbine21Silver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.HeadlampType_E", - "name": "HeadlampType_E", - "values": [ - { - "number": 0, - "name": "HeadlampTypePremium" - }, - { - "number": 1, - "name": "HeadlampTypeGlobal" - }, - { - "number": 2, - "name": "HeadlampTypeHalogen" - }, - { - "number": 3, - "name": "HeadlampTypeHid" - }, - { - "number": 4, - "name": "HeadlampTypeLed" - }, - { - "number": 5, - "name": "HeadlampTypeBase" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 48, + "name": "TwinTurbine21Carbon", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.InteriorUpperTrimType", - "name": "InteriorUpperTrimType", - "values": [ - { - "number": 0, - "name": "InteriorUpperTrimTypePolarGrey" - }, - { - "number": 1, - "name": "InteriorUpperTrimTypeMammothBlack" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 49, + "name": "Tempest19SonicSilver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.RearLightHardwareVariant", - "name": "RearLightHardwareVariant", - "values": [ - { - "number": 0, - "name": "RearLightHardwareVariantUnknown" - }, - { - "number": 1, - "name": "RearLightHardwareVariantBase" - }, - { - "number": 2, - "name": "RearLightHardwareVariantPremiumV1" - }, - { - "number": 3, - "name": "RearLightHardwareVariantPremiumV2" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 50, + "name": "PinwheelRefresh18", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.RearLightType", - "name": "RearLightType", - "values": [ - { - "number": 0, - "name": "RearLightTypeNA" - }, - { - "number": 1, - "name": "RearLightTypeEuCn" - }, - { - "number": 2, - "name": "RearLightTypeGlobal" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 51, + "name": "StilettoRefresh19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.SeatTrimType", - "name": "SeatTrimType", - "values": [ - { - "number": 0, - "name": "SeatTrimTypeBase" - }, - { - "number": 1, - "name": "SeatTrimTypeSport" - }, - { - "number": 2, - "name": "SeatTrimTypeBaseTextile" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "number": 52, + "name": "UberTurbine20Gunpowder", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.VehicleConfig.TurnIndicatorControlType", - "name": "TurnIndicatorControlType", - "values": [ - { - "number": 0, - "name": "TurnIndicatorControlTypeUnknown" - }, - { - "number": 1, - "name": "TurnIndicatorControlTypeSingleDetentStalk" - }, - { - "number": 2, - "name": "TurnIndicatorControlTypeSWSButton" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ] - }, - { - "fqn": ".CarServer.ParkedAccessoryState", - "name": "ParkedAccessoryState", - "fields": [ + "number": 53, + "name": "Glider18", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 1, - "name": "tent_mode_request", - "type": "TYPE_BOOL", - "type_name": null, + "number": 54, + "name": "Helix19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_tent_mode_request" + "oneof": "type" }, { - "number": 2, - "name": "horizon_leveling_state", - "type": "TYPE_BOOL", - "type_name": null, + "number": 56, + "name": "Wishbone20Staggered", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_horizon_leveling_state" + "oneof": "type" }, { - "number": 3, - "name": "front_zone_light_request", - "type": "TYPE_ENUM", - "type_name": ".CarServer.ZoneLightRequest", + "number": 57, + "name": "CtBase20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_front_zone_light_request" + "oneof": "type" }, { - "number": 4, - "name": "rear_zone_light_request", - "type": "TYPE_ENUM", - "type_name": ".CarServer.ZoneLightRequest", + "number": 58, + "name": "CtPremium20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_rear_zone_light_request" + "oneof": "type" }, { - "number": 5, - "name": "truck_bed_lights_brightness", - "type": "TYPE_UINT32", - "type_name": null, + "number": 59, + "name": "CtBase18", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_truck_bed_lights_brightness" + "oneof": "type" }, { - "number": 6, - "name": "truck_bed_lights_auto_brightness", - "type": "TYPE_UINT32", - "type_name": null, + "number": 60, + "name": "Apollo19MetallicShadow", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_truck_bed_lights_auto_brightness" + "oneof": "type" }, { - "number": 7, - "name": "truck_bed_lights_auto_state", - "type": "TYPE_BOOL", - "type_name": null, + "number": 61, + "name": "Wishbone19Staggered", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_truck_bed_lights_auto_state" + "oneof": "type" }, { - "number": 8, - "name": "truck_bed_lights_controls_disabled", - "type": "TYPE_BOOL", - "type_name": null, + "number": 62, + "name": "Crossflow19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_truck_bed_lights_controls_disabled" + "oneof": "type" }, { - "number": 9, - "name": "accessory_lightbar_middle_on", - "type": "TYPE_BOOL", - "type_name": null, + "number": 63, + "name": "HelixV220", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_middle_on" + "oneof": "type" }, { - "number": 10, - "name": "accessory_lightbar_ditch_on", - "type": "TYPE_BOOL", - "type_name": null, + "number": 64, + "name": "Standard19", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_ditch_on" + "oneof": "type" }, { - "number": 11, - "name": "accessory_lightbar_brightness", - "type": "TYPE_UINT32", - "type_name": null, + "number": 65, + "name": "Halo22", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_brightness" + "oneof": "type" }, { - "number": 12, - "name": "accessory_lightbar_low", - "type": "TYPE_UINT32", - "type_name": null, + "number": 66, + "name": "Riptide20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_low" + "oneof": "type" }, { - "number": 13, - "name": "accessory_lightbar_med", - "type": "TYPE_UINT32", - "type_name": null, + "number": 67, + "name": "Cypress21", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_med" + "oneof": "type" }, { - "number": 14, - "name": "accessory_lightbar_high", - "type": "TYPE_UINT32", - "type_name": null, + "number": 68, + "name": "MachinaV219", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_accessory_lightbar_high" + "oneof": "type" }, { - "number": 15, - "name": "has_tent_mode", - "type": "TYPE_BOOL", - "type_name": null, + "number": 69, + "name": "ArachnidV221", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_has_tent_mode" + "oneof": "type" }, { - "number": 2000, - "name": "timestamp", + "number": 70, + "name": "E4118", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + }, + { + "number": 71, + "name": "D5018", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 72, + "name": "HelixV220Dark", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 73, + "name": "UberHelix20", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], "oneofs": [ - "optional_tent_mode_request", - "optional_horizon_leveling_state", - "optional_front_zone_light_request", - "optional_rear_zone_light_request", - "optional_truck_bed_lights_brightness", - "optional_truck_bed_lights_auto_brightness", - "optional_truck_bed_lights_auto_state", - "optional_truck_bed_lights_controls_disabled", - "optional_accessory_lightbar_middle_on", - "optional_accessory_lightbar_ditch_on", - "optional_accessory_lightbar_brightness", - "optional_accessory_lightbar_low", - "optional_accessory_lightbar_med", - "optional_accessory_lightbar_high", - "optional_has_tent_mode" + "type" ], "reserved_ranges": [], "reserved_names": [], @@ -20794,580 +21184,549 @@ "nested_enums": [] }, { - "fqn": ".CarServer.SohState", - "name": "SohState", + "fqn": ".CarServer.SpoilerType", + "name": "SpoilerType", "fields": [ { "number": 1, - "name": "soh_test_state", + "name": "None_", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SohState.SohTestState", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 2, - "name": "soh_test_end_mode", + "name": "Passive", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SohState.SohTestEndMode", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 3, - "name": "soh_result", + "name": "Active", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SohState.SohResult", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.RoofColor", + "name": "RoofColor", + "fields": [ + { + "number": 1, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Glass", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 4, - "name": "timestamp", + "name": "Colored", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" } ], - "oneofs": [], + "oneofs": [ + "type" + ], "reserved_ranges": [], "reserved_names": [], - "nested_messages": [ + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.ExteriorColor", + "name": "ExteriorColor", + "fields": [ { - "fqn": ".CarServer.SohState.SohTestPhase", - "name": "SohTestPhase", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ], - [ - 2, - 2 - ], - [ - 3, - 3 - ], - [ - 4, - 4 - ] - ], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "number": 3, + "name": "Unknown", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.SohState.SohTestEndMode", - "name": "SohTestEndMode", - "fields": [], - "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ], - [ - 2, - 2 - ] - ], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "number": 4, + "name": "RedMulticoat", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.SohState.SohTestState", - "name": "SohTestState", - "fields": [ - { - "number": 1, - "name": "soh_test_phase", - "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SohState.SohTestPhase", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "soh_time_estimate", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_time_estimate" - }, - { - "number": 3, - "name": "soh_time_remaining", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_time_remaining" - } - ], - "oneofs": [ - "optional_soh_time_estimate", - "optional_soh_time_remaining" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "number": 5, + "name": "SolidBlack", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "fqn": ".CarServer.SohState.SohResult", - "name": "SohResult", - "fields": [ - { - "number": 3, - "name": "field_3", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_field_3" - }, - { - "number": 4, - "name": "soh_calibrated", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_calibrated" - }, - { - "number": 5, - "name": "soh_last_test_time", - "type": "TYPE_UINT32", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_last_test_time" - }, - { - "number": 6, - "name": "soh_health_result", - "type": "TYPE_ENUM", - "type_name": ".CarServer.SohState.WarrantyServiceResult", - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_health_result" - }, - { - "number": 7, - "name": "soh_distance_since_soh_test", - "type": "TYPE_UINT32", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_distance_since_soh_test" - }, - { - "number": 8, - "name": "soh_regulated", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "optional_soh_regulated" - } - ], - "oneofs": [ - "optional_field_3", - "optional_soh_calibrated", - "optional_soh_last_test_time", - "optional_soh_health_result", - "optional_soh_distance_since_soh_test", - "optional_soh_regulated" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - } - ], - "nested_enums": [ + "number": 6, + "name": "SilverMetallic", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "fqn": ".CarServer.SohState.WarrantyServiceResult", - "name": "WarrantyServiceResult", - "values": [ - { - "number": 0, - "name": "SOH_OK" - }, - { - "number": 1, - "name": "SOH_REDUCED" - }, - { - "number": 2, - "name": "SOH_NO_INTERNET" - }, - { - "number": 3, - "name": "SOH_UNKNOWN" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ] - }, - { - "fqn": ".CarServer.AlertState", - "name": "AlertState", - "fields": [ + "number": 7, + "name": "MidnightSilver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 1, - "name": "charging_alerts", + "number": 8, + "name": "DeepBlue", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.ChargingAlert", - "label": "LABEL_REPEATED", - "oneof": null + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 2000, - "name": "timestamp", + "number": 9, + "name": "PearlWhite", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".CarServer.LightShowOption", - "name": "LightShowOption", - "fields": [ + "oneof": "type" + }, { - "number": 1, - "name": "light_show_name", - "type": "TYPE_STRING", - "type_name": null, + "number": 10, + "name": "DefaultColor", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 2, - "name": "light_show_duration", - "type": "TYPE_STRING", - "type_name": null, + "number": 11, + "name": "Black", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".CarServer.LightShowSettings", - "name": "LightShowSettings", - "fields": [ + "oneof": "type" + }, { - "number": 1, - "name": "light_show_volume_min", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 12, + "name": "White", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 2, - "name": "light_show_volume_max", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 13, + "name": "Silver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 3, - "name": "light_show_volume_step", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 14, + "name": "Grey", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 4, - "name": "light_show_options", + "number": 15, + "name": "Blue", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.LightShowOption", - "label": "LABEL_REPEATED", - "oneof": null + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 5, - "name": "light_show_schedule_times", - "type": "TYPE_UINT64", - "type_name": null, - "label": "LABEL_REPEATED", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".CarServer.LightShowState", - "name": "LightShowState", - "fields": [ + "number": 16, + "name": "Green", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 1, - "name": "timestamp", + "number": 17, + "name": "Brown", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 2, - "name": "light_show_active", - "type": "TYPE_BOOL", - "type_name": null, + "number": 18, + "name": "Pearl", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_light_show_active" + "oneof": "type" }, { - "number": 3, - "name": "light_show_selected_name", - "type": "TYPE_STRING", - "type_name": null, + "number": 19, + "name": "SigRed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_light_show_selected_name" + "oneof": "type" }, { - "number": 4, - "name": "light_show_start_time", - "type": "TYPE_UINT64", - "type_name": null, + "number": 20, + "name": "Red", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_light_show_start_time" + "oneof": "type" }, { - "number": 5, - "name": "light_show_settings", + "number": 21, + "name": "SteelGrey", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.LightShowSettings", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [ - "optional_light_show_active", - "optional_light_show_selected_name", - "optional_light_show_start_time" - ], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".CarServer.VehicleImageData", - "name": "VehicleImageData", - "fields": [ + "oneof": "type" + }, { - "number": 1, - "name": "image_id", - "type": "TYPE_BYTES", - "type_name": null, + "number": 22, + "name": "MetallicBlack", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 2, - "name": "data", - "type": "TYPE_BYTES", - "type_name": null, + "number": 23, + "name": "TitaniumCopper", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 3, - "name": "data_chunk_size", - "type": "TYPE_UINT32", - "type_name": null, + "number": 24, + "name": "SignatureBlue", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 4, - "name": "start_offset", - "type": "TYPE_UINT32", - "type_name": null, + "number": 25, + "name": "MidnightCherryRed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + }, + { + "number": 26, + "name": "Quicksilver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 27, + "name": "UltraRed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 28, + "name": "StealthGrey", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 29, + "name": "LunarSilver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 30, + "name": "GlacierBlue", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 31, + "name": "DiamondBlack", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 32, + "name": "FrostBlue", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 33, + "name": "SilkRoadSilver", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 34, + "name": "MarineBlue", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 35, + "name": "GarnetRed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 36, + "name": "CoastalBlue", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], - "oneofs": [], + "oneofs": [ + "type" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".CarServer.VehicleImage", - "name": "VehicleImage", + "fqn": ".CarServer.RearSeatHeaters", + "name": "RearSeatHeaters", "fields": [ { "number": 1, - "name": "image_id", - "type": "TYPE_BYTES", - "type_name": null, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 2, - "name": "asset_data", + "name": "Base", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.VehicleImageData", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 3, - "name": "image_type", - "type": "TYPE_ENUM", - "type_name": ".CarServer.VehicleImageStateType", + "name": "Executive", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 4, - "name": "is_local_image", - "type": "TYPE_BOOL", - "type_name": null, + "name": "Gentherm", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 5, - "name": "total_image_size", - "type": "TYPE_UINT32", - "type_name": null, + "name": "BaseModelX", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" } ], - "oneofs": [], + "oneofs": [ + "type" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".CarServer.VehicleImageState", - "name": "VehicleImageState", + "fqn": ".CarServer.SeatType", + "name": "SeatType", "fields": [ { "number": 1, - "name": "vehicle_images", + "name": "Base", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.VehicleImage", - "label": "LABEL_REPEATED", - "oneof": null + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 2, - "name": "timestamp", + "name": "Recaro", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + }, + { + "number": 3, + "name": "TeslaMsGen1", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], - "oneofs": [], + "oneofs": [ + "type" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".CarServer.SuspensionState", - "name": "SuspensionState", + "fqn": ".CarServer.RearSeatType", + "name": "RearSeatType", "fields": [ { "number": 1, - "name": "allowed_levels", + "name": "Base", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SuspensionLevelObj", - "label": "LABEL_REPEATED", - "oneof": null + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 2, - "name": "current_level", - "type": "TYPE_ENUM", - "type_name": ".CarServer.SuspensionLevel", + "name": "Recaro", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_current_level" + "oneof": "type" }, { "number": 3, - "name": "target_level", - "type": "TYPE_ENUM", - "type_name": ".CarServer.SuspensionLevel", + "name": "Executive", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_target_level" + "oneof": "type" }, { "number": 4, - "name": "movement_state", - "type": "TYPE_ENUM", - "type_name": ".CarServer.SuspensionActuationState", + "name": "TwoSeat", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_movement_state" + "oneof": "type" }, { "number": 5, - "name": "offroad_on", - "type": "TYPE_BOOL", - "type_name": null, + "name": "FoldFlat", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_offroad_on" + "oneof": "type" }, { "number": 6, - "name": "disabled_reason", - "type": "TYPE_STRING", - "type_name": null, + "name": "FoldFlatMotorized", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_disabled_reason" + "oneof": "type" }, { "number": 7, - "name": "level_options", + "name": "TwoSeatConsole", "type": "TYPE_MESSAGE", - "type_name": ".CarServer.SuspensionLevelObj", - "label": "LABEL_REPEATED", - "oneof": null + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 2000, - "name": "timestamp", + "number": 8, + "name": "FoldFlatTwoMotor", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + }, + { + "number": 9, + "name": "FoldFlatTwoMotorHall", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 10, + "name": "FoldFlatHallBuckles", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], "oneofs": [ - "optional_current_level", - "optional_target_level", - "optional_movement_state", - "optional_offroad_on", - "optional_disabled_reason" + "type" ], "reserved_ranges": [], "reserved_names": [], @@ -21375,46 +21734,44 @@ "nested_enums": [] }, { - "fqn": ".CarServer.ChildPresenceDetectionState", - "name": "ChildPresenceDetectionState", + "fqn": ".CarServer.ThirdRowSeatType", + "name": "ThirdRowSeatType", "fields": [ { "number": 1, - "name": "cpd_disable_notification_required", - "type": "TYPE_BOOL", - "type_name": null, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_cpd_disable_notification_required" + "oneof": "type" }, { "number": 2, - "name": "cpd_hvac_active", - "type": "TYPE_BOOL", - "type_name": null, + "name": "FuturisFoldFlat", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_cpd_hvac_active" + "oneof": "type" }, { "number": 3, - "name": "cpd_supports_critical_alerts", - "type": "TYPE_BOOL", - "type_name": null, + "name": "FuturisNoFoldFlat", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_cpd_supports_critical_alerts" + "oneof": "type" }, { - "number": 2000, - "name": "timestamp", + "number": 4, + "name": "FlatFold", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" } ], "oneofs": [ - "optional_cpd_disable_notification_required", - "optional_cpd_hvac_active", - "optional_cpd_supports_critical_alerts" + "type" ], "reserved_ranges": [], "reserved_names": [], @@ -21422,1189 +21779,6472 @@ "nested_enums": [] }, { - "fqn": ".CarServer.DisplayState", - "name": "DisplayState", + "fqn": ".CarServer.ChargePortType", + "name": "ChargePortType", "fields": [ { "number": 1, - "name": "displayBrightnessAuto", - "type": "TYPE_BOOL", - "type_name": null, + "name": "US", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 2, - "name": "displayBrightnessScalePreference", - "type": "TYPE_UINT32", - "type_name": null, + "name": "EU", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { - "number": 2000, - "name": "timestamp", + "number": 3, + "name": "GB", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" + }, + { + "number": 4, + "name": "CCS", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" } ], - "oneofs": [], + "oneofs": [ + "type" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".CarServer.VehicleDetailState", - "name": "VehicleDetailState", + "fqn": ".CarServer.RearDriveUnit", + "name": "RearDriveUnit", "fields": [ { "number": 1, - "name": "timestamp", + "name": "None_", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "type" }, { "number": 2, - "name": "vehicle_name", - "type": "TYPE_STRING", - "type_name": null, + "name": "LargeRear", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_vehicle_name" + "oneof": "type" }, { "number": 3, - "name": "car_version", - "type": "TYPE_STRING", - "type_name": null, + "name": "SmallRear", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_car_version" + "oneof": "type" }, { "number": 4, - "name": "detailed_version", - "type": "TYPE_STRING", - "type_name": null, + "name": "PM216MOSFET", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_detailed_version" + "oneof": "type" }, { "number": 5, - "name": "autopilot_hash", - "type": "TYPE_STRING", - "type_name": null, + "name": "PM216IGBT", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_autopilot_hash" + "oneof": "type" }, { "number": 6, - "name": "fsd_software_version", - "type": "TYPE_STRING", - "type_name": null, + "name": "CorianderSingle", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_fsd_software_version" + "oneof": "type" }, { "number": 7, - "name": "current_profile_name", - "type": "TYPE_STRING", - "type_name": null, + "name": "CorianderDual", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_current_profile_name" + "oneof": "type" }, { "number": 8, - "name": "china_autopilot_software_version", - "type": "TYPE_STRING", - "type_name": null, + "name": "PermanentMagnet", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_china_autopilot_software_version" + "oneof": "type" }, { "number": 9, - "name": "is_fsd_v14_or_above", - "type": "TYPE_BOOL", - "type_name": null, + "name": "InductionDual", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", "label": "LABEL_OPTIONAL", - "oneof": "optional_is_fsd_v14_or_above" + "oneof": "type" } ], "oneofs": [ - "optional_vehicle_name", - "optional_car_version", - "optional_detailed_version", - "optional_autopilot_hash", - "optional_fsd_software_version", - "optional_current_profile_name", - "optional_china_autopilot_software_version", - "optional_is_fsd_v14_or_above" + "type" ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ - { - "fqn": ".CarServer.AutopilotBase", - "name": "AutopilotBase", - "values": [ - { - "number": 0, - "name": "AutopilotBase_NONE" - }, - { - "number": 1, - "name": "AutopilotBase_HIGHWAY" - }, - { - "number": 2, - "name": "AutopilotBase_ENHANCED" - }, - { - "number": 3, - "name": "AutopilotBase_SELF_DRIVING" - }, - { - "number": 4, - "name": "AutopilotBase_BASIC" - } - ], - "reserved_ranges": [], - "reserved_names": [] }, { - "fqn": ".CarServer.AutopilotOverrideState", - "name": "AutopilotOverrideState", - "values": [ - { - "number": 0, - "name": "AutopilotOverrideState_BASE" - }, + "fqn": ".CarServer.EfficiencyPackage", + "name": "EfficiencyPackage", + "fields": [ { "number": 1, - "name": "AutopilotOverrideState_SUBSCRIPTION" + "name": "Default", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 2, - "name": "AutopilotOverrideState_TRIAL" + "name": "M3SRPlus2020", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 3, - "name": "AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION" + "name": "M3LR2020", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 4, - "name": "AutopilotOverrideState_TIMEBOUND_TRIAL" + "name": "M3LRPerformance2020", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 5, - "name": "AutopilotOverrideState_OPTION_CODE" + "name": "M3SRPlus2020Q4GFSH", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 6, - "name": "AutopilotOverrideState_OPTION_OVERRIDE" + "name": "MY2020", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 7, - "name": "AutopilotOverrideState_VEHICLE_MANAGED" + "name": "M32021", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 8, - "name": "AutopilotOverrideState_UNKNOWN" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".CarServer.DashCamState", - "name": "DashCamState", - "values": [ + "name": "MY2021", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 0, - "name": "DashCamState_UNAVAILABLE" + "number": 9, + "name": "SX2020", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 1, - "name": "DashCamState_AVAILABLE" + "number": 10, + "name": "S2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 2, - "name": "DashCamState_RECORDING" + "number": 11, + "name": "SX2020H2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 3, - "name": "DashCamState_SAVED" + "number": 12, + "name": "M3SRPlus2021Q3GFSH", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 4, - "name": "DashCamState_STREAMING" + "number": 13, + "name": "M3SRPlus2021Q3Fremont", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 5, - "name": "DashCamState_NO_SPACE" + "number": 14, + "name": "MYSRPlus2021Q3GFSH", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 6, - "name": "DashCamState_SAVING" + "number": 15, + "name": "MYSRPlus2022Q1TX", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 7, - "name": "DashCamState_PAUSED" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".CarServer.TheaterSource", - "name": "TheaterSource", - "values": [ + "number": 16, + "name": "MYRWDEU2022", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 0, - "name": "TheaterSource_None" + "number": 17, + "name": "M3Poppyseed2024", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 1, - "name": "TheaterSource_YouTube" + "number": 18, + "name": "M32023GFSHExport", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 2, - "name": "TheaterSource_TeslaTutorials" + "number": 19, + "name": "MY2023GFSHExport", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 3, - "name": "TheaterSource_Netflix" + "number": 20, + "name": "MY2024", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 4, - "name": "TheaterSource_Twitch" + "number": 22, + "name": "MS2024", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 5, - "name": "TheaterSource_TikTok" + "number": 23, + "name": "MX2024", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 7, - "name": "TheaterSource_Hulu" + "number": 24, + "name": "MY2023SRRWD", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 10, - "name": "TheaterSource_BiliBili" + "number": 27, + "name": "MY2024C", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 13, - "name": "TheaterSource_Disney" + "number": 28, + "name": "MY2024GFSHExportSRRWD", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 14, - "name": "TheaterSource_Douyin" + "number": 29, + "name": "M3Poppyseed2024C", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 19, - "name": "TheaterSource_MontyPython" + "number": 30, + "name": "M32025", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 28, - "name": "TheaterSource_Tencent" + "number": 31, + "name": "MY2025", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 32, - "name": "TheaterSource_Youku" + "name": "M32025B", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 33, - "name": "TheaterSource_iQiyi" + "name": "MY2025B", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 34, - "name": "TheaterSource_ThunderStone" + "name": "MS2025", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 35, - "name": "TheaterSource_MangoTV" + "name": "MX2025", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { "number": 36, - "name": "TheaterSource_Kuaishou" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".CarServer.MediaSourceType", - "name": "MediaSourceType", - "values": [ + "name": "MYRefresh2025ROW", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, { - "number": 0, - "name": "MediaSourceType_None" + "number": 37, + "name": "MYStandard2025", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 1, - "name": "MediaSourceType_AM" + "number": 38, + "name": "MYRefresh2025CN", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 2, - "name": "MediaSourceType_FM" + "number": 39, + "name": "MS2026", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 3, - "name": "MediaSourceType_XM" + "number": 40, + "name": "MX2026", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 5, - "name": "MediaSourceType_Slacker" + "number": 41, + "name": "MY2025M53", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 6, - "name": "MediaSourceType_LocalFiles" - }, - { - "number": 7, - "name": "MediaSourceType_iPod" - }, - { - "number": 8, - "name": "MediaSourceType_Bluetooth" - }, - { - "number": 9, - "name": "MediaSourceType_AuxIn" - }, - { - "number": 10, - "name": "MediaSourceType_DAB" - }, - { - "number": 11, - "name": "MediaSourceType_Rdio" - }, - { - "number": 12, - "name": "MediaSourceType_Spotify" - }, - { - "number": 13, - "name": "MediaSourceType_USRadio" - }, - { - "number": 14, - "name": "MediaSourceType_EURadio" - }, - { - "number": 16, - "name": "MediaSourceType_MediaFile" - }, - { - "number": 17, - "name": "MediaSourceType_TuneIn" - }, - { - "number": 18, - "name": "MediaSourceType_Stingray" - }, - { - "number": 19, - "name": "MediaSourceType_SiriusXM" - }, - { - "number": 20, - "name": "MediaSourceType_Tidal" - }, - { - "number": 21, - "name": "MediaSourceType_QQMusic" - }, - { - "number": 22, - "name": "MediaSourceType_QQMusic2" - }, - { - "number": 23, - "name": "MediaSourceType_Ximalaya" - }, - { - "number": 24, - "name": "MediaSourceType_OnlineRadio" - }, - { - "number": 25, - "name": "MediaSourceType_OnlineRadio2" - }, - { - "number": 26, - "name": "MediaSourceType_NetEaseMusic" - }, - { - "number": 27, - "name": "MediaSourceType_AppleMusic" - }, - { - "number": 28, - "name": "MediaSourceType_Browser" + "number": 42, + "name": "M32025M53", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 29, - "name": "MediaSourceType_Theater" + "number": 43, + "name": "MY2025CNPlus", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 30, - "name": "MediaSourceType_Game" + "number": 44, + "name": "MS2026B", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 31, - "name": "MediaSourceType_Tutorial" + "number": 45, + "name": "M32026B", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" }, { - "number": 32, - "name": "MediaSourceType_Toybox" - }, + "number": 46, + "name": "MY2026US", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.GuiSettings", + "name": "GuiSettings", + "fields": [ { - "number": 33, - "name": "MediaSourceType_RecentsFavorites" + "number": 1, + "name": "gui_distance_units", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.GuiSettings.SpeedUnit", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 34, - "name": "MediaSourceType_HomeApps" + "number": 2, + "name": "gui_temperature_units", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.GuiSettings.TemperatureUnit", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 35, - "name": "MediaSourceType_Search" + "number": 3, + "name": "gui_charge_rate_units", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.GuiSettings.ChargeRateUnit", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 36, - "name": "MediaSourceType_ApplePodcasts" + "number": 5, + "name": "gui_range_display", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.GuiSettings.RangeDisplay", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 37, - "name": "MediaSourceType_Audible" + "number": 7, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 38, - "name": "MediaSourceType_AmazonMusic" + "number": 104, + "name": "gui_24_hour_time", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_gui_24_hour_time" }, { - "number": 39, - "name": "MediaSourceType_YouTubeMusic" + "number": 106, + "name": "show_range_units", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_show_range_units" }, { - "number": 40, - "name": "MediaSourceType_SiriusXmWeb" - }, + "number": 108, + "name": "gui_tirepressure_units", + "type": "TYPE_ENUM", + "type_name": ".CarServer.GuiSettings.TirePressureUnit", + "label": "LABEL_OPTIONAL", + "oneof": "optional_gui_tirepressure_units" + } + ], + "oneofs": [ + "optional_gui_24_hour_time", + "optional_show_range_units", + "optional_gui_tirepressure_units" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [ { - "number": 41, - "name": "MediaSourceType_Yunting" + "fqn": ".CarServer.GuiSettings.SpeedUnit", + "name": "SpeedUnit", + "fields": [ + { + "number": 1, + "name": "KilometersPerHour", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "MilesPerHour", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "number": 42, - "name": "MediaSourceType_TuneInWeb" + "fqn": ".CarServer.GuiSettings.TemperatureUnit", + "name": "TemperatureUnit", + "fields": [ + { + "number": 1, + "name": "TemperatureF", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "TemperatureC", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "number": 43, - "name": "MediaSourceType_Kugou" + "fqn": ".CarServer.GuiSettings.ChargeRateUnit", + "name": "ChargeRateUnit", + "fields": [ + { + "number": 1, + "name": "Invalid", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "KilometersPerHour", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "MilesPerHour", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "KW", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "number": 44, - "name": "MediaSourceType_Vohico" + "fqn": ".CarServer.GuiSettings.RangeDisplay", + "name": "RangeDisplay", + "fields": [ + { + "number": 1, + "name": "Ideal", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Rated", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] } ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".CarServer.VehicleImageStateType", - "name": "VehicleImageStateType", - "values": [ - { - "number": 0, - "name": "APVIZ_INVALID" - }, - { - "number": 1, - "name": "APVIZ_WRAP" - }, + "nested_enums": [ { - "number": 2, - "name": "APVIZ_LICENSE_PLATE" + "fqn": ".CarServer.GuiSettings.TirePressureUnit", + "name": "TirePressureUnit", + "values": [ + { + "number": 0, + "name": "TirePressureUnitPsi" + }, + { + "number": 1, + "name": "TirePressureUnitBar" + } + ], + "reserved_ranges": [], + "reserved_names": [] } - ], - "reserved_ranges": [], - "reserved_names": [] + ] }, { - "fqn": ".CarServer.MobileAppFeature", - "name": "MobileAppFeature", - "values": [ - { - "number": 0, - "name": "MOBILE_APP_FEATURE_ACTIVE" - }, + "fqn": ".CarServer.VehicleConfig", + "name": "VehicleConfig", + "fields": [ { "number": 1, - "name": "MOBILE_APP_FEATURE_CLIMATE_KEEPER" + "name": "car_special_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleBadging", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "MOBILE_APP_FEATURE_UNLOCK_STOP_CHARGE" - }, - { - "number": 3, - "name": "MOBILE_APP_FEATURE_SET_RATE_TARIFF" - }, - { - "number": 4, - "name": "MOBILE_APP_FEATURE_GET_RATE_TARIFF" - }, - { - "number": 5, - "name": "MOBILE_APP_FEATURE_DRIVENOTE" - }, - { - "number": 6, - "name": "MOBILE_APP_FEATURE_CLIMATE_KEEPER_OVERRIDE" + "name": "car_trim", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.CarTrim", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 7, - "name": "MOBILE_APP_FEATURE_SIGNED_VIDEO_REQUEST" + "name": "car_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.CarType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 8, - "name": "MOBILE_APP_FEATURE_SENTRY_CAM_FLASH_LIGHTS" + "name": "sun_roof_installed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SunRoofType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 9, - "name": "MOBILE_APP_FEATURE_BOOMBOX" - }, - { - "number": 10, - "name": "MOBILE_APP_FEATURE_DOOR_UNLATCH" + "name": "wheel_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.WheelType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 11, - "name": "MOBILE_APP_FEATURE_SEAT_HEATERS_INSTALLED" + "name": "spoiler_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SpoilerType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 12, - "name": "MOBILE_APP_FEATURE_LAST_SEEN_TPMS" + "name": "roof_color", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.RoofColor", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 13, - "name": "MOBILE_APP_FEATURE_UI_CHARGE_PORT" - }, - { - "number": 14, - "name": "MOBILE_APP_FEATURE_MONITOR_AND_CHARGE_ROLES" - }, - { - "number": 15, - "name": "MOBILE_APP_FEATURE_PROTO_FLOATS" + "name": "exterior_color", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.ExteriorColor", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 16, - "name": "MOBILE_APP_FEATURE_BLUETOOTH_PAIRING" + "name": "rear_seat_heaters", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.RearSeatHeaters", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 17, - "name": "MOBILE_APP_FEATURE_HMAC_AUTHENTICATION" + "name": "seat_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SeatType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 18, - "name": "MOBILE_APP_COP_USER_SET_TEMP" + "name": "rear_seat_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.RearSeatType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 19, - "name": "MOBILE_APP_FEATURE_MEDIA_DETAILS" - }, - { - "number": 20, - "name": "MOBILE_APP_FEATURE_RESPONSE_CACHE" - }, - { - "number": 22, - "name": "MOBILE_APP_FEATURE_SCC" + "name": "third_row_seat_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.ThirdRowSeatType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 23, - "name": "MOBILE_APP_FEATURE_SENTRY_CAM_WITH_DOG_MODE" - }, - { - "number": 24, - "name": "MOBILE_APP_FEATURE_AUTO_STEERING_WHEEL_HEAT" - }, - { - "number": 25, - "name": "MOBILE_APP_FEATURE_MANAGED_CHARGING" - }, - { - "number": 26, - "name": "MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND_DECPRECATED" + "name": "charge_port_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.ChargePortType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 27, - "name": "MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND" + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 28, - "name": "MOBILE_APP_FEATURE_SEND_NAVIGATION_ROUTE" + "name": "interior_trim_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.InteriorTrimType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 29, - "name": "MOBILE_APP_FEATURE_RED_BRAKE_CALIPER_FIX" + "name": "driver_assist", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.DriverAssist", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 30, - "name": "MOBILE_APP_FEATURE_PIN_TO_DRIVE" + "name": "performance_package", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.PerformancePackage", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 31, - "name": "MOBILE_APP_COP_NOT_RUNNING_REASON" + "name": "front_drive_unit", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.FrontDriveUnit", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 32, - "name": "MOBILE_APP_FEATURE_SET_VEHICLE_NAME" + "name": "rear_drive_unit", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.RearDriveUnit", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 33, - "name": "MOBILE_APP_FEATURE_VEHICLE_DATA_PII_V2" - }, - { - "number": 34, - "name": "MOBILE_APP_FEATURE_BOOMBOX_V2" + "name": "efficiency_package", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.EfficiencyPackage", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 35, - "name": "MOBILE_APP_FEATURE_UWB_STABLE_FOR_SUPPORTED_CARS" + "name": "exterior_trim_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.ExteriorTrimType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 36, - "name": "MOBILE_APP_FEATURE_SPEED_LIMIT_PIN_RESET_SIGNED_COMMAND" + "number": 40, + "name": "steering_wheel_type", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleConfig.SteeringWheelType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 37, - "name": "MOBILE_APP_FEATURE_PRECISE_LOCATION_TAG" - }, + "number": 61, + "name": "red_brake_calipers", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_red_brake_calipers" + }, + { + "number": 103, + "name": "use_range_badging", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_use_range_badging" + }, + { + "number": 104, + "name": "range_plus_badging", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_range_plus_badging" + }, + { + "number": 105, + "name": "has_ludicrous_mode", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_ludicrous_mode" + }, + { + "number": 106, + "name": "can_actuate_trunks", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_can_actuate_trunks" + }, + { + "number": 110, + "name": "has_air_suspension", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_air_suspension" + }, + { + "number": 114, + "name": "rhd", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_rhd" + }, + { + "number": 115, + "name": "plg", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_plg" + }, + { + "number": 120, + "name": "ece_restrictions", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_ece_restrictions" + }, + { + "number": 121, + "name": "eu_vehicle", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_eu_vehicle" + }, + { + "number": 122, + "name": "motorized_charge_port", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_motorized_charge_port" + }, + { + "number": 124, + "name": "can_accept_navigation_requests", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_can_accept_navigation_requests" + }, + { + "number": 125, + "name": "key_version", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_key_version" + }, + { + "number": 126, + "name": "mobile_enabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_mobile_enabled" + }, + { + "number": 134, + "name": "default_charge_to_max", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_default_charge_to_max" + }, + { + "number": 136, + "name": "steering_wheel_heater_installed", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_steering_wheel_heater_installed" + }, + { + "number": 137, + "name": "sentry_mode_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_sentry_mode_supported" + }, + { + "number": 138, + "name": "homelink_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_homelink_supported" + }, + { + "number": 139, + "name": "webcam_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_webcam_supported" + }, + { + "number": 141, + "name": "bioweapon_mode_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_bioweapon_mode_supported" + }, + { + "number": 142, + "name": "dashcam_clip_save_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_dashcam_clip_save_supported" + }, + { + "number": 143, + "name": "has_pws", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_pws" + }, + { + "number": 144, + "name": "utc_offset", + "type": "TYPE_SINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_utc_offset" + }, + { + "number": 145, + "name": "has_seat_cooling", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_seat_cooling" + }, + { + "number": 146, + "name": "paint_color_override", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_paint_color_override" + }, + { + "number": 147, + "name": "tpms_pressures_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_tpms_pressures_supported" + }, + { + "number": 148, + "name": "vehicle_badging", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_vehicle_badging" + }, + { + "number": 149, + "name": "exterior_trim_override", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_exterior_trim_override" + }, + { + "number": 150, + "name": "headlamp_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.HeadlampType_E", + "label": "LABEL_OPTIONAL", + "oneof": "optional_headlamp_type" + }, + { + "number": 154, + "name": "aux_park_lamps", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.AuxParkLamps_E", + "label": "LABEL_OPTIONAL", + "oneof": "optional_aux_park_lamps" + }, + { + "number": 155, + "name": "is_raven", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_is_raven" + }, + { + "number": 156, + "name": "has_auto_seat_climate", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_auto_seat_climate" + }, + { + "number": 157, + "name": "has_front_row_seat_heaters", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_front_row_seat_heaters" + }, + { + "number": 158, + "name": "has_third_row_seat_heaters", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_third_row_seat_heaters" + }, + { + "number": 159, + "name": "supports_qr_pairing", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_qr_pairing" + }, + { + "number": 160, + "name": "vin", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_vin" + }, + { + "number": 161, + "name": "disable_window_vent_close", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_disable_window_vent_close" + }, + { + "number": 162, + "name": "webcam_selfie_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_webcam_selfie_supported" + }, + { + "number": 163, + "name": "cop_user_set_temp_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_cop_user_set_temp_supported" + }, + { + "number": 164, + "name": "has_auto_stw_heat", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_auto_stw_heat" + }, + { + "number": 165, + "name": "rearlight_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.RearLightType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_rearlight_type" + }, + { + "number": 166, + "name": "rear_seat_heater_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.RearSeatHeaterType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_rear_seat_heater_type" + }, + { + "number": 167, + "name": "webcam_grid_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_webcam_grid_supported" + }, + { + "number": 168, + "name": "has_tesla_badge", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_tesla_badge" + }, + { + "number": 169, + "name": "has_tesla_wordmark", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_tesla_wordmark" + }, + { + "number": 170, + "name": "fascia_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.FasciaType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_fascia_type" + }, + { + "number": 171, + "name": "accessory_lightbar_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.AccessoryLightbarType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_type" + }, + { + "number": 172, + "name": "sentry_preview_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_sentry_preview_supported" + }, + { + "number": 173, + "name": "seat_trim_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.SeatTrimType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_seat_trim_type" + }, + { + "number": 174, + "name": "drivetrain_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.DrivetrainType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_drivetrain_type" + }, + { + "number": 175, + "name": "lightshow_supported", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_lightshow_supported" + }, + { + "number": 176, + "name": "mobile_dashcam_viewer_version", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_mobile_dashcam_viewer_version" + }, + { + "number": 177, + "name": "has_premium_connectivity", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_premium_connectivity" + }, + { + "number": 178, + "name": "car_wrap_enabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_car_wrap_enabled" + }, + { + "number": 179, + "name": "supports_ride_height", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_ride_height" + }, + { + "number": 180, + "name": "supports_set_arrival_energy", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_set_arrival_energy" + }, + { + "number": 181, + "name": "supports_pillar_camera_metadata", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_pillar_camera_metadata" + }, + { + "number": 182, + "name": "chassis_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.ChassisType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_chassis_type" + }, + { + "number": 183, + "name": "is_china_vehicle", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_is_china_vehicle" + }, + { + "number": 184, + "name": "is_using_unreal_apviz", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_is_using_unreal_apviz" + }, + { + "number": 185, + "name": "supports_flexible_dashcam_bitrate", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_flexible_dashcam_bitrate" + }, + { + "number": 186, + "name": "front_fascia_camera_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.FrontFasciaCameraType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_front_fascia_camera_type" + }, + { + "number": 187, + "name": "turn_indicator_control_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.TurnIndicatorControlType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_turn_indicator_control_type" + }, + { + "number": 188, + "name": "has_rear_display", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_rear_display" + }, + { + "number": 189, + "name": "window_tint_color", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_window_tint_color" + }, + { + "number": 190, + "name": "interior_upper_trim_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.InteriorUpperTrimType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_interior_upper_trim_type" + }, + { + "number": 191, + "name": "badging_material_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.BadgingMaterialType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_badging_material_type" + }, + { + "number": 192, + "name": "webcam_interior_only", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_webcam_interior_only" + }, + { + "number": 193, + "name": "country_code", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_country_code" + }, + { + "number": 194, + "name": "bed_lighting_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.BedLightingType", + "label": "LABEL_OPTIONAL", + "oneof": "optional_bed_lighting_type" + }, + { + "number": 195, + "name": "rear_light_hardware_variant", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleConfig.RearLightHardwareVariant", + "label": "LABEL_OPTIONAL", + "oneof": "optional_rear_light_hardware_variant" + }, + { + "number": 196, + "name": "autopilot_base", + "type": "TYPE_ENUM", + "type_name": ".CarServer.AutopilotBase", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 197, + "name": "autopilot_override_state", + "type": "TYPE_ENUM", + "type_name": ".CarServer.AutopilotOverrideState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 198, + "name": "autopilot_override_expire_time", + "type": "TYPE_INT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_autopilot_override_expire_time" + }, + { + "number": 199, + "name": "supports_dynamic_environments", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_supports_dynamic_environments" + }, + { + "number": 200, + "name": "wheel_caps_on", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_wheel_caps_on" + } + ], + "oneofs": [ + "optional_red_brake_calipers", + "optional_use_range_badging", + "optional_range_plus_badging", + "optional_has_ludicrous_mode", + "optional_can_actuate_trunks", + "optional_has_air_suspension", + "optional_rhd", + "optional_plg", + "optional_ece_restrictions", + "optional_eu_vehicle", + "optional_motorized_charge_port", + "optional_can_accept_navigation_requests", + "optional_key_version", + "optional_mobile_enabled", + "optional_default_charge_to_max", + "optional_steering_wheel_heater_installed", + "optional_sentry_mode_supported", + "optional_homelink_supported", + "optional_webcam_supported", + "optional_bioweapon_mode_supported", + "optional_dashcam_clip_save_supported", + "optional_has_pws", + "optional_utc_offset", + "optional_has_seat_cooling", + "optional_paint_color_override", + "optional_tpms_pressures_supported", + "optional_vehicle_badging", + "optional_exterior_trim_override", + "optional_headlamp_type", + "optional_aux_park_lamps", + "optional_is_raven", + "optional_has_auto_seat_climate", + "optional_has_front_row_seat_heaters", + "optional_has_third_row_seat_heaters", + "optional_supports_qr_pairing", + "optional_vin", + "optional_disable_window_vent_close", + "optional_webcam_selfie_supported", + "optional_cop_user_set_temp_supported", + "optional_has_auto_stw_heat", + "optional_rearlight_type", + "optional_rear_seat_heater_type", + "optional_webcam_grid_supported", + "optional_has_tesla_badge", + "optional_has_tesla_wordmark", + "optional_fascia_type", + "optional_accessory_lightbar_type", + "optional_sentry_preview_supported", + "optional_seat_trim_type", + "optional_drivetrain_type", + "optional_lightshow_supported", + "optional_mobile_dashcam_viewer_version", + "optional_has_premium_connectivity", + "optional_car_wrap_enabled", + "optional_supports_ride_height", + "optional_supports_set_arrival_energy", + "optional_supports_pillar_camera_metadata", + "optional_chassis_type", + "optional_is_china_vehicle", + "optional_is_using_unreal_apviz", + "optional_supports_flexible_dashcam_bitrate", + "optional_front_fascia_camera_type", + "optional_turn_indicator_control_type", + "optional_has_rear_display", + "optional_window_tint_color", + "optional_interior_upper_trim_type", + "optional_badging_material_type", + "optional_webcam_interior_only", + "optional_country_code", + "optional_bed_lighting_type", + "optional_rear_light_hardware_variant", + "optional_autopilot_override_expire_time", + "optional_supports_dynamic_environments", + "optional_wheel_caps_on" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [ + { + "fqn": ".CarServer.VehicleConfig.CarType", + "name": "CarType", + "fields": [ + { + "number": 1, + "name": "CarTypeModelS", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "CarTypeModelX", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "CarTypeModelS2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "CarTypeModel3", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 5, + "name": "CarTypeModelY", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 6, + "name": "CarTypeSemiTruck", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 7, + "name": "CarTypeLychee", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 8, + "name": "CarTypeTamarind", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 9, + "name": "CarTypeCybertruck", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 11, + "name": "CarTypeSemiTruckV2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.DriverAssist", + "name": "DriverAssist", + "fields": [ + { + "number": 1, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "MonoCam", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "ParkerPascal", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "ParkerPascal25", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 5, + "name": "TeslaAP3", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.PerformancePackage", + "name": "PerformancePackage", + "fields": [ + { + "number": 1, + "name": "None_", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Base", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Performance", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "BasePlus", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.FrontDriveUnit", + "name": "FrontDriveUnit", + "fields": [ + { + "number": 1, + "name": "NoneOrSmall", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "PermanentMagnet", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.SteeringWheelType", + "name": "SteeringWheelType", + "fields": [ + { + "number": 1, + "name": "Unknown", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Round", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Yoke", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "Squircle", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.InteriorTrimType", + "name": "InteriorTrimType", + "fields": [ + { + "number": 3, + "name": "UNKNOWN", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "BLACK", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 5, + "name": "WHITE", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 6, + "name": "BLACKCONSOLE2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 7, + "name": "WHITECONSOLE2", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 8, + "name": "ALLBLACK", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 9, + "name": "BLACKANDWHITE", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 10, + "name": "CREAM", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 12, + "name": "WALNUTCREAM", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 13, + "name": "WALNUTWHITE", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 14, + "name": "EBONYBLACK", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 15, + "name": "CARBONCREAM", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 16, + "name": "CARBONWHITE", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 17, + "name": "CARBONBLACK", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 18, + "name": "TACTICALGREY", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleConfig.ExteriorTrimType", + "name": "ExteriorTrimType", + "fields": [ + { + "number": 2, + "name": "UNKNOWN", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "STANDARDCHROME", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "SATINBLACK", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "nested_enums": [ + { + "fqn": ".CarServer.VehicleConfig.AuxParkLamps_E", + "name": "AuxParkLamps_E", + "values": [ + { + "number": 0, + "name": "AuxParkLampsNaBase" + }, + { + "number": 1, + "name": "AuxParkLampsNaPremium" + }, + { + "number": 2, + "name": "AuxParkLampsEu" + }, + { + "number": 3, + "name": "AuxParkLampsNone" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.BadgingMaterialType", + "name": "BadgingMaterialType", + "values": [ + { + "number": 0, + "name": "BadgingMaterialTypeChromeSilver" + }, + { + "number": 1, + "name": "BadgingMaterialTypeBlackMatte" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.BedLightingType", + "name": "BedLightingType", + "values": [ + { + "number": 0, + "name": "BedLightingTypeBase" + }, + { + "number": 1, + "name": "BedLightingTypePremium" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.DrivetrainType", + "name": "DrivetrainType", + "values": [ + { + "number": 0, + "name": "DrivetrainTypeRWD" + }, + { + "number": 1, + "name": "DrivetrainTypeAWD" + }, + { + "number": 2, + "name": "DrivetrainTypeAWDTriMotor" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.FrontFasciaCameraType", + "name": "FrontFasciaCameraType", + "values": [ + { + "number": 0, + "name": "FrontFasciaCameraTypeNone" + }, + { + "number": 1, + "name": "FrontFasciaCameraTypeIMX963" + }, + { + "number": 2, + "name": "FrontFasciaCameraTypeIMX00N" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.HeadlampType_E", + "name": "HeadlampType_E", + "values": [ + { + "number": 0, + "name": "HeadlampTypePremium" + }, + { + "number": 1, + "name": "HeadlampTypeGlobal" + }, + { + "number": 2, + "name": "HeadlampTypeHalogen" + }, + { + "number": 3, + "name": "HeadlampTypeHid" + }, + { + "number": 4, + "name": "HeadlampTypeLed" + }, + { + "number": 5, + "name": "HeadlampTypeBase" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.InteriorUpperTrimType", + "name": "InteriorUpperTrimType", + "values": [ + { + "number": 0, + "name": "InteriorUpperTrimTypePolarGrey" + }, + { + "number": 1, + "name": "InteriorUpperTrimTypeMammothBlack" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.RearLightHardwareVariant", + "name": "RearLightHardwareVariant", + "values": [ + { + "number": 0, + "name": "RearLightHardwareVariantUnknown" + }, + { + "number": 1, + "name": "RearLightHardwareVariantBase" + }, + { + "number": 2, + "name": "RearLightHardwareVariantPremiumV1" + }, + { + "number": 3, + "name": "RearLightHardwareVariantPremiumV2" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.RearLightType", + "name": "RearLightType", + "values": [ + { + "number": 0, + "name": "RearLightTypeNA" + }, + { + "number": 1, + "name": "RearLightTypeEuCn" + }, + { + "number": 2, + "name": "RearLightTypeGlobal" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.SeatTrimType", + "name": "SeatTrimType", + "values": [ + { + "number": 0, + "name": "SeatTrimTypeBase" + }, + { + "number": 1, + "name": "SeatTrimTypeSport" + }, + { + "number": 2, + "name": "SeatTrimTypeBaseTextile" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleConfig.TurnIndicatorControlType", + "name": "TurnIndicatorControlType", + "values": [ + { + "number": 0, + "name": "TurnIndicatorControlTypeUnknown" + }, + { + "number": 1, + "name": "TurnIndicatorControlTypeSingleDetentStalk" + }, + { + "number": 2, + "name": "TurnIndicatorControlTypeSWSButton" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ] + }, + { + "fqn": ".CarServer.ParkedAccessoryState", + "name": "ParkedAccessoryState", + "fields": [ + { + "number": 1, + "name": "tent_mode_request", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_tent_mode_request" + }, + { + "number": 2, + "name": "horizon_leveling_state", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_horizon_leveling_state" + }, + { + "number": 3, + "name": "front_zone_light_request", + "type": "TYPE_ENUM", + "type_name": ".CarServer.ZoneLightRequest", + "label": "LABEL_OPTIONAL", + "oneof": "optional_front_zone_light_request" + }, + { + "number": 4, + "name": "rear_zone_light_request", + "type": "TYPE_ENUM", + "type_name": ".CarServer.ZoneLightRequest", + "label": "LABEL_OPTIONAL", + "oneof": "optional_rear_zone_light_request" + }, + { + "number": 5, + "name": "truck_bed_lights_brightness", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_truck_bed_lights_brightness" + }, + { + "number": 6, + "name": "truck_bed_lights_auto_brightness", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_truck_bed_lights_auto_brightness" + }, + { + "number": 7, + "name": "truck_bed_lights_auto_state", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_truck_bed_lights_auto_state" + }, + { + "number": 8, + "name": "truck_bed_lights_controls_disabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_truck_bed_lights_controls_disabled" + }, + { + "number": 9, + "name": "accessory_lightbar_middle_on", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_middle_on" + }, + { + "number": 10, + "name": "accessory_lightbar_ditch_on", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_ditch_on" + }, + { + "number": 11, + "name": "accessory_lightbar_brightness", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_brightness" + }, + { + "number": 12, + "name": "accessory_lightbar_low", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_low" + }, + { + "number": 13, + "name": "accessory_lightbar_med", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_med" + }, + { + "number": 14, + "name": "accessory_lightbar_high", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_accessory_lightbar_high" + }, + { + "number": 15, + "name": "has_tent_mode", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_has_tent_mode" + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [ + "optional_tent_mode_request", + "optional_horizon_leveling_state", + "optional_front_zone_light_request", + "optional_rear_zone_light_request", + "optional_truck_bed_lights_brightness", + "optional_truck_bed_lights_auto_brightness", + "optional_truck_bed_lights_auto_state", + "optional_truck_bed_lights_controls_disabled", + "optional_accessory_lightbar_middle_on", + "optional_accessory_lightbar_ditch_on", + "optional_accessory_lightbar_brightness", + "optional_accessory_lightbar_low", + "optional_accessory_lightbar_med", + "optional_accessory_lightbar_high", + "optional_has_tent_mode" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SohState", + "name": "SohState", + "fields": [ + { + "number": 1, + "name": "soh_test_state", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SohState.SohTestState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "soh_test_end_mode", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SohState.SohTestEndMode", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "soh_result", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SohState.SohResult", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [ + { + "fqn": ".CarServer.SohState.SohTestPhase", + "name": "SohTestPhase", + "fields": [ + { + "number": 1, + "name": "Discharge", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "DischargeRest", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 3, + "name": "Charge", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 4, + "name": "ChargeRest", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SohState.SohTestEndMode", + "name": "SohTestEndMode", + "fields": [ + { + "number": 1, + "name": "Complete", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + }, + { + "number": 2, + "name": "Failed", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.Void", + "label": "LABEL_OPTIONAL", + "oneof": "type" + } + ], + "oneofs": [ + "type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SohState.SohTestState", + "name": "SohTestState", + "fields": [ + { + "number": 1, + "name": "soh_test_phase", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SohState.SohTestPhase", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "soh_time_estimate", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_time_estimate" + }, + { + "number": 3, + "name": "soh_time_remaining", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_time_remaining" + } + ], + "oneofs": [ + "optional_soh_time_estimate", + "optional_soh_time_remaining" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SohState.SohResult", + "name": "SohResult", + "fields": [ + { + "number": 3, + "name": "soh", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh" + }, + { + "number": 4, + "name": "soh_calibrated", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_calibrated" + }, + { + "number": 5, + "name": "soh_last_test_time", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_last_test_time" + }, + { + "number": 6, + "name": "soh_health_result", + "type": "TYPE_ENUM", + "type_name": ".CarServer.SohState.WarrantyServiceResult", + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_health_result" + }, + { + "number": 7, + "name": "soh_distance_since_soh_test", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_distance_since_soh_test" + }, + { + "number": 8, + "name": "soh_regulated", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_soh_regulated" + } + ], + "oneofs": [ + "optional_soh", + "optional_soh_calibrated", + "optional_soh_last_test_time", + "optional_soh_health_result", + "optional_soh_distance_since_soh_test", + "optional_soh_regulated" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "nested_enums": [ + { + "fqn": ".CarServer.SohState.WarrantyServiceResult", + "name": "WarrantyServiceResult", + "values": [ + { + "number": 0, + "name": "SOH_OK" + }, + { + "number": 1, + "name": "SOH_REDUCED" + }, + { + "number": 2, + "name": "SOH_NO_INTERNET" + }, + { + "number": 3, + "name": "SOH_UNKNOWN" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ] + }, + { + "fqn": ".CarServer.AlertState", + "name": "AlertState", + "fields": [ + { + "number": 1, + "name": "charging_alerts", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.ChargingAlert", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.LightShowOption", + "name": "LightShowOption", + "fields": [ + { + "number": 1, + "name": "light_show_name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "light_show_duration", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.LightShowSettings", + "name": "LightShowSettings", + "fields": [ + { + "number": 1, + "name": "light_show_volume_min", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "light_show_volume_max", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "light_show_volume_step", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "light_show_options", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.LightShowOption", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 5, + "name": "light_show_schedule_times", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.LightShowState", + "name": "LightShowState", + "fields": [ + { + "number": 1, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "light_show_active", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_light_show_active" + }, + { + "number": 3, + "name": "light_show_selected_name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_light_show_selected_name" + }, + { + "number": 4, + "name": "light_show_start_time", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_light_show_start_time" + }, + { + "number": 5, + "name": "light_show_settings", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.LightShowSettings", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [ + "optional_light_show_active", + "optional_light_show_selected_name", + "optional_light_show_start_time" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleImageData", + "name": "VehicleImageData", + "fields": [ + { + "number": 1, + "name": "image_id", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "data", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "data_chunk_size", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "start_offset", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleImage", + "name": "VehicleImage", + "fields": [ + { + "number": 1, + "name": "image_id", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "asset_data", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleImageData", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "image_type", + "type": "TYPE_ENUM", + "type_name": ".CarServer.VehicleImageStateType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "is_local_image", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "total_image_size", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleImageState", + "name": "VehicleImageState", + "fields": [ + { + "number": 1, + "name": "vehicle_images", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.VehicleImage", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.SuspensionState", + "name": "SuspensionState", + "fields": [ + { + "number": 1, + "name": "allowed_levels", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SuspensionLevelObj", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2, + "name": "current_level", + "type": "TYPE_ENUM", + "type_name": ".CarServer.SuspensionLevel", + "label": "LABEL_OPTIONAL", + "oneof": "optional_current_level" + }, + { + "number": 3, + "name": "target_level", + "type": "TYPE_ENUM", + "type_name": ".CarServer.SuspensionLevel", + "label": "LABEL_OPTIONAL", + "oneof": "optional_target_level" + }, + { + "number": 4, + "name": "movement_state", + "type": "TYPE_ENUM", + "type_name": ".CarServer.SuspensionActuationState", + "label": "LABEL_OPTIONAL", + "oneof": "optional_movement_state" + }, + { + "number": 5, + "name": "offroad_on", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_offroad_on" + }, + { + "number": 6, + "name": "disabled_reason", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_disabled_reason" + }, + { + "number": 7, + "name": "level_options", + "type": "TYPE_MESSAGE", + "type_name": ".CarServer.SuspensionLevelObj", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [ + "optional_current_level", + "optional_target_level", + "optional_movement_state", + "optional_offroad_on", + "optional_disabled_reason" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.ChildPresenceDetectionState", + "name": "ChildPresenceDetectionState", + "fields": [ + { + "number": 1, + "name": "cpd_disable_notification_required", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_cpd_disable_notification_required" + }, + { + "number": 2, + "name": "cpd_hvac_active", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_cpd_hvac_active" + }, + { + "number": 3, + "name": "cpd_supports_critical_alerts", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_cpd_supports_critical_alerts" + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [ + "optional_cpd_disable_notification_required", + "optional_cpd_hvac_active", + "optional_cpd_supports_critical_alerts" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.DisplayState", + "name": "DisplayState", + "fields": [ + { + "number": 1, + "name": "displayBrightnessAuto", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "displayBrightnessScalePreference", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.VehicleDetailState", + "name": "VehicleDetailState", + "fields": [ + { + "number": 1, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "vehicle_name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_vehicle_name" + }, + { + "number": 3, + "name": "car_version", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_car_version" + }, + { + "number": 4, + "name": "detailed_version", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_detailed_version" + }, + { + "number": 5, + "name": "autopilot_hash", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_autopilot_hash" + }, + { + "number": 6, + "name": "fsd_software_version", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_fsd_software_version" + }, + { + "number": 7, + "name": "current_profile_name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_current_profile_name" + }, + { + "number": 8, + "name": "china_autopilot_software_version", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_china_autopilot_software_version" + }, + { + "number": 9, + "name": "is_fsd_v14_or_above", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "optional_is_fsd_v14_or_above" + } + ], + "oneofs": [ + "optional_vehicle_name", + "optional_car_version", + "optional_detailed_version", + "optional_autopilot_hash", + "optional_fsd_software_version", + "optional_current_profile_name", + "optional_china_autopilot_software_version", + "optional_is_fsd_v14_or_above" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".CarServer.KeepOnAccessoryPortsState", + "name": "KeepOnAccessoryPortsState", + "fields": [ + { + "number": 1, + "name": "keep_on_cabin_12v_port_request", + "type": "TYPE_ENUM", + "type_name": ".CarServer.KeepOnAccessoryPortRequest", + "label": "LABEL_OPTIONAL", + "oneof": "optional_keep_on_cabin_12v_port_request" + }, + { + "number": 2, + "name": "keep_on_cabin_48v_port_request", + "type": "TYPE_ENUM", + "type_name": ".CarServer.KeepOnAccessoryPortRequest", + "label": "LABEL_OPTIONAL", + "oneof": "optional_keep_on_cabin_48v_port_request" + }, + { + "number": 2000, + "name": "timestamp", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [ + "optional_keep_on_cabin_12v_port_request", + "optional_keep_on_cabin_48v_port_request" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "enums": [ + { + "fqn": ".CarServer.AutopilotBase", + "name": "AutopilotBase", + "values": [ + { + "number": 0, + "name": "AutopilotBase_NONE" + }, + { + "number": 1, + "name": "AutopilotBase_HIGHWAY" + }, + { + "number": 2, + "name": "AutopilotBase_ENHANCED" + }, + { + "number": 3, + "name": "AutopilotBase_SELF_DRIVING" + }, + { + "number": 4, + "name": "AutopilotBase_BASIC" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.AutopilotOverrideState", + "name": "AutopilotOverrideState", + "values": [ + { + "number": 0, + "name": "AutopilotOverrideState_BASE" + }, + { + "number": 1, + "name": "AutopilotOverrideState_SUBSCRIPTION" + }, + { + "number": 2, + "name": "AutopilotOverrideState_TRIAL" + }, + { + "number": 3, + "name": "AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION" + }, + { + "number": 4, + "name": "AutopilotOverrideState_TIMEBOUND_TRIAL" + }, + { + "number": 5, + "name": "AutopilotOverrideState_OPTION_CODE" + }, + { + "number": 6, + "name": "AutopilotOverrideState_OPTION_OVERRIDE" + }, + { + "number": 7, + "name": "AutopilotOverrideState_VEHICLE_MANAGED" + }, + { + "number": 8, + "name": "AutopilotOverrideState_UNKNOWN" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.DashCamState", + "name": "DashCamState", + "values": [ + { + "number": 0, + "name": "DashCamState_UNAVAILABLE" + }, + { + "number": 1, + "name": "DashCamState_AVAILABLE" + }, + { + "number": 2, + "name": "DashCamState_RECORDING" + }, + { + "number": 3, + "name": "DashCamState_SAVED" + }, + { + "number": 4, + "name": "DashCamState_STREAMING" + }, + { + "number": 5, + "name": "DashCamState_NO_SPACE" + }, + { + "number": 6, + "name": "DashCamState_SAVING" + }, + { + "number": 7, + "name": "DashCamState_PAUSED" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.TheaterSource", + "name": "TheaterSource", + "values": [ + { + "number": 0, + "name": "TheaterSource_None" + }, + { + "number": 1, + "name": "TheaterSource_YouTube" + }, + { + "number": 2, + "name": "TheaterSource_TeslaTutorials" + }, + { + "number": 3, + "name": "TheaterSource_Netflix" + }, + { + "number": 4, + "name": "TheaterSource_Twitch" + }, + { + "number": 5, + "name": "TheaterSource_TikTok" + }, + { + "number": 7, + "name": "TheaterSource_Hulu" + }, + { + "number": 10, + "name": "TheaterSource_BiliBili" + }, + { + "number": 13, + "name": "TheaterSource_Disney" + }, + { + "number": 14, + "name": "TheaterSource_Douyin" + }, + { + "number": 19, + "name": "TheaterSource_MontyPython" + }, + { + "number": 28, + "name": "TheaterSource_Tencent" + }, + { + "number": 32, + "name": "TheaterSource_Youku" + }, + { + "number": 33, + "name": "TheaterSource_iQiyi" + }, + { + "number": 34, + "name": "TheaterSource_ThunderStone" + }, + { + "number": 35, + "name": "TheaterSource_MangoTV" + }, + { + "number": 36, + "name": "TheaterSource_Kuaishou" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.MediaSourceType", + "name": "MediaSourceType", + "values": [ + { + "number": 0, + "name": "MediaSourceType_None" + }, + { + "number": 1, + "name": "MediaSourceType_AM" + }, + { + "number": 2, + "name": "MediaSourceType_FM" + }, + { + "number": 3, + "name": "MediaSourceType_XM" + }, + { + "number": 5, + "name": "MediaSourceType_Slacker" + }, + { + "number": 6, + "name": "MediaSourceType_LocalFiles" + }, + { + "number": 7, + "name": "MediaSourceType_iPod" + }, + { + "number": 8, + "name": "MediaSourceType_Bluetooth" + }, + { + "number": 9, + "name": "MediaSourceType_AuxIn" + }, + { + "number": 10, + "name": "MediaSourceType_DAB" + }, + { + "number": 11, + "name": "MediaSourceType_Rdio" + }, + { + "number": 12, + "name": "MediaSourceType_Spotify" + }, + { + "number": 13, + "name": "MediaSourceType_USRadio" + }, + { + "number": 14, + "name": "MediaSourceType_EURadio" + }, + { + "number": 16, + "name": "MediaSourceType_MediaFile" + }, + { + "number": 17, + "name": "MediaSourceType_TuneIn" + }, + { + "number": 18, + "name": "MediaSourceType_Stingray" + }, + { + "number": 19, + "name": "MediaSourceType_SiriusXM" + }, + { + "number": 20, + "name": "MediaSourceType_Tidal" + }, + { + "number": 21, + "name": "MediaSourceType_QQMusic" + }, + { + "number": 22, + "name": "MediaSourceType_QQMusic2" + }, + { + "number": 23, + "name": "MediaSourceType_Ximalaya" + }, + { + "number": 24, + "name": "MediaSourceType_OnlineRadio" + }, + { + "number": 25, + "name": "MediaSourceType_OnlineRadio2" + }, + { + "number": 26, + "name": "MediaSourceType_NetEaseMusic" + }, + { + "number": 27, + "name": "MediaSourceType_AppleMusic" + }, + { + "number": 28, + "name": "MediaSourceType_Browser" + }, + { + "number": 29, + "name": "MediaSourceType_Theater" + }, + { + "number": 30, + "name": "MediaSourceType_Game" + }, + { + "number": 31, + "name": "MediaSourceType_Tutorial" + }, + { + "number": 32, + "name": "MediaSourceType_Toybox" + }, + { + "number": 33, + "name": "MediaSourceType_RecentsFavorites" + }, + { + "number": 34, + "name": "MediaSourceType_HomeApps" + }, + { + "number": 35, + "name": "MediaSourceType_Search" + }, + { + "number": 36, + "name": "MediaSourceType_ApplePodcasts" + }, + { + "number": 37, + "name": "MediaSourceType_Audible" + }, + { + "number": 38, + "name": "MediaSourceType_AmazonMusic" + }, + { + "number": 39, + "name": "MediaSourceType_YouTubeMusic" + }, + { + "number": 40, + "name": "MediaSourceType_SiriusXmWeb" + }, + { + "number": 41, + "name": "MediaSourceType_Yunting" + }, + { + "number": 42, + "name": "MediaSourceType_TuneInWeb" + }, + { + "number": 43, + "name": "MediaSourceType_Kugou" + }, + { + "number": 44, + "name": "MediaSourceType_Vohico" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.VehicleImageStateType", + "name": "VehicleImageStateType", + "values": [ + { + "number": 0, + "name": "APVIZ_INVALID" + }, + { + "number": 1, + "name": "APVIZ_WRAP" + }, + { + "number": 2, + "name": "APVIZ_LICENSE_PLATE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.KeepOnAccessoryPortRequest", + "name": "KeepOnAccessoryPortRequest", + "values": [ + { + "number": 0, + "name": "KeepOnAccessoryPortRequest_Off" + }, + { + "number": 1, + "name": "KeepOnAccessoryPortRequest_On" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".CarServer.MobileAppFeature", + "name": "MobileAppFeature", + "values": [ + { + "number": 0, + "name": "MOBILE_APP_FEATURE_ACTIVE" + }, + { + "number": 1, + "name": "MOBILE_APP_FEATURE_CLIMATE_KEEPER" + }, + { + "number": 2, + "name": "MOBILE_APP_FEATURE_UNLOCK_STOP_CHARGE" + }, + { + "number": 3, + "name": "MOBILE_APP_FEATURE_SET_RATE_TARIFF" + }, + { + "number": 4, + "name": "MOBILE_APP_FEATURE_GET_RATE_TARIFF" + }, + { + "number": 5, + "name": "MOBILE_APP_FEATURE_DRIVENOTE" + }, + { + "number": 6, + "name": "MOBILE_APP_FEATURE_CLIMATE_KEEPER_OVERRIDE" + }, + { + "number": 7, + "name": "MOBILE_APP_FEATURE_SIGNED_VIDEO_REQUEST" + }, + { + "number": 8, + "name": "MOBILE_APP_FEATURE_SENTRY_CAM_FLASH_LIGHTS" + }, + { + "number": 9, + "name": "MOBILE_APP_FEATURE_BOOMBOX" + }, + { + "number": 10, + "name": "MOBILE_APP_FEATURE_DOOR_UNLATCH" + }, + { + "number": 11, + "name": "MOBILE_APP_FEATURE_SEAT_HEATERS_INSTALLED" + }, + { + "number": 12, + "name": "MOBILE_APP_FEATURE_LAST_SEEN_TPMS" + }, + { + "number": 13, + "name": "MOBILE_APP_FEATURE_UI_CHARGE_PORT" + }, + { + "number": 14, + "name": "MOBILE_APP_FEATURE_MONITOR_AND_CHARGE_ROLES" + }, + { + "number": 15, + "name": "MOBILE_APP_FEATURE_PROTO_FLOATS" + }, + { + "number": 16, + "name": "MOBILE_APP_FEATURE_BLUETOOTH_PAIRING" + }, + { + "number": 17, + "name": "MOBILE_APP_FEATURE_HMAC_AUTHENTICATION" + }, + { + "number": 18, + "name": "MOBILE_APP_COP_USER_SET_TEMP" + }, + { + "number": 19, + "name": "MOBILE_APP_FEATURE_MEDIA_DETAILS" + }, + { + "number": 20, + "name": "MOBILE_APP_FEATURE_RESPONSE_CACHE" + }, + { + "number": 22, + "name": "MOBILE_APP_FEATURE_SCC" + }, + { + "number": 23, + "name": "MOBILE_APP_FEATURE_SENTRY_CAM_WITH_DOG_MODE" + }, + { + "number": 24, + "name": "MOBILE_APP_FEATURE_AUTO_STEERING_WHEEL_HEAT" + }, + { + "number": 25, + "name": "MOBILE_APP_FEATURE_MANAGED_CHARGING" + }, + { + "number": 26, + "name": "MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND_DECPRECATED" + }, + { + "number": 27, + "name": "MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND" + }, + { + "number": 28, + "name": "MOBILE_APP_FEATURE_SEND_NAVIGATION_ROUTE" + }, + { + "number": 29, + "name": "MOBILE_APP_FEATURE_RED_BRAKE_CALIPER_FIX" + }, + { + "number": 30, + "name": "MOBILE_APP_FEATURE_PIN_TO_DRIVE" + }, + { + "number": 31, + "name": "MOBILE_APP_COP_NOT_RUNNING_REASON" + }, + { + "number": 32, + "name": "MOBILE_APP_FEATURE_SET_VEHICLE_NAME" + }, + { + "number": 33, + "name": "MOBILE_APP_FEATURE_VEHICLE_DATA_PII_V2" + }, + { + "number": 34, + "name": "MOBILE_APP_FEATURE_BOOMBOX_V2" + }, + { + "number": 35, + "name": "MOBILE_APP_FEATURE_UWB_STABLE_FOR_SUPPORTED_CARS" + }, + { + "number": 36, + "name": "MOBILE_APP_FEATURE_SPEED_LIMIT_PIN_RESET_SIGNED_COMMAND" + }, + { + "number": 37, + "name": "MOBILE_APP_FEATURE_PRECISE_LOCATION_TAG" + }, + { + "number": 38, + "name": "MOBILE_APP_FEATURE_IMU_ALERT_IS_VISIBLE" + }, + { + "number": 42, + "name": "MOBILE_APP_FEATURE_CT_SUPPORTS_COP" + }, + { + "number": 43, + "name": "MOBILE_APP_FEATURE_WAYPOINTS_SUPPORTED" + }, + { + "number": 44, + "name": "MOBILE_APP_FEATURE_OCTA_VIEW" + }, + { + "number": 45, + "name": "MOBILE_APP_FEATURE_BT_GTW_UNLOCK" + }, + { + "number": 46, + "name": "MOBILE_APP_FEATURE_UI_PHONEKEY_WHITELIST_RELIABLE_DEPRECATED" + }, + { + "number": 47, + "name": "MOBILE_APP_FEATURE_UI_PHONEKEY_WHITELIST_RELIABLE" + }, + { + "number": 48, + "name": "MOBILE_APP_FEATURE_SUMMON_PREWARMING" + }, + { + "number": 49, + "name": "MOBILE_APP_FEATURE_UWB_ENABLED_FOR_P2S_DEPRECATED" + }, + { + "number": 50, + "name": "MOBILE_APP_FEATURE_UWB_ENABLED_FOR_P2S" + }, + { + "number": 51, + "name": "MOBILE_APP_FEATURE_UI_ONE_TIME_CHARGE_SUPPORTED" + }, + { + "number": 52, + "name": "MOBILE_APP_FEATURE_SCHEDULE_V3" + }, + { + "number": 53, + "name": "MOBILE_APP_FEATURE_ECIES_VEHICLE_DATA_ENCRYPTION" + }, + { + "number": 54, + "name": "MOBILE_APP_FEATURE_TENT_MODE_SUPPORTED" + }, + { + "number": 55, + "name": "MOBILE_APP_FEATURE_SCHEDULE_V3_NAMING" + }, + { + "number": 57, + "name": "MOBILE_APP_FEATURE_COLORIZER_COLOR_REMAP_ENABLED" + }, + { + "number": 58, + "name": "MOBILE_APP_FEATURE_SEND_NAVIGATION_REQUEST_GPS_DESTINATION" + }, + { + "number": 59, + "name": "MOBILE_APP_FEATURE_SUMMON_WEBCAM" + }, + { + "number": 61, + "name": "MOBILE_APP_FEATURE_BLE_REMOTE_START" + }, + { + "number": 62, + "name": "MOBILE_APP_FEATURE_SOH_TEST_OBSOLETE" + }, + { + "number": 64, + "name": "MOBILE_APP_FEATURE_SET_ARRIVAL_PERCENTAGE_OBSOLETE" + }, + { + "number": 66, + "name": "MOBILE_APP_FEATURE_REMOTE_THEATER_CONTROL" + }, + { + "number": 67, + "name": "MOBILE_APP_FEATURE_CT_SUSPENSION" + }, + { + "number": 68, + "name": "MOBILE_APP_FEATURE_SOH_TEST_V2" + }, + { + "number": 69, + "name": "MOBILE_APP_FEATURE_ANDROID_UWB_ENABLED" + }, + { + "number": 70, + "name": "MOBILE_APP_FEATURE_LOW_POWER_MODE" + }, + { + "number": 71, + "name": "MOBILE_APP_FEATURE_ROBOTAXI_UWB" + }, + { + "number": 72, + "name": "MOBILE_APP_FEATURE_KEEP_ACCESSORY_POWER_MODE" + }, + { + "number": 73, + "name": "MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS" + }, + { + "number": 77, + "name": "MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS_WITH_DELETION" + }, + { + "number": 78, + "name": "MOBILE_APP_FEATURE_FETCH_KEY_METADATA_DEPRECATED" + }, + { + "number": 79, + "name": "MOBILE_APP_FEATURE_FETCH_KEY_METADATA" + }, + { + "number": 80, + "name": "MOBILE_APP_FEATURE_TRAILER_LIGHT_TEST" + }, + { + "number": 81, + "name": "MOBILE_APP_FEATURE_DELETE_DASHCAM_CLIPS_AND_FORMAT_USB" + }, + { + "number": 82, + "name": "MOBILE_APP_FEATURE_SOFTWARE_UPDATE_AUTO_SCHEDULED" + }, + { + "number": 83, + "name": "MOBILE_APP_FEATURE_BLE_MESSAGE_FRAMING" + }, + { + "number": 84, + "name": "MOBILE_APP_FEATURE_WAYPOINTS_REQUEST_ACCEPTS_COORDINATES" + }, + { + "number": 85, + "name": "MOBILE_APP_FEATURE_PHONE_SETTING_PREFERENCES_SYNC" + }, + { + "number": 90, + "name": "MOBILE_APP_FEATURE_UPLOAD_CAR_WRAP" + }, + { + "number": 91, + "name": "MOBILE_APP_FEATURE_SHARE_URLS_X" + }, + { + "number": 93, + "name": "MOBILE_APP_FEATURE_DISPLAY_BRIGHTNESS" + }, + { + "number": 95, + "name": "MOBILE_APP_FEATURE_ANDROID_BLE_BONDING" + }, + { + "number": 97, + "name": "MOBILE_APP_FEATURE_APVIZ_WHEEL_CAPS" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/command/vehicle.proto", + "compiled_top_level_input": true + } + ] + }, + { + "name": "dashcam", + "source_files": 1, + "compiled_top_level_inputs": 1, + "generated_targets": { + "typescript": "packages/typescript/src/dashcam", + "python": "packages/python/tesla_protocol/dashcam" + }, + "messages": 1, + "enums": 2, + "fields": 16, + "files": [ + { + "package": "DashcamSei", + "imports": [], + "messages": [ + { + "fqn": ".DashcamSei.SeiMetadata", + "name": "SeiMetadata", + "fields": [ + { + "number": 1, + "name": "field_1", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "gearState", + "type": "TYPE_ENUM", + "type_name": ".DashcamSei.SeiMetadata.Gear", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "frameSeqNo", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "vehicleSpeedMps", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "acceleratorPedalPosition", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "steeringWheelAngle", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "blinkerOnLeft", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 8, + "name": "blinkerOnRight", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 9, + "name": "brakeApplied", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 10, + "name": "autopilotState", + "type": "TYPE_ENUM", + "type_name": ".DashcamSei.SeiMetadata.AutopilotState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 11, + "name": "latitudeDeg", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 12, + "name": "longitudeDeg", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 13, + "name": "headingDeg", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 14, + "name": "linearAccelerationMps2X", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 15, + "name": "linearAccelerationMps2Y", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 16, + "name": "linearAccelerationMps2Z", + "type": "TYPE_DOUBLE", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [ + { + "fqn": ".DashcamSei.SeiMetadata.Gear", + "name": "Gear", + "values": [ + { + "number": 0, + "name": "GEAR_PARK" + }, + { + "number": 1, + "name": "GEAR_DRIVE" + }, + { + "number": 2, + "name": "GEAR_REVERSE" + }, + { + "number": 3, + "name": "GEAR_NEUTRAL" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".DashcamSei.SeiMetadata.AutopilotState", + "name": "AutopilotState", + "values": [ + { + "number": 0, + "name": "NONE" + }, + { + "number": 1, + "name": "SELF_DRIVING" + }, + { + "number": 2, + "name": "AUTOSTEER" + }, + { + "number": 3, + "name": "TACC" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ] + } + ], + "enums": [], + "path": "proto/dashcam/dashcam_sei.proto", + "compiled_top_level_input": true + } + ] + }, + { + "name": "energy_command", + "source_files": 1, + "compiled_top_level_inputs": 1, + "generated_targets": { + "typescript": "packages/typescript/src/energy_command", + "python": "packages/python/tesla_protocol/energy_command" + }, + "messages": 0, + "enums": 1, + "fields": 0, + "files": [ + { + "package": "tesla.proto.energy.command.v1", + "imports": [], + "messages": [], + "enums": [ + { + "fqn": ".tesla.proto.energy.command.v1.IdentifierType", + "name": "IdentifierType", + "values": [ + { + "number": 0, + "name": "IDENTIFIER_TYPE_INVALID" + }, + { + "number": 1, + "name": "IDENTIFIER_TYPE_GATEWAY_DIN" + }, + { + "number": 2, + "name": "IDENTIFIER_TYPE_SITE_UUID" + }, + { + "number": 3, + "name": "IDENTIFIER_TYPE_SOLAR_INVERTER_DIN" + }, + { + "number": 4, + "name": "IDENTIFIER_TYPE_WALL_CONNECTOR_DIN" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_command/identifier_type.proto", + "compiled_top_level_input": true + } + ] + }, + { + "name": "energy_device", + "source_files": 22, + "compiled_top_level_inputs": 21, + "generated_targets": { + "typescript": "packages/typescript/src/energy_device", + "python": "packages/python/tesla_protocol/energy_device" + }, + "messages": 524, + "enums": 104, + "fields": 1241, + "files": [ + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "authorization_types.proto", + "google/protobuf/timestamp.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientRequest", + "name": "AuthorizationAPIAddAuthorizedClientRequest", + "fields": [ + { + "number": 1, + "name": "type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "description", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "key_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientResponse", + "name": "AuthorizationAPIAddAuthorizedClientResponse", + "fields": [ + { + "number": 1, + "name": "client", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", + "name": "AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", + "fields": [ + { + "number": 1, + "name": "type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "description", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "key_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "roles", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationRole", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 6, + "name": "identifier", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", + "name": "AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", + "fields": [ + { + "number": 1, + "name": "client", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientRequest", + "name": "AuthorizationAPIRemoveAuthorizedClientRequest", + "fields": [ + { + "number": 1, + "name": "public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientResponse", + "name": "AuthorizationAPIRemoveAuthorizedClientResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsRequest", + "name": "AuthorizationAPIListAuthorizedClientsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsResponse", + "name": "AuthorizationAPIListAuthorizedClientsResponse", + "fields": [ + { + "number": 1, + "name": "clients", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2, + "name": "enable_line_switch_off", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyRequest", + "name": "AuthorizationAPIGetSignedCommandsPublicKeyRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyResponse", + "name": "AuthorizationAPIGetSignedCommandsPublicKeyResponse", + "fields": [ + { + "number": 1, + "name": "pub_key_ecc", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceRequest", + "name": "AuthorizationAPIConfigureRemoteServiceRequest", + "fields": [ + { + "number": 1, + "name": "duration_seconds", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "session_id", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "requester_email", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceResponse", + "name": "AuthorizationAPIConfigureRemoteServiceResponse", + "fields": [ + { + "number": 1, + "name": "begin_time", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "expiry_time", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationMessages", + "name": "AuthorizationMessages", + "fields": [ + { + "number": 1, + "name": "add_authorized_client_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 2, + "name": "add_authorized_client_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 3, + "name": "remove_authorized_client_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 4, + "name": "remove_authorized_client_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 5, + "name": "list_authorized_clients_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 6, + "name": "list_authorized_clients_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 7, + "name": "get_signed_commands_public_key_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 8, + "name": "get_signed_commands_public_key_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 9, + "name": "add_authorized_client_by_trusted_signature_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 10, + "name": "add_authorized_client_by_trusted_signature_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 11, + "name": "configure_remote_service_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 12, + "name": "configure_remote_service_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + } + ], + "oneofs": [ + "message" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "enums": [], + "path": "proto/energy_device/authorization_api.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "google/protobuf/timestamp.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "name": "AuthorizationRecord", + "fields": [ + { + "number": 1, + "name": "type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "description", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "key_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "roles", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizationRole", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 6, + "name": "state", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "verification", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.AuthorizedVerificationType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 8, + "name": "added_time", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 9, + "name": "identifier", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "_identifier" + }, + { + "number": 10, + "name": "authorized_by_public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "_authorized_by_public_key" + } + ], + "oneofs": [ + "_identifier", + "_authorized_by_public_key" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "enums": [ + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizationRole", + "name": "AuthorizationRole", + "values": [ + { + "number": 0, + "name": "AUTHORIZATION_ROLE_INVALID" + }, + { + "number": 1, + "name": "AUTHORIZATION_ROLE_CUSTOMER" + }, + { + "number": 2, + "name": "AUTHORIZATION_ROLE_VEHICLE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizedClientType", + "name": "AuthorizedClientType", + "values": [ + { + "number": 0, + "name": "AUTHORIZED_CLIENT_TYPE_INVALID" + }, + { + "number": 1, + "name": "AUTHORIZED_CLIENT_TYPE_CUSTOMER_MOBILE_APP" + }, + { + "number": 2, + "name": "AUTHORIZED_CLIENT_TYPE_VEHICLE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizedKeyType", + "name": "AuthorizedKeyType", + "values": [ + { + "number": 0, + "name": "AUTHORIZED_KEY_TYPE_INVALID" + }, + { + "number": 1, + "name": "AUTHORIZED_KEY_TYPE_RSA" + }, + { + "number": 2, + "name": "AUTHORIZED_KEY_TYPE_ECC" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizedState", + "name": "AuthorizedState", + "values": [ + { + "number": 0, + "name": "AUTHORIZED_STATE_INVALID" + }, + { + "number": 1, + "name": "AUTHORIZED_STATE_PENDING_VERIFICATION" + }, + { + "number": 2, + "name": "AUTHORIZED_STATE_PENDING_VERIFICATION_TIMEOUT" + }, + { + "number": 3, + "name": "AUTHORIZED_STATE_VERIFIED" + }, + { + "number": 4, + "name": "AUTHORIZED_STATE_REMOVED" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AuthorizedVerificationType", + "name": "AuthorizedVerificationType", + "values": [ + { + "number": 0, + "name": "AUTHORIZED_VERIFICATION_TYPE_INVALID" + }, + { + "number": 1, + "name": "AUTHORIZED_VERIFICATION_TYPE_PRESENCE_PROOF" + }, + { + "number": 2, + "name": "AUTHORIZED_VERIFICATION_TYPE_BLE" + }, + { + "number": 3, + "name": "AUTHORIZED_VERIFICATION_TYPE_SIGNED" + }, + { + "number": 4, + "name": "AUTHORIZED_VERIFICATION_TYPE_HERMES_COMMAND" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_device/authorization_types.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "device.proto", + "error.proto", + "google/protobuf/duration.proto", + "google/protobuf/wrappers.proto", + "networking.proto", + "registration_api.proto", + "update.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoRequest", + "name": "CommonAPIGetSystemInfoRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.RadioLegalInformation", + "name": "RadioLegalInformation", + "fields": [ + { + "number": 1, + "name": "manufacturer", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "model", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "fcc_id", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "ic_id", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.ComplianceInformation", + "name": "ComplianceInformation", + "fields": [ + { + "number": 1, + "name": "radio_legal_information", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RadioLegalInformation", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoResponse", + "name": "CommonAPIGetSystemInfoResponse", + "fields": [ + { + "number": 1, + "name": "device_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuId", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "din", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "firmware_version", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.FirmwareVersion", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "system_update", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SystemUpdate", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "device_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.DeviceType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "compliance_information", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.ComplianceInformation", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 8, + "name": "installed_firmware_signature", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 9, + "name": "offline_firmware_signature", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [ + [ + 4, + 4 + ] + ], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigRequest", + "name": "CommonAPISetLocalSiteConfigRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigResponse", + "name": "CommonAPISetLocalSiteConfigResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateRequest", + "name": "CommonAPIPerformUpdateRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateResponse", + "name": "CommonAPIPerformUpdateResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetRequest", + "name": "CommonAPIFactoryResetRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetResponse", + "name": "CommonAPIFactoryResetResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIWifiScanRequest", + "name": "CommonAPIWifiScanRequest", + "fields": [ + { + "number": 1, + "name": "max_scan_duration_s", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "desired_security_types", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 3, + "name": "maximum_total_aps", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIWifiScanResponse", + "name": "CommonAPIWifiScanResponse", + "fields": [ + { + "number": 1, + "name": "wifi_networks", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiNetwork", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiRequest", + "name": "CommonAPIConfigureWifiRequest", + "fields": [ + { + "number": 1, + "name": "enabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiResponse", + "name": "CommonAPIConfigureWifiResponse", + "fields": [ + { + "number": 1, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "wifi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordRequest", + "name": "CommonAPIConfigureWifiWithEncryptedPasswordRequest", + "fields": [ + { + "number": 1, + "name": "enabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "encrypted_password", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EncryptedMessage", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordResponse", + "name": "CommonAPIConfigureWifiWithEncryptedPasswordResponse", + "fields": [ + { + "number": 1, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "wifi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "result", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateRequest", + "name": "CommonAPICheckForUpdateRequest", + "fields": [ + { + "number": 1, + "name": "download_if_available", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateResponse", + "name": "CommonAPICheckForUpdateResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyRequest", + "name": "CommonAPICheckForUpdateUrgencyRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyResponse", + "name": "CommonAPICheckForUpdateUrgencyResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateRequest", + "name": "CommonAPIClearUpdateRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateResponse", + "name": "CommonAPIClearUpdateResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertRequest", + "name": "CommonAPIDeviceCertRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertResponse", + "name": "CommonAPIDeviceCertResponse", + "fields": [ + { + "number": 1, + "name": "format", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.DeviceCertFormat", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "device_cert", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusRequest", + "name": "CommonAPIGetNetworkingStatusRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusResponse", + "name": "CommonAPIGetNetworkingStatusResponse", + "fields": [ + { + "number": 1, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "wifi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "eth", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "gsm", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoRequest", + "name": "CommonAPIGetCellularInfoRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoResponse", + "name": "CommonAPIGetCellularInfoResponse", + "fields": [ { - "number": 38, - "name": "MOBILE_APP_FEATURE_IMU_ALERT_IS_VISIBLE" + "number": 1, + "name": "eid", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CellularEID", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 42, - "name": "MOBILE_APP_FEATURE_CT_SUPPORTS_COP" + "number": 2, + "name": "supported_profiles", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetRequest", + "name": "CommonAPIConfigureEthernetRequest", + "fields": [ + { + "number": 1, + "name": "ipv4_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetResponse", + "name": "CommonAPIConfigureEthernetResponse", + "fields": [ + { + "number": 1, + "name": "eth", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkRequest", + "name": "CommonAPIForgetWifiNetworkRequest", + "fields": [ + { + "number": 1, + "name": "ssid", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkResponse", + "name": "CommonAPIForgetWifiNetworkResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckInternetRequest", + "name": "CommonAPICheckInternetRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckInternetResponse", + "name": "CommonAPICheckInternetResponse", + "fields": [ + { + "number": 1, + "name": "wifi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 43, - "name": "MOBILE_APP_FEATURE_WAYPOINTS_SUPPORTED" + "number": 2, + "name": "eth", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 44, - "name": "MOBILE_APP_FEATURE_OCTA_VIEW" + "number": 3, + "name": "gsm", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", + "name": "CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", + "fields": [ + { + "number": 1, + "name": "locally_available_packages", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.LocallyAvailablePackage", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", + "name": "CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", + "fields": [ + { + "number": 1, + "name": "accepted_packages", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AcceptedPackage", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", + "name": "CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", + "fields": [ + { + "number": 1, + "name": "locally_available_packages", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.LocallyAvailablePackage", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", + "name": "CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", + "fields": [ + { + "number": 1, + "name": "accepted_packages", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AcceptedPackage", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest", + "name": "CommonAPIPrepareRegistrationPayloadRequest", + "fields": [ + { + "number": 1, + "name": "customer_registration_info", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse", + "name": "CommonAPIPrepareRegistrationPayloadResponse", + "fields": [ + { + "number": 1, + "name": "signed_registration_payload", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DeviceSignedPayload", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.TcpdumpInfo", + "name": "TcpdumpInfo", + "fields": [ + { + "number": 1, + "name": "path", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 45, - "name": "MOBILE_APP_FEATURE_BT_GTW_UNLOCK" + "number": 2, + "name": "pid", + "type": "TYPE_INT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 46, - "name": "MOBILE_APP_FEATURE_UI_PHONEKEY_WHITELIST_RELIABLE_DEPRECATED" + "number": 3, + "name": "interface", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 47, - "name": "MOBILE_APP_FEATURE_UI_PHONEKEY_WHITELIST_RELIABLE" + "number": 4, + "name": "expression", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 48, - "name": "MOBILE_APP_FEATURE_SUMMON_PREWARMING" + "number": 5, + "name": "duration", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Duration", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 49, - "name": "MOBILE_APP_FEATURE_UWB_ENABLED_FOR_P2S_DEPRECATED" + "number": 6, + "name": "max_duration", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Duration", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 50, - "name": "MOBILE_APP_FEATURE_UWB_ENABLED_FOR_P2S" + "number": 7, + "name": "size", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 51, - "name": "MOBILE_APP_FEATURE_UI_ONE_TIME_CHARGE_SUPPORTED" + "number": 8, + "name": "max_size", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpRequest", + "name": "CommonAPIStartTcpdumpRequest", + "fields": [ + { + "number": 1, + "name": "name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 52, - "name": "MOBILE_APP_FEATURE_SCHEDULE_V3" + "number": 2, + "name": "interface", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 53, - "name": "MOBILE_APP_FEATURE_ECIES_VEHICLE_DATA_ENCRYPTION" + "number": 3, + "name": "expression", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 54, - "name": "MOBILE_APP_FEATURE_TENT_MODE_SUPPORTED" + "number": 4, + "name": "max_duration", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Duration", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 55, - "name": "MOBILE_APP_FEATURE_SCHEDULE_V3_NAMING" + "number": 5, + "name": "max_size", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpResponse", + "name": "CommonAPIStartTcpdumpResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpRequest", + "name": "CommonAPIStopTcpdumpRequest", + "fields": [ + { + "number": 1, + "name": "name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 57, - "name": "MOBILE_APP_FEATURE_COLORIZER_COLOR_REMAP_ENABLED" + "number": 2, + "name": "remove", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpResponse", + "name": "CommonAPIStopTcpdumpResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoRequest", + "name": "CommonAPIGetTcpdumpInfoRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoResponse", + "name": "CommonAPIGetTcpdumpInfoResponse", + "fields": [ + { + "number": 1, + "name": "list", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.TcpdumpInfo", + "label": "LABEL_REPEATED", + "oneof": null }, { - "number": 58, - "name": "MOBILE_APP_FEATURE_SEND_NAVIGATION_REQUEST_GPS_DESTINATION" + "number": 2, + "name": "disk_quota", + "type": "TYPE_INT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRegisterRequest", + "name": "CommonAPIRegisterRequest", + "fields": [ + { + "number": 1, + "name": "request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRegisterResponse", + "name": "CommonAPIRegisterResponse", + "fields": [ + { + "number": 1, + "name": "failure", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 59, - "name": "MOBILE_APP_FEATURE_SUMMON_WEBCAM" - }, + "number": 2, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationResponse", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteUuidRequest", + "name": "CommonAPIRetrieveSiteUuidRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteUuidResponse", + "name": "CommonAPIRetrieveSiteUuidResponse", + "fields": [ + { + "number": 1, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteSuggestionRequest", + "name": "CommonAPIRetrieveSiteSuggestionRequest", + "fields": [ + { + "number": 1, + "name": "request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteSuggestionResponse", + "name": "CommonAPIRetrieveSiteSuggestionResponse", + "fields": [ { - "number": 61, - "name": "MOBILE_APP_FEATURE_BLE_REMOTE_START" - }, + "number": 1, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionResponse", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommonMessages", + "name": "CommonMessages", + "fields": [ { - "number": 62, - "name": "MOBILE_APP_FEATURE_SOH_TEST_OBSOLETE" + "number": 1, + "name": "error_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.ErrorResponse", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 64, - "name": "MOBILE_APP_FEATURE_SET_ARRIVAL_PERCENTAGE_OBSOLETE" + "number": 2, + "name": "get_system_info_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 66, - "name": "MOBILE_APP_FEATURE_REMOTE_THEATER_CONTROL" + "number": 3, + "name": "get_system_info_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 67, - "name": "MOBILE_APP_FEATURE_CT_SUSPENSION" + "number": 4, + "name": "set_local_site_config_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 68, - "name": "MOBILE_APP_FEATURE_SOH_TEST_V2" + "number": 5, + "name": "set_local_site_config_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 69, - "name": "MOBILE_APP_FEATURE_ANDROID_UWB_ENABLED" + "number": 6, + "name": "perform_update_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 70, - "name": "MOBILE_APP_FEATURE_LOW_POWER_MODE" + "number": 7, + "name": "perform_update_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 71, - "name": "MOBILE_APP_FEATURE_ROBOTAXI_UWB" + "number": 8, + "name": "factory_reset_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 72, - "name": "MOBILE_APP_FEATURE_KEEP_ACCESSORY_POWER_MODE" + "number": 9, + "name": "factory_reset_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 73, - "name": "MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS" + "number": 10, + "name": "wifi_scan_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIWifiScanRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 77, - "name": "MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS_WITH_DELETION" + "number": 11, + "name": "wifi_scan_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIWifiScanResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 78, - "name": "MOBILE_APP_FEATURE_FETCH_KEY_METADATA_DEPRECATED" + "number": 12, + "name": "configure_wifi_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 79, - "name": "MOBILE_APP_FEATURE_FETCH_KEY_METADATA" + "number": 13, + "name": "configure_wifi_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 80, - "name": "MOBILE_APP_FEATURE_TRAILER_LIGHT_TEST" + "number": 14, + "name": "check_for_update_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 81, - "name": "MOBILE_APP_FEATURE_DELETE_DASHCAM_CLIPS_AND_FORMAT_USB" + "number": 15, + "name": "check_for_update_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 82, - "name": "MOBILE_APP_FEATURE_SOFTWARE_UPDATE_AUTO_SCHEDULED" + "number": 16, + "name": "clear_update_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 83, - "name": "MOBILE_APP_FEATURE_BLE_MESSAGE_FRAMING" + "number": 17, + "name": "clear_update_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 84, - "name": "MOBILE_APP_FEATURE_WAYPOINTS_REQUEST_ACCEPTS_COORDINATES" + "number": 18, + "name": "device_cert_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 85, - "name": "MOBILE_APP_FEATURE_PHONE_SETTING_PREFERENCES_SYNC" + "number": 19, + "name": "device_cert_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 90, - "name": "MOBILE_APP_FEATURE_UPLOAD_CAR_WRAP" + "number": 20, + "name": "configure_wifi_with_encrypted_password_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 91, - "name": "MOBILE_APP_FEATURE_SHARE_URLS_X" + "number": 21, + "name": "configure_wifi_with_encrypted_password_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 93, - "name": "MOBILE_APP_FEATURE_DISPLAY_BRIGHTNESS" + "number": 22, + "name": "get_networking_status_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 95, - "name": "MOBILE_APP_FEATURE_ANDROID_BLE_BONDING" + "number": 23, + "name": "get_networking_status_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 97, - "name": "MOBILE_APP_FEATURE_APVIZ_WHEEL_CAPS" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/command/vehicle.proto", - "compiled_top_level_input": true - } - ] - }, - { - "name": "dashcam", - "source_files": 1, - "compiled_top_level_inputs": 1, - "generated_targets": { - "typescript": "packages/typescript/src/dashcam", - "python": "packages/python/tesla_protocol/dashcam" - }, - "messages": 1, - "enums": 2, - "fields": 16, - "files": [ - { - "package": "DashcamSei", - "imports": [], - "messages": [ - { - "fqn": ".DashcamSei.SeiMetadata", - "name": "SeiMetadata", - "fields": [ - { - "number": 1, - "name": "field_1", - "type": "TYPE_UINT32", - "type_name": null, + "number": 24, + "name": "get_cellular_info_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 2, - "name": "gearState", - "type": "TYPE_ENUM", - "type_name": ".DashcamSei.SeiMetadata.Gear", + "number": 25, + "name": "get_cellular_info_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 3, - "name": "frameSeqNo", - "type": "TYPE_UINT64", - "type_name": null, + "number": 26, + "name": "configure_ethernet_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 4, - "name": "vehicleSpeedMps", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 27, + "name": "configure_ethernet_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 5, - "name": "acceleratorPedalPosition", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 28, + "name": "forget_wifi_network_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 6, - "name": "steeringWheelAngle", - "type": "TYPE_FLOAT", - "type_name": null, + "number": 29, + "name": "forget_wifi_network_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 7, - "name": "blinkerOnLeft", - "type": "TYPE_BOOL", - "type_name": null, + "number": 30, + "name": "check_internet_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckInternetRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 8, - "name": "blinkerOnRight", - "type": "TYPE_BOOL", - "type_name": null, + "number": 31, + "name": "check_internet_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckInternetResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 9, - "name": "brakeApplied", - "type": "TYPE_BOOL", - "type_name": null, + "number": 32, + "name": "check_for_update_urgency_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 10, - "name": "autopilotState", - "type": "TYPE_ENUM", - "type_name": ".DashcamSei.SeiMetadata.AutopilotState", + "number": 33, + "name": "check_for_update_urgency_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 11, - "name": "latitudeDeg", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 34, + "name": "negotiate_update_with_locally_available_packages_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 12, - "name": "longitudeDeg", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 35, + "name": "negotiate_update_with_locally_available_packages_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 13, - "name": "headingDeg", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 36, + "name": "prepare_registration_payload_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 14, - "name": "linearAccelerationMps2X", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 37, + "name": "prepare_registration_payload_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 15, - "name": "linearAccelerationMps2Y", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 38, + "name": "perform_update_from_locally_available_packages_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 16, - "name": "linearAccelerationMps2Z", - "type": "TYPE_DOUBLE", - "type_name": null, + "number": 39, + "name": "perform_update_from_locally_available_packages_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [ - { - "fqn": ".DashcamSei.SeiMetadata.Gear", - "name": "Gear", - "values": [ - { - "number": 0, - "name": "GEAR_PARK" - }, - { - "number": 1, - "name": "GEAR_DRIVE" - }, - { - "number": 2, - "name": "GEAR_REVERSE" - }, - { - "number": 3, - "name": "GEAR_NEUTRAL" - } - ], - "reserved_ranges": [], - "reserved_names": [] + "oneof": "message" }, { - "fqn": ".DashcamSei.SeiMetadata.AutopilotState", - "name": "AutopilotState", - "values": [ - { - "number": 0, - "name": "NONE" - }, - { - "number": 1, - "name": "SELF_DRIVING" - }, - { - "number": 2, - "name": "AUTOSTEER" - }, - { - "number": 3, - "name": "TACC" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ] - } - ], - "enums": [], - "path": "proto/dashcam/dashcam_sei.proto", - "compiled_top_level_input": true - } - ] - }, - { - "name": "energy_command", - "source_files": 1, - "compiled_top_level_inputs": 1, - "generated_targets": { - "typescript": "packages/typescript/src/energy_command", - "python": "packages/python/tesla_protocol/energy_command" - }, - "messages": 0, - "enums": 1, - "fields": 0, - "files": [ - { - "package": "tesla.proto.energy.command.v1", - "imports": [], - "messages": [], - "enums": [ - { - "fqn": ".tesla.proto.energy.command.v1.IdentifierType", - "name": "IdentifierType", - "values": [ + "number": 40, + "name": "register_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRegisterRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, { - "number": 0, - "name": "IDENTIFIER_TYPE_INVALID" + "number": 41, + "name": "register_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRegisterResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 1, - "name": "IDENTIFIER_TYPE_GATEWAY_DIN" + "number": 42, + "name": "retrieve_site_uuid_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteUuidRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 2, - "name": "IDENTIFIER_TYPE_SITE_UUID" + "number": 43, + "name": "retrieve_site_uuid_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteUuidResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 3, - "name": "IDENTIFIER_TYPE_SOLAR_INVERTER_DIN" + "number": 44, + "name": "retrieve_site_suggestion_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteSuggestionRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { - "number": 4, - "name": "IDENTIFIER_TYPE_WALL_CONNECTOR_DIN" - } - ], - "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_command/identifier_type.proto", - "compiled_top_level_input": true - } - ] - }, - { - "name": "energy_device", - "source_files": 20, - "compiled_top_level_inputs": 19, - "generated_targets": { - "typescript": "packages/typescript/src/energy_device", - "python": "packages/python/tesla_protocol/energy_device" - }, - "messages": 443, - "enums": 94, - "fields": 1035, - "files": [ - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "authorization_types.proto", - "google/protobuf/timestamp.proto" - ], - "messages": [ - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientRequest", - "name": "AuthorizationAPIAddAuthorizedClientRequest", - "fields": [ + "number": 45, + "name": "retrieve_site_suggestion_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIRetrieveSiteSuggestionResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, { - "number": 1, - "name": "type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", + "number": 46, + "name": "start_tcpdump_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 2, - "name": "description", - "type": "TYPE_STRING", - "type_name": null, + "number": 47, + "name": "start_tcpdump_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 3, - "name": "key_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", + "number": 48, + "name": "stop_tcpdump_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 4, - "name": "public_key", - "type": "TYPE_BYTES", - "type_name": null, + "number": 49, + "name": "stop_tcpdump_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" + }, + { + "number": 50, + "name": "get_tcpdump_info_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 51, + "name": "get_tcpdump_info_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" } ], - "oneofs": [], + "oneofs": [ + "message" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - }, + } + ], + "enums": [], + "path": "proto/energy_device/common_api.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientResponse", - "name": "AuthorizationAPIAddAuthorizedClientResponse", + "fqn": ".tesla.proto.energy_device.v1.Din", + "name": "Din", "fields": [ { "number": 1, - "name": "client", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "name": "value", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -22616,52 +28256,20 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", - "name": "AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", + "fqn": ".tesla.proto.energy_device.v1.EcuId", + "name": "EcuId", "fields": [ { "number": 1, - "name": "type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "description", + "name": "part_number", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "key_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "public_key", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 5, - "name": "roles", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationRole", - "label": "LABEL_REPEATED", - "oneof": null - }, - { - "number": 6, - "name": "identifier", + "number": 2, + "name": "serial_number", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -22675,14 +28283,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", - "name": "AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", + "fqn": ".tesla.proto.energy_device.v1.VIN", + "name": "VIN", "fields": [ { "number": 1, - "name": "client", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", + "name": "value", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -22694,12 +28302,12 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientRequest", - "name": "AuthorizationAPIRemoveAuthorizedClientRequest", + "fqn": ".tesla.proto.energy_device.v1.UUIDv4Bytes", + "name": "UUIDv4Bytes", "fields": [ { "number": 1, - "name": "public_key", + "name": "value", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", @@ -22713,41 +28321,13 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientResponse", - "name": "AuthorizationAPIRemoveAuthorizedClientResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsRequest", - "name": "AuthorizationAPIListAuthorizedClientsRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsResponse", - "name": "AuthorizationAPIListAuthorizedClientsResponse", + "fqn": ".tesla.proto.energy_device.v1.UUIDv4", + "name": "UUIDv4", "fields": [ { "number": 1, - "name": "clients", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationRecord", - "label": "LABEL_REPEATED", - "oneof": null - }, - { - "number": 2, - "name": "enable_line_switch_off", - "type": "TYPE_BOOL", + "name": "text", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -22760,86 +28340,46 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyRequest", - "name": "AuthorizationAPIGetSignedCommandsPublicKeyRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyResponse", - "name": "AuthorizationAPIGetSignedCommandsPublicKeyResponse", + "fqn": ".tesla.proto.energy_device.v1.DeviceSignedPayload", + "name": "DeviceSignedPayload", "fields": [ { "number": 1, - "name": "pub_key_ecc", + "name": "payload", "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceRequest", - "name": "AuthorizationAPIConfigureRemoteServiceRequest", - "fields": [ - { - "number": 1, - "name": "duration_seconds", - "type": "TYPE_UINT32", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null }, { "number": 2, - "name": "session_id", - "type": "TYPE_STRING", - "type_name": null, + "name": "device_signature_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.DeviceSignatureType", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "requester_email", - "type": "TYPE_STRING", + "name": "signature", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceResponse", - "name": "AuthorizationAPIConfigureRemoteServiceResponse", - "fields": [ + }, { - "number": 1, - "name": "begin_time", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "number": 4, + "name": "device_cert_format", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.DeviceCertFormat", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "expiry_time", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", + "number": 5, + "name": "device_cert", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -22851,395 +28391,229 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationMessages", - "name": "AuthorizationMessages", + "fqn": ".tesla.proto.energy_device.v1.EncryptedMessage", + "name": "EncryptedMessage", "fields": [ { "number": 1, - "name": "add_authorized_client_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientRequest", + "name": "cipher", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.Cipher", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { "number": 2, - "name": "add_authorized_client_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 3, - "name": "remove_authorized_client_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 4, - "name": "remove_authorized_client_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIRemoveAuthorizedClientResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 5, - "name": "list_authorized_clients_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 6, - "name": "list_authorized_clients_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIListAuthorizedClientsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 7, - "name": "get_signed_commands_public_key_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 8, - "name": "get_signed_commands_public_key_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIGetSignedCommandsPublicKeyResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 9, - "name": "add_authorized_client_by_trusted_signature_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 10, - "name": "add_authorized_client_by_trusted_signature_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIAddAuthorizedClientByTrustedSignatureResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 11, - "name": "configure_remote_service_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 12, - "name": "configure_remote_service_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationAPIConfigureRemoteServiceResponse", + "name": "cipher_text", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null } ], - "oneofs": [ - "message" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] } ], - "enums": [], - "path": "proto/energy_device/authorization_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "google/protobuf/timestamp.proto" - ], - "messages": [ + "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationRecord", - "name": "AuthorizationRecord", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.DeviceType", + "name": "DeviceType", + "values": [ + { + "number": 0, + "name": "DEVICE_TYPE_INVALID" + }, { "number": 1, - "name": "type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "DEVICE_TYPE_GEN3WC" }, { "number": 2, - "name": "description", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "DEVICE_TYPE_PVCOM" }, { "number": 3, - "name": "key_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedKeyType", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "DEVICE_TYPE_MSA" }, { "number": 4, - "name": "public_key", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "DEVICE_TYPE_SITECONTROLLER" }, { "number": 5, - "name": "roles", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizationRole", - "label": "LABEL_REPEATED", - "oneof": null + "name": "DEVICE_TYPE_MEGAPUTER" }, { "number": 6, - "name": "state", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedState", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 7, - "name": "verification", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.AuthorizedVerificationType", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 8, - "name": "added_time", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Timestamp", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 9, - "name": "identifier", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "_identifier" - }, - { - "number": 10, - "name": "authorized_by_public_key", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": "_authorized_by_public_key" + "name": "DEVICE_TYPE_IPM" } ], - "oneofs": [ - "_identifier", - "_authorized_by_public_key" - ], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - } - ], - "enums": [ + "reserved_names": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizationRole", - "name": "AuthorizationRole", + "fqn": ".tesla.proto.energy_device.v1.DeviceCertFormat", + "name": "DeviceCertFormat", "values": [ { "number": 0, - "name": "AUTHORIZATION_ROLE_INVALID" + "name": "DEVICE_CERT_FORMAT_INVALID" }, { "number": 1, - "name": "AUTHORIZATION_ROLE_CUSTOMER" + "name": "DEVICE_CERT_FORMAT_DER" }, { "number": 2, - "name": "AUTHORIZATION_ROLE_VEHICLE" + "name": "DEVICE_CERT_FORMAT_PEM" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizedClientType", - "name": "AuthorizedClientType", + "fqn": ".tesla.proto.energy_device.v1.DeviceSignatureType", + "name": "DeviceSignatureType", "values": [ { "number": 0, - "name": "AUTHORIZED_CLIENT_TYPE_INVALID" + "name": "DEVICE_SIGNATURE_TYPE_INVALID" }, { "number": 1, - "name": "AUTHORIZED_CLIENT_TYPE_CUSTOMER_MOBILE_APP" - }, - { - "number": 2, - "name": "AUTHORIZED_CLIENT_TYPE_VEHICLE" + "name": "DEVICE_SIGNATURE_TYPE_SHA256_ECDSA_ASN1" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizedKeyType", - "name": "AuthorizedKeyType", + "fqn": ".tesla.proto.energy_device.v1.Cipher", + "name": "Cipher", "values": [ { "number": 0, - "name": "AUTHORIZED_KEY_TYPE_INVALID" - }, - { - "number": 1, - "name": "AUTHORIZED_KEY_TYPE_RSA" + "name": "CIPHER_INVALID" }, { "number": 2, - "name": "AUTHORIZED_KEY_TYPE_ECC" + "name": "CIPHER_RSA_OAEP_SHA256" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizedState", - "name": "AuthorizedState", + "fqn": ".tesla.proto.energy_device.v1.TEGDeviceType", + "name": "TEGDeviceType", "values": [ { "number": 0, - "name": "AUTHORIZED_STATE_INVALID" + "name": "TEG_DEVICE_TYPE_INVALID" }, { "number": 1, - "name": "AUTHORIZED_STATE_PENDING_VERIFICATION" + "name": "TEG_DEVICE_TYPE_SMC" }, { "number": 2, - "name": "AUTHORIZED_STATE_PENDING_VERIFICATION_TIMEOUT" + "name": "TEG_DEVICE_TYPE_HEC_GATEWAY1" }, { "number": 3, - "name": "AUTHORIZED_STATE_VERIFIED" + "name": "TEG_DEVICE_TYPE_TEG_GATEWAY2" }, { "number": 4, - "name": "AUTHORIZED_STATE_REMOVED" + "name": "TEG_DEVICE_TYPE_TEG_POWERWALLPLUS" + }, + { + "number": 5, + "name": "TEG_DEVICE_TYPE_TEG_MP1" + }, + { + "number": 6, + "name": "TEG_DEVICE_TYPE_TEG_SUPERCHARGER" + }, + { + "number": 7, + "name": "TEG_DEVICE_TYPE_TACO_POWERWALL3" + }, + { + "number": 8, + "name": "TEG_DEVICE_TYPE_TEG_PVI" + }, + { + "number": 9, + "name": "TEG_DEVICE_TYPE_TACO_GATEWAY3V" + }, + { + "number": 10, + "name": "TEG_DEVICE_TYPE_TACO_WALLBOX" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AuthorizedVerificationType", - "name": "AuthorizedVerificationType", + "fqn": ".tesla.proto.energy_device.v1.iPMDeviceType", + "name": "iPMDeviceType", "values": [ { "number": 0, - "name": "AUTHORIZED_VERIFICATION_TYPE_INVALID" + "name": "IPM_DEVICE_TYPE_INVALID" }, { "number": 1, - "name": "AUTHORIZED_VERIFICATION_TYPE_PRESENCE_PROOF" + "name": "IPM_DEVICE_TYPE_POWERPACK3" }, { "number": 2, - "name": "AUTHORIZED_VERIFICATION_TYPE_BLE" - }, - { - "number": 3, - "name": "AUTHORIZED_VERIFICATION_TYPE_SIGNED" - }, - { - "number": 4, - "name": "AUTHORIZED_VERIFICATION_TYPE_HERMES_COMMAND" + "name": "IPM_DEVICE_TYPE_SUPERCHARGER4" } ], "reserved_ranges": [], "reserved_names": [] } ], - "path": "proto/energy_device/authorization_types.proto", + "path": "proto/energy_device/device.proto", "compiled_top_level_input": true }, { "package": "tesla.proto.energy_device.v1", "imports": [ - "device.proto", - "error.proto", - "google/protobuf/duration.proto", - "google/protobuf/wrappers.proto", - "networking.proto", - "update.proto" + "google/protobuf/wrappers.proto" ], "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoRequest", - "name": "CommonAPIGetSystemInfoRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.RadioLegalInformation", - "name": "RadioLegalInformation", + "fqn": ".tesla.proto.energy_device.v1.AccumulatedEnergy", + "name": "AccumulatedEnergy", "fields": [ { "number": 1, - "name": "manufacturer", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.StringValue", + "name": "energy_wh", + "type": "TYPE_FLOAT", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "model", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.StringValue", + "name": "accumulation_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergyAccumulationType", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "fcc_id", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.StringValue", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "ic_id", + "name": "period_s", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.StringValue", + "type_name": ".google.protobuf.UInt64Value", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23251,15 +28625,23 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.ComplianceInformation", - "name": "ComplianceInformation", + "fqn": ".tesla.proto.energy_device.v1.GridComplianceStatus", + "name": "GridComplianceStatus", "fields": [ { "number": 1, - "name": "radio_legal_information", + "name": "grid_state", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.GridState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "qualifiying_time_remaining_s", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.RadioLegalInformation", - "label": "LABEL_REPEATED", + "type_name": ".google.protobuf.FloatValue", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -23270,154 +28652,81 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoResponse", - "name": "CommonAPIGetSystemInfoResponse", + "fqn": ".tesla.proto.energy_device.v1.InstACMeasurement", + "name": "InstACMeasurement", "fields": [ { "number": 1, - "name": "device_id", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EcuId", + "name": "voltage_vrms", + "type": "TYPE_FLOAT", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "din", - "type": "TYPE_STRING", + "name": "frequency_hz", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "firmware_version", + "name": "current_arms", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FirmwareVersion", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 5, - "name": "system_update", + "number": 4, + "name": "real_power_w", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.SystemUpdate", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 6, - "name": "device_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.DeviceType", + "number": 5, + "name": "reactive_power_var", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 7, - "name": "compliance_information", + "number": 6, + "name": "apparent_power_va", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.ComplianceInformation", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null } ], "oneofs": [], - "reserved_ranges": [ - [ - 4, - 4 - ] - ], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigRequest", - "name": "CommonAPISetLocalSiteConfigRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigResponse", - "name": "CommonAPISetLocalSiteConfigResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateRequest", - "name": "CommonAPIPerformUpdateRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateResponse", - "name": "CommonAPIPerformUpdateResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetRequest", - "name": "CommonAPIFactoryResetRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetResponse", - "name": "CommonAPIFactoryResetResponse", - "fields": [], - "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIWifiScanRequest", - "name": "CommonAPIWifiScanRequest", + "fqn": ".tesla.proto.energy_device.v1.InstDCMeasurement", + "name": "InstDCMeasurement", "fields": [ { "number": 1, - "name": "max_scan_duration_s", - "type": "TYPE_UINT32", + "name": "voltage_v", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "desired_security_types", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", - "label": "LABEL_REPEATED", - "oneof": null - }, - { - "number": 3, - "name": "maximum_total_aps", - "type": "TYPE_UINT32", - "type_name": null, + "name": "current_a", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23429,221 +28738,137 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIWifiScanResponse", - "name": "CommonAPIWifiScanResponse", + "fqn": ".tesla.proto.energy_device.v1.AlertLog", + "name": "AlertLog", "fields": [ { "number": 1, - "name": "wifi_networks", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiNetwork", - "label": "LABEL_REPEATED", - "oneof": null + "name": "data", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "_data" } ], - "oneofs": [], + "oneofs": [ + "_data" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiRequest", - "name": "CommonAPIConfigureWifiRequest", + "fqn": ".tesla.proto.energy_device.v1.AlertMatrix", + "name": "AlertMatrix", "fields": [ { "number": 1, - "name": "enabled", - "type": "TYPE_BOOL", + "name": "data", + "type": "TYPE_UINT64", "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "wifi_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "_data" } ], - "oneofs": [], + "oneofs": [ + "_data" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - }, + } + ], + "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiResponse", - "name": "CommonAPIConfigureWifiResponse", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.EnergyAccumulationType", + "name": "EnergyAccumulationType", + "values": [ + { + "number": 0, + "name": "ENERGY_ACCUMULATION_TYPE_INVALID" + }, { "number": 1, - "name": "wifi_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "ENERGY_ACCUMULATION_TYPE_LIFETIME" }, { "number": 2, - "name": "wifi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "ENERGY_ACCUMULATION_TYPE_TODAY" + }, + { + "number": 3, + "name": "ENERGY_ACCUMULATION_TYPE_SESSION" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordRequest", - "name": "CommonAPIConfigureWifiWithEncryptedPasswordRequest", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.GridState", + "name": "GridState", + "values": [ + { + "number": 0, + "name": "GRID_STATE_INVALID" + }, { "number": 1, - "name": "enabled", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "GRID_STATE_UNCOMPLIANT" }, { "number": 2, - "name": "wifi_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "GRID_STATE_QUALIFYING" }, { "number": 3, - "name": "encrypted_password", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EncryptedMessage", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "GRID_STATE_COMPLIANT" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, + "reserved_names": [] + } + ], + "path": "proto/energy_device/energy.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "device.proto", + "networking.proto" + ], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordResponse", - "name": "CommonAPIConfigureWifiWithEncryptedPasswordResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", + "name": "EnergySiteNetDevice", "fields": [ { "number": 1, - "name": "wifi_config", + "name": "din", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "type_name": ".tesla.proto.energy_device.v1.Din", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "wifi", + "name": "wifi_ap_config", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "result", - "type": "TYPE_INT32", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateRequest", - "name": "CommonAPICheckForUpdateRequest", - "fields": [ - { - "number": 1, - "name": "download_if_available", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateResponse", - "name": "CommonAPICheckForUpdateResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyRequest", - "name": "CommonAPICheckForUpdateUrgencyRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyResponse", - "name": "CommonAPICheckForUpdateUrgencyResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateRequest", - "name": "CommonAPIClearUpdateRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateResponse", - "name": "CommonAPIClearUpdateResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertRequest", - "name": "CommonAPIDeviceCertRequest", - "fields": [], + "name": "service_types", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", + "label": "LABEL_REPEATED", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -23651,22 +28876,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertResponse", - "name": "CommonAPIDeviceCertResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", + "name": "EnergySiteNetRecentlyAddedDevice", "fields": [ { "number": 1, - "name": "format", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.DeviceCertFormat", + "name": "din", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Din", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "device_cert", - "type": "TYPE_BYTES", - "type_name": null, + "name": "status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23678,9 +28903,26 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusRequest", - "name": "CommonAPIGetNetworkingStatusRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", + "name": "EnergySiteNetRecentlyRemovedDevice", + "fields": [ + { + "number": 1, + "name": "din", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Din", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRemovalStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -23688,38 +28930,46 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusResponse", - "name": "CommonAPIGetNetworkingStatusResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetUnpairedDevice", + "name": "EnergySiteNetUnpairedDevice", "fields": [ { "number": 1, - "name": "wifi_config", + "name": "din", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "type_name": ".tesla.proto.energy_device.v1.Din", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "wifi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "name": "pair_status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetPairStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "eth", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "name": "firmware_version", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "gsm", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "name": "device_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.DeviceType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 100, + "name": "teg_device_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.TEGDeviceType", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23731,9 +28981,42 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoRequest", - "name": "CommonAPIGetCellularInfoRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", + "name": "EnergySiteNetConfig", + "fields": [ + { + "number": 1, + "name": "devices", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 2, + "name": "recently_added", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "recently_removed", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "unpaired_devices", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetUnpairedDevice", + "label": "LABEL_REPEATED", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -23741,23 +29024,23 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoResponse", - "name": "CommonAPIGetCellularInfoResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceRequest", + "name": "EnergySiteNetAPIAddDeviceRequest", "fields": [ { "number": 1, - "name": "eid", + "name": "device", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CellularEID", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "supported_profiles", - "type": "TYPE_INT32", - "type_name": null, - "label": "LABEL_REPEATED", + "name": "network_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -23768,14 +29051,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetRequest", - "name": "CommonAPIConfigureEthernetRequest", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceResponse", + "name": "EnergySiteNetAPIAddDeviceResponse", "fields": [ { "number": 1, - "name": "ipv4_config", + "name": "recently_added", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23787,14 +29070,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetResponse", - "name": "CommonAPIConfigureEthernetResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceRequest", + "name": "EnergySiteNetAPIRemoveDeviceRequest", "fields": [ { "number": 1, - "name": "eth", + "name": "din", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.Din", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "network_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "service_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23806,14 +29105,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkRequest", - "name": "CommonAPIForgetWifiNetworkRequest", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceResponse", + "name": "EnergySiteNetAPIRemoveDeviceResponse", "fields": [ { "number": 1, - "name": "ssid", - "type": "TYPE_STRING", - "type_name": null, + "name": "recently_removed", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23825,9 +29124,18 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkResponse", - "name": "CommonAPIForgetWifiNetworkResponse", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigRequest", + "name": "EnergySiteNetAPIGetConfigRequest", + "fields": [ + { + "number": 1, + "name": "network_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -23835,9 +29143,26 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckInternetRequest", - "name": "CommonAPICheckInternetRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigResponse", + "name": "EnergySiteNetAPIGetConfigResponse", + "fields": [ + { + "number": 1, + "name": "config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "network_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -23845,88 +29170,268 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPICheckInternetResponse", - "name": "CommonAPICheckInternetResponse", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetMessages", + "name": "EnergySiteNetMessages", "fields": [ { "number": 1, - "name": "wifi", + "name": "add_device_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 2, - "name": "eth", + "name": "add_device_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 3, - "name": "gsm", + "name": "remove_device_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" + }, + { + "number": 4, + "name": "remove_device_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 5, + "name": "get_config_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 6, + "name": "get_config_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" } ], - "oneofs": [], + "oneofs": [ + "message" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] + } + ], + "enums": [ + { + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", + "name": "EnergySiteNetAdditionStatus", + "values": [ + { + "number": 0, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_INVALID" + }, + { + "number": 1, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_IN_PROGRESS" + }, + { + "number": 2, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_ADDED" + }, + { + "number": 3, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_FOUND" + }, + { + "number": 4, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CANNOT_JOIN" + }, + { + "number": 5, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NO_RESPONSE" + }, + { + "number": 6, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_BAD_RESPONSE" + }, + { + "number": 7, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_INTERNAL_ERROR" + }, + { + "number": 8, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CHANGES_PROHIBITED" + }, + { + "number": 9, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_MAX_DEVICES" + }, + { + "number": 10, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_LEADER" + }, + { + "number": 11, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_EXISTS" + }, + { + "number": 12, + "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_PROOF_OF_PRESENCE" + } + ], + "reserved_ranges": [], + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", - "name": "CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "name": "EnergySiteNetNetworkType", + "values": [ + { + "number": 0, + "name": "ENERGY_SITE_NET_NETWORK_TYPE_INVALID" + }, { "number": 1, - "name": "locally_available_packages", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocallyAvailablePackage", - "label": "LABEL_REPEATED", - "oneof": null + "name": "ENERGY_SITE_NET_NETWORK_TYPE_POWERWALL3" + }, + { + "number": 2, + "name": "ENERGY_SITE_NET_NETWORK_TYPE_SMART_CHARGING" + }, + { + "number": 3, + "name": "ENERGY_SITE_NET_NETWORK_TYPE_LOAD_SHARING" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", - "name": "CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetPairStatus", + "name": "EnergySiteNetPairStatus", + "values": [ + { + "number": 0, + "name": "ENERGY_SITE_NET_PAIR_STATUS_INVALID" + }, { "number": 1, - "name": "accepted_packages", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AcceptedPackage", - "label": "LABEL_REPEATED", - "oneof": null + "name": "ENERGY_SITE_NET_PAIR_STATUS_PENDING" + }, + { + "number": 2, + "name": "ENERGY_SITE_NET_PAIR_STATUS_FAILED_INTERNAL_ERROR" + }, + { + "number": 3, + "name": "ENERGY_SITE_NET_PAIR_STATUS_PROOF_OF_PRESENCE_TIMEOUT" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", - "name": "CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", + "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRemovalStatus", + "name": "EnergySiteNetRemovalStatus", + "values": [ + { + "number": 0, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_INVALID" + }, + { + "number": 1, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_IN_PROGRESS" + }, + { + "number": 2, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_REMOVED" + }, + { + "number": 3, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NO_SUCH_DEVICE" + }, + { + "number": 4, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_INTERNAL_ERROR" + }, + { + "number": 5, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_CHANGES_PROHIBITED" + }, + { + "number": 6, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_LEADER" + }, + { + "number": 7, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_SOLO" + }, + { + "number": 8, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NOT_LEADER" + }, + { + "number": 9, + "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_LEADER_AVAILABLE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteServiceType", + "name": "IntraSiteServiceType", + "values": [ + { + "number": 0, + "name": "INTRA_SITE_SERVICE_TYPE_INVALID" + }, + { + "number": 1, + "name": "INTRA_SITE_SERVICE_TYPE_MULTI_PW3_FOLLOWER" + }, + { + "number": 2, + "name": "INTRA_SITE_SERVICE_TYPE_WC_LOAD_SHARING_FOLLOWER" + }, + { + "number": 3, + "name": "INTRA_SITE_SERVICE_TYPE_WC_CURRENT_CONTROL" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_device/energy_site_net.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "google/rpc/status.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.ErrorResponse", + "name": "ErrorResponse", "fields": [ { "number": 1, - "name": "locally_available_packages", + "name": "status", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocallyAvailablePackage", - "label": "LABEL_REPEATED", + "type_name": ".google.rpc.Status", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -23935,17 +29440,34 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] - }, + } + ], + "enums": [], + "path": "proto/energy_device/error.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", - "name": "CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIFile", + "name": "FileStoreAPIFile", "fields": [ { "number": 1, - "name": "accepted_packages", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AcceptedPackage", - "label": "LABEL_REPEATED", + "name": "name", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 100, + "name": "blob", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -23956,14 +29478,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest", - "name": "CommonAPIPrepareRegistrationPayloadRequest", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileRequest", + "name": "FileStoreAPIForceWriteFileRequest", "fields": [ { "number": 1, - "name": "customer_registration_info", - "type": "TYPE_BYTES", - "type_name": null, + "name": "domain", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "file", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", "label": "LABEL_OPTIONAL", "oneof": null } @@ -23975,14 +29505,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse", - "name": "CommonAPIPrepareRegistrationPayloadResponse", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileResponse", + "name": "FileStoreAPIForceWriteFileResponse", "fields": [ { "number": 1, - "name": "signed_registration_payload", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.DeviceSignedPayload", + "name": "hash", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -23994,69 +29524,29 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.TcpdumpInfo", - "name": "TcpdumpInfo", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileRequest", + "name": "FileStoreAPIUpdateFileRequest", "fields": [ { "number": 1, - "name": "path", - "type": "TYPE_STRING", - "type_name": null, + "name": "domain", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "pid", - "type": "TYPE_INT64", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "interface", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "expression", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 5, - "name": "duration", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Duration", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 6, - "name": "max_duration", + "name": "file", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Duration", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 7, - "name": "size", - "type": "TYPE_UINT64", - "type_name": null, + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 8, - "name": "max_size", - "type": "TYPE_UINT64", + "number": 3, + "name": "hash", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -24069,45 +29559,21 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpRequest", - "name": "CommonAPIStartTcpdumpRequest", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileResponse", + "name": "FileStoreAPIUpdateFileResponse", "fields": [ { "number": 1, - "name": "name", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "interface", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "expression", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "max_duration", + "name": "file", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Duration", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 5, - "name": "max_size", - "type": "TYPE_UINT64", + "number": 2, + "name": "hash", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -24120,21 +29586,19 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpResponse", - "name": "CommonAPIStartTcpdumpResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpRequest", - "name": "CommonAPIStopTcpdumpRequest", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileRequest", + "name": "FileStoreAPIReadFileRequest", "fields": [ { "number": 1, + "name": "domain", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, "name": "name", "type": "TYPE_STRING", "type_name": null, @@ -24142,9 +29606,9 @@ "oneof": null }, { - "number": 2, - "name": "remove", - "type": "TYPE_BOOL", + "number": 3, + "name": "if_different_hash", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -24157,41 +29621,21 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpResponse", - "name": "CommonAPIStopTcpdumpResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoRequest", - "name": "CommonAPIGetTcpdumpInfoRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoResponse", - "name": "CommonAPIGetTcpdumpInfoResponse", + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileResponse", + "name": "FileStoreAPIReadFileResponse", "fields": [ { "number": 1, - "name": "list", + "name": "file", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.TcpdumpInfo", - "label": "LABEL_REPEATED", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", + "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "disk_quota", - "type": "TYPE_INT64", + "name": "hash", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -24204,366 +29648,54 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CommonMessages", - "name": "CommonMessages", + "fqn": ".tesla.proto.energy_device.v1.FileStoreMessages", + "name": "FileStoreMessages", "fields": [ { "number": 1, - "name": "error_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.ErrorResponse", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "get_system_info_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 3, - "name": "get_system_info_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetSystemInfoResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 4, - "name": "set_local_site_config_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 5, - "name": "set_local_site_config_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPISetLocalSiteConfigResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 6, - "name": "perform_update_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 7, - "name": "perform_update_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 8, - "name": "factory_reset_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 9, - "name": "factory_reset_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIFactoryResetResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 10, - "name": "wifi_scan_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIWifiScanRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 11, - "name": "wifi_scan_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIWifiScanResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 12, - "name": "configure_wifi_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 13, - "name": "configure_wifi_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 14, - "name": "check_for_update_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 15, - "name": "check_for_update_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 16, - "name": "clear_update_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 17, - "name": "clear_update_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIClearUpdateResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 18, - "name": "device_cert_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 19, - "name": "device_cert_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIDeviceCertResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 20, - "name": "configure_wifi_with_encrypted_password_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 21, - "name": "configure_wifi_with_encrypted_password_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureWifiWithEncryptedPasswordResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 22, - "name": "get_networking_status_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 23, - "name": "get_networking_status_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetNetworkingStatusResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 24, - "name": "get_cellular_info_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 25, - "name": "get_cellular_info_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetCellularInfoResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 26, - "name": "configure_ethernet_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 27, - "name": "configure_ethernet_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIConfigureEthernetResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 28, - "name": "forget_wifi_network_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 29, - "name": "forget_wifi_network_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIForgetWifiNetworkResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 30, - "name": "check_internet_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckInternetRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 31, - "name": "check_internet_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckInternetResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 32, - "name": "check_for_update_urgency_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 33, - "name": "check_for_update_urgency_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPICheckForUpdateUrgencyResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 34, - "name": "negotiate_update_with_locally_available_packages_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 35, - "name": "negotiate_update_with_locally_available_packages_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 36, - "name": "prepare_registration_payload_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 37, - "name": "prepare_registration_payload_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 38, - "name": "perform_update_from_locally_available_packages_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 39, - "name": "perform_update_from_locally_available_packages_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 46, - "name": "start_tcpdump_request", + "name": "read_file_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpRequest", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 47, - "name": "start_tcpdump_response", + "number": 2, + "name": "read_file_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIStartTcpdumpResponse", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 48, - "name": "stop_tcpdump_request", + "number": 3, + "name": "force_write_file_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpRequest", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 49, - "name": "stop_tcpdump_response", + "number": 4, + "name": "force_write_file_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIStopTcpdumpResponse", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 50, - "name": "get_tcpdump_info_request", + "number": 5, + "name": "update_file_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoRequest", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 51, - "name": "get_tcpdump_info_response", + "number": 6, + "name": "update_file_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.CommonAPIGetTcpdumpInfoResponse", + "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileResponse", "label": "LABEL_OPTIONAL", "oneof": "message" } @@ -24577,49 +29709,86 @@ "nested_enums": [] } ], - "enums": [], - "path": "proto/energy_device/common_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [], - "messages": [ + "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.Din", - "name": "Din", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", + "name": "FileStoreAPIDomain", + "values": [ + { + "number": 0, + "name": "FILE_STORE_API_DOMAIN_INVALID" + }, { "number": 1, - "name": "value", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "FILE_STORE_API_DOMAIN_CONFIG_JSON" + }, + { + "number": 2, + "name": "FILE_STORE_API_DOMAIN_GRID_CODE_REGIONS_CSV" + }, + { + "number": 3, + "name": "FILE_STORE_API_DOMAIN_CERTIFIED_INSTALLERS_CSV" + }, + { + "number": 4, + "name": "FILE_STORE_API_DOMAIN_SUPERCHARGER_FILES" + }, + { + "number": 5, + "name": "FILE_STORE_API_DOMAIN_OPTICASTER_FILES" + }, + { + "number": 6, + "name": "FILE_STORE_API_DOMAIN_WALLBOX_CONFIG" + }, + { + "number": 7, + "name": "FILE_STORE_API_DOMAIN_OCPP_CSMS_ROOT_CA" + }, + { + "number": 9, + "name": "FILE_STORE_API_DOMAIN_OPTIMUS_CHARGER_CONFIG" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, + "reserved_names": [] + } + ], + "path": "proto/energy_device/filestore_api.proto", + "compiled_top_level_input": true + }, + { + "path": "proto/energy_device/google/rpc/status.proto", + "compiled_top_level_input": false, + "package": null, + "imports": [], + "messages": [], + "enums": [], + "note": "present under proto/ but not passed to protoc as a top-level input (see generate.sh); reachable only via another file's import; excluded from group/global totals" + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "google/protobuf/wrappers.proto" + ], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.EcuId", - "name": "EcuId", + "fqn": ".tesla.proto.energy_device.v1.SignedGraphQLQuery", + "name": "SignedGraphQLQuery", "fields": [ { "number": 1, - "name": "part_number", - "type": "TYPE_STRING", + "name": "version", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "serial_number", - "type": "TYPE_STRING", + "name": "query", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -24632,50 +29801,28 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.VIN", - "name": "VIN", + "fqn": ".tesla.proto.energy_device.v1.GraphQLError", + "name": "GraphQLError", "fields": [ { "number": 1, - "name": "value", + "name": "path", "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_OPTIONAL", + "label": "LABEL_REPEATED", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.UUIDv4Bytes", - "name": "UUIDv4Bytes", - "fields": [ + }, { - "number": 1, - "name": "value", - "type": "TYPE_BYTES", - "type_name": null, + "number": 2, + "name": "code", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.GraphQLErrorCode", "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.UUIDv4", - "name": "UUIDv4", - "fields": [ + }, { - "number": 1, - "name": "text", + "number": 3, + "name": "message", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -24689,22 +29836,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.DeviceSignedPayload", - "name": "DeviceSignedPayload", + "fqn": ".tesla.proto.energy_device.v1.GraphQLAPIQueryRequest", + "name": "GraphQLAPIQueryRequest", "fields": [ { "number": 1, - "name": "payload", - "type": "TYPE_BYTES", - "type_name": null, + "name": "format", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.GraphQLQueryFormat", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "device_signature_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.DeviceSignatureType", + "name": "query", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, @@ -24718,17 +29865,9 @@ }, { "number": 4, - "name": "device_cert_format", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.DeviceCertFormat", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 5, - "name": "device_cert", - "type": "TYPE_BYTES", - "type_name": null, + "name": "variables_json", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -24740,24 +29879,32 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EncryptedMessage", - "name": "EncryptedMessage", + "fqn": ".tesla.proto.energy_device.v1.GraphQLAPIQueryResponse", + "name": "GraphQLAPIQueryResponse", "fields": [ { "number": 1, - "name": "cipher", + "name": "status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.Cipher", + "type_name": ".tesla.proto.energy_device.v1.GraphQLStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "cipher_text", - "type": "TYPE_BYTES", + "name": "data", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 3, + "name": "errors", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.GraphQLError", + "label": "LABEL_REPEATED", + "oneof": null } ], "oneofs": [], @@ -24765,317 +29912,202 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.DeviceType", - "name": "DeviceType", - "values": [ - { - "number": 0, - "name": "DEVICE_TYPE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.GraphQLMessages", + "name": "GraphQLMessages", + "fields": [ { "number": 1, - "name": "DEVICE_TYPE_GEN3WC" + "name": "query_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.GraphQLAPIQueryRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { "number": 2, - "name": "DEVICE_TYPE_PVCOM" - }, - { - "number": 3, - "name": "DEVICE_TYPE_MSA" - }, - { - "number": 4, - "name": "DEVICE_TYPE_SITECONTROLLER" - }, - { - "number": 5, - "name": "DEVICE_TYPE_MEGAPUTER" - }, - { - "number": 6, - "name": "DEVICE_TYPE_IPM" + "name": "query_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.GraphQLAPIQueryResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" } ], + "oneofs": [ + "message" + ], "reserved_ranges": [], - "reserved_names": [] - }, + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.DeviceCertFormat", - "name": "DeviceCertFormat", + "fqn": ".tesla.proto.energy_device.v1.GraphQLQueryFormat", + "name": "GraphQLQueryFormat", "values": [ { "number": 0, - "name": "DEVICE_CERT_FORMAT_INVALID" + "name": "GRAPH_QL_QUERY_FORMAT_INVALID" }, { "number": 1, - "name": "DEVICE_CERT_FORMAT_DER" + "name": "GRAPH_QL_QUERY_FORMAT_RAW" }, { "number": 2, - "name": "DEVICE_CERT_FORMAT_PEM" + "name": "GRAPH_QL_QUERY_FORMAT_SIGNED_SHA256_ECDSA_ASN1" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.DeviceSignatureType", - "name": "DeviceSignatureType", + "fqn": ".tesla.proto.energy_device.v1.GraphQLStatus", + "name": "GraphQLStatus", "values": [ { "number": 0, - "name": "DEVICE_SIGNATURE_TYPE_INVALID" + "name": "GRAPH_QL_STATUS_INVALID" }, { "number": 1, - "name": "DEVICE_SIGNATURE_TYPE_SHA256_ECDSA_ASN1" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.Cipher", - "name": "Cipher", - "values": [ - { - "number": 0, - "name": "CIPHER_INVALID" + "name": "GRAPH_QL_STATUS_SUCCESS" }, { "number": 2, - "name": "CIPHER_RSA_OAEP_SHA256" + "name": "GRAPH_QL_STATUS_ERROR_PARTIAL" + }, + { + "number": 3, + "name": "GRAPH_QL_STATUS_ERROR_FULL" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.TEGDeviceType", - "name": "TEGDeviceType", + "fqn": ".tesla.proto.energy_device.v1.GraphQLErrorCode", + "name": "GraphQLErrorCode", "values": [ { "number": 0, - "name": "TEG_DEVICE_TYPE_INVALID" + "name": "GRAPH_QL_ERROR_CODE_INVALID" }, { "number": 1, - "name": "TEG_DEVICE_TYPE_SMC" + "name": "GRAPH_QL_ERROR_CODE_FIELD_NOT_FOUND" }, { "number": 2, - "name": "TEG_DEVICE_TYPE_HEC_GATEWAY1" + "name": "GRAPH_QL_ERROR_CODE_UNAUTHORIZED" }, { "number": 3, - "name": "TEG_DEVICE_TYPE_TEG_GATEWAY2" + "name": "GRAPH_QL_ERROR_CODE_RESOLVER_PROCESS_UNRESPONSIVE" }, { "number": 4, - "name": "TEG_DEVICE_TYPE_TEG_POWERWALLPLUS" - }, - { - "number": 5, - "name": "TEG_DEVICE_TYPE_TEG_MP1" - }, - { - "number": 6, - "name": "TEG_DEVICE_TYPE_TEG_SUPERCHARGER" - }, - { - "number": 7, - "name": "TEG_DEVICE_TYPE_TACO_POWERWALL3" - }, - { - "number": 8, - "name": "TEG_DEVICE_TYPE_TEG_PVI" - }, - { - "number": 9, - "name": "TEG_DEVICE_TYPE_TACO_GATEWAY3V" - }, - { - "number": 10, - "name": "TEG_DEVICE_TYPE_TACO_WALLBOX" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.iPMDeviceType", - "name": "iPMDeviceType", - "values": [ - { - "number": 0, - "name": "IPM_DEVICE_TYPE_INVALID" - }, - { - "number": 1, - "name": "IPM_DEVICE_TYPE_POWERPACK3" - }, - { - "number": 2, - "name": "IPM_DEVICE_TYPE_SUPERCHARGER4" + "name": "GRAPH_QL_ERROR_CODE_RESPONSE_TOO_BIG" } ], "reserved_ranges": [], "reserved_names": [] } ], - "path": "proto/energy_device/device.proto", + "path": "proto/energy_device/graphql_api.proto", "compiled_top_level_input": true }, { "package": "tesla.proto.energy_device.v1", "imports": [ - "google/protobuf/wrappers.proto" + "energy_site_net.proto", + "networking.proto" ], "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.AccumulatedEnergy", - "name": "AccumulatedEnergy", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteConfig", + "name": "IntraSiteConfig", "fields": [ { "number": 1, - "name": "energy_wh", - "type": "TYPE_FLOAT", + "name": "last_changed_timestamp", + "type": "TYPE_UINT64", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "accumulation_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergyAccumulationType", + "name": "site_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "period_s", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.UInt64Value", - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.GridComplianceStatus", - "name": "GridComplianceStatus", - "fields": [ - { - "number": 1, - "name": "grid_state", + "name": "backhaul_interface_type", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.GridState", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "qualifiying_time_remaining_s", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.InstACMeasurement", - "name": "InstACMeasurement", - "fields": [ - { - "number": 1, - "name": "voltage_vrms", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "frequency_hz", - "type": "TYPE_FLOAT", - "type_name": null, + "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "current_arms", + "number": 4, + "name": "site_wifi", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 4, - "name": "real_power_w", + "number": 5, + "name": "leader", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 5, - "name": "reactive_power_var", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", - "label": "LABEL_OPTIONAL", + "number": 7, + "name": "service_types", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", + "label": "LABEL_REPEATED", "oneof": null }, { - "number": 6, - "name": "apparent_power_va", - "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "number": 8, + "name": "lan_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteLanType", "label": "LABEL_OPTIONAL", "oneof": null } ], "oneofs": [], - "reserved_ranges": [], + "reserved_ranges": [ + [ + 6, + 6 + ] + ], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.InstDCMeasurement", - "name": "InstDCMeasurement", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPairRequest", + "name": "IntraSiteAPIPairRequest", "fields": [ { "number": 1, - "name": "voltage_v", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "current_a", + "name": "site", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25087,135 +30119,110 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AlertLog", - "name": "AlertLog", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPairResponse", + "name": "IntraSiteAPIPairResponse", "fields": [ { "number": 1, - "name": "data", - "type": "TYPE_UINT64", - "type_name": null, + "name": "result", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSitePairResult", "label": "LABEL_OPTIONAL", - "oneof": "_data" + "oneof": null } ], - "oneofs": [ - "_data" - ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairRequest", + "name": "IntraSiteAPIUnpairRequest", + "fields": [], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.AlertMatrix", - "name": "AlertMatrix", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairResponse", + "name": "IntraSiteAPIUnpairResponse", "fields": [ { "number": 1, - "name": "data", - "type": "TYPE_UINT64", - "type_name": null, + "name": "result", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteUnpairResult", "label": "LABEL_OPTIONAL", - "oneof": "_data" + "oneof": null } ], - "oneofs": [ - "_data" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.EnergyAccumulationType", - "name": "EnergyAccumulationType", - "values": [ - { - "number": 0, - "name": "ENERGY_ACCUMULATION_TYPE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkRequest", + "name": "IntraSiteAPIJoinNetworkRequest", + "fields": [ { "number": 1, - "name": "ENERGY_ACCUMULATION_TYPE_LIFETIME" - }, - { - "number": 2, - "name": "ENERGY_ACCUMULATION_TYPE_TODAY" - }, - { - "number": 3, - "name": "ENERGY_ACCUMULATION_TYPE_SESSION" + "name": "site", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GridState", - "name": "GridState", - "values": [ - { - "number": 0, - "name": "GRID_STATE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkResponse", + "name": "IntraSiteAPIJoinNetworkResponse", + "fields": [ { "number": 1, - "name": "GRID_STATE_UNCOMPLIANT" - }, - { - "number": 2, - "name": "GRID_STATE_QUALIFYING" - }, - { - "number": 3, - "name": "GRID_STATE_COMPLIANT" + "name": "result", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteJoinNetworkResult", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/energy.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "device.proto", - "networking.proto" - ], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", - "name": "EnergySiteNetDevice", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceRequest", + "name": "IntraSiteAPIAddDeviceRequest", "fields": [ { "number": 1, - "name": "din", + "name": "device", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Din", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "wifi_ap_config", + "name": "site", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", "label": "LABEL_OPTIONAL", "oneof": null - }, - { - "number": 3, - "name": "service_types", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", - "label": "LABEL_REPEATED", - "oneof": null } ], "oneofs": [], @@ -25225,20 +30232,12 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", - "name": "EnergySiteNetRecentlyAddedDevice", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceResponse", + "name": "IntraSiteAPIAddDeviceResponse", "fields": [ { "number": 1, - "name": "din", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Din", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "status", + "name": "result", "type": "TYPE_ENUM", "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", "label": "LABEL_OPTIONAL", @@ -25252,22 +30251,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", - "name": "EnergySiteNetRecentlyRemovedDevice", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultRequest", + "name": "IntraSiteAPIPushAddDeviceResultRequest", "fields": [ { "number": 1, - "name": "din", + "name": "device", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Din", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "status", + "name": "result", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRemovalStatus", + "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25279,46 +30278,54 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetUnpairedDevice", - "name": "EnergySiteNetUnpairedDevice", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultResponse", + "name": "IntraSiteAPIPushAddDeviceResultResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkRequest", + "name": "IntraSiteAPILeaveNetworkRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkResponse", + "name": "IntraSiteAPILeaveNetworkResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatRequest", + "name": "IntraSiteAPIPushHeartbeatRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatResponse", + "name": "IntraSiteAPIPushHeartbeatResponse", "fields": [ { "number": 1, - "name": "din", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Din", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "pair_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetPairStatus", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "firmware_version", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "device_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.DeviceType", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 100, - "name": "teg_device_type", + "name": "result", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.TEGDeviceType", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteHeartbeatResult", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25330,40 +30337,16 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", - "name": "EnergySiteNetConfig", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigRequest", + "name": "IntraSiteAPIPushConfigRequest", "fields": [ { "number": 1, - "name": "devices", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", - "label": "LABEL_REPEATED", - "oneof": null - }, - { - "number": 2, - "name": "recently_added", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "recently_removed", + "name": "site", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", "label": "LABEL_OPTIONAL", "oneof": null - }, - { - "number": 4, - "name": "unpaired_devices", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetUnpairedDevice", - "label": "LABEL_REPEATED", - "oneof": null } ], "oneofs": [], @@ -25373,22 +30356,32 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceRequest", - "name": "EnergySiteNetAPIAddDeviceRequest", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigResponse", + "name": "IntraSiteAPIPushConfigResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusRequest", + "name": "IntraSiteAPIPushBackhaulStatusRequest", "fields": [ { "number": 1, - "name": "device", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", + "name": "backhaul_interface_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "network_type", + "name": "backhaul_status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulStatus", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25400,18 +30393,9 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceResponse", - "name": "EnergySiteNetAPIAddDeviceResponse", - "fields": [ - { - "number": 1, - "name": "recently_added", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyAddedDevice", - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusResponse", + "name": "IntraSiteAPIPushBackhaulStatusResponse", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -25419,30 +30403,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceRequest", - "name": "EnergySiteNetAPIRemoveDeviceRequest", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusRequest", + "name": "IntraSiteAPIPushLeaderStatusRequest", "fields": [ { "number": 1, - "name": "din", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Din", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "network_type", + "name": "status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteLeaderStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "service_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", + "number": 2, + "name": "expected_duration_s", + "type": "TYPE_UINT32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -25454,14 +30430,24 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceResponse", - "name": "EnergySiteNetAPIRemoveDeviceResponse", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusResponse", + "name": "IntraSiteAPIPushLeaderStatusResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateRequest", + "name": "IntraSiteAPIRequestUpdateRequest", "fields": [ { "number": 1, - "name": "recently_removed", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetRecentlyRemovedDevice", + "name": "din", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -25473,14 +30459,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigRequest", - "name": "EnergySiteNetAPIGetConfigRequest", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateResponse", + "name": "IntraSiteAPIRequestUpdateResponse", "fields": [ { "number": 1, - "name": "network_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "name": "signature", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -25492,22 +30478,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigResponse", - "name": "EnergySiteNetAPIGetConfigResponse", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateRequest", + "name": "IntraSiteAPICompleteUpdateRequest", "fields": [ { "number": 1, - "name": "config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", + "name": "din", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "network_type", + "name": "result", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteCompleteUpdateResult", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25519,54 +30505,208 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetMessages", - "name": "EnergySiteNetMessages", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateResponse", + "name": "IntraSiteAPICompleteUpdateResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteMessages", + "name": "IntraSiteMessages", "fields": [ { "number": 1, + "name": "join_network_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 2, + "name": "join_network_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 3, "name": "add_device_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceRequest", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 4, + "name": "add_device_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 5, + "name": "push_add_device_result_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 6, + "name": "push_add_device_result_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 7, + "name": "leave_network_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 8, + "name": "leave_network_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 9, + "name": "push_heartbeat_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 10, + "name": "push_heartbeat_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 11, + "name": "push_config_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 12, + "name": "push_config_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 13, + "name": "push_backhaul_status_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 14, + "name": "push_backhaul_status_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 15, + "name": "push_leader_status_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 16, + "name": "push_leader_status_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 17, + "name": "request_update_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 18, + "name": "request_update_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 19, + "name": "complete_update_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 2, - "name": "add_device_response", + "number": 20, + "name": "complete_update_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIAddDeviceResponse", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 3, - "name": "remove_device_request", + "number": 21, + "name": "pair_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceRequest", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPairRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 4, - "name": "remove_device_response", + "number": 22, + "name": "pair_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIRemoveDeviceResponse", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPairResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 5, - "name": "get_config_request", + "number": 23, + "name": "unpair_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigRequest", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 6, - "name": "get_config_response", + "number": 24, + "name": "unpair_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAPIGetConfigResponse", + "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairResponse", "label": "LABEL_OPTIONAL", "oneof": "message" } @@ -25582,239 +30722,265 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", - "name": "EnergySiteNetAdditionStatus", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", + "name": "IntraSiteBackhaulInterfaceType", "values": [ { "number": 0, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_INVALID" + "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_INVALID" }, { "number": 1, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_IN_PROGRESS" + "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_WIFI" }, { "number": 2, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_ADDED" - }, + "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_CELL" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteBackhaulStatus", + "name": "IntraSiteBackhaulStatus", + "values": [ { - "number": 3, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_FOUND" + "number": 0, + "name": "INTRA_SITE_BACKHAUL_STATUS_INVALID" }, { - "number": 4, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CANNOT_JOIN" + "number": 1, + "name": "INTRA_SITE_BACKHAUL_STATUS_OFFLINE" }, { - "number": 5, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NO_RESPONSE" - }, + "number": 2, + "name": "INTRA_SITE_BACKHAUL_STATUS_ONLINE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteLeaderStatus", + "name": "IntraSiteLeaderStatus", + "values": [ { - "number": 6, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_BAD_RESPONSE" + "number": 0, + "name": "INTRA_SITE_LEADER_STATUS_INVALID" }, { - "number": 7, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_INTERNAL_ERROR" + "number": 1, + "name": "INTRA_SITE_LEADER_STATUS_TEMPORARILY_OFFLINE" }, { - "number": 8, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CHANGES_PROHIBITED" + "number": 2, + "name": "INTRA_SITE_LEADER_STATUS_ONLINE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteJoinNetworkResult", + "name": "IntraSiteJoinNetworkResult", + "values": [ + { + "number": 0, + "name": "INTRA_SITE_JOIN_NETWORK_RESULT_INVALID" }, { - "number": 9, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_MAX_DEVICES" + "number": 1, + "name": "INTRA_SITE_JOIN_NETWORK_RESULT_ACCEPTED" }, { - "number": 10, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_LEADER" + "number": 2, + "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_ALREADY_JOINED" }, { - "number": 11, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_EXISTS" + "number": 3, + "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_INCOMPATIBLE" }, { - "number": 12, - "name": "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_PROOF_OF_PRESENCE" + "number": 4, + "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_INTERNAL_ERROR" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetNetworkType", - "name": "EnergySiteNetNetworkType", + "fqn": ".tesla.proto.energy_device.v1.IntraSitePairResult", + "name": "IntraSitePairResult", "values": [ { "number": 0, - "name": "ENERGY_SITE_NET_NETWORK_TYPE_INVALID" + "name": "INTRA_SITE_PAIR_RESULT_INVALID" }, { "number": 1, - "name": "ENERGY_SITE_NET_NETWORK_TYPE_POWERWALL3" + "name": "INTRA_SITE_PAIR_RESULT_ACCEPTED" }, { "number": 2, - "name": "ENERGY_SITE_NET_NETWORK_TYPE_SMART_CHARGING" + "name": "INTRA_SITE_PAIR_RESULT_REJECTED_DIFFERENT_NETWORK_ALREADY_JOINED" }, { "number": 3, - "name": "ENERGY_SITE_NET_NETWORK_TYPE_LOAD_SHARING" + "name": "INTRA_SITE_PAIR_RESULT_REJECTED_INTERNAL_ERROR" + }, + { + "number": 4, + "name": "INTRA_SITE_PAIR_RESULT_REJECTED_UNSUPPORTED_SERVICE_TYPES" + }, + { + "number": 5, + "name": "INTRA_SITE_PAIR_RESULT_REJECTED_UNSUPPORTED_LAN_TYPE" + }, + { + "number": 6, + "name": "INTRA_SITE_PAIR_RESULT_REJECTED_NO_PROOF_OF_PRESENCE" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetPairStatus", - "name": "EnergySiteNetPairStatus", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteUnpairResult", + "name": "IntraSiteUnpairResult", "values": [ { "number": 0, - "name": "ENERGY_SITE_NET_PAIR_STATUS_INVALID" + "name": "INTRA_SITE_UNPAIR_RESULT_INVALID" }, { "number": 1, - "name": "ENERGY_SITE_NET_PAIR_STATUS_PENDING" + "name": "INTRA_SITE_UNPAIR_RESULT_ACCEPTED" }, { "number": 2, - "name": "ENERGY_SITE_NET_PAIR_STATUS_FAILED_INTERNAL_ERROR" + "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_NETWORK_LED_BY_DIFFERENT_LEADER" }, { "number": 3, - "name": "ENERGY_SITE_NET_PAIR_STATUS_PROOF_OF_PRESENCE_TIMEOUT" + "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_DEVICE_IS_LEADER" + }, + { + "number": 4, + "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_UNSUPPORTED_OPERATION" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.EnergySiteNetRemovalStatus", - "name": "EnergySiteNetRemovalStatus", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteCompleteUpdateResult", + "name": "IntraSiteCompleteUpdateResult", "values": [ { "number": 0, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_INVALID" + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_INVALID" }, { "number": 1, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_IN_PROGRESS" + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_FIRMWARE_MATCHES" }, { "number": 2, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_REMOVED" + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_TERMINATE_SUCCESS" }, { "number": 3, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NO_SUCH_DEVICE" + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_TERMINATE_FAILURE" }, { "number": 4, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_INTERNAL_ERROR" + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_HANDSHAKE_FAILURE" }, { "number": 5, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_CHANGES_PROHIBITED" - }, - { - "number": 6, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_LEADER" - }, + "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_UNKNOWN_FAILURE" + } + ], + "reserved_ranges": [], + "reserved_names": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.IntraSiteHeartbeatResult", + "name": "IntraSiteHeartbeatResult", + "values": [ { - "number": 7, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_SOLO" + "number": 0, + "name": "INTRA_SITE_HEARTBEAT_RESULT_INVALID" }, { - "number": 8, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NOT_LEADER" + "number": 1, + "name": "INTRA_SITE_HEARTBEAT_RESULT_ACCEPTED" }, { - "number": 9, - "name": "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_LEADER_AVAILABLE" + "number": 2, + "name": "INTRA_SITE_HEARTBEAT_RESULT_NOT_ON_MANIFEST" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteServiceType", - "name": "IntraSiteServiceType", + "fqn": ".tesla.proto.energy_device.v1.IntraSiteLanType", + "name": "IntraSiteLanType", "values": [ { "number": 0, - "name": "INTRA_SITE_SERVICE_TYPE_INVALID" + "name": "INTRA_SITE_LAN_TYPE_INVALID" }, { "number": 1, - "name": "INTRA_SITE_SERVICE_TYPE_MULTI_PW3_FOLLOWER" + "name": "INTRA_SITE_LAN_TYPE_SOFT_AP" }, { "number": 2, - "name": "INTRA_SITE_SERVICE_TYPE_WC_LOAD_SHARING_FOLLOWER" - }, - { - "number": 3, - "name": "INTRA_SITE_SERVICE_TYPE_WC_CURRENT_CONTROL" + "name": "INTRA_SITE_LAN_TYPE_PRE_DEFINED" } ], "reserved_ranges": [], "reserved_names": [] } ], - "path": "proto/energy_device/energy_site_net.proto", + "path": "proto/energy_device/intra_site_api.proto", "compiled_top_level_input": true }, { "package": "tesla.proto.energy_device.v1", "imports": [ - "google/rpc/status.proto" + "networking.proto" ], "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.ErrorResponse", - "name": "ErrorResponse", - "fields": [ - { - "number": 1, - "name": "status", - "type": "TYPE_MESSAGE", - "type_name": ".google.rpc.Status", - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsRequest", + "name": "LocalAuthAPIRequiredFactorsRequest", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [], - "path": "proto/energy_device/error.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [], - "messages": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIFile", - "name": "FileStoreAPIFile", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsResponse", + "name": "LocalAuthAPIRequiredFactorsResponse", "fields": [ { "number": 1, - "name": "name", - "type": "TYPE_STRING", + "name": "password", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 100, - "name": "blob", - "type": "TYPE_BYTES", + "number": 2, + "name": "presence", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -25827,22 +30993,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileRequest", - "name": "FileStoreAPIForceWriteFileRequest", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILoginRequest", + "name": "LocalAuthAPILoginRequest", "fields": [ { "number": 1, - "name": "domain", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", + "name": "participant", + "type": "TYPE_INT32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "file", + "name": "email", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "password", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", + "type_name": ".tesla.proto.energy_device.v1.WifiPassword", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25854,14 +31028,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileResponse", - "name": "FileStoreAPIForceWriteFileResponse", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILoginResponse", + "name": "LocalAuthAPILoginResponse", "fields": [ { "number": 1, - "name": "hash", - "type": "TYPE_BYTES", - "type_name": null, + "name": "result", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthResult", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25873,34 +31047,9 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileRequest", - "name": "FileStoreAPIUpdateFileRequest", - "fields": [ - { - "number": 1, - "name": "domain", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "file", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "hash", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutRequest", + "name": "LocalAuthAPILogoutRequest", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -25908,26 +31057,9 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileResponse", - "name": "FileStoreAPIUpdateFileResponse", - "fields": [ - { - "number": 1, - "name": "file", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "hash", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutResponse", + "name": "LocalAuthAPILogoutResponse", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -25935,34 +31067,9 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileRequest", - "name": "FileStoreAPIReadFileRequest", - "fields": [ - { - "number": 1, - "name": "domain", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "name", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "if_different_hash", - "type": "TYPE_BYTES", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusRequest", + "name": "LocalAuthAPICheckAuthStatusRequest", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -25970,22 +31077,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileResponse", - "name": "FileStoreAPIReadFileResponse", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusResponse", + "name": "LocalAuthAPICheckAuthStatusResponse", "fields": [ { "number": 1, - "name": "file", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIFile", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "hash", - "type": "TYPE_BYTES", - "type_name": null, + "name": "result", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthResult", "label": "LABEL_OPTIONAL", "oneof": null } @@ -25997,54 +31096,70 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.FileStoreMessages", - "name": "FileStoreMessages", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthMessages", + "name": "LocalAuthMessages", "fields": [ { "number": 1, - "name": "read_file_request", + "name": "required_factors_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileRequest", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { "number": 2, - "name": "read_file_response", + "name": "required_factors_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIReadFileResponse", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { "number": 3, - "name": "force_write_file_request", + "name": "login_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileRequest", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILoginRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { "number": 4, - "name": "force_write_file_response", + "name": "login_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIForceWriteFileResponse", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILoginResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { "number": 5, - "name": "update_file_request", + "name": "logout_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileRequest", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { "number": 6, - "name": "update_file_response", + "name": "logout_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FileStoreAPIUpdateFileResponse", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 7, + "name": "check_auth_status_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 8, + "name": "check_auth_status_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusResponse", "label": "LABEL_OPTIONAL", "oneof": "message" } @@ -26060,87 +31175,163 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.FileStoreAPIDomain", - "name": "FileStoreAPIDomain", + "fqn": ".tesla.proto.energy_device.v1.LocalAuthResult", + "name": "LocalAuthResult", "values": [ { "number": 0, - "name": "FILE_STORE_API_DOMAIN_INVALID" + "name": "LOCAL_AUTH_RESULT_INVALID" }, { "number": 1, - "name": "FILE_STORE_API_DOMAIN_CONFIG_JSON" + "name": "LOCAL_AUTH_RESULT_SUCCESS" }, { "number": 2, - "name": "FILE_STORE_API_DOMAIN_GRID_CODE_REGIONS_CSV" + "name": "LOCAL_AUTH_RESULT_INVALID_PARAMETERS" }, { "number": 3, - "name": "FILE_STORE_API_DOMAIN_CERTIFIED_INSTALLERS_CSV" + "name": "LOCAL_AUTH_RESULT_INVALID_PASSWORD" }, { "number": 4, - "name": "FILE_STORE_API_DOMAIN_SUPERCHARGER_FILES" + "name": "LOCAL_AUTH_RESULT_PRESENCE_PROOF_REQUIRED" }, { "number": 5, - "name": "FILE_STORE_API_DOMAIN_OPTICASTER_FILES" + "name": "LOCAL_AUTH_RESULT_PRESENCE_PROOF_TIMED_OUT" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_device/local_auth_api.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "google/protobuf/wrappers.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.Rssi", + "name": "Rssi", + "fields": [ + { + "number": 1, + "name": "value", + "type": "TYPE_SINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 6, - "name": "FILE_STORE_API_DOMAIN_WALLBOX_CONFIG" + "number": 2, + "name": "signal_strength_percent", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.UInt32Value", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.WifiPassword", + "name": "WifiPassword", + "fields": [ + { + "number": 1, + "name": "value", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.WifiConfig", + "name": "WifiConfig", + "fields": [ + { + "number": 1, + "name": "ssid", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 7, - "name": "FILE_STORE_API_DOMAIN_OCPP_CSMS_ROOT_CA" + "number": 2, + "name": "password", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiPassword", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 9, - "name": "FILE_STORE_API_DOMAIN_OPTIMUS_CHARGER_CONFIG" + "number": 3, + "name": "security_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/filestore_api.proto", - "compiled_top_level_input": true - }, - { - "path": "proto/energy_device/google/rpc/status.proto", - "compiled_top_level_input": false, - "package": null, - "imports": [], - "messages": [], - "enums": [], - "note": "present under proto/ but not passed to protoc as a top-level input (see generate.sh); reachable only via another file's import; excluded from group/global totals" - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "google/protobuf/wrappers.proto" - ], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.SignedGraphQLQuery", - "name": "SignedGraphQLQuery", + "fqn": ".tesla.proto.energy_device.v1.WifiNetwork", + "name": "WifiNetwork", "fields": [ { "number": 1, - "name": "version", - "type": "TYPE_UINT32", + "name": "ssid", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "query", - "type": "TYPE_BYTES", + "name": "rssiValue", + "type": "TYPE_SINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 3, + "name": "rssi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Rssi", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "securityType", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -26150,73 +31341,102 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLError", - "name": "GraphQLError", + "fqn": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "name": "NetworkInterfaceIPv4Config", "fields": [ { - "number": 1, - "name": "path", - "type": "TYPE_STRING", + "number": 2, + "name": "dhcp_enabled", + "type": "TYPE_BOOL", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "code", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.GraphQLErrorCode", + "number": 3, + "name": "address", + "type": "TYPE_FIXED32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "message", - "type": "TYPE_STRING", + "number": 4, + "name": "subnet_mask", + "type": "TYPE_FIXED32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "gateway", + "type": "TYPE_FIXED32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 6, + "name": "dns", + "type": "TYPE_FIXED32", + "type_name": null, + "label": "LABEL_REPEATED", + "oneof": null } ], "oneofs": [], - "reserved_ranges": [], + "reserved_ranges": [ + [ + 1, + 1 + ] + ], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLAPIQueryRequest", - "name": "GraphQLAPIQueryRequest", + "fqn": ".tesla.proto.energy_device.v1.NetworkConnectivityStatus", + "name": "NetworkConnectivityStatus", "fields": [ { "number": 1, - "name": "format", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.GraphQLQueryFormat", + "name": "connected_physical", + "type": "TYPE_BOOL", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "query", - "type": "TYPE_BYTES", + "name": "connected_internet", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "signature", - "type": "TYPE_BYTES", + "name": "connected_tesla", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "variables_json", + "name": "rssi", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.StringValue", + "type_name": ".tesla.proto.energy_device.v1.Rssi", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "snr", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Int32Value", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26228,31 +31448,63 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLAPIQueryResponse", - "name": "GraphQLAPIQueryResponse", + "fqn": ".tesla.proto.energy_device.v1.NetworkInterface", + "name": "NetworkInterface", "fields": [ { "number": 1, - "name": "status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.GraphQLStatus", + "name": "mac_address", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "data", - "type": "TYPE_STRING", + "name": "enabled", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "errors", + "name": "active_route", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "ipv4_config", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.GraphQLError", - "label": "LABEL_REPEATED", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "connectivity_status", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkConnectivityStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "device_state", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NetworkDeviceState", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "device_state_reason", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NetworkDeviceStateReason", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -26263,29 +31515,19 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLMessages", - "name": "GraphQLMessages", + "fqn": ".tesla.proto.energy_device.v1.CellularEID", + "name": "CellularEID", "fields": [ { "number": 1, - "name": "query_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.GraphQLAPIQueryRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 2, - "name": "query_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.GraphQLAPIQueryResponse", + "name": "value", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null } ], - "oneofs": [ - "message" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], @@ -26294,188 +31536,248 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.GraphQLQueryFormat", - "name": "GraphQLQueryFormat", + "fqn": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", + "name": "WifiNetworkSecurityType", "values": [ { "number": 0, - "name": "GRAPH_QL_QUERY_FORMAT_INVALID" + "name": "WIFI_NETWORK_SECURITY_TYPE_INVALID" }, { "number": 1, - "name": "GRAPH_QL_QUERY_FORMAT_RAW" + "name": "WIFI_NETWORK_SECURITY_TYPE_NONE" }, { "number": 2, - "name": "GRAPH_QL_QUERY_FORMAT_SIGNED_SHA256_ECDSA_ASN1" + "name": "WIFI_NETWORK_SECURITY_TYPE_DYNAMIC_WEP" + }, + { + "number": 3, + "name": "WIFI_NETWORK_SECURITY_TYPE_WPA2_PERSONAL" + }, + { + "number": 4, + "name": "WIFI_NETWORK_SECURITY_TYPE_WPA2_ENTERPRISE" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLStatus", - "name": "GraphQLStatus", + "fqn": ".tesla.proto.energy_device.v1.WifiConfigureResult", + "name": "WifiConfigureResult", "values": [ { "number": 0, - "name": "GRAPH_QL_STATUS_INVALID" + "name": "WIFI_CONFIGURE_RESULT_INVALID" }, { "number": 1, - "name": "GRAPH_QL_STATUS_SUCCESS" + "name": "WIFI_CONFIGURE_RESULT_SUCCESS" }, { "number": 2, - "name": "GRAPH_QL_STATUS_ERROR_PARTIAL" + "name": "WIFI_CONFIGURE_RESULT_FAILURE_GENERIC" }, { "number": 3, - "name": "GRAPH_QL_STATUS_ERROR_FULL" + "name": "WIFI_CONFIGURE_RESULT_FAILED_WITH_INVALID_CONFIG" + }, + { + "number": 4, + "name": "WIFI_CONFIGURE_RESULT_FAILED_TO_CONNECT" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.GraphQLErrorCode", - "name": "GraphQLErrorCode", + "fqn": ".tesla.proto.energy_device.v1.CellularProfileType", + "name": "CellularProfileType", "values": [ { "number": 0, - "name": "GRAPH_QL_ERROR_CODE_INVALID" + "name": "CELLULAR_PROFILE_TYPE_INVALID" }, { "number": 1, - "name": "GRAPH_QL_ERROR_CODE_FIELD_NOT_FOUND" + "name": "CELLULAR_PROFILE_TYPE_TWILIO" }, { "number": 2, - "name": "GRAPH_QL_ERROR_CODE_UNAUTHORIZED" + "name": "CELLULAR_PROFILE_TYPE_ATT" }, { "number": 3, - "name": "GRAPH_QL_ERROR_CODE_RESOLVER_PROCESS_UNRESPONSIVE" + "name": "CELLULAR_PROFILE_TYPE_KPN" }, { "number": 4, - "name": "GRAPH_QL_ERROR_CODE_RESPONSE_TOO_BIG" + "name": "CELLULAR_PROFILE_TYPE_TELEFONICA" + }, + { + "number": 5, + "name": "CELLULAR_PROFILE_TYPE_TELSTRA" + }, + { + "number": 6, + "name": "CELLULAR_PROFILE_TYPE_TELUS" + }, + { + "number": 7, + "name": "CELLULAR_PROFILE_TYPE_DOCOMO" + }, + { + "number": 8, + "name": "CELLULAR_PROFILE_TYPE_UNICOM" } ], "reserved_ranges": [], "reserved_names": [] - } - ], - "path": "proto/energy_device/graphql_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "energy_site_net.proto", - "networking.proto" - ], - "messages": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteConfig", - "name": "IntraSiteConfig", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.NetworkDeviceState", + "name": "NetworkDeviceState", + "values": [ + { + "number": 0, + "name": "NETWORK_DEVICE_STATE_INVALID" + }, { "number": 1, - "name": "last_changed_timestamp", - "type": "TYPE_UINT64", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_UNMANAGED" }, { "number": 2, - "name": "site_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_UNAVAILABLE" }, { "number": 3, - "name": "backhaul_interface_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_IDLE" }, { "number": 4, - "name": "site_wifi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_ASSOCIATION" }, { "number": 5, - "name": "leader", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_CONFIGURATION" + }, + { + "number": 6, + "name": "NETWORK_DEVICE_STATE_READY" }, { "number": 7, - "name": "service_types", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteServiceType", - "label": "LABEL_REPEATED", - "oneof": null + "name": "NETWORK_DEVICE_STATE_DISCONNECT" }, { "number": 8, - "name": "lan_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteLanType", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_FAILURE" } ], - "oneofs": [], - "reserved_ranges": [ - [ - 6, - 6 - ] - ], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_ranges": [], + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPairRequest", - "name": "IntraSiteAPIPairRequest", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.NetworkDeviceStateReason", + "name": "NetworkDeviceStateReason", + "values": [ + { + "number": 0, + "name": "NETWORK_DEVICE_STATE_REASON_INVALID" + }, { "number": 1, - "name": "site", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "NETWORK_DEVICE_STATE_REASON_NONE" + }, + { + "number": 2, + "name": "NETWORK_DEVICE_STATE_REASON_CONFIG_FAILED" + }, + { + "number": 3, + "name": "NETWORK_DEVICE_STATE_REASON_DHCP_FAILED" + }, + { + "number": 4, + "name": "NETWORK_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE" + }, + { + "number": 5, + "name": "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED" + }, + { + "number": 6, + "name": "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE" + }, + { + "number": 7, + "name": "NETWORK_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED" + }, + { + "number": 8, + "name": "NETWORK_DEVICE_STATE_REASON_NEW_ACTIVATION" + }, + { + "number": 9, + "name": "NETWORK_DEVICE_STATE_REASON_NO_SECRETS" + }, + { + "number": 10, + "name": "NETWORK_DEVICE_STATE_REASON_PPP_FAILED" + }, + { + "number": 11, + "name": "NETWORK_DEVICE_STATE_REASON_SSID_NOT_FOUND" + }, + { + "number": 12, + "name": "NETWORK_DEVICE_STATE_REASON_SIM_PIN_INCORRECT" + }, + { + "number": 13, + "name": "NETWORK_DEVICE_STATE_REASON_SUPPLICANT_FAILED" + }, + { + "number": 14, + "name": "NETWORK_DEVICE_STATE_REASON_REMOVED" + }, + { + "number": 15, + "name": "NETWORK_DEVICE_STATE_REASON_MODEM_FAILED" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, + "reserved_names": [] + } + ], + "path": "proto/energy_device/networking.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "networking.proto" + ], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPairResponse", - "name": "IntraSiteAPIPairResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioCTConfig", + "name": "NeurioCTConfig", "fields": [ { "number": 1, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSitePairResult", + "name": "location", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "real_power_scale_factor", + "type": "TYPE_FLOAT", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -26487,24 +31789,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairRequest", - "name": "IntraSiteAPIUnpairRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairResponse", - "name": "IntraSiteAPIUnpairResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioCTReading", + "name": "NeurioCTReading", "fields": [ { - "number": 1, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteUnpairResult", + "number": 1, + "name": "real_power_w", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "scaled_real_power_w", + "type": "TYPE_FLOAT", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "current_amps", + "type": "TYPE_FLOAT", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -26516,15 +31824,15 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkRequest", - "name": "IntraSiteAPIJoinNetworkRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterReadings", + "name": "NeurioMeterReadings", "fields": [ { "number": 1, - "name": "site", + "name": "ct_readings", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", - "label": "LABEL_OPTIONAL", + "type_name": ".tesla.proto.energy_device.v1.NeurioCTReading", + "label": "LABEL_REPEATED", "oneof": null } ], @@ -26535,41 +31843,46 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkResponse", - "name": "IntraSiteAPIJoinNetworkResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterConnection", + "name": "NeurioMeterConnection", "fields": [ { "number": 1, - "name": "result", + "name": "connection_status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteJoinNetworkResult", + "type_name": ".tesla.proto.energy_device.v1.NeurioConnectionStatus", "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceRequest", - "name": "IntraSiteAPIAddDeviceRequest", - "fields": [ + }, { - "number": 1, - "name": "device", + "number": 2, + "name": "connection_error", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioConnectionError", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "rssi", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", + "type_name": ".tesla.proto.energy_device.v1.Rssi", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "site", + "number": 4, + "name": "firmware_version", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "meter_readings", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterReadings", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26581,14 +31894,38 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceResponse", - "name": "IntraSiteAPIAddDeviceResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterConfig", + "name": "NeurioMeterConfig", "fields": [ { "number": 1, - "name": "result", + "name": "short_id", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "serial", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "ct_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 4, + "name": "meter_type", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", + "type_name": ".tesla.proto.energy_device.v1.NeurioCompatibleMeterType", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26600,22 +31937,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultRequest", - "name": "IntraSiteAPIPushAddDeviceResultRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterInterface", + "name": "NeurioMeterInterface", "fields": [ { "number": 1, - "name": "device", + "name": "config", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetDevice", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.EnergySiteNetAdditionStatus", + "name": "connection", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConnection", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26627,39 +31964,18 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultResponse", - "name": "IntraSiteAPIPushAddDeviceResultResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkRequest", - "name": "IntraSiteAPILeaveNetworkRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkResponse", - "name": "IntraSiteAPILeaveNetworkResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatRequest", - "name": "IntraSiteAPIPushHeartbeatRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterRequest", + "name": "NeurioMeterAPIAddMeterRequest", + "fields": [ + { + "number": 1, + "name": "config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -26667,14 +31983,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatResponse", - "name": "IntraSiteAPIPushHeartbeatResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterResponse", + "name": "NeurioMeterAPIAddMeterResponse", "fields": [ { "number": 1, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteHeartbeatResult", + "name": "config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26686,14 +32002,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigRequest", - "name": "IntraSiteAPIPushConfigRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterRequest", + "name": "NeurioMeterAPIRemoveMeterRequest", "fields": [ { "number": 1, - "name": "site", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteConfig", + "name": "serial", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -26705,8 +32021,8 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigResponse", - "name": "IntraSiteAPIPushConfigResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterResponse", + "name": "NeurioMeterAPIRemoveMeterResponse", "fields": [], "oneofs": [], "reserved_ranges": [], @@ -26715,23 +32031,23 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusRequest", - "name": "IntraSiteAPIPushBackhaulStatusRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsRequest", + "name": "NeurioMeterAPIConfigureCtsRequest", "fields": [ { "number": 1, - "name": "backhaul_interface_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", + "name": "serial", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "backhaul_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteBackhaulStatus", - "label": "LABEL_OPTIONAL", + "name": "ct_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", + "label": "LABEL_REPEATED", "oneof": null } ], @@ -26742,33 +32058,15 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusResponse", - "name": "IntraSiteAPIPushBackhaulStatusResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusRequest", - "name": "IntraSiteAPIPushLeaderStatusRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsResponse", + "name": "NeurioMeterAPIConfigureCtsResponse", "fields": [ { "number": 1, - "name": "status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteLeaderStatus", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "expected_duration_s", - "type": "TYPE_UINT32", - "type_name": null, - "label": "LABEL_OPTIONAL", + "name": "ct_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", + "label": "LABEL_REPEATED", "oneof": null } ], @@ -26779,8 +32077,8 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusResponse", - "name": "IntraSiteAPIPushLeaderStatusResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredRequest", + "name": "NeurioMeterAPIDetectWiredRequest", "fields": [], "oneofs": [], "reserved_ranges": [], @@ -26789,18 +32087,9 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateRequest", - "name": "IntraSiteAPIRequestUpdateRequest", - "fields": [ - { - "number": 1, - "name": "din", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - } - ], + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredResponse", + "name": "NeurioMeterAPIDetectWiredResponse", + "fields": [], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -26808,12 +32097,12 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateResponse", - "name": "IntraSiteAPIRequestUpdateResponse", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeRequest", + "name": "NeurioMeterAPIGetNeurioCtTypeRequest", "fields": [ { "number": 1, - "name": "signature", + "name": "serial", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -26827,12 +32116,12 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateRequest", - "name": "IntraSiteAPICompleteUpdateRequest", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeResponse", + "name": "NeurioMeterAPIGetNeurioCtTypeResponse", "fields": [ { "number": 1, - "name": "din", + "name": "serial", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -26840,9 +32129,41 @@ }, { "number": 2, - "name": "result", + "name": "status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteCompleteUpdateResult", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "ct1_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "ct2_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "ct3_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "ct4_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", "oneof": null } @@ -26854,208 +32175,217 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateResponse", - "name": "IntraSiteAPICompleteUpdateResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteMessages", - "name": "IntraSiteMessages", + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeRequest", + "name": "NeurioMeterAPISetNeurioCtTypeRequest", "fields": [ { "number": 1, - "name": "join_network_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, - { - "number": 2, - "name": "join_network_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIJoinNetworkResponse", + "name": "serial", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { "number": 3, - "name": "add_device_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceRequest", + "name": "ct1_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { "number": 4, - "name": "add_device_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIAddDeviceResponse", + "name": "ct2_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { "number": 5, - "name": "push_add_device_result_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultRequest", + "name": "ct3_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { "number": 6, - "name": "push_add_device_result_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushAddDeviceResultResponse", + "name": "ct4_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [ + [ + 2, + 2 + ] + ], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeResponse", + "name": "NeurioMeterAPISetNeurioCtTypeResponse", + "fields": [ { - "number": 7, - "name": "leave_network_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkRequest", + "number": 1, + "name": "serial", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 8, - "name": "leave_network_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPILeaveNetworkResponse", + "number": 2, + "name": "status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 9, - "name": "push_heartbeat_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatRequest", + "number": 3, + "name": "ct1_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 10, - "name": "push_heartbeat_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushHeartbeatResponse", + "number": 4, + "name": "ct2_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 11, - "name": "push_config_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigRequest", + "number": 5, + "name": "ct3_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 12, - "name": "push_config_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushConfigResponse", + "number": 6, + "name": "ct4_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.NeurioMeterMessages", + "name": "NeurioMeterMessages", + "fields": [ { - "number": 13, - "name": "push_backhaul_status_request", + "number": 1, + "name": "add_meter_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 14, - "name": "push_backhaul_status_response", + "number": 2, + "name": "add_meter_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushBackhaulStatusResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 15, - "name": "push_leader_status_request", + "number": 3, + "name": "remove_meter_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 16, - "name": "push_leader_status_response", + "number": 4, + "name": "remove_meter_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPushLeaderStatusResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 17, - "name": "request_update_request", + "number": 5, + "name": "configure_cts_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 18, - "name": "request_update_response", + "number": 6, + "name": "configure_cts_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIRequestUpdateResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 19, - "name": "complete_update_request", + "number": 7, + "name": "detect_wired_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 20, - "name": "complete_update_response", + "number": 8, + "name": "detect_wired_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPICompleteUpdateResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 21, - "name": "pair_request", + "number": 9, + "name": "get_neurio_ct_type_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPairRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 22, - "name": "pair_response", + "number": 10, + "name": "get_neurio_ct_type_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIPairResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 23, - "name": "unpair_request", + "number": 11, + "name": "set_neurio_ct_type_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairRequest", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 24, - "name": "unpair_response", + "number": 12, + "name": "set_neurio_ct_type_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.IntraSiteAPIUnpairResponse", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeResponse", "label": "LABEL_OPTIONAL", "oneof": "message" } @@ -27071,264 +32401,255 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteBackhaulInterfaceType", - "name": "IntraSiteBackhaulInterfaceType", + "fqn": ".tesla.proto.energy_device.v1.PowerType", + "name": "PowerType", "values": [ { "number": 0, - "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_INVALID" + "name": "POWER_TYPE_INVALID" }, { "number": 1, - "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_WIFI" + "name": "POWER_TYPE_AC_1_PHASE" }, { "number": 2, - "name": "INTRA_SITE_BACKHAUL_INTERFACE_TYPE_CELL" + "name": "POWER_TYPE_AC_3_PHASE" + }, + { + "number": 3, + "name": "POWER_TYPE_DC" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteBackhaulStatus", - "name": "IntraSiteBackhaulStatus", + "fqn": ".tesla.proto.energy_device.v1.ConnectorType", + "name": "ConnectorType", "values": [ { "number": 0, - "name": "INTRA_SITE_BACKHAUL_STATUS_INVALID" + "name": "CONNECTOR_TYPE_INVALID" }, { "number": 1, - "name": "INTRA_SITE_BACKHAUL_STATUS_OFFLINE" + "name": "CONNECTOR_TYPE_CCS1" }, { "number": 2, - "name": "INTRA_SITE_BACKHAUL_STATUS_ONLINE" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteLeaderStatus", - "name": "IntraSiteLeaderStatus", - "values": [ - { - "number": 0, - "name": "INTRA_SITE_LEADER_STATUS_INVALID" + "name": "CONNECTOR_TYPE_CCS2" }, { - "number": 1, - "name": "INTRA_SITE_LEADER_STATUS_TEMPORARILY_OFFLINE" + "number": 3, + "name": "CONNECTOR_TYPE_GB" }, { - "number": 2, - "name": "INTRA_SITE_LEADER_STATUS_ONLINE" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteJoinNetworkResult", - "name": "IntraSiteJoinNetworkResult", - "values": [ + "number": 4, + "name": "CONNECTOR_TYPE_NA" + }, { - "number": 0, - "name": "INTRA_SITE_JOIN_NETWORK_RESULT_INVALID" + "number": 5, + "name": "CONNECTOR_TYPE_TYPE_2" }, { - "number": 1, - "name": "INTRA_SITE_JOIN_NETWORK_RESULT_ACCEPTED" + "number": 6, + "name": "CONNECTOR_TYPE_J1772" }, { - "number": 2, - "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_ALREADY_JOINED" + "number": 7, + "name": "CONNECTOR_TYPE_INDISTINGUISHABLE_DUAL_HANDLE" }, { - "number": 3, - "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_INCOMPATIBLE" + "number": 8, + "name": "CONNECTOR_TYPE_UNKNOWN" }, { - "number": 4, - "name": "INTRA_SITE_JOIN_NETWORK_RESULT_REJECTED_INTERNAL_ERROR" + "number": 9, + "name": "CONNECTOR_TYPE_MCS" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSitePairResult", - "name": "IntraSitePairResult", + "fqn": ".tesla.proto.energy_device.v1.NeurioConnectionStatus", + "name": "NeurioConnectionStatus", "values": [ { "number": 0, - "name": "INTRA_SITE_PAIR_RESULT_INVALID" + "name": "NEURIO_CONNECTION_STATUS_INVALID" }, { "number": 1, - "name": "INTRA_SITE_PAIR_RESULT_ACCEPTED" + "name": "NEURIO_CONNECTION_STATUS_NO_COMMS" }, { "number": 2, - "name": "INTRA_SITE_PAIR_RESULT_REJECTED_DIFFERENT_NETWORK_ALREADY_JOINED" + "name": "NEURIO_CONNECTION_STATUS_PAIRING" }, { "number": 3, - "name": "INTRA_SITE_PAIR_RESULT_REJECTED_INTERNAL_ERROR" + "name": "NEURIO_CONNECTION_STATUS_CONNECTED" }, { "number": 4, - "name": "INTRA_SITE_PAIR_RESULT_REJECTED_UNSUPPORTED_SERVICE_TYPES" - }, - { - "number": 5, - "name": "INTRA_SITE_PAIR_RESULT_REJECTED_UNSUPPORTED_LAN_TYPE" - }, - { - "number": 6, - "name": "INTRA_SITE_PAIR_RESULT_REJECTED_NO_PROOF_OF_PRESENCE" + "name": "NEURIO_CONNECTION_STATUS_CONFIG_CHANGE_UNDERWAY" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteUnpairResult", - "name": "IntraSiteUnpairResult", + "fqn": ".tesla.proto.energy_device.v1.NeurioConnectionError", + "name": "NeurioConnectionError", "values": [ { "number": 0, - "name": "INTRA_SITE_UNPAIR_RESULT_INVALID" + "name": "NEURIO_CONNECTION_ERROR_INVALID" }, { "number": 1, - "name": "INTRA_SITE_UNPAIR_RESULT_ACCEPTED" + "name": "NEURIO_CONNECTION_ERROR_NONE" }, { "number": 2, - "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_NETWORK_LED_BY_DIFFERENT_LEADER" + "name": "NEURIO_CONNECTION_ERROR_UNKNOWN" }, { "number": 3, - "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_DEVICE_IS_LEADER" + "name": "NEURIO_CONNECTION_ERROR_WIFI_AP" }, { "number": 4, - "name": "INTRA_SITE_UNPAIR_RESULT_REJECTED_UNSUPPORTED_OPERATION" + "name": "NEURIO_CONNECTION_ERROR_PAIRING_COMMAND" + }, + { + "number": 5, + "name": "NEURIO_CONNECTION_ERROR_REBOOT_COMMAND" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteCompleteUpdateResult", - "name": "IntraSiteCompleteUpdateResult", + "fqn": ".tesla.proto.energy_device.v1.NeurioCtType", + "name": "NeurioCtType", "values": [ { "number": 0, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_INVALID" + "name": "NEURIO_CT_TYPE_INVALID" }, { "number": 1, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_FIRMWARE_MATCHES" + "name": "NEURIO_CT_TYPE_MISSING" }, { "number": 2, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_TERMINATE_SUCCESS" + "name": "NEURIO_CT_TYPE_200A" }, { "number": 3, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_TERMINATE_FAILURE" + "name": "NEURIO_CT_TYPE_800A" }, { "number": 4, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_HANDSHAKE_FAILURE" - }, - { - "number": 5, - "name": "INTRA_SITE_COMPLETE_UPDATE_RESULT_UNKNOWN_FAILURE" + "name": "NEURIO_CT_TYPE_UNIVERSAL" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteHeartbeatResult", - "name": "IntraSiteHeartbeatResult", + "fqn": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", + "name": "NeurioCtConfigRequestStatus", "values": [ { "number": 0, - "name": "INTRA_SITE_HEARTBEAT_RESULT_INVALID" + "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_INVALID" }, { "number": 1, - "name": "INTRA_SITE_HEARTBEAT_RESULT_ACCEPTED" + "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_SUCCESS" }, { "number": 2, - "name": "INTRA_SITE_HEARTBEAT_RESULT_NOT_ON_MANIFEST" + "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_FAILED_NETWORK" + }, + { + "number": 3, + "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_FAILED_HTTP" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.IntraSiteLanType", - "name": "IntraSiteLanType", + "fqn": ".tesla.proto.energy_device.v1.NeurioCompatibleMeterType", + "name": "NeurioCompatibleMeterType", "values": [ { "number": 0, - "name": "INTRA_SITE_LAN_TYPE_INVALID" + "name": "NEURIO_COMPATIBLE_METER_TYPE_INVALID" }, { "number": 1, - "name": "INTRA_SITE_LAN_TYPE_SOFT_AP" + "name": "NEURIO_COMPATIBLE_METER_TYPE_NEURIO" }, { "number": 2, - "name": "INTRA_SITE_LAN_TYPE_PRE_DEFINED" + "name": "NEURIO_COMPATIBLE_METER_TYPE_TRM" } ], "reserved_ranges": [], "reserved_names": [] } ], - "path": "proto/energy_device/intra_site_api.proto", + "path": "proto/energy_device/neurio_meter_api.proto", "compiled_top_level_input": true }, { "package": "tesla.proto.energy_device.v1", "imports": [ - "networking.proto" + "device.proto", + "energy.proto", + "google/protobuf/wrappers.proto", + "networking.proto", + "neurio_meter_api.proto", + "update.proto" ], "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsRequest", - "name": "LocalAuthAPIRequiredFactorsRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsResponse", - "name": "LocalAuthAPIRequiredFactorsResponse", + "fqn": ".tesla.proto.energy_device.v1.PVStringVitals", + "name": "PVStringVitals", "fields": [ { "number": 1, - "name": "password", + "name": "dc_measurement", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.InstDCMeasurement", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "string_id", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "connected", "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "presence", + "number": 4, + "name": "locked_out", "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", @@ -27342,246 +32663,180 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILoginRequest", - "name": "LocalAuthAPILoginRequest", + "fqn": ".tesla.proto.energy_device.v1.PVInverterVitals", + "name": "PVInverterVitals", "fields": [ { "number": 1, - "name": "participant", - "type": "TYPE_INT32", + "name": "uptime_s", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "email", - "type": "TYPE_STRING", + "name": "pvac_faults", + "type": "TYPE_UINT32", "type_name": null, - "label": "LABEL_OPTIONAL", + "label": "LABEL_REPEATED", "oneof": null }, { "number": 3, - "name": "password", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiPassword", - "label": "LABEL_OPTIONAL", + "name": "pvs_faults", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_REPEATED", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILoginResponse", - "name": "LocalAuthAPILoginResponse", - "fields": [ + }, { - "number": 1, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthResult", + "number": 4, + "name": "ac_measurement_pvac", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutRequest", - "name": "LocalAuthAPILogoutRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutResponse", - "name": "LocalAuthAPILogoutResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusRequest", - "name": "LocalAuthAPICheckAuthStatusRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusResponse", - "name": "LocalAuthAPICheckAuthStatusResponse", - "fields": [ + }, { - "number": 1, - "name": "result", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthResult", + "number": 5, + "name": "site_shutdown_switch_open", + "type": "TYPE_BOOL", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthMessages", - "name": "LocalAuthMessages", - "fields": [ + }, { - "number": 1, - "name": "required_factors_request", + "number": 6, + "name": "energy_today", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsRequest", + "type_name": ".tesla.proto.energy_device.v1.AccumulatedEnergy", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 2, - "name": "required_factors_response", + "number": 7, + "name": "pv_string_vitals", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPIRequiredFactorsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "type_name": ".tesla.proto.energy_device.v1.PVStringVitals", + "label": "LABEL_REPEATED", + "oneof": null }, { - "number": 3, - "name": "login_request", + "number": 8, + "name": "ac_measurement_site", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILoginRequest", + "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 4, - "name": "login_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILoginResponse", + "number": 9, + "name": "pvac_inv_state", + "type": "TYPE_UINT32", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 5, - "name": "logout_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutRequest", + "number": 10, + "name": "pvac_state", + "type": "TYPE_UINT32", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 6, - "name": "logout_response", + "number": 11, + "name": "grid_compliance_status", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPILogoutResponse", + "type_name": ".tesla.proto.energy_device.v1.GridComplianceStatus", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 7, - "name": "check_auth_status_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusRequest", + "number": 12, + "name": "pvac_warnings", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 13, + "name": "pvs_warnings", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 14, + "name": "pvs_state", + "type": "TYPE_UINT32", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 8, - "name": "check_auth_status_response", + "number": 15, + "name": "ac_measurement_solar_rgm", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.LocalAuthAPICheckAuthStatusResponse", + "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null } ], - "oneofs": [ - "message" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.LocalAuthResult", - "name": "LocalAuthResult", - "values": [ - { - "number": 0, - "name": "LOCAL_AUTH_RESULT_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVInverterLifetimeStats", + "name": "PVInverterLifetimeStats", + "fields": [ { "number": 1, - "name": "LOCAL_AUTH_RESULT_SUCCESS" + "name": "uptime_s", + "type": "TYPE_UINT64", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "LOCAL_AUTH_RESULT_INVALID_PARAMETERS" + "name": "alert_count", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 3, - "name": "LOCAL_AUTH_RESULT_INVALID_PASSWORD" - }, - { - "number": 4, - "name": "LOCAL_AUTH_RESULT_PRESENCE_PROOF_REQUIRED" - }, - { - "number": 5, - "name": "LOCAL_AUTH_RESULT_PRESENCE_PROOF_TIMED_OUT" + "name": "energy_lifetime", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AccumulatedEnergy", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/local_auth_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "google/protobuf/wrappers.proto" - ], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.Rssi", - "name": "Rssi", + "fqn": ".tesla.proto.energy_device.v1.PVMeterInterface", + "name": "PVMeterInterface", "fields": [ { "number": 1, - "name": "value", - "type": "TYPE_SINT32", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "signal_strength_percent", + "name": "neurio", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.UInt32Value", + "type_name": ".tesla.proto.energy_device.v1.NeurioMeterInterface", "label": "LABEL_OPTIONAL", "oneof": null } @@ -27593,12 +32848,20 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.WifiPassword", - "name": "WifiPassword", + "fqn": ".tesla.proto.energy_device.v1.PVGridCodeConfig", + "name": "PVGridCodeConfig", "fields": [ { "number": 1, - "name": "value", + "name": "grid_code", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "region_info", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -27612,30 +32875,38 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.WifiConfig", - "name": "WifiConfig", + "fqn": ".tesla.proto.energy_device.v1.PVInverterSettings", + "name": "PVInverterSettings", "fields": [ { "number": 1, - "name": "ssid", - "type": "TYPE_STRING", - "type_name": null, + "name": "grid_code", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "password", + "name": "meters", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiPassword", - "label": "LABEL_OPTIONAL", + "type_name": ".tesla.proto.energy_device.v1.PVMeterInterface", + "label": "LABEL_REPEATED", "oneof": null }, { "number": 3, - "name": "security_type", + "name": "solar_installation_type", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "current_rating_override_a", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -27647,40 +32918,24 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.WifiNetwork", - "name": "WifiNetwork", + "fqn": ".tesla.proto.energy_device.v1.PVInverterCanMessage", + "name": "PVInverterCanMessage", "fields": [ { "number": 1, - "name": "ssid", - "type": "TYPE_STRING", + "name": "can_id", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "rssiValue", - "type": "TYPE_SINT32", + "name": "can_payload", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - }, - { - "number": 3, - "name": "rssi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Rssi", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "securityType", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", - "label": "LABEL_OPTIONAL", - "oneof": null } ], "oneofs": [], @@ -27690,102 +32945,122 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", - "name": "NetworkInterfaceIPv4Config", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoRequest", + "name": "PVIAPIGetSystemInfoRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoResponse", + "name": "PVIAPIGetSystemInfoResponse", "fields": [ + { + "number": 1, + "name": "pvcom_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuId", + "label": "LABEL_OPTIONAL", + "oneof": null + }, { "number": 2, - "name": "dhcp_enabled", - "type": "TYPE_BOOL", - "type_name": null, + "name": "pvac_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuId", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "address", - "type": "TYPE_FIXED32", - "type_name": null, + "name": "pvs_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuId", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "subnet_mask", - "type": "TYPE_FIXED32", - "type_name": null, + "name": "firmware_version", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.FirmwareVersion", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 5, - "name": "gateway", - "type": "TYPE_FIXED32", + "name": "nominal_current_amps", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 6, - "name": "dns", - "type": "TYPE_FIXED32", + "name": "nominal_apparent_power_va", + "type": "TYPE_FLOAT", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", "oneof": null } ], "oneofs": [], - "reserved_ranges": [ - [ - 1, - 1 - ] - ], + "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NetworkConnectivityStatus", - "name": "NetworkConnectivityStatus", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsRequest", + "name": "PVIAPIGetVitalsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsResponse", + "name": "PVIAPIGetVitalsResponse", "fields": [ { "number": 1, - "name": "connected_physical", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "connected_internet", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "connected_tesla", - "type": "TYPE_BOOL", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "rssi", + "name": "vitals", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Rssi", + "type_name": ".tesla.proto.energy_device.v1.PVInverterVitals", "label": "LABEL_OPTIONAL", "oneof": null - }, + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsRequest", + "name": "PVIAPIGetLifetimeStatsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsResponse", + "name": "PVIAPIGetLifetimeStatsResponse", + "fields": [ { - "number": 5, - "name": "snr", + "number": 1, + "name": "lifetime_stats", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.Int32Value", + "type_name": ".tesla.proto.energy_device.v1.PVInverterLifetimeStats", "label": "LABEL_OPTIONAL", "oneof": null } @@ -27797,62 +33072,64 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NetworkInterface", - "name": "NetworkInterface", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetConfigRequest", + "name": "PVIAPIGetConfigRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetConfigResponse", + "name": "PVIAPIGetConfigResponse", "fields": [ { "number": 1, - "name": "mac_address", - "type": "TYPE_BYTES", - "type_name": null, + "name": "settings", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "enabled", - "type": "TYPE_BOOL", - "type_name": null, + "name": "wifi_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WifiConfig", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "active_route", - "type": "TYPE_BOOL", - "type_name": null, + "name": "wifi", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "ipv4_config", + "name": "eth", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 5, - "name": "connectivity_status", + "name": "gsm", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkConnectivityStatus", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 6, - "name": "device_state", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NetworkDeviceState", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 7, - "name": "device_state_reason", + "name": "power_status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NetworkDeviceStateReason", + "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", "label": "LABEL_OPTIONAL", "oneof": null } @@ -27864,14 +33141,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CellularEID", - "name": "CellularEID", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsRequest", + "name": "PVIAPIConfigureSettingsRequest", "fields": [ { "number": 1, - "name": "value", - "type": "TYPE_STRING", - "type_name": null, + "name": "settings", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", "label": "LABEL_OPTIONAL", "oneof": null } @@ -27881,251 +33158,126 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.WifiNetworkSecurityType", - "name": "WifiNetworkSecurityType", - "values": [ - { - "number": 0, - "name": "WIFI_NETWORK_SECURITY_TYPE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsResponse", + "name": "PVIAPIConfigureSettingsResponse", + "fields": [ { "number": 1, - "name": "WIFI_NETWORK_SECURITY_TYPE_NONE" - }, - { - "number": 2, - "name": "WIFI_NETWORK_SECURITY_TYPE_DYNAMIC_WEP" - }, - { - "number": 3, - "name": "WIFI_NETWORK_SECURITY_TYPE_WPA2_PERSONAL" - }, - { - "number": 4, - "name": "WIFI_NETWORK_SECURITY_TYPE_WPA2_ENTERPRISE" + "name": "settings", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.WifiConfigureResult", - "name": "WifiConfigureResult", - "values": [ - { - "number": 0, - "name": "WIFI_CONFIGURE_RESULT_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetRequest", + "name": "PVIAPIConfigureEthernetRequest", + "fields": [ { "number": 1, - "name": "WIFI_CONFIGURE_RESULT_SUCCESS" - }, - { - "number": 2, - "name": "WIFI_CONFIGURE_RESULT_FAILURE_GENERIC" - }, - { - "number": 3, - "name": "WIFI_CONFIGURE_RESULT_FAILED_WITH_INVALID_CONFIG" - }, - { - "number": 4, - "name": "WIFI_CONFIGURE_RESULT_FAILED_TO_CONNECT" + "name": "ip4_config", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.CellularProfileType", - "name": "CellularProfileType", - "values": [ - { - "number": 0, - "name": "CELLULAR_PROFILE_TYPE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetResponse", + "name": "PVIAPIConfigureEthernetResponse", + "fields": [ { "number": 1, - "name": "CELLULAR_PROFILE_TYPE_TWILIO" - }, - { - "number": 2, - "name": "CELLULAR_PROFILE_TYPE_ATT" - }, - { - "number": 3, - "name": "CELLULAR_PROFILE_TYPE_KPN" - }, - { - "number": 4, - "name": "CELLULAR_PROFILE_TYPE_TELEFONICA" - }, - { - "number": 5, - "name": "CELLULAR_PROFILE_TYPE_TELSTRA" - }, - { - "number": 6, - "name": "CELLULAR_PROFILE_TYPE_TELUS" - }, - { - "number": 7, - "name": "CELLULAR_PROFILE_TYPE_DOCOMO" - }, - { - "number": 8, - "name": "CELLULAR_PROFILE_TYPE_UNICOM" + "name": "eth", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NetworkDeviceState", - "name": "NetworkDeviceState", - "values": [ - { - "number": 0, - "name": "NETWORK_DEVICE_STATE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmRequest", + "name": "PVIAPIConfigureGsmRequest", + "fields": [ { "number": 1, - "name": "NETWORK_DEVICE_STATE_UNMANAGED" - }, - { - "number": 2, - "name": "NETWORK_DEVICE_STATE_UNAVAILABLE" - }, - { - "number": 3, - "name": "NETWORK_DEVICE_STATE_IDLE" - }, - { - "number": 4, - "name": "NETWORK_DEVICE_STATE_ASSOCIATION" - }, - { - "number": 5, - "name": "NETWORK_DEVICE_STATE_CONFIGURATION" - }, - { - "number": 6, - "name": "NETWORK_DEVICE_STATE_READY" - }, - { - "number": 7, - "name": "NETWORK_DEVICE_STATE_DISCONNECT" - }, - { - "number": 8, - "name": "NETWORK_DEVICE_STATE_FAILURE" + "name": "enabled", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NetworkDeviceStateReason", - "name": "NetworkDeviceStateReason", - "values": [ - { - "number": 0, - "name": "NETWORK_DEVICE_STATE_REASON_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmResponse", + "name": "PVIAPIConfigureGsmResponse", + "fields": [ { "number": 1, - "name": "NETWORK_DEVICE_STATE_REASON_NONE" - }, - { - "number": 2, - "name": "NETWORK_DEVICE_STATE_REASON_CONFIG_FAILED" - }, - { - "number": 3, - "name": "NETWORK_DEVICE_STATE_REASON_DHCP_FAILED" - }, - { - "number": 4, - "name": "NETWORK_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE" - }, - { - "number": 5, - "name": "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED" - }, - { - "number": 6, - "name": "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE" - }, - { - "number": 7, - "name": "NETWORK_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED" - }, - { - "number": 8, - "name": "NETWORK_DEVICE_STATE_REASON_NEW_ACTIVATION" - }, - { - "number": 9, - "name": "NETWORK_DEVICE_STATE_REASON_NO_SECRETS" - }, - { - "number": 10, - "name": "NETWORK_DEVICE_STATE_REASON_PPP_FAILED" - }, - { - "number": 11, - "name": "NETWORK_DEVICE_STATE_REASON_SSID_NOT_FOUND" - }, - { - "number": 12, - "name": "NETWORK_DEVICE_STATE_REASON_SIM_PIN_INCORRECT" - }, - { - "number": 13, - "name": "NETWORK_DEVICE_STATE_REASON_SUPPLICANT_FAILED" - }, - { - "number": 14, - "name": "NETWORK_DEVICE_STATE_REASON_REMOVED" - }, - { - "number": 15, - "name": "NETWORK_DEVICE_STATE_REASON_MODEM_FAILED" + "name": "gsm", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/networking.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "networking.proto" - ], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioCTConfig", - "name": "NeurioCTConfig", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIInverterResetRequest", + "name": "PVIAPIInverterResetRequest", "fields": [ { "number": 1, - "name": "location", - "type": "TYPE_INT32", + "name": "reset_pvcom", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "real_power_scale_factor", - "type": "TYPE_FLOAT", + "name": "reset_pvac", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "reset_pvs", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -28138,30 +33290,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioCTReading", - "name": "NeurioCTReading", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIInverterResetResponse", + "name": "PVIAPIInverterResetResponse", "fields": [ { "number": 1, - "name": "real_power_w", - "type": "TYPE_FLOAT", - "type_name": null, + "name": "pvcom_status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "scaled_real_power_w", - "type": "TYPE_FLOAT", - "type_name": null, + "name": "pvac_status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "current_amps", - "type": "TYPE_FLOAT", - "type_name": null, + "name": "pvs_status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", "label": "LABEL_OPTIONAL", "oneof": null } @@ -28173,15 +33325,23 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterReadings", - "name": "NeurioMeterReadings", + "fqn": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsRequest", + "name": "PVIAPISetOperationParamsRequest", "fields": [ { "number": 1, - "name": "ct_readings", + "name": "power_status", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "active_power_limit_w", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioCTReading", - "label": "LABEL_REPEATED", + "type_name": ".google.protobuf.FloatValue", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -28192,46 +33352,41 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterConnection", - "name": "NeurioMeterConnection", + "fqn": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsResponse", + "name": "PVIAPISetOperationParamsResponse", "fields": [ { "number": 1, - "name": "connection_status", + "name": "power_status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioConnectionStatus", + "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "connection_error", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioConnectionError", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "rssi", + "name": "active_power_limit_w", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Rssi", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "firmware_version", - "type": "TYPE_STRING", - "type_name": null, + "type_name": ".google.protobuf.FloatValue", "label": "LABEL_OPTIONAL", "oneof": null - }, + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageRequest", + "name": "PVIAPISendCanMessageRequest", + "fields": [ { - "number": 5, - "name": "meter_readings", + "number": 1, + "name": "can_message", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterReadings", + "type_name": ".tesla.proto.energy_device.v1.PVInverterCanMessage", "label": "LABEL_OPTIONAL", "oneof": null } @@ -28243,38 +33398,40 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterConfig", - "name": "NeurioMeterConfig", + "fqn": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageResponse", + "name": "PVIAPISendCanMessageResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierRequest", + "name": "PVIAPIUdsWriteDataByIdentifierRequest", "fields": [ { "number": 1, - "name": "short_id", - "type": "TYPE_STRING", - "type_name": null, + "name": "ecu", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterEcu", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "serial", - "type": "TYPE_STRING", + "name": "did", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "ct_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", - "label": "LABEL_REPEATED", - "oneof": null - }, - { - "number": 4, - "name": "meter_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCompatibleMeterType", + "name": "payload", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -28286,22 +33443,50 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterInterface", - "name": "NeurioMeterInterface", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierResponse", + "name": "PVIAPIUdsWriteDataByIdentifierResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPICheckInternetRequest", + "name": "PVIAPICheckInternetRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPICheckInternetResponse", + "name": "PVIAPICheckInternetResponse", "fields": [ { "number": 1, - "name": "config", + "name": "wifi", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "connection", + "name": "eth", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConnection", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "gsm", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", "label": "LABEL_OPTIONAL", "oneof": null } @@ -28313,14 +33498,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterRequest", - "name": "NeurioMeterAPIAddMeterRequest", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeRequest", + "name": "PVIAPIConfigureGridCodeRequest", "fields": [ { "number": 1, - "name": "config", + "name": "grid_code", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", + "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", "label": "LABEL_OPTIONAL", "oneof": null } @@ -28332,14 +33517,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterResponse", - "name": "NeurioMeterAPIAddMeterResponse", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeResponse", + "name": "PVIAPIConfigureGridCodeResponse", "fields": [ { "number": 1, - "name": "config", + "name": "grid_code", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterConfig", + "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", "label": "LABEL_OPTIONAL", "oneof": null } @@ -28351,13 +33536,41 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterRequest", - "name": "NeurioMeterAPIRemoveMeterRequest", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsRequest", + "name": "PVIAPIClearAlertsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsResponse", + "name": "PVIAPIClearAlertsResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogRequest", + "name": "PVIAPITriggerDrLogRequest", "fields": [ { "number": 1, - "name": "serial", - "type": "TYPE_STRING", + "name": "pvac", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "pvs", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -28370,8 +33583,8 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterResponse", - "name": "NeurioMeterAPIRemoveMeterResponse", + "fqn": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogResponse", + "name": "PVIAPITriggerDrLogResponse", "fields": [], "oneofs": [], "reserved_ranges": [], @@ -28380,23 +33593,31 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsRequest", - "name": "NeurioMeterAPIConfigureCtsRequest", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearLogsRequest", + "name": "PVIAPIClearLogsRequest", "fields": [ { "number": 1, - "name": "serial", - "type": "TYPE_STRING", + "name": "telemetry", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "ct_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", - "label": "LABEL_REPEATED", + "name": "alerts", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "drlog", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -28407,15 +33628,31 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsResponse", - "name": "NeurioMeterAPIConfigureCtsResponse", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearLogsResponse", + "name": "PVIAPIClearLogsResponse", "fields": [ { "number": 1, - "name": "ct_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioCTConfig", - "label": "LABEL_REPEATED", + "name": "telemetry", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "alerts", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "drlog", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "label": "LABEL_OPTIONAL", "oneof": null } ], @@ -28426,9 +33663,18 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredRequest", - "name": "NeurioMeterAPIDetectWiredRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeRequest", + "name": "PVIAPIConfigureSolarInstallationTypeRequest", + "fields": [ + { + "number": 1, + "name": "solar_installation_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -28436,9 +33682,18 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredResponse", - "name": "NeurioMeterAPIDetectWiredResponse", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeResponse", + "name": "PVIAPIConfigureSolarInstallationTypeResponse", + "fields": [ + { + "number": 1, + "name": "solar_installation_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -28446,13 +33701,13 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeRequest", - "name": "NeurioMeterAPIGetNeurioCtTypeRequest", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideRequest", + "name": "PVIAPIConfigureCurrentRatingOverrideRequest", "fields": [ { "number": 1, - "name": "serial", - "type": "TYPE_STRING", + "name": "current_rating_override_a", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -28465,276 +33720,349 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeResponse", - "name": "NeurioMeterAPIGetNeurioCtTypeResponse", + "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideResponse", + "name": "PVIAPIConfigureCurrentRatingOverrideResponse", "fields": [ { "number": 1, - "name": "serial", - "type": "TYPE_STRING", + "name": "current_rating_override_a", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideRequest", + "name": "PVIAPIRemoveCurrentRatingOverrideRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideResponse", + "name": "PVIAPIRemoveCurrentRatingOverrideResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PVIMessages", + "name": "PVIMessages", + "fields": [ + { + "number": 1, + "name": "get_system_info_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { "number": 2, - "name": "status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", + "name": "get_system_info_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 3, - "name": "ct1_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "name": "get_vitals_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 4, - "name": "ct2_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "name": "get_vitals_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 5, - "name": "ct3_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "name": "get_lifetime_stats_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 6, - "name": "ct4_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "name": "get_lifetime_stats_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsResponse", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeRequest", - "name": "NeurioMeterAPISetNeurioCtTypeRequest", - "fields": [ + "oneof": "message" + }, { - "number": 1, - "name": "serial", - "type": "TYPE_STRING", - "type_name": null, + "number": 7, + "name": "get_config_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetConfigRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 3, - "name": "ct1_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 8, + "name": "get_config_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetConfigResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 4, - "name": "ct2_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 9, + "name": "configure_settings_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 10, + "name": "configure_settings_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 11, + "name": "configure_ethernet_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 12, + "name": "configure_ethernet_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 13, + "name": "configure_gsm_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 14, + "name": "configure_gsm_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 15, + "name": "inverter_reset_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIInverterResetRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 16, + "name": "inverter_reset_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIInverterResetResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 17, + "name": "set_operation_params_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 18, + "name": "set_operation_params_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 5, - "name": "ct3_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 19, + "name": "send_can_message_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 6, - "name": "ct4_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 20, + "name": "send_can_message_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageResponse", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [ - [ - 2, - 2 - ] - ], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeResponse", - "name": "NeurioMeterAPISetNeurioCtTypeResponse", - "fields": [ + "oneof": "message" + }, { - "number": 1, - "name": "serial", - "type": "TYPE_STRING", - "type_name": null, + "number": 21, + "name": "uds_write_data_by_identifier_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 2, - "name": "status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", + "number": 22, + "name": "uds_write_data_by_identifier_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 3, - "name": "ct1_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 23, + "name": "check_internet_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPICheckInternetRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 4, - "name": "ct2_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 24, + "name": "check_internet_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPICheckInternetResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 5, - "name": "ct3_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 25, + "name": "configure_grid_code_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 6, - "name": "ct4_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.NeurioCtType", + "number": 26, + "name": "configure_grid_code_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeResponse", "label": "LABEL_OPTIONAL", - "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.NeurioMeterMessages", - "name": "NeurioMeterMessages", - "fields": [ + "oneof": "message" + }, { - "number": 1, - "name": "add_meter_request", + "number": 27, + "name": "clear_alerts_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 2, - "name": "add_meter_response", + "number": 28, + "name": "clear_alerts_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIAddMeterResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 3, - "name": "remove_meter_request", + "number": 29, + "name": "trigger_dr_log_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 4, - "name": "remove_meter_response", + "number": 30, + "name": "trigger_dr_log_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIRemoveMeterResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 5, - "name": "configure_cts_request", + "number": 31, + "name": "clear_logs_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearLogsRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 6, - "name": "configure_cts_response", + "number": 32, + "name": "clear_logs_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIConfigureCtsResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearLogsResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 7, - "name": "detect_wired_request", + "number": 33, + "name": "configure_solar_installation_type_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 8, - "name": "detect_wired_response", + "number": 34, + "name": "configure_solar_installation_type_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIDetectWiredResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 9, - "name": "get_neurio_ct_type_request", + "number": 35, + "name": "configure_current_rating_override_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 10, - "name": "get_neurio_ct_type_response", + "number": 36, + "name": "configure_current_rating_override_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPIGetNeurioCtTypeResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideResponse", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 11, - "name": "set_neurio_ct_type_request", + "number": 37, + "name": "remove_current_rating_override_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeRequest", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideRequest", "label": "LABEL_OPTIONAL", "oneof": "message" }, { - "number": 12, - "name": "set_neurio_ct_type_response", + "number": 38, + "name": "remove_current_rating_override_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterAPISetNeurioCtTypeResponse", + "type_name": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideResponse", "label": "LABEL_OPTIONAL", "oneof": "message" } @@ -28750,247 +34078,281 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.PowerType", - "name": "PowerType", + "fqn": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "name": "PVInverterSolarInstallationType", "values": [ { "number": 0, - "name": "POWER_TYPE_INVALID" + "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_INVALID" }, { "number": 1, - "name": "POWER_TYPE_AC_1_PHASE" + "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_PV_PANEL" }, { "number": 2, - "name": "POWER_TYPE_AC_3_PHASE" - }, - { - "number": 3, - "name": "POWER_TYPE_DC" + "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_SOLARGLASS" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.ConnectorType", - "name": "ConnectorType", + "fqn": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", + "name": "PVInverterPowerStatus", "values": [ { "number": 0, - "name": "CONNECTOR_TYPE_INVALID" + "name": "PV_INVERTER_POWER_STATUS_INVALID" }, { "number": 1, - "name": "CONNECTOR_TYPE_CCS1" + "name": "PV_INVERTER_POWER_STATUS_OFF" }, { "number": 2, - "name": "CONNECTOR_TYPE_CCS2" + "name": "PV_INVERTER_POWER_STATUS_DC_CONNECTED" }, { "number": 3, - "name": "CONNECTOR_TYPE_GB" - }, - { - "number": 4, - "name": "CONNECTOR_TYPE_NA" - }, - { - "number": 5, - "name": "CONNECTOR_TYPE_TYPE_2" - }, - { - "number": 6, - "name": "CONNECTOR_TYPE_J1772" - }, - { - "number": 7, - "name": "CONNECTOR_TYPE_INDISTINGUISHABLE_DUAL_HANDLE" - }, - { - "number": 8, - "name": "CONNECTOR_TYPE_UNKNOWN" - }, - { - "number": 9, - "name": "CONNECTOR_TYPE_MCS" + "name": "PV_INVERTER_POWER_STATUS_AC_PRODUCING" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioConnectionStatus", - "name": "NeurioConnectionStatus", + "fqn": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", + "name": "PVInverterEcuResetStatus", "values": [ { "number": 0, - "name": "NEURIO_CONNECTION_STATUS_INVALID" + "name": "PV_INVERTER_ECU_RESET_STATUS_INVALID" }, { "number": 1, - "name": "NEURIO_CONNECTION_STATUS_NO_COMMS" + "name": "PV_INVERTER_ECU_RESET_STATUS_NONE" }, { "number": 2, - "name": "NEURIO_CONNECTION_STATUS_PAIRING" + "name": "PV_INVERTER_ECU_RESET_STATUS_SUCCESS" }, { "number": 3, - "name": "NEURIO_CONNECTION_STATUS_CONNECTED" + "name": "PV_INVERTER_ECU_RESET_STATUS_PROCESSING" }, { "number": 4, - "name": "NEURIO_CONNECTION_STATUS_CONFIG_CHANGE_UNDERWAY" + "name": "PV_INVERTER_ECU_RESET_STATUS_UNKNOWN_FAILURE" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioConnectionError", - "name": "NeurioConnectionError", + "fqn": ".tesla.proto.energy_device.v1.PVInverterEcu", + "name": "PVInverterEcu", "values": [ { "number": 0, - "name": "NEURIO_CONNECTION_ERROR_INVALID" + "name": "PV_INVERTER_ECU_INVALID" }, { "number": 1, - "name": "NEURIO_CONNECTION_ERROR_NONE" + "name": "PV_INVERTER_ECU_PVCOM" }, { "number": 2, - "name": "NEURIO_CONNECTION_ERROR_UNKNOWN" + "name": "PV_INVERTER_ECU_PVAC" }, { "number": 3, - "name": "NEURIO_CONNECTION_ERROR_WIFI_AP" - }, - { - "number": 4, - "name": "NEURIO_CONNECTION_ERROR_PAIRING_COMMAND" - }, - { - "number": 5, - "name": "NEURIO_CONNECTION_ERROR_REBOOT_COMMAND" + "name": "PV_INVERTER_ECU_PVS" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioCtType", - "name": "NeurioCtType", + "fqn": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "name": "PVInverterClearLogsStatus", "values": [ { "number": 0, - "name": "NEURIO_CT_TYPE_INVALID" + "name": "PV_INVERTER_CLEAR_LOGS_STATUS_INVALID" }, { "number": 1, - "name": "NEURIO_CT_TYPE_MISSING" + "name": "PV_INVERTER_CLEAR_LOGS_STATUS_NONE" }, { "number": 2, - "name": "NEURIO_CT_TYPE_200A" + "name": "PV_INVERTER_CLEAR_LOGS_STATUS_FAILURE" }, { "number": 3, - "name": "NEURIO_CT_TYPE_800A" + "name": "PV_INVERTER_CLEAR_LOGS_STATUS_SUCCESS" }, { "number": 4, - "name": "NEURIO_CT_TYPE_UNIVERSAL" + "name": "PV_INVERTER_CLEAR_LOGS_STATUS_ATTEMPTED" } ], "reserved_ranges": [], "reserved_names": [] - }, + } + ], + "path": "proto/energy_device/pvi_api.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "device.proto", + "google/protobuf/timestamp.proto", + "google/protobuf/wrappers.proto", + "update.proto" + ], + "messages": [ { - "fqn": ".tesla.proto.energy_device.v1.NeurioCtConfigRequestStatus", - "name": "NeurioCtConfigRequestStatus", - "values": [ - { - "number": 0, - "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.AnonymizedSiteDetails", + "name": "AnonymizedSiteDetails", + "fields": [ { "number": 1, - "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_SUCCESS" + "name": "device_details", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DeviceDetail", + "label": "LABEL_REPEATED", + "oneof": null }, { "number": 2, - "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_FAILED_NETWORK" + "name": "city", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 3, - "name": "NEURIO_CT_CONFIG_REQUEST_STATUS_FAILED_HTTP" + "name": "zip", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.NeurioCompatibleMeterType", - "name": "NeurioCompatibleMeterType", - "values": [ + "fqn": ".tesla.proto.energy_device.v1.AssetSiteDetailsResponse", + "name": "AssetSiteDetailsResponse", + "fields": [ { - "number": 0, - "name": "NEURIO_COMPATIBLE_METER_TYPE_INVALID" - }, + "number": 1, + "name": "devices", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DeviceDetail", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse", + "name": "AssetSiteUuidOfDeviceResponse", + "fields": [ { "number": 1, - "name": "NEURIO_COMPATIBLE_METER_TYPE_NEURIO" + "name": "asset_site_uuid", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CommercialChargingDetails", + "name": "CommercialChargingDetails", + "fields": [ + { + "number": 1, + "name": "property_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.PropertyType", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "NEURIO_COMPATIBLE_METER_TYPE_TRM" + "name": "project_access_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.ProjectAccessType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "destination_phone_number", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "destination_website", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/neurio_meter_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [ - "device.proto", - "energy.proto", - "google/protobuf/wrappers.proto", - "networking.proto", - "neurio_meter_api.proto", - "update.proto" - ], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.PVStringVitals", - "name": "PVStringVitals", + "fqn": ".tesla.proto.energy_device.v1.CommercialChargingDeviceProperties", + "name": "CommercialChargingDeviceProperties", "fields": [ { "number": 1, - "name": "dc_measurement", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.InstDCMeasurement", + "name": "main_service_size", + "type": "TYPE_INT32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "string_id", - "type": "TYPE_UINT32", + "name": "nominal_voltage", + "type": "TYPE_INT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "connected", + "name": "load_sharing", "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", @@ -28998,11 +34360,67 @@ }, { "number": 4, - "name": "locked_out", - "type": "TYPE_BOOL", + "name": "max_output", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "latitude", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.FloatValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "longitude", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.FloatValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "label", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Int32Value", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 8, + "name": "rssi", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Int32Value", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 9, + "name": "power_type", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 10, + "name": "connector_type", + "type": "TYPE_INT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 11, + "name": "load_sharing_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.WCLoadSharingType", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -29012,126 +34430,183 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterVitals", - "name": "PVInverterVitals", + "fqn": ".tesla.proto.energy_device.v1.CommercialChargingSiteInfo", + "name": "CommercialChargingSiteInfo", "fields": [ { "number": 1, - "name": "uptime_s", - "type": "TYPE_UINT32", - "type_name": null, + "name": "site_address", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CustomerSiteAddress", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "pvac_faults", - "type": "TYPE_UINT32", + "name": "warp_site_name", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "commercial_charging_details", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommercialChargingDetails", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "site_owner_email", + "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CustomerInfo", + "name": "CustomerInfo", + "fields": [ + { + "number": 1, + "name": "sso_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.UUIDv4", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "pvs_faults", - "type": "TYPE_UINT32", + "number": 2, + "name": "email", + "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 4, - "name": "ac_measurement_pvac", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", + "number": 3, + "name": "given_name", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 5, - "name": "site_shutdown_switch_open", - "type": "TYPE_BOOL", + "number": 4, + "name": "family_name", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - }, + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CustomerLegalConsent", + "name": "CustomerLegalConsent", + "fields": [ { - "number": 6, - "name": "energy_today", + "number": 1, + "name": "privacy_notice", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AccumulatedEnergy", + "type_name": ".google.protobuf.BoolValue", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 7, - "name": "pv_string_vitals", + "number": 2, + "name": "limited_warranty", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVStringVitals", - "label": "LABEL_REPEATED", + "type_name": ".google.protobuf.BoolValue", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 8, - "name": "ac_measurement_site", + "number": 3, + "name": "grid_services", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", + "type_name": ".google.protobuf.BoolValue", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 9, - "name": "pvac_inv_state", - "type": "TYPE_UINT32", - "type_name": null, + "number": 4, + "name": "marketing", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.BoolValue", "label": "LABEL_OPTIONAL", "oneof": null - }, + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.CustomerSiteAddress", + "name": "CustomerSiteAddress", + "fields": [ { - "number": 10, - "name": "pvac_state", - "type": "TYPE_UINT32", + "number": 1, + "name": "street", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 11, - "name": "grid_compliance_status", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.GridComplianceStatus", + "number": 2, + "name": "city", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 12, - "name": "pvac_warnings", - "type": "TYPE_UINT32", + "number": 3, + "name": "state", + "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 13, - "name": "pvs_warnings", - "type": "TYPE_UINT32", + "number": 4, + "name": "zip", + "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_REPEATED", + "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 14, - "name": "pvs_state", - "type": "TYPE_UINT32", + "number": 5, + "name": "country", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 15, - "name": "ac_measurement_solar_rgm", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.InstACMeasurement", + "number": 6, + "name": "phone", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -29143,32 +34618,24 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterLifetimeStats", - "name": "PVInverterLifetimeStats", + "fqn": ".tesla.proto.energy_device.v1.DeactivateDeviceRequest", + "name": "DeactivateDeviceRequest", "fields": [ { "number": 1, - "name": "uptime_s", - "type": "TYPE_UINT64", + "name": "dins", + "type": "TYPE_STRING", "type_name": null, - "label": "LABEL_OPTIONAL", + "label": "LABEL_REPEATED", "oneof": null }, { "number": 2, - "name": "alert_count", - "type": "TYPE_UINT32", + "name": "installer_tesla_auth_bearer_token", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - }, - { - "number": 3, - "name": "energy_lifetime", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.AccumulatedEnergy", - "label": "LABEL_OPTIONAL", - "oneof": null } ], "oneofs": [], @@ -29178,14 +34645,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVMeterInterface", - "name": "PVMeterInterface", + "fqn": ".tesla.proto.energy_device.v1.DeviceDetail", + "name": "DeviceDetail", "fields": [ { "number": 1, - "name": "neurio", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NeurioMeterInterface", + "name": "device_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.RegistrationDeviceType", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "fallback_description", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "din", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -29197,20 +34680,12 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVGridCodeConfig", - "name": "PVGridCodeConfig", + "fqn": ".tesla.proto.energy_device.v1.InstallationInfo", + "name": "InstallationInfo", "fields": [ { "number": 1, - "name": "grid_code", - "type": "TYPE_STRING", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "region_info", + "name": "installation_guid", "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", @@ -29224,38 +34699,38 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterSettings", - "name": "PVInverterSettings", + "fqn": ".tesla.proto.energy_device.v1.InstallerInfo", + "name": "InstallerInfo", "fields": [ { "number": 1, - "name": "grid_code", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", + "name": "email", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "meters", + "name": "account_master_id", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVMeterInterface", - "label": "LABEL_REPEATED", + "type_name": ".tesla.proto.energy_device.v1.UUIDv4", + "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "solar_installation_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "name": "company_name", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "current_rating_override_a", + "name": "phone", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29267,21 +34742,21 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterCanMessage", - "name": "PVInverterCanMessage", + "fqn": ".tesla.proto.energy_device.v1.InstallerLocation", + "name": "InstallerLocation", "fields": [ { "number": 1, - "name": "can_id", - "type": "TYPE_UINT32", + "name": "latitude", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "can_payload", - "type": "TYPE_BYTES", + "name": "longitude", + "type": "TYPE_FLOAT", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -29294,64 +34769,38 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoRequest", - "name": "PVIAPIGetSystemInfoRequest", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoResponse", - "name": "PVIAPIGetSystemInfoResponse", + "fqn": ".tesla.proto.energy_device.v1.PartDetail", + "name": "PartDetail", "fields": [ { "number": 1, - "name": "pvcom_id", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EcuId", + "name": "part_number", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "pvac_id", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EcuId", + "name": "serial_number", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "pvs_id", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.EcuId", + "name": "part_type", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 4, - "name": "firmware_version", + "name": "manufacturer", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.FirmwareVersion", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 5, - "name": "nominal_current_amps", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 6, - "name": "nominal_apparent_power_va", - "type": "TYPE_FLOAT", - "type_name": null, + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29363,9 +34812,26 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsRequest", - "name": "PVIAPIGetVitalsRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.PartnerInfo", + "name": "PartnerInfo", + "fields": [ + { + "number": 1, + "name": "account_master_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.UUIDv4", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "site_relationship_type", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.RegistrationSiteRelationshipType", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -29373,14 +34839,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsResponse", - "name": "PVIAPIGetVitalsResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceRequest", + "name": "RegistrationAPIDeactivateDeviceRequest", "fields": [ { "number": 1, - "name": "vitals", + "name": "request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterVitals", + "type_name": ".tesla.proto.energy_device.v1.DeactivateDeviceRequest", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29392,8 +34858,8 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsRequest", - "name": "PVIAPIGetLifetimeStatsRequest", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceResponse", + "name": "RegistrationAPIDeactivateDeviceResponse", "fields": [], "oneofs": [], "reserved_ranges": [], @@ -29402,14 +34868,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsResponse", - "name": "PVIAPIGetLifetimeStatsResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadRequest", + "name": "RegistrationAPIPrepareRegistrationPayloadRequest", "fields": [ { "number": 1, - "name": "lifetime_stats", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterLifetimeStats", + "name": "customer_registration_info", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -29421,9 +34887,18 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetConfigRequest", - "name": "PVIAPIGetConfigRequest", - "fields": [], + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadResponse", + "name": "RegistrationAPIPrepareRegistrationPayloadResponse", + "fields": [ + { + "number": 1, + "name": "signed_registration_payload", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DeviceSignedPayload", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -29431,54 +34906,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIGetConfigResponse", - "name": "PVIAPIGetConfigResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRegisterRequest", + "name": "RegistrationAPIRegisterRequest", "fields": [ { "number": 1, - "name": "settings", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 2, - "name": "wifi_config", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.WifiConfig", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 3, - "name": "wifi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 4, - "name": "eth", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 5, - "name": "gsm", + "name": "request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 6, - "name": "power_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", + "type_name": ".tesla.proto.energy_device.v1.RegistrationRequest", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29490,14 +34925,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsRequest", - "name": "PVIAPIConfigureSettingsRequest", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRegisterResponse", + "name": "RegistrationAPIRegisterResponse", "fields": [ { "number": 1, - "name": "settings", + "name": "failure", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", + "type_name": ".tesla.proto.energy_device.v1.RegistrationResponse", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29509,14 +34952,24 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsResponse", - "name": "PVIAPIConfigureSettingsResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsRequest", + "name": "RegistrationAPIRetrieveAssetSiteDetailsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsResponse", + "name": "RegistrationAPIRetrieveAssetSiteDetailsResponse", "fields": [ { "number": 1, - "name": "settings", + "name": "response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSettings", + "type_name": ".tesla.proto.energy_device.v1.AssetSiteDetailsResponse", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29528,14 +34981,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetRequest", - "name": "PVIAPIConfigureEthernetRequest", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionRequest", + "name": "RegistrationAPIRetrieveSiteSuggestionRequest", "fields": [ { "number": 1, - "name": "ip4_config", + "name": "request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionRequest", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29547,14 +35000,14 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetResponse", - "name": "PVIAPIConfigureEthernetResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionResponse", + "name": "RegistrationAPIRetrieveSiteSuggestionResponse", "fields": [ { "number": 1, - "name": "eth", + "name": "response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionResponse", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29566,14 +35019,24 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmRequest", - "name": "PVIAPIConfigureGsmRequest", + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidRequest", + "name": "RegistrationAPIRetrieveSiteUuidRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidResponse", + "name": "RegistrationAPIRetrieveSiteUuidResponse", "fields": [ { "number": 1, - "name": "enabled", - "type": "TYPE_BOOL", - "type_name": null, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29585,51 +35048,205 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmResponse", - "name": "PVIAPIConfigureGsmResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationMessages", + "name": "RegistrationMessages", "fields": [ { "number": 1, - "name": "gsm", + "name": "prepare_registration_payload_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" + }, + { + "number": 2, + "name": "prepare_registration_payload_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 3, + "name": "register_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRegisterRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 4, + "name": "register_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRegisterResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 5, + "name": "retrieve_site_uuid_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 6, + "name": "retrieve_site_uuid_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 7, + "name": "retrieve_site_suggestion_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 8, + "name": "retrieve_site_suggestion_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 9, + "name": "retrieve_asset_site_details_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 10, + "name": "retrieve_asset_site_details_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 11, + "name": "deactivate_device_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 12, + "name": "deactivate_device_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" } ], - "oneofs": [], + "oneofs": [ + "message" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIInverterResetRequest", - "name": "PVIAPIInverterResetRequest", + "fqn": ".tesla.proto.energy_device.v1.RegistrationRequest", + "name": "RegistrationRequest", "fields": [ { "number": 1, - "name": "reset_pvcom", - "type": "TYPE_BOOL", - "type_name": null, + "name": "version", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.FirmwareVersion", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "reset_pvac", - "type": "TYPE_BOOL", + "name": "part_details", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PartDetail", + "label": "LABEL_REPEATED", + "oneof": null + }, + { + "number": 3, + "name": "attempt", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "reset_pvs", - "type": "TYPE_BOOL", - "type_name": null, + "number": 4, + "name": "registration_source", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.RegistrationSource", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "installer", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.InstallerInfo", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 6, + "name": "customer", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CustomerInfo", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "site_address", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CustomerSiteAddress", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 8, + "name": "legal_consent", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CustomerLegalConsent", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 9, + "name": "installation_info", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.InstallationInfo", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 10, + "name": "asset_site_id", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 11, + "name": "additional_partners", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PartnerInfo", + "label": "LABEL_REPEATED", + "oneof": null } ], "oneofs": [], @@ -29639,30 +35256,38 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIInverterResetResponse", - "name": "PVIAPIInverterResetResponse", + "fqn": ".tesla.proto.energy_device.v1.RegistrationResponse", + "name": "RegistrationResponse", "fields": [ { "number": 1, - "name": "pvcom_status", + "name": "status", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", + "type_name": ".tesla.proto.energy_device.v1.RegistrationStatus", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "pvac_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", + "name": "retry_delay_s", + "type": "TYPE_UINT32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "pvs_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", + "name": "status_time", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.Timestamp", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "asset_site_id", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29674,22 +35299,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsRequest", - "name": "PVIAPISetOperationParamsRequest", + "fqn": ".tesla.proto.energy_device.v1.SiteSuggestion", + "name": "SiteSuggestion", "fields": [ { "number": 1, - "name": "power_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", + "name": "asset_site_uuid", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "active_power_limit_w", + "name": "anonymized_site_details", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".tesla.proto.energy_device.v1.AnonymizedSiteDetails", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29701,22 +35326,30 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsResponse", - "name": "PVIAPISetOperationParamsResponse", + "fqn": ".tesla.proto.energy_device.v1.SiteSuggestionRequest", + "name": "SiteSuggestionRequest", "fields": [ { "number": 1, - "name": "power_status", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", + "name": "lookup", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "active_power_limit_w", + "name": "installer_location", "type": "TYPE_MESSAGE", - "type_name": ".google.protobuf.FloatValue", + "type_name": ".tesla.proto.energy_device.v1.InstallerLocation", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 3, + "name": "installer_tesla_auth_bearer_token", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -29728,15 +35361,15 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageRequest", - "name": "PVIAPISendCanMessageRequest", + "fqn": ".tesla.proto.energy_device.v1.SiteSuggestionResponse", + "name": "SiteSuggestionResponse", "fields": [ { "number": 1, - "name": "can_message", + "name": "site_suggestions", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVInverterCanMessage", - "label": "LABEL_OPTIONAL", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestion", + "label": "LABEL_REPEATED", "oneof": null } ], @@ -29747,42 +35380,56 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageResponse", - "name": "PVIAPISendCanMessageResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierRequest", - "name": "PVIAPIUdsWriteDataByIdentifierRequest", + "fqn": ".tesla.proto.energy_device.v1.WCCommercialRegistrationRequest", + "name": "WCCommercialRegistrationRequest", "fields": [ { "number": 1, - "name": "ecu", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterEcu", + "name": "device_properties", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommercialChargingDeviceProperties", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "did", - "type": "TYPE_UINT32", - "type_name": null, + "name": "asset_site_id", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.UUIDv4", "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 3, - "name": "payload", - "type": "TYPE_BYTES", + "name": "site_info", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.CommercialChargingSiteInfo", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 4, + "name": "installer_info", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.InstallerInfo", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 5, + "name": "installation_completed", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 6, + "name": "site_owner_email", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -29790,136 +35437,359 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] + } + ], + "enums": [ + { + "fqn": ".tesla.proto.energy_device.v1.ProjectAccessType", + "name": "ProjectAccessType", + "values": [ + { + "number": 0, + "name": "PROJECT_ACCESS_TYPE_INVALID" + }, + { + "number": 1, + "name": "PROJECT_ACCESS_TYPE_SERVICE" + }, + { + "number": 2, + "name": "PROJECT_ACCESS_TYPE_MANUFACTURING" + }, + { + "number": 3, + "name": "PROJECT_ACCESS_TYPE_ENGINEERING" + }, + { + "number": 4, + "name": "PROJECT_ACCESS_TYPE_PRIVATE" + }, + { + "number": 5, + "name": "PROJECT_ACCESS_TYPE_PUBLIC" + } + ], + "reserved_ranges": [], + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierResponse", - "name": "PVIAPIUdsWriteDataByIdentifierResponse", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.PropertyType", + "name": "PropertyType", + "values": [ + { + "number": 0, + "name": "PROPERTY_TYPE_INVALID" + }, + { + "number": 1, + "name": "PROPERTY_TYPE_SHOPPING_MALL_CENTER" + }, + { + "number": 2, + "name": "PROPERTY_TYPE_RESTAURANT" + }, + { + "number": 3, + "name": "PROPERTY_TYPE_GAS_STATION" + }, + { + "number": 4, + "name": "PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA" + }, + { + "number": 5, + "name": "PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX" + }, + { + "number": 6, + "name": "PROPERTY_TYPE_GROCERY_STORE" + }, + { + "number": 7, + "name": "PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER" + }, + { + "number": 8, + "name": "PROPERTY_TYPE_OFFICE" + }, + { + "number": 9, + "name": "PROPERTY_TYPE_RESIDENTIAL_BUILDING" + }, + { + "number": 10, + "name": "PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT" + }, + { + "number": 11, + "name": "PROPERTY_TYPE_BANK" + }, + { + "number": 12, + "name": "PROPERTY_TYPE_AIRPORT" + }, + { + "number": 13, + "name": "PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY" + }, + { + "number": 14, + "name": "PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION" + }, + { + "number": 15, + "name": "PROPERTY_TYPE_UNIVERSITY_SCHOOL" + }, + { + "number": 16, + "name": "PROPERTY_TYPE_WINERY" + }, + { + "number": 17, + "name": "PROPERTY_TYPE_AUTOMOTIVE" + }, + { + "number": 18, + "name": "PROPERTY_TYPE_MIXED_USE" + }, + { + "number": 19, + "name": "PROPERTY_TYPE_RECREATION" + }, + { + "number": 20, + "name": "PROPERTY_TYPE_RENTAL_PROPERTY" + }, + { + "number": 21, + "name": "PROPERTY_TYPE_WORKPLACE" + } + ], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPICheckInternetRequest", - "name": "PVIAPICheckInternetRequest", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.RegistrationDeviceType", + "name": "RegistrationDeviceType", + "values": [ + { + "number": 0, + "name": "REGISTRATION_DEVICE_TYPE_INVALID" + }, + { + "number": 1, + "name": "REGISTRATION_DEVICE_TYPE_POWERWALL" + }, + { + "number": 2, + "name": "REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION" + }, + { + "number": 3, + "name": "REGISTRATION_DEVICE_TYPE_PV_INVERTER" + }, + { + "number": 4, + "name": "REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR" + }, + { + "number": 5, + "name": "REGISTRATION_DEVICE_TYPE_POWERWALL_3" + }, + { + "number": 6, + "name": "REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION" + } + ], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPICheckInternetResponse", - "name": "PVIAPICheckInternetResponse", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.RegistrationSiteRelationshipType", + "name": "RegistrationSiteRelationshipType", + "values": [ + { + "number": 0, + "name": "REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID" + }, { "number": 1, - "name": "wifi", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER" }, { "number": 2, - "name": "eth", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER" }, { "number": 3, - "name": "gsm", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.NetworkInterface", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER" + }, + { + "number": 4, + "name": "REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeRequest", - "name": "PVIAPIConfigureGridCodeRequest", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.RegistrationSource", + "name": "RegistrationSource", + "values": [ + { + "number": 0, + "name": "REGISTRATION_SOURCE_INVALID" + }, { "number": 1, - "name": "grid_code", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "REGISTRATION_SOURCE_AUTOCONFIG" + }, + { + "number": 2, + "name": "REGISTRATION_SOURCE_INSTALLER" + }, + { + "number": 3, + "name": "REGISTRATION_SOURCE_CUSTOMER" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeResponse", - "name": "PVIAPIConfigureGridCodeResponse", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.RegistrationStatus", + "name": "RegistrationStatus", + "values": [ + { + "number": 0, + "name": "REGISTRATION_STATUS_INVALID" + }, { "number": 1, - "name": "grid_code", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVGridCodeConfig", - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "REGISTRATION_STATUS_MISSING_INFO" + }, + { + "number": 2, + "name": "REGISTRATION_STATUS_UNDERWAY" + }, + { + "number": 3, + "name": "REGISTRATION_STATUS_ALREADY_REGISTERED" + }, + { + "number": 4, + "name": "REGISTRATION_STATUS_FAILED" + }, + { + "number": 5, + "name": "REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsRequest", - "name": "PVIAPIClearAlertsRequest", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.WCLoadSharingType", + "name": "WCLoadSharingType", + "values": [ + { + "number": 0, + "name": "WC_LOAD_SHARING_TYPE_INVALID" + }, + { + "number": 1, + "name": "WC_LOAD_SHARING_TYPE_LEADER" + }, + { + "number": 2, + "name": "WC_LOAD_SHARING_TYPE_FOLLOWER" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_device/registration_api.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.Destination", + "name": "Destination", + "fields": [ + { + "number": 1, + "name": "domain", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.Domain", + "label": "LABEL_OPTIONAL", + "oneof": "sub_destination" + }, + { + "number": 2, + "name": "routing_address", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "sub_destination" + } + ], + "oneofs": [ + "sub_destination" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsResponse", - "name": "PVIAPIClearAlertsResponse", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.KeyIdentity", + "name": "KeyIdentity", + "fields": [ + { + "number": 1, + "name": "public_key", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "identity_type" + }, + { + "number": 3, + "name": "handle", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "identity_type" + } + ], + "oneofs": [ + "identity_type" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogRequest", - "name": "PVIAPITriggerDrLogRequest", + "fqn": ".tesla.proto.energy_device.v1.RsaSignatureData", + "name": "RsaSignatureData", "fields": [ { "number": 1, - "name": "pvac", - "type": "TYPE_BOOL", + "name": "expires_at", + "type": "TYPE_FIXED32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "pvs", - "type": "TYPE_BOOL", + "name": "signature", + "type": "TYPE_BYTES", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -29932,40 +35802,43 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogResponse", - "name": "PVIAPITriggerDrLogResponse", - "fields": [], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearLogsRequest", - "name": "PVIAPIClearLogsRequest", + "fqn": ".tesla.proto.energy_device.v1.SignatureData", + "name": "SignatureData", "fields": [ { "number": 1, - "name": "telemetry", - "type": "TYPE_BOOL", - "type_name": null, + "name": "signer_identity", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.KeyIdentity", "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "alerts", - "type": "TYPE_BOOL", - "type_name": null, + "number": 7, + "name": "rsa_data", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RsaSignatureData", "label": "LABEL_OPTIONAL", - "oneof": null - }, + "oneof": "sig_type" + } + ], + "oneofs": [ + "sig_type" + ], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.MessageStatus", + "name": "MessageStatus", + "fields": [ { - "number": 3, - "name": "drlog", - "type": "TYPE_BOOL", - "type_name": null, + "number": 1, + "name": "message_fault", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.MessageFault_E", "label": "LABEL_OPTIONAL", "oneof": null } @@ -29977,49 +35850,91 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIClearLogsResponse", - "name": "PVIAPIClearLogsResponse", + "fqn": ".tesla.proto.energy_device.v1.RoutableMessage", + "name": "RoutableMessage", "fields": [ { - "number": 1, - "name": "telemetry", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "number": 6, + "name": "to_destination", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Destination", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 7, + "name": "from_destination", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Destination", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 10, + "name": "protobuf_message_as_bytes", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": "payload" + }, + { + "number": 13, + "name": "signature_data", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SignatureData", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 12, + "name": "signed_message_status", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.MessageStatus", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 50, + "name": "request_uuid", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 2, - "name": "alerts", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "number": 51, + "name": "uuid", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { - "number": 3, - "name": "drlog", + "number": 52, + "name": "flags", "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", + "type_name": ".tesla.proto.energy_device.v1.Flags", "label": "LABEL_OPTIONAL", "oneof": null } ], - "oneofs": [], + "oneofs": [ + "payload" + ], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeRequest", - "name": "PVIAPIConfigureSolarInstallationTypeRequest", + "fqn": ".tesla.proto.energy_device.v1.Tail", + "name": "Tail", "fields": [ { "number": 1, - "name": "solar_installation_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "name": "value", + "type": "TYPE_INT32", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -30031,14 +35946,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeResponse", - "name": "PVIAPIConfigureSolarInstallationTypeResponse", + "fqn": ".tesla.proto.energy_device.v1.Message", + "name": "Message", "fields": [ { "number": 1, - "name": "solar_installation_type", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", + "name": "message", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RoutableMessage", + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "tail", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.Tail", "label": "LABEL_OPTIONAL", "oneof": null } @@ -30048,590 +35971,1054 @@ "reserved_names": [], "nested_messages": [], "nested_enums": [] - }, + } + ], + "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideRequest", - "name": "PVIAPIConfigureCurrentRatingOverrideRequest", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.Domain", + "name": "Domain", + "values": [ { - "number": 1, - "name": "current_rating_override_a", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "number": 0, + "name": "DOMAIN_BROADCAST" + }, + { + "number": 2, + "name": "DOMAIN_VEHICLE_SECURITY" + }, + { + "number": 3, + "name": "DOMAIN_INFOTAINMENT" + }, + { + "number": 5, + "name": "DOMAIN_AUTHD" + }, + { + "number": 7, + "name": "DOMAIN_ENERGY_DEVICE" + }, + { + "number": 8, + "name": "DOMAIN_ENERGY_DEVICE_AUTH" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideResponse", - "name": "PVIAPIConfigureCurrentRatingOverrideResponse", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.SignatureType", + "name": "SignatureType", + "values": [ + { + "number": 0, + "name": "SIGNATURE_TYPE_AES_GCM" + }, { "number": 1, - "name": "current_rating_override_a", - "type": "TYPE_FLOAT", - "type_name": null, - "label": "LABEL_OPTIONAL", - "oneof": null + "name": "SIGNATURE_TYPE_ECDSA" + }, + { + "number": 2, + "name": "SIGNATURE_TYPE_PRESENT_KEY" + }, + { + "number": 3, + "name": "SIGNATURE_TYPE_AES_GCM_TOKEN" + }, + { + "number": 4, + "name": "SIGNATURE_TYPE_ECDSA_PERSONALIZED" + }, + { + "number": 5, + "name": "SIGNATURE_TYPE_AES_GCM_PERSONALIZED" + }, + { + "number": 6, + "name": "SIGNATURE_TYPE_HMAC" + }, + { + "number": 7, + "name": "SIGNATURE_TYPE_RSA" + }, + { + "number": 8, + "name": "SIGNATURE_TYPE_HMAC_PERSONALIZED" + }, + { + "number": 9, + "name": "SIGNATURE_TYPE_AES_GCM_RESPONSE" } ], - "oneofs": [], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideRequest", - "name": "PVIAPIRemoveCurrentRatingOverrideRequest", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.Tag", + "name": "Tag", + "values": [ + { + "number": 0, + "name": "TAG_SIGNATURE_TYPE" + }, + { + "number": 1, + "name": "TAG_DOMAIN" + }, + { + "number": 2, + "name": "TAG_PERSONALIZATION" + }, + { + "number": 3, + "name": "TAG_EPOCH" + }, + { + "number": 4, + "name": "TAG_EXPIRES_AT" + }, + { + "number": 5, + "name": "TAG_COUNTER" + }, + { + "number": 6, + "name": "TAG_CHALLENGE" + }, + { + "number": 7, + "name": "TAG_FLAGS" + }, + { + "number": 8, + "name": "TAG_REQUEST_HASH" + }, + { + "number": 9, + "name": "TAG_FAULT" + }, + { + "number": 255, + "name": "TAG_END" + } + ], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideResponse", - "name": "PVIAPIRemoveCurrentRatingOverrideResponse", - "fields": [], - "oneofs": [], + "fqn": ".tesla.proto.energy_device.v1.Flags", + "name": "Flags", + "values": [ + { + "number": 0, + "name": "FLAGS_NONE" + } + ], "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] + "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVIMessages", - "name": "PVIMessages", - "fields": [ + "fqn": ".tesla.proto.energy_device.v1.MessageFault_E", + "name": "MessageFault_E", + "values": [ + { + "number": 0, + "name": "MESSAGEFAULT_ERROR_NONE" + }, { "number": 1, - "name": "get_system_info_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_BUSY" }, { "number": 2, - "name": "get_system_info_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetSystemInfoResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_TIMEOUT" }, { "number": 3, - "name": "get_vitals_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID" }, { "number": 4, - "name": "get_vitals_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetVitalsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INACTIVE_KEY" }, { "number": 5, - "name": "get_lifetime_stats_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INVALID_SIGNATURE" }, { "number": 6, - "name": "get_lifetime_stats_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetLifetimeStatsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER" }, { "number": 7, - "name": "get_config_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetConfigRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES" }, { "number": 8, - "name": "get_config_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIGetConfigResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INVALID_DOMAINS" }, { "number": 9, - "name": "configure_settings_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INVALID_COMMAND" }, { "number": 10, - "name": "configure_settings_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSettingsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_DECODING" }, { "number": 11, - "name": "configure_ethernet_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INTERNAL" }, { "number": 12, - "name": "configure_ethernet_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureEthernetResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION" }, { "number": 13, - "name": "configure_gsm_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_BAD_PARAMETER" }, { "number": 14, - "name": "configure_gsm_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGsmResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL" }, { "number": 15, - "name": "inverter_reset_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIInverterResetRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_INCORRECT_EPOCH" }, { "number": 16, - "name": "inverter_reset_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIInverterResetResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH" }, { "number": 17, - "name": "set_operation_params_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_TIME_EXPIRED" }, { "number": 18, - "name": "set_operation_params_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPISetOperationParamsResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" + "name": "MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY" }, { "number": 19, - "name": "send_can_message_request", + "name": "MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA" + }, + { + "number": 20, + "name": "MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG" + }, + { + "number": 21, + "name": "MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED" + }, + { + "number": 22, + "name": "MESSAGEFAULT_ERROR_REMOTE_SERVICE_REQUEST_NOT_SUPPORTED" + } + ], + "reserved_ranges": [], + "reserved_names": [] + } + ], + "path": "proto/energy_device/signed_message.proto", + "compiled_top_level_input": true + }, + { + "package": "tesla.proto.energy_device.v1", + "imports": [ + "google/protobuf/wrappers.proto" + ], + "messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.ConnectedKiosk", + "name": "ConnectedKiosk", + "fields": [ + { + "number": 1, + "name": "verifone_kiosk", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageRequest", + "type_name": ".tesla.proto.energy_device.v1.VerifoneKiosk", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.DcMeterCommissioningStatus", + "name": "DcMeterCommissioningStatus", + "fields": [ + { + "number": 1, + "name": "post_id", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 20, - "name": "send_can_message_response", + "number": 2, + "name": "installed", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPISendCanMessageResponse", + "type_name": ".google.protobuf.BoolValue", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 21, - "name": "uds_write_data_by_identifier_request", + "number": 3, + "name": "commissioned", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierRequest", + "type_name": ".google.protobuf.BoolValue", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.DeviceIDAndSerialNumber", + "name": "DeviceIDAndSerialNumber", + "fields": [ + { + "number": 1, + "name": "serial_number", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 22, - "name": "uds_write_data_by_identifier_response", + "number": 2, + "name": "device_id", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateResult", + "name": "EcuFirmwareModuleUpdateResult", + "fields": [ + { + "number": 1, + "name": "ecu_module", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "module_update_status", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIUdsWriteDataByIdentifierResponse", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatus", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatus", + "name": "EcuFirmwareModuleUpdateStatus", + "fields": [ + { + "number": 1, + "name": "pass_", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusPass", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 23, - "name": "check_internet_request", + "number": 2, + "name": "fail", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPICheckInternetRequest", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusFail", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 24, - "name": "check_internet_response", + "number": 3, + "name": "skipped", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPICheckInternetResponse", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusSkipped", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusFail", + "name": "EcuFirmwareModuleUpdateStatusFail", + "fields": [ + { + "number": 1, + "name": "reason", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null }, { - "number": 25, - "name": "configure_grid_code_request", + "number": 2, + "name": "pre_update_version", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeRequest", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 26, - "name": "configure_grid_code_response", + "number": 3, + "name": "post_update_version", + "type": "TYPE_MESSAGE", + "type_name": ".google.protobuf.StringValue", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusPass", + "name": "EcuFirmwareModuleUpdateStatusPass", + "fields": [ + { + "number": 1, + "name": "pre_update_version", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureGridCodeResponse", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 27, - "name": "clear_alerts_request", + "number": 2, + "name": "post_update_version", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsRequest", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusSkipped", + "name": "EcuFirmwareModuleUpdateStatusSkipped", + "fields": [ { - "number": 28, - "name": "clear_alerts_response", + "number": 1, + "name": "reason", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearAlertsResponse", + "type_name": ".google.protobuf.StringValue", "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateAttempts", + "name": "EcuFirmwareUpdateAttempts", + "fields": [ { - "number": 29, - "name": "trigger_dr_log_request", + "number": 1, + "name": "attempts", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateEcuResult", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateEcuResult", + "name": "EcuFirmwareUpdateEcuResult", + "fields": [ { - "number": 30, - "name": "trigger_dr_log_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPITriggerDrLogResponse", + "number": 1, + "name": "ecu_name", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 31, - "name": "clear_logs_request", + "number": 2, + "name": "module_update_results", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearLogsRequest", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateResult", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress", + "name": "EcuFirmwareUpdateInProgress", + "fields": [ { - "number": 32, - "name": "clear_logs_response", + "number": 1, + "name": "default", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIClearLogsResponse", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress.DefaultEntry", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [ + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress.DefaultEntry", + "name": "DefaultEntry", + "fields": [ + { + "number": 1, + "name": "key", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "value", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateNodeProgress", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateNodeProgress", + "name": "EcuFirmwareUpdateNodeProgress", + "fields": [ + { + "number": 1, + "name": "node_path", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 33, - "name": "configure_solar_installation_type_request", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeRequest", + "number": 2, + "name": "stage", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStage", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 34, - "name": "configure_solar_installation_type_response", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureSolarInstallationTypeResponse", + "number": 3, + "name": "message", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateResult", + "name": "EcuFirmwareUpdateResult", + "fields": [ { - "number": 35, - "name": "configure_current_rating_override_request", + "number": 1, + "name": "system_update_status", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideRequest", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatus", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 36, - "name": "configure_current_rating_override_response", + "number": 2, + "name": "default", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIConfigureCurrentRatingOverrideResponse", - "label": "LABEL_OPTIONAL", - "oneof": "message" - }, + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateResult.DefaultEntry", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [ { - "number": 37, - "name": "remove_current_rating_override_request", + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateResult.DefaultEntry", + "name": "DefaultEntry", + "fields": [ + { + "number": 1, + "name": "key", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "value", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateAttempts", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + } + ], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatus", + "name": "EcuFirmwareUpdateStatus", + "fields": [ + { + "number": 2, + "name": "pass_", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideRequest", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusPass", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null }, { - "number": 38, - "name": "remove_current_rating_override_response", + "number": 3, + "name": "fail", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.PVIAPIRemoveCurrentRatingOverrideResponse", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusFail", "label": "LABEL_OPTIONAL", - "oneof": "message" + "oneof": null } ], - "oneofs": [ - "message" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] - } - ], - "enums": [ + }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterSolarInstallationType", - "name": "PVInverterSolarInstallationType", - "values": [ - { - "number": 0, - "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusFail", + "name": "EcuFirmwareUpdateStatusFail", + "fields": [ { "number": 1, - "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_PV_PANEL" - }, - { - "number": 2, - "name": "PV_INVERTER_SOLAR_INSTALLATION_TYPE_SOLARGLASS" + "name": "reason", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterPowerStatus", - "name": "PVInverterPowerStatus", - "values": [ - { - "number": 0, - "name": "PV_INVERTER_POWER_STATUS_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusPass", + "name": "EcuFirmwareUpdateStatusPass", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.PayterPostStatus", + "name": "PayterPostStatus", + "fields": [ { "number": 1, - "name": "PV_INVERTER_POWER_STATUS_OFF" + "name": "post_index", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "PV_INVERTER_POWER_STATUS_DC_CONNECTED" + "name": "serial_number", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 3, - "name": "PV_INVERTER_POWER_STATUS_AC_PRODUCING" + "name": "activated", + "type": "TYPE_BOOL", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterEcuResetStatus", - "name": "PVInverterEcuResetStatus", - "values": [ - { - "number": 0, - "name": "PV_INVERTER_ECU_RESET_STATUS_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksRequest", + "name": "SuperchargerAPIGetConnectedKiosksRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksResponse", + "name": "SuperchargerAPIGetConnectedKiosksResponse", + "fields": [ { "number": 1, - "name": "PV_INVERTER_ECU_RESET_STATUS_NONE" + "name": "error", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.ConnectedKioskError", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "PV_INVERTER_ECU_RESET_STATUS_SUCCESS" - }, + "name": "connected_kiosks", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.ConnectedKiosk", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningRequest", + "name": "SuperchargerAPIGetDcMetersCommissioningRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningResponse", + "name": "SuperchargerAPIGetDcMetersCommissioningResponse", + "fields": [ { - "number": 3, - "name": "PV_INVERTER_ECU_RESET_STATUS_PROCESSING" + "number": 1, + "name": "dc_meters", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DcMeterCommissioningStatus", + "label": "LABEL_REPEATED", + "oneof": null }, { - "number": 4, - "name": "PV_INVERTER_ECU_RESET_STATUS_UNKNOWN_FAILURE" + "number": 2, + "name": "error", + "type": "TYPE_INT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterEcu", - "name": "PVInverterEcu", - "values": [ - { - "number": 0, - "name": "PV_INVERTER_ECU_INVALID" - }, + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressRequest", + "name": "SuperchargerAPIGetEcuFirmwareUpdateProgressRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressResponse", + "name": "SuperchargerAPIGetEcuFirmwareUpdateProgressResponse", + "fields": [ { "number": 1, - "name": "PV_INVERTER_ECU_PVCOM" + "name": "finished", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateResult", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "PV_INVERTER_ECU_PVAC" - }, + "name": "in_progress", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusRequest", + "name": "SuperchargerAPIGetPayterPostStatusRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusResponse", + "name": "SuperchargerAPIGetPayterPostStatusResponse", + "fields": [ { - "number": 3, - "name": "PV_INVERTER_ECU_PVS" + "number": 1, + "name": "payter_devices", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.PayterPostStatus", + "label": "LABEL_REPEATED", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.PVInverterClearLogsStatus", - "name": "PVInverterClearLogsStatus", - "values": [ + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsRequest", + "name": "SuperchargerAPIGetVerifoneKioskDeviceIdsRequest", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsResponse", + "name": "SuperchargerAPIGetVerifoneKioskDeviceIdsResponse", + "fields": [ { - "number": 0, - "name": "PV_INVERTER_CLEAR_LOGS_STATUS_INVALID" - }, + "number": 1, + "name": "device_ids", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.DeviceIDAndSerialNumber", + "label": "LABEL_REPEATED", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandRequest", + "name": "SuperchargerAPIOdinCommandRequest", + "fields": [ { "number": 1, - "name": "PV_INVERTER_CLEAR_LOGS_STATUS_NONE" + "name": "command", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 2, - "name": "PV_INVERTER_CLEAR_LOGS_STATUS_FAILURE" - }, - { - "number": 3, - "name": "PV_INVERTER_CLEAR_LOGS_STATUS_SUCCESS" - }, - { - "number": 4, - "name": "PV_INVERTER_CLEAR_LOGS_STATUS_ATTEMPTED" + "name": "args", + "type": "TYPE_BYTES", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null } ], + "oneofs": [], "reserved_ranges": [], - "reserved_names": [] - } - ], - "path": "proto/energy_device/pvi_api.proto", - "compiled_top_level_input": true - }, - { - "package": "tesla.proto.energy_device.v1", - "imports": [], - "messages": [ + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { - "fqn": ".tesla.proto.energy_device.v1.Destination", - "name": "Destination", + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandResponse", + "name": "SuperchargerAPIOdinCommandResponse", "fields": [ { "number": 1, - "name": "domain", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.Domain", + "name": "response", + "type": "TYPE_BYTES", + "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "sub_destination" + "oneof": null }, { "number": 2, - "name": "routing_address", - "type": "TYPE_BYTES", + "name": "error", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "sub_destination" + "oneof": null } ], - "oneofs": [ - "sub_destination" + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedRequest", + "name": "SuperchargerAPISetDcMeterCommissionedRequest", + "fields": [ + { + "number": 1, + "name": "post_id", + "type": "TYPE_UINT32", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.KeyIdentity", - "name": "KeyIdentity", + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedResponse", + "name": "SuperchargerAPISetDcMeterCommissionedResponse", "fields": [ { "number": 1, - "name": "public_key", - "type": "TYPE_BYTES", + "name": "success", + "type": "TYPE_BOOL", "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "identity_type" + "oneof": null + }, + { + "number": 2, + "name": "error", + "type": "TYPE_ENUM", + "type_name": ".tesla.proto.energy_device.v1.SetDcMeterCommissionedError", + "label": "LABEL_OPTIONAL", + "oneof": null }, { "number": 3, - "name": "handle", - "type": "TYPE_UINT32", + "name": "error_message", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", - "oneof": "identity_type" + "oneof": null } ], - "oneofs": [ - "identity_type" - ], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.RsaSignatureData", - "name": "RsaSignatureData", + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockRequest", + "name": "SuperchargerAPIUnlockMagicDockRequest", "fields": [ { "number": 1, - "name": "expires_at", - "type": "TYPE_FIXED32", + "name": "cabinet_id", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null }, { "number": 2, - "name": "signature", - "type": "TYPE_BYTES", + "name": "post_id", + "type": "TYPE_UINT32", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null @@ -30644,44 +37031,25 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.SignatureData", - "name": "SignatureData", - "fields": [ - { - "number": 1, - "name": "signer_identity", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.KeyIdentity", - "label": "LABEL_OPTIONAL", - "oneof": null - }, - { - "number": 7, - "name": "rsa_data", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.RsaSignatureData", - "label": "LABEL_OPTIONAL", - "oneof": "sig_type" - } - ], - "oneofs": [ - "sig_type" - ], + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockResponse", + "name": "SuperchargerAPIUnlockMagicDockResponse", + "fields": [], + "oneofs": [], "reserved_ranges": [], "reserved_names": [], "nested_messages": [], "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.MessageStatus", - "name": "MessageStatus", + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersRequest", + "name": "SuperchargerAPIUpdateFollowersRequest", "fields": [ { "number": 1, - "name": "message_fault", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.MessageFault_E", - "label": "LABEL_OPTIONAL", + "name": "dins", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_REPEATED", "oneof": null } ], @@ -30692,76 +37060,166 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.RoutableMessage", - "name": "RoutableMessage", + "fqn": ".tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersResponse", + "name": "SuperchargerAPIUpdateFollowersResponse", + "fields": [], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, + { + "fqn": ".tesla.proto.energy_device.v1.SuperchargerMessages", + "name": "SuperchargerMessages", "fields": [ + { + "number": 1, + "name": "unlock_magic_dock_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 2, + "name": "unlock_magic_dock_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 3, + "name": "get_connected_kiosks_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 4, + "name": "get_connected_kiosks_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 5, + "name": "get_verifone_kiosk_device_ids_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, { "number": 6, - "name": "to_destination", + "name": "get_verifone_kiosk_device_ids_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Destination", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 7, - "name": "from_destination", + "name": "update_followers_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Destination", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" + }, + { + "number": 8, + "name": "update_followers_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 9, + "name": "get_dc_meters_commissioning_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" }, { "number": 10, - "name": "protobuf_message_as_bytes", - "type": "TYPE_BYTES", - "type_name": null, + "name": "get_dc_meters_commissioning_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningResponse", "label": "LABEL_OPTIONAL", - "oneof": "payload" + "oneof": "message" }, { - "number": 13, - "name": "signature_data", + "number": 11, + "name": "set_dc_meter_commissioned_request", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.SignatureData", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { "number": 12, - "name": "signed_message_status", + "name": "set_dc_meter_commissioned_response", "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.MessageStatus", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 50, - "name": "request_uuid", - "type": "TYPE_BYTES", - "type_name": null, + "number": 13, + "name": "odin_command_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 51, - "name": "uuid", - "type": "TYPE_BYTES", - "type_name": null, + "number": 14, + "name": "odin_command_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandResponse", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" }, { - "number": 52, - "name": "flags", - "type": "TYPE_ENUM", - "type_name": ".tesla.proto.energy_device.v1.Flags", + "number": 15, + "name": "get_payter_post_status_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusRequest", "label": "LABEL_OPTIONAL", - "oneof": null + "oneof": "message" + }, + { + "number": 16, + "name": "get_payter_post_status_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 17, + "name": "get_ecu_firmware_update_progress_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressRequest", + "label": "LABEL_OPTIONAL", + "oneof": "message" + }, + { + "number": 18, + "name": "get_ecu_firmware_update_progress_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressResponse", + "label": "LABEL_OPTIONAL", + "oneof": "message" } ], "oneofs": [ - "payload" + "message" ], "reserved_ranges": [], "reserved_names": [], @@ -30769,41 +37227,22 @@ "nested_enums": [] }, { - "fqn": ".tesla.proto.energy_device.v1.Tail", - "name": "Tail", + "fqn": ".tesla.proto.energy_device.v1.VerifoneKiosk", + "name": "VerifoneKiosk", "fields": [ { "number": 1, - "name": "value", - "type": "TYPE_INT32", + "name": "serial_number", + "type": "TYPE_STRING", "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null - } - ], - "oneofs": [], - "reserved_ranges": [], - "reserved_names": [], - "nested_messages": [], - "nested_enums": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.Message", - "name": "Message", - "fields": [ - { - "number": 1, - "name": "message", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.RoutableMessage", - "label": "LABEL_OPTIONAL", - "oneof": null }, { "number": 2, - "name": "tail", - "type": "TYPE_MESSAGE", - "type_name": ".tesla.proto.energy_device.v1.Tail", + "name": "subject_key_identifer", + "type": "TYPE_STRING", + "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null } @@ -30817,251 +37256,107 @@ ], "enums": [ { - "fqn": ".tesla.proto.energy_device.v1.Domain", - "name": "Domain", - "values": [ - { - "number": 0, - "name": "DOMAIN_BROADCAST" - }, - { - "number": 2, - "name": "DOMAIN_VEHICLE_SECURITY" - }, - { - "number": 3, - "name": "DOMAIN_INFOTAINMENT" - }, - { - "number": 5, - "name": "DOMAIN_AUTHD" - }, - { - "number": 7, - "name": "DOMAIN_ENERGY_DEVICE" - }, - { - "number": 8, - "name": "DOMAIN_ENERGY_DEVICE_AUTH" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.SignatureType", - "name": "SignatureType", + "fqn": ".tesla.proto.energy_device.v1.ConnectedKioskError", + "name": "ConnectedKioskError", "values": [ { "number": 0, - "name": "SIGNATURE_TYPE_AES_GCM" + "name": "CONNECTED_KIOSK_ERROR_INVALID" }, { "number": 1, - "name": "SIGNATURE_TYPE_ECDSA" + "name": "CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED" }, { "number": 2, - "name": "SIGNATURE_TYPE_PRESENT_KEY" - }, - { - "number": 3, - "name": "SIGNATURE_TYPE_AES_GCM_TOKEN" - }, - { - "number": 4, - "name": "SIGNATURE_TYPE_ECDSA_PERSONALIZED" - }, - { - "number": 5, - "name": "SIGNATURE_TYPE_AES_GCM_PERSONALIZED" - }, - { - "number": 6, - "name": "SIGNATURE_TYPE_HMAC" - }, - { - "number": 7, - "name": "SIGNATURE_TYPE_RSA" - }, - { - "number": 8, - "name": "SIGNATURE_TYPE_HMAC_PERSONALIZED" - }, - { - "number": 9, - "name": "SIGNATURE_TYPE_AES_GCM_RESPONSE" + "name": "CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.Tag", - "name": "Tag", + "fqn": ".tesla.proto.energy_device.v1.EcuFirmwareUpdateStage", + "name": "EcuFirmwareUpdateStage", "values": [ { "number": 0, - "name": "TAG_SIGNATURE_TYPE" + "name": "ECU_FIRMWARE_UPDATE_STAGE_INVALID" }, { "number": 1, - "name": "TAG_DOMAIN" + "name": "ECU_FIRMWARE_UPDATE_STAGE_WAITING" }, { "number": 2, - "name": "TAG_PERSONALIZATION" + "name": "ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO" }, { "number": 3, - "name": "TAG_EPOCH" + "name": "ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED" }, { "number": 4, - "name": "TAG_EXPIRES_AT" + "name": "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL" }, { "number": 5, - "name": "TAG_COUNTER" + "name": "ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED" }, { "number": 6, - "name": "TAG_CHALLENGE" + "name": "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP" }, { "number": 7, - "name": "TAG_FLAGS" + "name": "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS" }, { "number": 8, - "name": "TAG_REQUEST_HASH" + "name": "ECU_FIRMWARE_UPDATE_STAGE_PASS" }, { "number": 9, - "name": "TAG_FAULT" - }, - { - "number": 255, - "name": "TAG_END" - } - ], - "reserved_ranges": [], - "reserved_names": [] - }, - { - "fqn": ".tesla.proto.energy_device.v1.Flags", - "name": "Flags", - "values": [ - { - "number": 0, - "name": "FLAGS_NONE" + "name": "ECU_FIRMWARE_UPDATE_STAGE_FAIL" } ], "reserved_ranges": [], "reserved_names": [] }, { - "fqn": ".tesla.proto.energy_device.v1.MessageFault_E", - "name": "MessageFault_E", + "fqn": ".tesla.proto.energy_device.v1.SetDcMeterCommissionedError", + "name": "SetDcMeterCommissionedError", "values": [ { "number": 0, - "name": "MESSAGEFAULT_ERROR_NONE" + "name": "SET_DC_METER_COMMISSIONED_ERROR_INVALID" }, { "number": 1, - "name": "MESSAGEFAULT_ERROR_BUSY" + "name": "SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID" }, { "number": 2, - "name": "MESSAGEFAULT_ERROR_TIMEOUT" + "name": "SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED" }, { "number": 3, - "name": "MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID" + "name": "SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE" }, { "number": 4, - "name": "MESSAGEFAULT_ERROR_INACTIVE_KEY" + "name": "SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED" }, { "number": 5, - "name": "MESSAGEFAULT_ERROR_INVALID_SIGNATURE" - }, - { - "number": 6, - "name": "MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER" - }, - { - "number": 7, - "name": "MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES" - }, - { - "number": 8, - "name": "MESSAGEFAULT_ERROR_INVALID_DOMAINS" - }, - { - "number": 9, - "name": "MESSAGEFAULT_ERROR_INVALID_COMMAND" - }, - { - "number": 10, - "name": "MESSAGEFAULT_ERROR_DECODING" - }, - { - "number": 11, - "name": "MESSAGEFAULT_ERROR_INTERNAL" - }, - { - "number": 12, - "name": "MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION" - }, - { - "number": 13, - "name": "MESSAGEFAULT_ERROR_BAD_PARAMETER" - }, - { - "number": 14, - "name": "MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL" - }, - { - "number": 15, - "name": "MESSAGEFAULT_ERROR_INCORRECT_EPOCH" - }, - { - "number": 16, - "name": "MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH" - }, - { - "number": 17, - "name": "MESSAGEFAULT_ERROR_TIME_EXPIRED" - }, - { - "number": 18, - "name": "MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY" - }, - { - "number": 19, - "name": "MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA" - }, - { - "number": 20, - "name": "MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG" - }, - { - "number": 21, - "name": "MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED" - }, - { - "number": 22, - "name": "MESSAGEFAULT_ERROR_REMOTE_SERVICE_REQUEST_NOT_SUPPORTED" + "name": "SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED" } ], "reserved_ranges": [], "reserved_names": [] } ], - "path": "proto/energy_device/signed_message.proto", + "path": "proto/energy_device/supercharger_api.proto", "compiled_top_level_input": true }, { @@ -31070,7 +37365,8 @@ "common_api.proto", "device.proto", "google/protobuf/timestamp.proto", - "networking.proto" + "networking.proto", + "registration_api.proto" ], "messages": [ { @@ -31434,7 +37730,16 @@ { "fqn": ".tesla.proto.energy_device.v1.TEGAPIRegisterRequest", "name": "TEGAPIRegisterRequest", - "fields": [], + "fields": [ + { + "number": 1, + "name": "registration_request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -31452,6 +37757,14 @@ "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 2, + "name": "registration_response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationResponse", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -32993,7 +39306,16 @@ { "fqn": ".tesla.proto.energy_device.v1.TEGAPIRetrieveSiteUuidResponse", "name": "TEGAPIRetrieveSiteUuidResponse", - "fields": [], + "fields": [ + { + "number": 1, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -33003,7 +39325,16 @@ { "fqn": ".tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionRequest", "name": "TEGAPIRetrieveSiteSuggestionRequest", - "fields": [], + "fields": [ + { + "number": 1, + "name": "request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -33013,7 +39344,16 @@ { "fqn": ".tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionResponse", "name": "TEGAPIRetrieveSiteSuggestionResponse", - "fields": [], + "fields": [ + { + "number": 1, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SiteSuggestionResponse", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -33832,6 +40172,8 @@ "local_auth_api.proto", "neurio_meter_api.proto", "pvi_api.proto", + "registration_api.proto", + "supercharger_api.proto", "teg_api.proto", "wall_connector.proto" ], @@ -33919,6 +40261,14 @@ "type_name": ".tesla.proto.energy_device.v1.AuthorizedClientType", "label": "LABEL_OPTIONAL", "oneof": "id" + }, + { + "number": 5, + "name": "proxied_device", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.ProxiedDevice", + "label": "LABEL_OPTIONAL", + "oneof": "id" } ], "oneofs": [ @@ -33929,6 +40279,33 @@ "nested_messages": [], "nested_enums": [] }, + { + "fqn": ".tesla.proto.energy_device.v1.ProxiedDevice", + "name": "ProxiedDevice", + "fields": [ + { + "number": 1, + "name": "proxy_din", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + }, + { + "number": 2, + "name": "target_din", + "type": "TYPE_STRING", + "type_name": null, + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], + "oneofs": [], + "reserved_ranges": [], + "reserved_names": [], + "nested_messages": [], + "nested_enums": [] + }, { "fqn": ".tesla.proto.energy_device.v1.RegistrationPayload", "name": "RegistrationPayload", @@ -34071,6 +40448,22 @@ "type_name": ".tesla.proto.energy_device.v1.GraphQLMessages", "label": "LABEL_OPTIONAL", "oneof": "payload" + }, + { + "number": 17, + "name": "supercharger", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.SuperchargerMessages", + "label": "LABEL_OPTIONAL", + "oneof": "payload" + }, + { + "number": 18, + "name": "registration", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationMessages", + "label": "LABEL_OPTIONAL", + "oneof": "payload" } ], "oneofs": [ @@ -34456,6 +40849,14 @@ { "number": 4, "name": "UPDATE_STATUS_STAGED" + }, + { + "number": 5, + "name": "UPDATE_STATUS_COMMITTING" + }, + { + "number": 6, + "name": "UPDATE_STATUS_CHECKING" } ], "reserved_ranges": [], @@ -34521,7 +40922,8 @@ "google/protobuf/timestamp.proto", "google/protobuf/wrappers.proto", "networking.proto", - "neurio_meter_api.proto" + "neurio_meter_api.proto", + "registration_api.proto" ], "messages": [ { @@ -37301,7 +43703,16 @@ { "fqn": ".tesla.proto.energy_device.v1.WCAPIRegisterCommercialRequest", "name": "WCAPIRegisterCommercialRequest", - "fields": [], + "fields": [ + { + "number": 1, + "name": "request", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.WCCommercialRegistrationRequest", + "label": "LABEL_OPTIONAL", + "oneof": null + } + ], "oneofs": [], "reserved_ranges": [], "reserved_names": [], @@ -37319,6 +43730,14 @@ "type_name": null, "label": "LABEL_OPTIONAL", "oneof": null + }, + { + "number": 2, + "name": "response", + "type": "TYPE_MESSAGE", + "type_name": ".tesla.proto.energy_device.v1.RegistrationResponse", + "label": "LABEL_OPTIONAL", + "oneof": null } ], "oneofs": [], @@ -38299,6 +44718,10 @@ { "number": 4, "name": "WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST" + }, + { + "number": 5, + "name": "WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY" } ], "reserved_ranges": [], @@ -38363,6 +44786,18 @@ { "number": 13, "name": "WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE" + }, + { + "number": 14, + "name": "WC_EVSE_NOT_READY_REASON_VF_TRIPPED" + }, + { + "number": 15, + "name": "WC_EVSE_NOT_READY_REASON_V2G" + }, + { + "number": 16, + "name": "WC_EVSE_NOT_READY_REASON_V2HPW" } ], "reserved_ranges": [], @@ -45383,11 +51818,11 @@ } ], "totals": { - "source_files": 39, + "source_files": 41, "groups": 7, - "messages": 905, - "enums": 254, - "fields": 3016 + "messages": 1019, + "enums": 271, + "fields": 3588 }, "registration": { "consistent": true, diff --git a/fixtures/golden/get_system_info_response.json b/fixtures/golden/get_system_info_response.json index e566aa4..337e82e 100644 --- a/fixtures/golden/get_system_info_response.json +++ b/fixtures/golden/get_system_info_response.json @@ -1,5 +1,5 @@ { - "description": "Golden wire-format fixture for energy_device MessageEnvelope.common.get_system_info_response, the gateway's reply to get_system_info_request. device_reply_hex is a Powerwall 3 (firmware 24.12.6) reply as received from the device, with the githash and the tag 8/9 byte strings truncated. Tags 8 and 9 are not modelled; one of them is installed_firmware_signature. Consumed identically by the TypeScript and Python test suites: both decoders must read the payload fields from device_reply_hex, and both encoders must produce modelled_hex (the same reply without tags 8 and 9) from those fields.", + "description": "Golden wire-format fixture for energy_device MessageEnvelope.common.get_system_info_response, the gateway's reply to get_system_info_request. device_reply_hex is a Powerwall 3 (firmware 24.12.6) reply as received from the device, with the githash and the tag 8/9 byte strings truncated. Tags 8 (installed_firmware_signature) and 9 (offline_firmware_signature) are left out of the payload below. Consumed identically by the TypeScript and Python test suites: both decoders must read the payload fields from device_reply_hex, and both encoders must produce modelled_hex (the same reply without tags 8 and 9) from those fields.", "outer_message": "tesla.proto.energy_device.v1.MessageEnvelope", "outer_field": { "name": "common", "tag": 4, "type": "tesla.proto.energy_device.v1.CommonMessages" }, "message_field": { "name": "get_system_info_response", "tag": 3, "type": "tesla.proto.energy_device.v1.CommonAPIGetSystemInfoResponse" }, diff --git a/packages/python/tesla_protocol/command/car_server_pb2.py b/packages/python/tesla_protocol/command/car_server_pb2.py index 5890447..5442bed 100644 --- a/packages/python/tesla_protocol/command/car_server_pb2.py +++ b/packages/python/tesla_protocol/command/car_server_pb2.py @@ -30,7 +30,7 @@ from tesla_protocol.command import vehicle_pb2 as tesla__protocol_dot_command_dot_vehicle__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'tesla_protocol/command/car_server.proto\x12\x18tesla_protocol.CarServer\x1a#tesla_protocol/command/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!tesla_protocol/command/keys.proto\x1a\'tesla_protocol/command/signatures.proto\x1a\"tesla_protocol/command/vcsec.proto\x1a$tesla_protocol/command/vehicle.proto\"d\n\x06\x41\x63tion\x12@\n\rvehicleAction\x18\x02 \x01(\x0b\x32\'.tesla_protocol.CarServer.VehicleActionH\x00\x42\x0c\n\naction_msgJ\x04\x08\x03\x10\x06J\x04\x08\x06\x10\t\"\xc5^\n\rVehicleAction\x12\x42\n\x0egetVehicleData\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.GetVehicleDataH\x00\x12\x46\n\x10remoteStartDrive\x18\x02 \x01(\x0b\x32*.tesla_protocol.CarServer.RemoteStartDriveH\x00\x12L\n\x13\x63reateStreamSession\x18\x03 \x01(\x0b\x32-.tesla_protocol.CarServer.CreateStreamSessionH\x00\x12@\n\rstreamMessage\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.StreamMessageH\x00\x12R\n\x16\x63hargingSetLimitAction\x18\x05 \x01(\x0b\x32\x30.tesla_protocol.CarServer.ChargingSetLimitActionH\x00\x12T\n\x17\x63hargingStartStopAction\x18\x06 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargingStartStopActionH\x00\x12\x64\n\x1f\x64rivingClearSpeedLimitPinAction\x18\x07 \x01(\x0b\x32\x39.tesla_protocol.CarServer.DrivingClearSpeedLimitPinActionH\x00\x12Z\n\x1a\x64rivingSetSpeedLimitAction\x18\x08 \x01(\x0b\x32\x34.tesla_protocol.CarServer.DrivingSetSpeedLimitActionH\x00\x12T\n\x17\x64rivingSpeedLimitAction\x18\t \x01(\x0b\x32\x31.tesla_protocol.CarServer.DrivingSpeedLimitActionH\x00\x12\x42\n\x0ehvacAutoAction\x18\n \x01(\x0b\x32(.tesla_protocol.CarServer.HvacAutoActionH\x00\x12\x64\n\x1fhvacSetPreconditioningMaxAction\x18\x0c \x01(\x0b\x32\x39.tesla_protocol.CarServer.HvacSetPreconditioningMaxActionH\x00\x12`\n\x1dhvacSteeringWheelHeaterAction\x18\r \x01(\x0b\x32\x37.tesla_protocol.CarServer.HvacSteeringWheelHeaterActionH\x00\x12\x64\n\x1fhvacTemperatureAdjustmentAction\x18\x0e \x01(\x0b\x32\x39.tesla_protocol.CarServer.HvacTemperatureAdjustmentActionH\x00\x12\x44\n\x0fmediaPlayAction\x18\x0f \x01(\x0b\x32).tesla_protocol.CarServer.MediaPlayActionH\x00\x12H\n\x11mediaUpdateVolume\x18\x10 \x01(\x0b\x32+.tesla_protocol.CarServer.MediaUpdateVolumeH\x00\x12H\n\x11mediaNextFavorite\x18\x11 \x01(\x0b\x32+.tesla_protocol.CarServer.MediaNextFavoriteH\x00\x12P\n\x15mediaPreviousFavorite\x18\x12 \x01(\x0b\x32/.tesla_protocol.CarServer.MediaPreviousFavoriteH\x00\x12\x42\n\x0emediaNextTrack\x18\x13 \x01(\x0b\x32(.tesla_protocol.CarServer.MediaNextTrackH\x00\x12J\n\x12mediaPreviousTrack\x18\x14 \x01(\x0b\x32,.tesla_protocol.CarServer.MediaPreviousTrackH\x00\x12H\n\x11navigationRequest\x18\x15 \x01(\x0b\x32+.tesla_protocol.CarServer.NavigationRequestH\x00\x12`\n\x1dnavigationSuperchargerRequest\x18\x16 \x01(\x0b\x32\x37.tesla_protocol.CarServer.NavigationSuperchargerRequestH\x00\x12R\n\x16getNearbyChargingSites\x18\x17 \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetNearbyChargingSitesH\x00\x12^\n\x1cuiSetUpcomingCalendarEntries\x18\x18 \x01(\x0b\x32\x36.tesla_protocol.CarServer.UiSetUpcomingCalendarEntriesH\x00\x12v\n(vehicleControlCancelSoftwareUpdateAction\x18\x19 \x01(\x0b\x32\x42.tesla_protocol.CarServer.VehicleControlCancelSoftwareUpdateActionH\x00\x12\x64\n\x1fvehicleControlFlashLightsAction\x18\x1a \x01(\x0b\x32\x39.tesla_protocol.CarServer.VehicleControlFlashLightsActionH\x00\x12^\n\x1cvehicleControlHonkHornAction\x18\x1b \x01(\x0b\x32\x36.tesla_protocol.CarServer.VehicleControlHonkHornActionH\x00\x12h\n!vehicleControlResetValetPinAction\x18\x1c \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlResetValetPinActionH\x00\x12z\n*vehicleControlScheduleSoftwareUpdateAction\x18\x1d \x01(\x0b\x32\x44.tesla_protocol.CarServer.VehicleControlScheduleSoftwareUpdateActionH\x00\x12h\n!vehicleControlSetSentryModeAction\x18\x1e \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlSetSentryModeActionH\x00\x12\x66\n vehicleControlSetValetModeAction\x18\x1f \x01(\x0b\x32:.tesla_protocol.CarServer.VehicleControlSetValetModeActionH\x00\x12n\n$vehicleControlSunroofOpenCloseAction\x18 \x01(\x0b\x32>.tesla_protocol.CarServer.VehicleControlSunroofOpenCloseActionH\x00\x12l\n#vehicleControlTriggerHomelinkAction\x18! \x01(\x0b\x32=.tesla_protocol.CarServer.VehicleControlTriggerHomelinkActionH\x00\x12Z\n\x1avehicleControlWindowAction\x18\" \x01(\x0b\x32\x34.tesla_protocol.CarServer.VehicleControlWindowActionH\x00\x12T\n\x17hvacBioweaponModeAction\x18# \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacBioweaponModeActionH\x00\x12P\n\x15hvacSeatHeaterActions\x18$ \x01(\x0b\x32/.tesla_protocol.CarServer.HvacSeatHeaterActionsH\x00\x12T\n\x17vehicleDataSubscription\x18% \x01(\x0b\x32\x31.tesla_protocol.CarServer.VehicleDataSubscriptionH\x00\x12\x42\n\x0evehicleDataAck\x18& \x01(\x0b\x32(.tesla_protocol.CarServer.VehicleDataAckH\x00\x12J\n\x12vitalsSubscription\x18\' \x01(\x0b\x32,.tesla_protocol.CarServer.VitalsSubscriptionH\x00\x12\x38\n\tvitalsAck\x18( \x01(\x0b\x32#.tesla_protocol.CarServer.VitalsAckH\x00\x12T\n\x17scheduledChargingAction\x18) \x01(\x0b\x32\x31.tesla_protocol.CarServer.ScheduledChargingActionH\x00\x12V\n\x18scheduledDepartureAction\x18* \x01(\x0b\x32\x32.tesla_protocol.CarServer.ScheduledDepartureActionH\x00\x12P\n\x15setChargingAmpsAction\x18+ \x01(\x0b\x32/.tesla_protocol.CarServer.SetChargingAmpsActionH\x00\x12T\n\x17hvacClimateKeeperAction\x18, \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacClimateKeeperActionH\x00\x12T\n\x17hvacRecirculationAction\x18- \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacRecirculationActionH\x00\x12.\n\x04ping\x18. \x01(\x0b\x32\x1e.tesla_protocol.CarServer.PingH\x00\x12P\n\x15\x64\x61shcamSaveClipAction\x18/ \x01(\x0b\x32/.tesla_protocol.CarServer.DashcamSaveClipActionH\x00\x12P\n\x15\x61utoSeatClimateAction\x18\x30 \x01(\x0b\x32/.tesla_protocol.CarServer.AutoSeatClimateActionH\x00\x12P\n\x15hvacSeatCoolerActions\x18\x31 \x01(\x0b\x32/.tesla_protocol.CarServer.HvacSeatCoolerActionsH\x00\x12\x66\n setCabinOverheatProtectionAction\x18\x32 \x01(\x0b\x32:.tesla_protocol.CarServer.SetCabinOverheatProtectionActionH\x00\x12@\n\rpiiKeyRequest\x18\x33 \x01(\x0b\x32\'.tesla_protocol.CarServer.PiiKeyRequestH\x00\x12N\n\x14pseudonymSyncRequest\x18\x34 \x01(\x0b\x32..tesla_protocol.CarServer.PseudonymSyncRequestH\x00\x12N\n\x14navigationGpsRequest\x18\x35 \x01(\x0b\x32..tesla_protocol.CarServer.NavigationGpsRequestH\x00\x12N\n\x14setVehicleNameAction\x18\x36 \x01(\x0b\x32..tesla_protocol.CarServer.SetVehicleNameActionH\x00\x12N\n\x14setRateTariffRequest\x18\x37 \x01(\x0b\x32..tesla_protocol.CarServer.SetRateTariffRequestH\x00\x12N\n\x14getRateTariffRequest\x18\x38 \x01(\x0b\x32..tesla_protocol.CarServer.GetRateTariffRequestH\x00\x12J\n\x12videoRequestAction\x18\x39 \x01(\x0b\x32,.tesla_protocol.CarServer.VideoRequestActionH\x00\x12L\n\x13takeDrivenoteAction\x18: \x01(\x0b\x32-.tesla_protocol.CarServer.TakeDrivenoteActionH\x00\x12L\n\x13\x63hargePortDoorClose\x18= \x01(\x0b\x32-.tesla_protocol.CarServer.ChargePortDoorCloseH\x00\x12J\n\x12\x63hargePortDoorOpen\x18> \x01(\x0b\x32,.tesla_protocol.CarServer.ChargePortDoorOpenH\x00\x12\x62\n\x1e\x62luetoothClassicPairingRequest\x18? \x01(\x0b\x32\x38.tesla_protocol.CarServer.BluetoothClassicPairingRequestH\x00\x12@\n\rboomboxAction\x18@ \x01(\x0b\x32\'.tesla_protocol.CarServer.BoomboxActionH\x00\x12K\n\x0fguestModeAction\x18\x41 \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestModeH\x00\x12\x46\n\x10setCopTempAction\x18\x42 \x01(\x0b\x32*.tesla_protocol.CarServer.SetCopTempActionH\x00\x12`\n\x1d\x61\x64\x64ManagedChargingSiteRequest\x18\x43 \x01(\x0b\x32\x37.tesla_protocol.CarServer.AddManagedChargingSiteRequestH\x00\x12\x66\n removeManagedChargingSiteRequest\x18\x44 \x01(\x0b\x32:.tesla_protocol.CarServer.RemoveManagedChargingSiteRequestH\x00\x12P\n\x15navigationRouteAction\x18\x45 \x01(\x0b\x32/.tesla_protocol.CarServer.NavigationRouteActionH\x00\x12H\n\x11\x61utoStwHeatAction\x18\x46 \x01(\x0b\x32+.tesla_protocol.CarServer.AutoStwHeatActionH\x00\x12J\n\x12stwHeatLevelAction\x18G \x01(\x0b\x32,.tesla_protocol.CarServer.StwHeatLevelActionH\x00\x12L\n\x13\x65raseUserDataAction\x18H \x01(\x0b\x32-.tesla_protocol.CarServer.EraseUserDataActionH\x00\x12\x62\n\x1egetManagedChargingSitesRequest\x18I \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetManagedChargingSitesRequestH\x00\x12h\n!updateChargeOnSolarFeatureRequest\x18J \x01(\x0b\x32;.tesla_protocol.CarServer.UpdateChargeOnSolarFeatureRequestH\x00\x12\x62\n\x1egetChargeOnSolarFeatureRequest\x18K \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetChargeOnSolarFeatureRequestH\x00\x12h\n!vehicleControlSetPinToDriveAction\x18M \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlSetPinToDriveActionH\x00\x12l\n#vehicleControlResetPinToDriveAction\x18N \x01(\x0b\x32=.tesla_protocol.CarServer.VehicleControlResetPinToDriveActionH\x00\x12n\n$drivingClearSpeedLimitPinAdminAction\x18O \x01(\x0b\x32>.tesla_protocol.CarServer.DrivingClearSpeedLimitPinAdminActionH\x00\x12P\n\x15setOutletsOnOffAction\x18P \x01(\x0b\x32/.tesla_protocol.CarServer.SetOutletsOnOffActionH\x00\x12N\n\x14setOutletTimerAction\x18Q \x01(\x0b\x32..tesla_protocol.CarServer.SetOutletTimerActionH\x00\x12T\n\x17setOutletSocLimitAction\x18R \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetOutletSocLimitActionH\x00\x12T\n\x17setPowerFeedOnOffAction\x18S \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetPowerFeedOnOffActionH\x00\x12T\n\x17setPowerFeedTimerAction\x18T \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetPowerFeedTimerActionH\x00\x12Z\n\x1asetPowerFeedSocLimitAction\x18U \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowerFeedSocLimitActionH\x00\x12j\n\"setTrailerLightTestStartStopAction\x18V \x01(\x0b\x32<.tesla_protocol.CarServer.SetTrailerLightTestStartStopActionH\x00\x12\x64\n\x1fsetTruckBedLightAutoStateAction\x18W \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetTruckBedLightAutoStateActionH\x00\x12\x66\n setTruckBedLightBrightnessAction\x18X \x01(\x0b\x32:.tesla_protocol.CarServer.SetTruckBedLightBrightnessActionH\x00\x12v\n(vehicleControlResetPinToDriveAdminAction\x18Y \x01(\x0b\x32\x42.tesla_protocol.CarServer.VehicleControlResetPinToDriveAdminActionH\x00\x12Z\n\x1anavigationWaypointsRequest\x18Z \x01(\x0b\x32\x34.tesla_protocol.CarServer.NavigationWaypointsRequestH\x00\x12Z\n\x1asetPowershareFeatureAction\x18[ \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowershareFeatureActionH\x00\x12h\n!setPowershareDischargeLimitAction\x18\\ \x01(\x0b\x32;.tesla_protocol.CarServer.SetPowershareDischargeLimitActionH\x00\x12Z\n\x1asetPowershareRequestAction\x18] \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowershareRequestActionH\x00\x12V\n\x18setTentModeRequestAction\x18^ \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetTentModeRequestActionH\x00\x12]\n\x1esetFrontZoneLightRequestAction\x18_ \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetZoneLightRequestActionH\x00\x12\\\n\x1dsetRearZoneLightRequestAction\x18` \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetZoneLightRequestActionH\x00\x12K\n\x17\x61\x64\x64\x43hargeScheduleAction\x18\x61 \x01(\x0b\x32(.tesla_protocol.CarServer.ChargeScheduleH\x00\x12Z\n\x1aremoveChargeScheduleAction\x18\x62 \x01(\x0b\x32\x34.tesla_protocol.CarServer.RemoveChargeScheduleActionH\x00\x12W\n\x1d\x61\x64\x64PreconditionScheduleAction\x18\x63 \x01(\x0b\x32..tesla_protocol.CarServer.PreconditionScheduleH\x00\x12\x66\n removePreconditionScheduleAction\x18\x64 \x01(\x0b\x32:.tesla_protocol.CarServer.RemovePreconditionScheduleActionH\x00\x12\\\n\x1bsetLightbarBrightnessAction\x18\x65 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetLightbarBrightnessActionH\x00\x12T\n\x17setLightbarMiddleAction\x18\x66 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetLightbarMiddleActionH\x00\x12R\n\x16setLightbarDitchAction\x18g \x01(\x0b\x32\x30.tesla_protocol.CarServer.SetLightbarDitchActionH\x00\x12H\n\x11getMessagesAction\x18h \x01(\x0b\x32+.tesla_protocol.CarServer.GetMessagesActionH\x00\x12T\n\x17teslaAuthResponseAction\x18i \x01(\x0b\x32\x31.tesla_protocol.CarServer.TeslaAuthResponseActionH\x00\x12\x64\n\x1fnavigationGpsDestinationRequest\x18j \x01(\x0b\x32\x39.tesla_protocol.CarServer.NavigationGpsDestinationRequestH\x00\x12r\n&batchRemovePreconditionSchedulesAction\x18k \x01(\x0b\x32@.tesla_protocol.CarServer.BatchRemovePreconditionSchedulesActionH\x00\x12\x66\n batchRemoveChargeSchedulesAction\x18l \x01(\x0b\x32:.tesla_protocol.CarServer.BatchRemoveChargeSchedulesActionH\x00\x12\x62\n\x1eparentalControlsClearPinAction\x18m \x01(\x0b\x32\x38.tesla_protocol.CarServer.ParentalControlsClearPinActionH\x00\x12l\n#parentalControlsClearPinAdminAction\x18n \x01(\x0b\x32=.tesla_protocol.CarServer.ParentalControlsClearPinAdminActionH\x00\x12R\n\x16parentalControlsAction\x18o \x01(\x0b\x32\x30.tesla_protocol.CarServer.ParentalControlsActionH\x00\x12n\n$parentalControlsEnableSettingsAction\x18p \x01(\x0b\x32>.tesla_protocol.CarServer.ParentalControlsEnableSettingsActionH\x00\x12l\n#parentalControlsSetSpeedLimitAction\x18q \x01(\x0b\x32=.tesla_protocol.CarServer.ParentalControlsSetSpeedLimitActionH\x00\x12L\n\x13\x63\x61ncelSohTestAction\x18r \x01(\x0b\x32-.tesla_protocol.CarServer.CancelSohTestActionH\x00\x12L\n\x13stopLightShowAction\x18t \x01(\x0b\x32-.tesla_protocol.CarServer.StopLightShowActionH\x00\x12N\n\x14startLightShowAction\x18u \x01(\x0b\x32..tesla_protocol.CarServer.StartLightShowActionH\x00\x12V\n\x18setSuspensionLevelAction\x18v \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetSuspensionLevelActionH\x00\x12U\n\x17setDischargeLimitAction\x18\x81\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetDischargeLimitActionH\x00\x12Q\n\x15setLowPowerModeAction\x18\x82\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SetLowPowerModeActionH\x00\x12W\n\x18setTemperatureUnitAction\x18\x84\x01 \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetTemperatureUnitActionH\x00\x12Q\n\x15setDistanceUnitAction\x18\x85\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SetDistanceUnitActionH\x00\x12[\n\x1asetTimeDisplayFormatAction\x18\x86\x01 \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetTimeDisplayFormatActionH\x00\x12Y\n\x19setTirePressureUnitAction\x18\x87\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetTirePressureUnitActionH\x00\x12_\n\x1csetEnergyDisplayFormatAction\x18\x88\x01 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetEnergyDisplayFormatActionH\x00\x12\x65\n\x1fsetKeepAccessoryPowerModeAction\x18\x8a\x01 \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetKeepAccessoryPowerModeActionH\x00\x12}\n+setupCloudProfileWithLocalProfileUuidAction\x18\x8b\x01 \x01(\x0b\x32\x45.tesla_protocol.CarServer.SetupCloudProfileWithLocalProfileUuidActionH\x00\x12k\n\"getLocalProfilesForVaultUuidAction\x18\x8c\x01 \x01(\x0b\x32<.tesla_protocol.CarServer.GetLocalProfilesForVaultUuidActionH\x00\x12M\n\x13\x66\x65tchKeysInfoAction\x18\x8e\x01 \x01(\x0b\x32-.tesla_protocol.CarServer.FetchKeysInfoActionH\x00\x12W\n\x18\x64\x65leteDashcamClipsAction\x18\x90\x01 \x01(\x0b\x32\x32.tesla_protocol.CarServer.DeleteDashcamClipsActionH\x00\x12\x45\n\x0f\x66ormatUsbAction\x18\x92\x01 \x01(\x0b\x32).tesla_protocol.CarServer.FormatUSBActionH\x00\x12U\n\x17setUpkeepUsernameAction\x18\x93\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetUpkeepUsernameActionH\x00\x12\x41\n\rbandwidthTest\x18\x95\x01 \x01(\x0b\x32\'.tesla_protocol.CarServer.BandwidthTestH\x00\x12g\n setPhoneSettingPreferencesAction\x18\x97\x01 \x01(\x0b\x32:.tesla_protocol.CarServer.SetPhoneSettingPreferencesActionH\x00\x12\x61\n\x1d\x63\x61ncelVehicleDataSubscription\x18\xab\x01 \x01(\x0b\x32\x37.tesla_protocol.CarServer.CancelVehicleDataSubscriptionH\x00\x12Y\n\x19prepareMobileUploadAction\x18\xb1\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.PrepareMobileUploadActionH\x00\x12[\n\x1aputMobileUploadChunkAction\x18\xb2\x01 \x01(\x0b\x32\x34.tesla_protocol.CarServer.PutMobileUploadChunkActionH\x00\x12K\n\x12\x64isplayStateAction\x18\xb4\x01 \x01(\x0b\x32,.tesla_protocol.CarServer.DisplayStateActionH\x00\x12h\n drivingSetCruiseSpeedLimitAction\x18\xa1\xaf* \x01(\x0b\x32:.tesla_protocol.CarServer.DrivingSetCruiseSpeedLimitActionH\x00\x12L\n\x12setDeckLightAction\x18\xb6\xcd* \x01(\x0b\x32,.tesla_protocol.CarServer.SetDeckLightActionH\x00\x42\x14\n\x12vehicle_action_msgJ\x04\x08\x0b\x10\x0cJ\x04\x08<\x10=J\x04\x08L\x10M\"\xdc\x0e\n\x0eGetVehicleData\x12@\n\x0egetGuiSettings\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.GetGuiSettings\x12@\n\x0egetChargeState\x18\x02 \x01(\x0b\x32(.tesla_protocol.CarServer.GetChargeState\x12\x42\n\x0fgetClimateState\x18\x03 \x01(\x0b\x32).tesla_protocol.CarServer.GetClimateState\x12>\n\rgetDriveState\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.GetDriveState\x12N\n\x15getLegacyVehicleState\x18\x05 \x01(\x0b\x32/.tesla_protocol.CarServer.GetLegacyVehicleState\x12\x44\n\x10getVehicleConfig\x18\x06 \x01(\x0b\x32*.tesla_protocol.CarServer.GetVehicleConfig\x12\x44\n\x10getLocationState\x18\x07 \x01(\x0b\x32*.tesla_protocol.CarServer.GetLocationState\x12\x44\n\x10getClosuresState\x18\x08 \x01(\x0b\x32*.tesla_protocol.CarServer.GetClosuresState\x12R\n\x17getParkedAccessoryState\x18\t \x01(\x0b\x32\x31.tesla_protocol.CarServer.GetParkedAccessoryState\x12P\n\x16getChargeScheduleState\x18\n \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetChargeScheduleState\x12\x62\n\x1fgetPreconditioningScheduleState\x18\x0b \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetPreconditioningScheduleState\x12:\n\x0bgetSohState\x18\x0c \x01(\x0b\x32%.tesla_protocol.CarServer.GetSohState\x12N\n\x15getVehicleDetailState\x18\r \x01(\x0b\x32/.tesla_protocol.CarServer.GetVehicleDetailState\x12L\n\x14getTirePressureState\x18\x0e \x01(\x0b\x32..tesla_protocol.CarServer.GetTirePressureState\x12>\n\rgetMediaState\x18\x0f \x01(\x0b\x32\'.tesla_protocol.CarServer.GetMediaState\x12J\n\x13getMediaDetailState\x18\x10 \x01(\x0b\x32-.tesla_protocol.CarServer.GetMediaDetailState\x12P\n\x16getSoftwareUpdateState\x18\x11 \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetSoftwareUpdateState\x12\x42\n\x0fgetVehicleState\x18\x12 \x01(\x0b\x32).tesla_protocol.CarServer.GetVehicleState\x12T\n\x18getParentalControlsState\x18\x13 \x01(\x0b\x32\x32.tesla_protocol.CarServer.GetParentalControlsState\x12>\n\rgetAlertState\x18\x14 \x01(\x0b\x32\'.tesla_protocol.CarServer.GetAlertState\x12\x46\n\x11getLightShowState\x18\x15 \x01(\x0b\x32+.tesla_protocol.CarServer.GetLightShowState\x12L\n\x14getVehicleImageState\x18\x16 \x01(\x0b\x32..tesla_protocol.CarServer.GetVehicleImageState\x12H\n\x12getSuspensionState\x18\x17 \x01(\x0b\x32,.tesla_protocol.CarServer.GetSuspensionState\x12`\n\x1egetChildPresenceDetectionState\x18\x19 \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetChildPresenceDetectionState\x12\x42\n\x0fgetDisplayState\x18\x1f \x01(\x0b\x32).tesla_protocol.CarServer.GetDisplayState\"\x10\n\x0eGetGuiSettings\"\x17\n\x15GetLegacyVehicleState\"\x12\n\x10GetVehicleConfig\"\r\n\x0bGetSohState\"\x17\n\x15GetVehicleDetailState\"\x19\n\x17GetParkedAccessoryState\"\x11\n\x0fGetVehicleState\"\x0f\n\rGetAlertState\"\x13\n\x11GetLightShowState\"\\\n\x14GetVehicleImageState\x12\x44\n\rimageRequests\x18\x01 \x03(\x0b\x32-.tesla_protocol.CarServer.VehicleImageRequest\"\x14\n\x12GetSuspensionState\" \n\x1eGetChildPresenceDetectionState\"\x11\n\x0fGetDisplayState\"H\n\x1cVehicleImageDataChunkRequest\x12\x14\n\x0c\x63hunk_offset\x18\x01 \x01(\r\x12\x12\n\nchunk_size\x18\x02 \x01(\r\"\x87\x02\n\x13VehicleImageRequest\x12\x44\n\x08\x64\x61taType\x18\x01 \x01(\x0e\x32\x32.tesla_protocol.CarServer.VehicleImageRequest.Type\x12\x42\n\timageType\x18\x02 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12L\n\x0c\x63hunkRequest\x18\x03 \x01(\x0b\x32\x36.tesla_protocol.CarServer.VehicleImageDataChunkRequest\"\x18\n\x04Type\x12\x06\n\x02ID\x10\x00\x12\x08\n\x04\x44\x41TA\x10\x01\"\x92\x01\n\x17MobileImageUploadParams\x12\x42\n\timageType\x18\x01 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12\x0f\n\x07widthPx\x18\x02 \x01(\r\x12\x10\n\x08heightPx\x18\x03 \x01(\r\x12\x10\n\x08mimeType\x18\x04 \x01(\t\">\n\x12MobileUploadParams\x12\x11\n\ttotalSize\x18\x01 \x01(\r\x12\x15\n\rcontentSha256\x18\x02 \x01(\x0c\"\xd7\x01\n\x19PrepareMobileUploadAction\x12\x42\n\x0cuploadParams\x18\x01 \x01(\x0b\x32,.tesla_protocol.CarServer.MobileUploadParams\x12\x46\n\x0bimageParams\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.MobileImageUploadParams\x12\x0f\n\x07\x66ield_3\x18\x03 \x01(\x08\x12\x1d\n\x15overwriteOldestIfFull\x18\x04 \x01(\x08\"\x80\x03\n\x1bPrepareMobileUploadResponse\x12L\n\x06status\x18\x01 \x01(\x0e\x32<.tesla_protocol.CarServer.PrepareMobileUploadResponse.Status\x12\x10\n\x08uploadId\x18\x02 \x01(\t\x12\x14\n\x0cmaxChunkSize\x18\x03 \x01(\r\"\xea\x01\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x11\n\rSIZE_EXCEEDED\x10\x01\x12\x12\n\x0eINVALID_FORMAT\x10\x02\x12\x16\n\x12INVALID_DIMENSIONS\x10\x03\x12\x1a\n\x16UNSUPPORTED_ASSET_TYPE\x10\x04\x12\x10\n\x0cOUT_OF_SPACE\x10\x05\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x06\x12\x12\n\x0eINTERNAL_ERROR\x10\x07\x12\x16\n\x12UPLOAD_CAP_REACHED\x10\x08\x12\x13\n\x0fINVALID_REQUEST\x10\t\x12\x16\n\x12UPLOAD_IN_PROGRESS\x10\n\"V\n\x1aPutMobileUploadChunkAction\x12\x10\n\x08uploadId\x18\x01 \x01(\t\x12\x13\n\x0b\x63hunkOffset\x18\x02 \x01(\r\x12\x11\n\tchunkData\x18\x03 \x01(\x0c\"\xae\x02\n\x1cPutMobileUploadChunkResponse\x12M\n\x06status\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.PutMobileUploadChunkResponse.Status\x12\x12\n\nresourceId\x18\x02 \x01(\x0c\"\xaa\x01\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\x12\n\x0eUNKNOWN_UPLOAD\x10\x02\x12\x10\n\x0cOUT_OF_ORDER\x10\x03\x12\x11\n\rSIZE_EXCEEDED\x10\x04\x12\x11\n\rHASH_MISMATCH\x10\x05\x12\x12\n\x0eINVALID_FORMAT\x10\x06\x12\x16\n\x12INVALID_DIMENSIONS\x10\x07\x12\x12\n\x0eINTERNAL_ERROR\x10\x08\"\x9f\x05\n\x17\x44ogModeLiveActivityData\x12X\n\x0e\x64isabledReason\x18\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.DogModeLiveActivityData.DisabledReason\x12Y\n\rinteriorImage\x18\x02 \x01(\x0b\x32\x42.tesla_protocol.CarServer.DogModeLiveActivityData.DogModeImageData\x12\x0f\n\x07\x66ield_3\x18\x03 \x01(\t\x12+\n\x07\x66ield_4\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x18insideTemperatureCelsius\x18\x05 \x01(\x02\x12G\n\nfaultState\x18\x06 \x01(\x0e\x32\x33.tesla_protocol.CarServer.ClimateState.DogModeState\x12P\n\x0ftemperatureUnit\x18\x07 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\x12\x14\n\x0c\x62\x61tteryLevel\x18\x08 \x01(\x02\x1a>\n\x10\x44ogModeImageData\x12\x12\n\nwrappedKey\x18\x01 \x01(\x0c\x12\x16\n\x0e\x65ncryptedImage\x18\x02 \x01(\x0c\"~\n\x0e\x44isabledReason\x12\x12\n\x0eREASON_UNKNOWN\x10\x00\x12\"\n\x1eREASON_NO_PREMIUM_CONNECTIVITY\x10\x01\x12\x15\n\x11REASON_TOGGLE_OFF\x10\x02\x12\x1d\n\x19REASON_DISALLOWED_COUNTRY\x10\x03\"\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\x12\x17\n\x0ftrigger_on_park\x18\x02 \x01(\x08\"\xdd\r\n\x08Response\x12<\n\x0c\x61\x63tionStatus\x18\x01 \x01(\x0b\x32&.tesla_protocol.CarServer.ActionStatus\x12<\n\x0bvehicleData\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.VehicleDataH\x00\x12H\n\x16getSessionInfoResponse\x18\x03 \x01(\x0b\x32&.tesla_protocol.Signatures.SessionInfoH\x00\x12@\n\rstreamMessage\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.StreamMessageH\x00\x12O\n\x16getNearbyChargingSites\x18\x05 \x01(\x0b\x32-.tesla_protocol.CarServer.NearbyChargingSitesH\x00\x12\x64\n\x1fvehicleDataSubscriptionResponse\x18\x06 \x01(\x0b\x32\x39.tesla_protocol.CarServer.VehicleDataSubscriptionResponseH\x00\x12Z\n\x1avitalsSubscriptionResponse\x18\x08 \x01(\x0b\x32\x34.tesla_protocol.CarServer.VitalsSubscriptionResponseH\x00\x12.\n\x04ping\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.PingH\x00\x12\x42\n\x0epiiKeyResponse\x18\n \x01(\x0b\x32(.tesla_protocol.CarServer.PiiKeyResponseH\x00\x12P\n\x15pseudonymSyncResponse\x18\x0b \x01(\x0b\x32/.tesla_protocol.CarServer.PseudonymSyncResponseH\x00\x12P\n\x15getRateTariffResponse\x18\x0c \x01(\x0b\x32/.tesla_protocol.CarServer.GetRateTariffResponseH\x00\x12T\n\x17navigationRouteResponse\x18\r \x01(\x0b\x32\x31.tesla_protocol.CarServer.NavigationRouteResponseH\x00\x12\x64\n\x1fgetManagedChargingSitesResponse\x18\x0e \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetManagedChargingSitesResponseH\x00\x12\x64\n\x1fgetChargeOnSolarFeatureResponse\x18\x0f \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetChargeOnSolarFeatureResponseH\x00\x12\x62\n\x1e\x61\x64\x64ManagedChargingSiteResponse\x18\x10 \x01(\x0b\x32\x38.tesla_protocol.CarServer.AddManagedChargingSiteResponseH\x00\x12L\n\x13getMessagesResponse\x18\x12 \x01(\x0b\x32-.tesla_protocol.CarServer.GetMessagesResponseH\x00\x12V\n\x18getLocalProfilesResponse\x18\x14 \x01(\x0b\x32\x32.tesla_protocol.CarServer.GetLocalProfilesResponseH\x00\x12\x46\n\x10keysInfoResponse\x18\x18 \x01(\x0b\x32*.tesla_protocol.CarServer.KeysInfoResponseH\x00\x12P\n\x15\x62\x61ndwidthTestResponse\x18\x19 \x01(\x0b\x32/.tesla_protocol.CarServer.BandwidthTestResponseH\x00\x12\\\n\x1bprepareMobileUploadResponse\x18\x1f \x01(\x0b\x32\x35.tesla_protocol.CarServer.PrepareMobileUploadResponseH\x00\x12^\n\x1cputMobileUploadChunkResponse\x18 \x01(\x0b\x32\x36.tesla_protocol.CarServer.PutMobileUploadChunkResponseH\x00\x42\x0e\n\x0cresponse_msgJ\x04\x08\x11\x10\x12J\x04\x08\x13\x10\x14\"v\n\x1fVehicleDataSubscriptionResponse\x12\x0f\n\x07unknown\x18\x03 \x01(\t\x12\x42\n\x10pii_key_response\x18\x04 \x01(\x0b\x32(.tesla_protocol.CarServer.PiiKeyResponse\"A\n\x1aVitalsSubscriptionResponse\x12\x12\n\nsession_id\x18\x01 \x01(\x05\x12\x0f\n\x07unknown\x18\x02 \x01(\t\"\xa9\x01\n\x0ePiiKeyResponse\x12\x19\n\x11\x65ncrypted_pii_key\x18\x02 \x01(\x0c\x12\x36\n\x12pii_key_expiration\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n subscriber_public_key_expiration\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"(\n\x15PseudonymSyncResponse\x12\x0f\n\x07unknown\x18\x01 \x01(\t\"\xf3\x02\n\x17NavigationRouteResponse\x12\x0f\n\x07unknown\x18\x01 \x01(\t\x12W\n\x0etraffic_detail\x18\x02 \x03(\x0b\x32?.tesla_protocol.CarServer.NavigationRouteResponse.TrafficDetail\x1a\x80\x01\n\rTrafficDetail\x12\x16\n\x0eoffset_to_dest\x18\x01 \x01(\x02\x12W\n\x0etraffic_status\x18\x02 \x01(\x0e\x32?.tesla_protocol.CarServer.NavigationRouteResponse.TrafficStatus\"k\n\rTrafficStatus\x12\x0e\n\nTS_NO_DATA\x10\x00\x12\x0c\n\x08TS_LIGHT\x10\x01\x12\x0f\n\x0bTS_MODERATE\x10\x02\x12\x11\n\rTS_CONGESTION\x10\x03\x12\x18\n\x14TS_SEVERE_CONGESTION\x10\x04\"_\n\x1fGetManagedChargingSitesResponse\x12<\n\x05sites\x18\x01 \x03(\x0b\x32-.tesla_protocol.CarServer.ManagedChargingSite\"#\n!ManagedChargingSiteAddedOrUpdated\"#\n!ExistingManagedChargingSiteNearby\"\xd2\x01\n\x1e\x41\x64\x64ManagedChargingSiteResponse\x12U\n\x10\x61\x64\x64\x65\x64_or_updated\x18\x01 \x01(\x0b\x32;.tesla_protocol.CarServer.ManagedChargingSiteAddedOrUpdated\x12Y\n\x14\x65xisting_site_nearby\x18\x02 \x01(\x0b\x32;.tesla_protocol.CarServer.ExistingManagedChargingSiteNearby\"Z\n\x17RequestTeslaAuthCommand\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x0f\n\x07unknown\x18\x02 \x01(\t\x12\x1b\n\x13return_scoped_token\x18\x03 \x01(\x08\"i\n\x10MobileAppMessage\x12U\n\x1arequest_tesla_auth_command\x18\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.RequestTeslaAuthCommand\"^\n\x13GetMessagesResponse\x12G\n\x13mobile_app_messages\x18\x01 \x03(\x0b\x32*.tesla_protocol.CarServer.MobileAppMessage\"/\n\x07Profile\x12\x11\n\tunknown_1\x18\x01 \x01(\t\x12\x11\n\tunknown_2\x18\x02 \x01(\t\"O\n\x18GetLocalProfilesResponse\x12\x33\n\x08profiles\x18\x01 \x03(\x0b\x32!.tesla_protocol.CarServer.Profile\"\xd5\x01\n\x07KeyInfo\x12\x11\n\tunknown_1\x18\x01 \x01(\t\x12\x11\n\tunknown_2\x18\x02 \x01(\t\x12\x12\n\npublic_key\x18\x03 \x01(\x0c\x12-\n\tlast_seen\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x04role\x18\x05 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\x12\x38\n\x0b\x66orm_factor\x18\x06 \x01(\x0e\x32#.tesla_protocol.VCSEC.KeyFormFactor\"H\n\x10KeysInfoResponse\x12\x34\n\tkeys_info\x18\x01 \x03(\x0b\x32!.tesla_protocol.CarServer.KeyInfo\"=\n\x15\x42\x61ndwidthTestResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x16\n\x0erequested_size\x18\x02 \x01(\r\"\xf0\x01\n\x15GetRateTariffResponse\x12G\n\x0ftariff_document\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.SetRateTariffRequest\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\x12\x45\n\x06tariff\x18\x0e \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Tariff\"\x8a\x01\n\x0c\x41\x63tionStatus\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.tesla_protocol.CarServer.OperationStatus_E\x12=\n\rresult_reason\x18\x02 \x01(\x0b\x32&.tesla_protocol.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\x12\x10\n\x08one_time\x18\x02 \x01(\x08\"\xb5\x02\n\x17\x43hargingStartStopAction\x12\x31\n\x07unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05start\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0estart_standard\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fstart_max_range\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04stop\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xec\x08\n\x15HvacSeatHeaterActions\x12\x62\n\x14hvacSeatHeaterAction\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.CarServer.HvacSeatHeaterActions.HvacSeatHeaterAction\x1a\xee\x07\n\x14HvacSeatHeaterAction\x12=\n\x13SEAT_HEATER_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_OFF\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_LOW\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_MED\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10SEAT_HEATER_HIGH\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10\x43\x41R_SEAT_UNKNOWN\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12=\n\x13\x43\x41R_SEAT_FRONT_LEFT\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12>\n\x14\x43\x41R_SEAT_FRONT_RIGHT\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12<\n\x12\x43\x41R_SEAT_REAR_LEFT\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x41\n\x17\x43\x41R_SEAT_REAR_LEFT_BACK\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12>\n\x14\x43\x41R_SEAT_REAR_CENTER\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12=\n\x13\x43\x41R_SEAT_REAR_RIGHT\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x42\n\x18\x43\x41R_SEAT_REAR_RIGHT_BACK\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x41\n\x17\x43\x41R_SEAT_THIRD_ROW_LEFT\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x42\n\x18\x43\x41R_SEAT_THIRD_ROW_RIGHT\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x42\x13\n\x11seat_heater_levelB\x0f\n\rseat_position\"\xea\x05\n\x15HvacSeatCoolerActions\x12\x62\n\x14hvacSeatCoolerAction\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.CarServer.HvacSeatCoolerActions.HvacSeatCoolerAction\x1a\xd9\x01\n\x14HvacSeatCoolerAction\x12`\n\x11seat_cooler_level\x18\x01 \x01(\x0e\x32\x45.tesla_protocol.CarServer.HvacSeatCoolerActions.HvacSeatCoolerLevel_E\x12_\n\rseat_position\x18\x02 \x01(\x0e\x32H.tesla_protocol.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\"\xe0\x01\n\x18HvacSeatCoolerPosition_E\x12\"\n\x1eHvacSeatCoolerPosition_Unknown\x10\x00\x12$\n HvacSeatCoolerPosition_FrontLeft\x10\x01\x12%\n!HvacSeatCoolerPosition_FrontRight\x10\x02\x12(\n$HvacSeatCoolerPosition_SecondRowLeft\x10\x03\x12)\n%HvacSeatCoolerPosition_SecondRowRight\x10\x04\"\xed\x01\n\x1fHvacSetPreconditioningMaxAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12l\n\x14manual_override_mode\x18\x03 \x03(\x0e\x32N.tesla_protocol.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\"\xba\x06\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\x12T\n\x05level\x18\x05 \x01(\x0b\x32\x45.tesla_protocol.CarServer.HvacTemperatureAdjustmentAction.Temperature\x12l\n\x15hvac_temperature_zone\x18\x04 \x03(\x0b\x32M.tesla_protocol.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\xb5\x01\n\x0bTemperature\x12\x36\n\x0cTEMP_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TEMP_MIN\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TEMP_MAX\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x95\x02\n\x13HvacTemperatureZone\x12;\n\x11TEMP_ZONE_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12>\n\x14TEMP_ZONE_FRONT_LEFT\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12?\n\x15TEMP_ZONE_FRONT_RIGHT\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eTEMP_ZONE_REAR\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xf8\x01\n\x13NearbyChargingSites\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12K\n\x14\x64\x65stination_charging\x18\x02 \x03(\x0b\x32-.tesla_protocol.CarServer.DestinationCharging\x12>\n\rsuperchargers\x18\x03 \x03(\x0b\x32\'.tesla_protocol.CarServer.Superchargers\x12%\n\x1d\x63ongestion_sync_time_utc_secs\x18\x04 \x01(\x03\"\x92\x02\n\x13\x44\x65stinationCharging\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x11\n\tamenities\x18\x02 \x01(\t\x12\x0c\n\x04\x63ity\x18\x03 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x04 \x01(\t\x12\x16\n\x0e\x64istance_miles\x18\x05 \x01(\x02\x12\x10\n\x08\x64istrict\x18\x06 \x01(\t\x12\x33\n\x08location\x18\x07 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x13\n\x0bpostal_code\x18\t \x01(\t\x12\r\n\x05state\x18\n \x01(\t\x12\x16\n\x0estreet_address\x18\x0b \x01(\t\x12\x14\n\x0cwithin_range\x18\x0c \x01(\x08\"\xda\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\x33\n\x08location\x18\n \x01(\x0b\x32!.tesla_protocol.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\"_\n\x0fMediaPlayAction\x12L\n\x15media_playback_status\x18\x01 \x01(\x0e\x32-.tesla_protocol.CarServer.MediaPlaybackStatus\"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\"\x83\x02\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.\n\x04vent\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12/\n\x05\x63lose\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12.\n\x04open\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x42\x0f\n\rsunroof_levelB\x08\n\x06\x61\x63tion\"i\n#VehicleControlTriggerHomelinkAction\x12\x33\n\x08location\x18\x01 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12\r\n\x05token\x18\x02 \x01(\t\"\xc0\x01\n\x1aVehicleControlWindowAction\x12\x31\n\x07unknown\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04vent\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x63lose\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xc8\x02\n\x15\x41utoSeatClimateAction\x12H\n\x07\x63\x61rseat\x18\x01 \x03(\x0b\x32\x37.tesla_protocol.CarServer.AutoSeatClimateAction.CarSeat\x1ap\n\x07\x43\x61rSeat\x12\n\n\x02on\x18\x01 \x01(\x08\x12Y\n\rseat_position\x18\x02 \x01(\x0e\x32\x42.tesla_protocol.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\"\x84\x02\n\x18ScheduledDepartureAction\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x16\n\x0e\x64\x65parture_time\x18\x02 \x01(\x05\x12M\n\x15preconditioning_times\x18\x03 \x01(\x0b\x32..tesla_protocol.CarServer.PreconditioningTimes\x12O\n\x17off_peak_charging_times\x18\x04 \x01(\x0b\x32..tesla_protocol.CarServer.OffPeakChargingTimes\x12\x1f\n\x17off_peak_hours_end_time\x18\x05 \x01(\x05\"\xb6\x03\n\x17HvacClimateKeeperAction\x12\x64\n\x13\x43limateKeeperAction\x18\x01 \x01(\x0e\x32G.tesla_protocol.CarServer.HvacClimateKeeperAction.ClimateKeeperAction_E\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12\x64\n\x14manual_override_mode\x18\x03 \x03(\x0e\x32\x46.tesla_protocol.CarServer.HvacClimateKeeperAction.ManualOverrideMode_E\"\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\x14ManualOverrideMode_E\x12\x07\n\x03Soc\x10\x00\x12\x07\n\x03\x43pd\x10\x01\"%\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\"g\n\x10SetCopTempAction\x12S\n\x11\x63opActivationTemp\x18\x01 \x01(\x0e\x32\x38.tesla_protocol.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\"\xbf\x02\n\x1dNavigationSuperchargerRequest\x12\n\n\x02id\x18\x01 \x01(\x03\x12i\n\x15remote_nav_trip_order\x18\x02 \x01(\x0e\x32J.tesla_protocol.CarServer.NavigationSuperchargerRequest.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\x03R\x05order\"5\n\x1cUiSetUpcomingCalendarEntries\x12\x15\n\rcalendar_data\x18\x01 \x01(\t\"\x8a\x07\n\x17VehicleDataSubscription\x12X\n\x0fpii_key_request\x18\r \x01(\x0b\x32?.tesla_protocol.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\x12\x39\n1child_presence_detection_state_max_update_rate_ms\x18\x13 \x01(\x05\x12(\n display_state_max_update_rate_ms\x18\x1c \x01(\x05\x1a.\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x01 \x01(\t\"\xac\x07\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\x17\x64isplay_state_timestamp\x18\x18 \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\"\xa4\x02\n\x14NavigationGpsRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12P\n\x05order\x18\x03 \x01(\x0e\x32\x41.tesla_protocol.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\"\xd5\x16\n\x14SetRateTariffRequest\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07utility\x18\x03 \x01(\t\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12Q\n\rdaily_charges\x18\x05 \x03(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.DailyCharge\x12\x17\n\x0fmonthly_charges\x18\x06 \x01(\x01\x12\x1c\n\x14monthly_minimum_bill\x18\x07 \x01(\x01\x12N\n\x0e\x64\x65mand_charges\x18\x08 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12T\n\x14\x64\x61ily_demand_charges\x18\t \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12N\n\x0e\x65nergy_charges\x18\n \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12\x1d\n\x15max_applicable_demand\x18\x0b \x01(\x01\x12\x1d\n\x15min_applicable_demand\x18\x0c \x01(\x01\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\x12\x45\n\x06tariff\x18\x0e \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Tariff\x1a\x89\x01\n\tTOUPeriod\x12\x18\n\x10\x66rom_day_of_week\x18\x01 \x01(\x05\x12\x16\n\x0eto_day_of_week\x18\x02 \x01(\x05\x12\x11\n\tfrom_hour\x18\x03 \x01(\x05\x12\x13\n\x0b\x66rom_minute\x18\x04 \x01(\x05\x12\x0f\n\x07to_hour\x18\x05 \x01(\x05\x12\x11\n\tto_minute\x18\x06 \x01(\x05\x1a\xc5\x02\n\nTOUPeriods\x12I\n\x07ON_PEAK\x18\x01 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12N\n\x0cPARTIAL_PEAK\x18\x02 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12J\n\x08OFF_PEAK\x18\x03 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12P\n\x0eSUPER_OFF_PEAK\x18\x04 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x1a\xa0\x01\n\x06Season\x12\x10\n\x08\x66rom_day\x18\x01 \x01(\x05\x12\x0e\n\x06to_day\x18\x02 \x01(\x05\x12\x12\n\nfrom_month\x18\x03 \x01(\x05\x12\x10\n\x08to_month\x18\x04 \x01(\x05\x12N\n\x0btou_periods\x18\x05 \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriods\x1a\xef\x02\n\x07Seasons\x12\x45\n\x06Summer\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x45\n\x06Winter\x18\x02 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season3\x18\x03 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season4\x18\x04 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season5\x18\x05 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x1a\x1a\n\x0b\x46ixedCharge\x12\x0b\n\x03\x41LL\x18\x01 \x01(\x01\x1ah\n\x08RateBand\x12\x0b\n\x03\x41LL\x18\x01 \x01(\x01\x12\x0f\n\x07ON_PEAK\x18\x02 \x01(\x01\x12\x14\n\x0cPARTIAL_PEAK\x18\x03 \x01(\x01\x12\x10\n\x08OFF_PEAK\x18\x04 \x01(\x01\x12\x16\n\x0eSUPER_OFF_PEAK\x18\x05 \x01(\x01\x1a+\n\x0b\x44\x61ilyCharge\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a\xc2\x03\n\x07\x43harges\x12G\n\x03\x41LL\x18\x01 \x01(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.FixedCharge\x12G\n\x06Summer\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12G\n\x06Winter\x18\x03 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season3\x18\x04 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season4\x18\x05 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season5\x18\x06 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x1a\xce\x04\n\x06Tariff\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07utility\x18\x03 \x01(\t\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12Q\n\rdaily_charges\x18\x05 \x03(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.DailyCharge\x12\x17\n\x0fmonthly_charges\x18\x06 \x01(\x01\x12\x1c\n\x14monthly_minimum_bill\x18\x07 \x01(\x01\x12N\n\x0e\x64\x65mand_charges\x18\x08 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12T\n\x14\x64\x61ily_demand_charges\x18\t \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12N\n\x0e\x65nergy_charges\x18\n \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12\x1d\n\x15max_applicable_demand\x18\x0b \x01(\x01\x12\x1d\n\x15min_applicable_demand\x18\x0c \x01(\x01\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\"\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\"\\\n\x1d\x41\x64\x64ManagedChargingSiteRequest\x12;\n\x04site\x18\x01 \x01(\x0b\x32-.tesla_protocol.CarServer.ManagedChargingSite\"\x9a\x01\n\x13ManagedChargingSite\x12\x12\n\npublic_key\x18\x01 \x01(\t\x12;\n\x0cmanager_type\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.ManagerType\x12\x32\n\x07lat_lon\x18\x03 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\"P\n\x0bManagerType\x12\x41\n\x0fsite_controller\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.SiteController\"\x1d\n\x0eSiteController\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"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\"T\n\x12StwHeatLevelAction\x12>\n\x0estw_heat_level\x18\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.StwHeatLevel\" \n\x1eGetManagedChargingSitesRequest\"l\n!UpdateChargeOnSolarFeatureRequest\x12G\n\x0f\x63harge_on_solar\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ChargeOnSolarFeature\" \n\x1eGetChargeOnSolarFeatureRequest\"j\n\x1fGetChargeOnSolarFeatureResponse\x12G\n\x0f\x63harge_on_solar\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ChargeOnSolarFeature\"_\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\"\xd3\x01\n\x15SetOutletsOnOffAction\x12U\n\x0eoutlet_request\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.SetOutletsOnOffAction.OutletRequest\"c\n\rOutletRequest\x12\x16\n\x12OUTLET_REQUEST_OFF\x10\x00\x12 \n\x1cOUTLET_REQUEST_CABIN_AND_BED\x10\x01\x12\x18\n\x14OUTLET_REQUEST_CABIN\x10\x02\"+\n\x14SetOutletTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05\"*\n\x17SetOutletSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05\"\x92\x02\n\x17SetPowerFeedOnOffAction\x12^\n\x12power_feed_request\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.CarServer.SetPowerFeedOnOffAction.PowerFeedRequest\"\x96\x01\n\x10PowerFeedRequest\x12\x1a\n\x16POWER_FEED_REQUEST_OFF\x10\x00\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_1\x10\x01\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_2\x10\x02\x12(\n$POWER_FEED_REQUEST_FEED_1_AND_FEED_2\x10\x03\".\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\"\xe3\x01\n\x1aNavigationWaypointsRequest\x12\x11\n\twaypoints\x18\x01 \x01(\t\x12_\n\x11trip_plan_options\x18\x02 \x01(\x0b\x32\x44.tesla_protocol.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\"\xf2\x01\n\x1aSetPowershareFeatureAction\x12q\n\x1apowershare_feature_request\x18\x01 \x01(\x0e\x32M.tesla_protocol.CarServer.SetPowershareFeatureAction.PowershareFeatureRequest\"a\n\x18PowershareFeatureRequest\x12\"\n\x1ePOWERSHARE_FEATURE_REQUEST_OFF\x10\x00\x12!\n\x1dPOWERSHARE_FEATURE_REQUEST_ON\x10\x01\"G\n!SetPowershareDischargeLimitAction\x12\"\n\x1apowershare_discharge_limit\x18\x01 \x01(\x05\"\xcc\x01\n\x1aSetPowershareRequestAction\x12\x62\n\x12powershare_request\x18\x01 \x01(\x0e\x32\x46.tesla_protocol.CarServer.SetPowershareRequestAction.PowershareRequest\"J\n\x11PowershareRequest\x12\x1a\n\x16POWERSHARE_REQUEST_OFF\x10\x00\x12\x19\n\x15POWERSHARE_REQUEST_ON\x10\x01\"&\n\x18SetTentModeRequestAction\x12\n\n\x02on\x18\x01 \x01(\x08\"\x83\x02\n\x19SetZoneLightRequestAction\x12`\n\x12zone_light_request\x18\x01 \x01(\x0e\x32\x44.tesla_protocol.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\"\xcf\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\x12[\n\x05order\x18\x04 \x01(\x0e\x32L.tesla_protocol.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\"\xbc\x02\n$ParentalControlsEnableSettingsAction\x12i\n\x07setting\x18\x01 \x01(\x0e\x32X.tesla_protocol.CarServer.ParentalControlsEnableSettingsAction.ParentalControlsSetting_E\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"\x98\x01\n\x19ParentalControlsSetting_E\x12\x0e\n\nSpeedLimit\x10\x00\x12\x10\n\x0c\x41\x63\x63\x65leration\x10\x01\x12\x12\n\x0eSafetyFeatures\x10\x02\x12\n\n\x06\x43urfew\x10\x03\x12\x12\n\x0e\x42rowserBlocked\x10\x04\x12\x12\n\x0eTheaterBlocked\x10\x05\x12\x11\n\rArcadeBlocked\x10\x06\"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\"\xd6\x02\n\x18SetSuspensionLevelAction\x12\\\n\x10suspension_level\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.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\"2\n\x17SetDischargeLimitAction\x12\x17\n\x0f\x64ischarge_limit\x18\x01 \x01(\x05\"/\n\x15SetLowPowerModeAction\x12\x16\n\x0elow_power_mode\x18\x01 \x01(\x08\"\x90\x01\n\x18SetTemperatureUnitAction\x12\x45\n\x04unit\x18\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\"-\n\x04Unit\x12\x13\n\x0fUNIT_FAHRENHEIT\x10\x00\x12\x10\n\x0cUNIT_CELSIUS\x10\x01\"\x88\x01\n\x15SetDistanceUnitAction\x12\x42\n\x04unit\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.SetDistanceUnitAction.Unit\"+\n\x04Unit\x12\x0e\n\nUNIT_MILES\x10\x00\x12\x13\n\x0fUNIT_KILOMETERS\x10\x01\"\x9b\x01\n\x1aSetTimeDisplayFormatAction\x12K\n\x06\x66ormat\x18\x01 \x01(\x0e\x32;.tesla_protocol.CarServer.SetTimeDisplayFormatAction.Format\"0\n\x06\x46ormat\x12\x12\n\x0e\x46ORMAT_12_HOUR\x10\x00\x12\x12\n\x0e\x46ORMAT_24_HOUR\x10\x01\"\x87\x01\n\x19SetTirePressureUnitAction\x12\x46\n\x04unit\x18\x01 \x01(\x0e\x32\x38.tesla_protocol.CarServer.SetTirePressureUnitAction.Unit\"\"\n\x04Unit\x12\x0c\n\x08UNIT_PSI\x10\x00\x12\x0c\n\x08UNIT_BAR\x10\x01\"\xa3\x01\n\x1cSetEnergyDisplayFormatAction\x12M\n\x06\x66ormat\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.SetEnergyDisplayFormatAction.Format\"4\n\x06\x46ormat\x12\x15\n\x11\x46ORMAT_PERCENTAGE\x10\x00\x12\x13\n\x0f\x46ORMAT_DISTANCE\x10\x01\"k\n\x12\x44isplayStateAction\x12$\n\x1c\x64isplayBrightnessAutoRequest\x18\x01 \x01(\x08\x12/\n\'displayBrightnessScalePreferenceRequest\x18\x02 \x01(\r\"D\n\x1fSetKeepAccessoryPowerModeAction\x12!\n\x19keep_accessory_power_mode\x18\x01 \x01(\x08\"\x8d\x01\n+SetupCloudProfileWithLocalProfileUuidAction\x12\x18\n\x10\x63loud_vault_uuid\x18\x01 \x01(\t\x12\x1a\n\x12local_profile_uuid\x18\x02 \x01(\t\x12(\n delete_local_profile_after_setup\x18\x03 \x01(\x08\"8\n\"GetLocalProfilesForVaultUuidAction\x12\x12\n\nvault_uuid\x18\x01 \x01(\t\"\x15\n\x13\x46\x65tchKeysInfoAction\"0\n\x18\x44\x65leteDashcamClipsAction\x12\x14\n\x0c\x64\x65lete_clips\x18\x01 \x01(\x08\"%\n\x0f\x46ormatUSBAction\x12\x12\n\nformat_usb\x18\x01 \x01(\x08\"\'\n\rBandwidthTest\x12\x16\n\x0erequested_size\x18\x01 \x01(\r\"\xb6\x01\n\x14PhoneUnitPreferences\x12K\n\rdistance_unit\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.SetDistanceUnitAction.Unit\x12Q\n\x10temperature_unit\x18\x02 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\"\x8e\x02\n SetPhoneSettingPreferencesAction\x12V\n\tfont_size\x18\x01 \x01(\x0e\x32\x43.tesla_protocol.CarServer.SetPhoneSettingPreferencesAction.FontSize\x12\x0f\n\x07\x66ield_2\x18\x02 \x01(\t\x12H\n\x10unit_preferences\x18\x03 \x01(\x0b\x32..tesla_protocol.CarServer.PhoneUnitPreferences\"7\n\x08\x46ontSize\x12\x16\n\x12\x46ONT_SIZE_STANDARD\x10\x00\x12\x13\n\x0f\x46ONT_SIZE_LARGE\x10\x01\"\x1f\n\x1d\x43\x61ncelVehicleDataSubscription\"+\n\x17SetUpkeepUsernameAction\x12\x10\n\x08username\x18\x01 \x01(\t\"4\n DrivingSetCruiseSpeedLimitAction\x12\x10\n\x08limitMph\x18\x01 \x01(\x01\" \n\x12SetDeckLightAction\x12\n\n\x02on\x18\x01 \x01(\x08*F\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x01*\xe8\x04\n\x11VehicleDataFields\x12\x0b\n\x07NOTHING\x10\x00\x12\x10\n\x0cgui_settings\x10\x02\x12\x10\n\x0c\x63harge_state\x10\x03\x12\x11\n\rclimate_state\x10\x04\x12\x0f\n\x0b\x64rive_state\x10\x05\x12\x11\n\rvehicle_state\x10\x06\x12\x12\n\x0evehicle_config\x10\x07\x12\x12\n\x0elocation_state\x10\x08\x12\x12\n\x0e\x63losures_state\x10\t\x12\x1a\n\x16parked_accessory_state\x10\n\x12\x19\n\x15\x63harge_schedule_state\x10\x0b\x12\"\n\x1epreconditioning_schedule_state\x10\x0c\x12\x0f\n\x0bmedia_state\x10\r\x12\x16\n\x12media_detail_state\x10\x0e\x12\x17\n\x13tire_pressure_state\x10\x0f\x12\x18\n\x14vehicle_detail_state\x10\x10\x12\x19\n\x15software_update_state\x10\x11\x12\x1b\n\x17parental_controls_state\x10\x12\x12\x0f\n\x0b\x61lert_state\x10\x13\x12\x14\n\x10light_show_state\x10\x14\x12\x17\n\x13vehicle_image_state\x10\x15\x12\r\n\tsoh_state\x10\x16\x12\x14\n\x10suspension_state\x10\x17\x12\"\n\x1e\x63hild_presence_detection_state\x10\x18\x12\x11\n\rdisplay_state\x10\x1e\x12$\n\x1flegacy_vehicle_state_media_info\x10\xb8/Bn\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'tesla_protocol/command/car_server.proto\x12\x18tesla_protocol.CarServer\x1a#tesla_protocol/command/common.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!tesla_protocol/command/keys.proto\x1a\'tesla_protocol/command/signatures.proto\x1a\"tesla_protocol/command/vcsec.proto\x1a$tesla_protocol/command/vehicle.proto\"d\n\x06\x41\x63tion\x12@\n\rvehicleAction\x18\x02 \x01(\x0b\x32\'.tesla_protocol.CarServer.VehicleActionH\x00\x42\x0c\n\naction_msgJ\x04\x08\x03\x10\x06J\x04\x08\x06\x10\t\"\xab`\n\rVehicleAction\x12\x42\n\x0egetVehicleData\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.GetVehicleDataH\x00\x12\x46\n\x10remoteStartDrive\x18\x02 \x01(\x0b\x32*.tesla_protocol.CarServer.RemoteStartDriveH\x00\x12L\n\x13\x63reateStreamSession\x18\x03 \x01(\x0b\x32-.tesla_protocol.CarServer.CreateStreamSessionH\x00\x12@\n\rstreamMessage\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.StreamMessageH\x00\x12R\n\x16\x63hargingSetLimitAction\x18\x05 \x01(\x0b\x32\x30.tesla_protocol.CarServer.ChargingSetLimitActionH\x00\x12T\n\x17\x63hargingStartStopAction\x18\x06 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargingStartStopActionH\x00\x12\x64\n\x1f\x64rivingClearSpeedLimitPinAction\x18\x07 \x01(\x0b\x32\x39.tesla_protocol.CarServer.DrivingClearSpeedLimitPinActionH\x00\x12Z\n\x1a\x64rivingSetSpeedLimitAction\x18\x08 \x01(\x0b\x32\x34.tesla_protocol.CarServer.DrivingSetSpeedLimitActionH\x00\x12T\n\x17\x64rivingSpeedLimitAction\x18\t \x01(\x0b\x32\x31.tesla_protocol.CarServer.DrivingSpeedLimitActionH\x00\x12\x42\n\x0ehvacAutoAction\x18\n \x01(\x0b\x32(.tesla_protocol.CarServer.HvacAutoActionH\x00\x12\x64\n\x1fhvacSetPreconditioningMaxAction\x18\x0c \x01(\x0b\x32\x39.tesla_protocol.CarServer.HvacSetPreconditioningMaxActionH\x00\x12`\n\x1dhvacSteeringWheelHeaterAction\x18\r \x01(\x0b\x32\x37.tesla_protocol.CarServer.HvacSteeringWheelHeaterActionH\x00\x12\x64\n\x1fhvacTemperatureAdjustmentAction\x18\x0e \x01(\x0b\x32\x39.tesla_protocol.CarServer.HvacTemperatureAdjustmentActionH\x00\x12\x44\n\x0fmediaPlayAction\x18\x0f \x01(\x0b\x32).tesla_protocol.CarServer.MediaPlayActionH\x00\x12H\n\x11mediaUpdateVolume\x18\x10 \x01(\x0b\x32+.tesla_protocol.CarServer.MediaUpdateVolumeH\x00\x12H\n\x11mediaNextFavorite\x18\x11 \x01(\x0b\x32+.tesla_protocol.CarServer.MediaNextFavoriteH\x00\x12P\n\x15mediaPreviousFavorite\x18\x12 \x01(\x0b\x32/.tesla_protocol.CarServer.MediaPreviousFavoriteH\x00\x12\x42\n\x0emediaNextTrack\x18\x13 \x01(\x0b\x32(.tesla_protocol.CarServer.MediaNextTrackH\x00\x12J\n\x12mediaPreviousTrack\x18\x14 \x01(\x0b\x32,.tesla_protocol.CarServer.MediaPreviousTrackH\x00\x12H\n\x11navigationRequest\x18\x15 \x01(\x0b\x32+.tesla_protocol.CarServer.NavigationRequestH\x00\x12`\n\x1dnavigationSuperchargerRequest\x18\x16 \x01(\x0b\x32\x37.tesla_protocol.CarServer.NavigationSuperchargerRequestH\x00\x12R\n\x16getNearbyChargingSites\x18\x17 \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetNearbyChargingSitesH\x00\x12^\n\x1cuiSetUpcomingCalendarEntries\x18\x18 \x01(\x0b\x32\x36.tesla_protocol.CarServer.UiSetUpcomingCalendarEntriesH\x00\x12v\n(vehicleControlCancelSoftwareUpdateAction\x18\x19 \x01(\x0b\x32\x42.tesla_protocol.CarServer.VehicleControlCancelSoftwareUpdateActionH\x00\x12\x64\n\x1fvehicleControlFlashLightsAction\x18\x1a \x01(\x0b\x32\x39.tesla_protocol.CarServer.VehicleControlFlashLightsActionH\x00\x12^\n\x1cvehicleControlHonkHornAction\x18\x1b \x01(\x0b\x32\x36.tesla_protocol.CarServer.VehicleControlHonkHornActionH\x00\x12h\n!vehicleControlResetValetPinAction\x18\x1c \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlResetValetPinActionH\x00\x12z\n*vehicleControlScheduleSoftwareUpdateAction\x18\x1d \x01(\x0b\x32\x44.tesla_protocol.CarServer.VehicleControlScheduleSoftwareUpdateActionH\x00\x12h\n!vehicleControlSetSentryModeAction\x18\x1e \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlSetSentryModeActionH\x00\x12\x66\n vehicleControlSetValetModeAction\x18\x1f \x01(\x0b\x32:.tesla_protocol.CarServer.VehicleControlSetValetModeActionH\x00\x12n\n$vehicleControlSunroofOpenCloseAction\x18 \x01(\x0b\x32>.tesla_protocol.CarServer.VehicleControlSunroofOpenCloseActionH\x00\x12l\n#vehicleControlTriggerHomelinkAction\x18! \x01(\x0b\x32=.tesla_protocol.CarServer.VehicleControlTriggerHomelinkActionH\x00\x12Z\n\x1avehicleControlWindowAction\x18\" \x01(\x0b\x32\x34.tesla_protocol.CarServer.VehicleControlWindowActionH\x00\x12T\n\x17hvacBioweaponModeAction\x18# \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacBioweaponModeActionH\x00\x12P\n\x15hvacSeatHeaterActions\x18$ \x01(\x0b\x32/.tesla_protocol.CarServer.HvacSeatHeaterActionsH\x00\x12T\n\x17vehicleDataSubscription\x18% \x01(\x0b\x32\x31.tesla_protocol.CarServer.VehicleDataSubscriptionH\x00\x12\x42\n\x0evehicleDataAck\x18& \x01(\x0b\x32(.tesla_protocol.CarServer.VehicleDataAckH\x00\x12J\n\x12vitalsSubscription\x18\' \x01(\x0b\x32,.tesla_protocol.CarServer.VitalsSubscriptionH\x00\x12\x38\n\tvitalsAck\x18( \x01(\x0b\x32#.tesla_protocol.CarServer.VitalsAckH\x00\x12T\n\x17scheduledChargingAction\x18) \x01(\x0b\x32\x31.tesla_protocol.CarServer.ScheduledChargingActionH\x00\x12V\n\x18scheduledDepartureAction\x18* \x01(\x0b\x32\x32.tesla_protocol.CarServer.ScheduledDepartureActionH\x00\x12P\n\x15setChargingAmpsAction\x18+ \x01(\x0b\x32/.tesla_protocol.CarServer.SetChargingAmpsActionH\x00\x12T\n\x17hvacClimateKeeperAction\x18, \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacClimateKeeperActionH\x00\x12T\n\x17hvacRecirculationAction\x18- \x01(\x0b\x32\x31.tesla_protocol.CarServer.HvacRecirculationActionH\x00\x12.\n\x04ping\x18. \x01(\x0b\x32\x1e.tesla_protocol.CarServer.PingH\x00\x12P\n\x15\x64\x61shcamSaveClipAction\x18/ \x01(\x0b\x32/.tesla_protocol.CarServer.DashcamSaveClipActionH\x00\x12P\n\x15\x61utoSeatClimateAction\x18\x30 \x01(\x0b\x32/.tesla_protocol.CarServer.AutoSeatClimateActionH\x00\x12P\n\x15hvacSeatCoolerActions\x18\x31 \x01(\x0b\x32/.tesla_protocol.CarServer.HvacSeatCoolerActionsH\x00\x12\x66\n setCabinOverheatProtectionAction\x18\x32 \x01(\x0b\x32:.tesla_protocol.CarServer.SetCabinOverheatProtectionActionH\x00\x12@\n\rpiiKeyRequest\x18\x33 \x01(\x0b\x32\'.tesla_protocol.CarServer.PiiKeyRequestH\x00\x12N\n\x14pseudonymSyncRequest\x18\x34 \x01(\x0b\x32..tesla_protocol.CarServer.PseudonymSyncRequestH\x00\x12N\n\x14navigationGpsRequest\x18\x35 \x01(\x0b\x32..tesla_protocol.CarServer.NavigationGpsRequestH\x00\x12N\n\x14setVehicleNameAction\x18\x36 \x01(\x0b\x32..tesla_protocol.CarServer.SetVehicleNameActionH\x00\x12N\n\x14setRateTariffRequest\x18\x37 \x01(\x0b\x32..tesla_protocol.CarServer.SetRateTariffRequestH\x00\x12N\n\x14getRateTariffRequest\x18\x38 \x01(\x0b\x32..tesla_protocol.CarServer.GetRateTariffRequestH\x00\x12J\n\x12videoRequestAction\x18\x39 \x01(\x0b\x32,.tesla_protocol.CarServer.VideoRequestActionH\x00\x12L\n\x13takeDrivenoteAction\x18: \x01(\x0b\x32-.tesla_protocol.CarServer.TakeDrivenoteActionH\x00\x12L\n\x13\x63hargePortDoorClose\x18= \x01(\x0b\x32-.tesla_protocol.CarServer.ChargePortDoorCloseH\x00\x12J\n\x12\x63hargePortDoorOpen\x18> \x01(\x0b\x32,.tesla_protocol.CarServer.ChargePortDoorOpenH\x00\x12\x62\n\x1e\x62luetoothClassicPairingRequest\x18? \x01(\x0b\x32\x38.tesla_protocol.CarServer.BluetoothClassicPairingRequestH\x00\x12@\n\rboomboxAction\x18@ \x01(\x0b\x32\'.tesla_protocol.CarServer.BoomboxActionH\x00\x12K\n\x0fguestModeAction\x18\x41 \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestModeH\x00\x12\x46\n\x10setCopTempAction\x18\x42 \x01(\x0b\x32*.tesla_protocol.CarServer.SetCopTempActionH\x00\x12`\n\x1d\x61\x64\x64ManagedChargingSiteRequest\x18\x43 \x01(\x0b\x32\x37.tesla_protocol.CarServer.AddManagedChargingSiteRequestH\x00\x12\x66\n removeManagedChargingSiteRequest\x18\x44 \x01(\x0b\x32:.tesla_protocol.CarServer.RemoveManagedChargingSiteRequestH\x00\x12P\n\x15navigationRouteAction\x18\x45 \x01(\x0b\x32/.tesla_protocol.CarServer.NavigationRouteActionH\x00\x12H\n\x11\x61utoStwHeatAction\x18\x46 \x01(\x0b\x32+.tesla_protocol.CarServer.AutoStwHeatActionH\x00\x12J\n\x12stwHeatLevelAction\x18G \x01(\x0b\x32,.tesla_protocol.CarServer.StwHeatLevelActionH\x00\x12L\n\x13\x65raseUserDataAction\x18H \x01(\x0b\x32-.tesla_protocol.CarServer.EraseUserDataActionH\x00\x12\x62\n\x1egetManagedChargingSitesRequest\x18I \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetManagedChargingSitesRequestH\x00\x12h\n!updateChargeOnSolarFeatureRequest\x18J \x01(\x0b\x32;.tesla_protocol.CarServer.UpdateChargeOnSolarFeatureRequestH\x00\x12\x62\n\x1egetChargeOnSolarFeatureRequest\x18K \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetChargeOnSolarFeatureRequestH\x00\x12h\n!vehicleControlSetPinToDriveAction\x18M \x01(\x0b\x32;.tesla_protocol.CarServer.VehicleControlSetPinToDriveActionH\x00\x12l\n#vehicleControlResetPinToDriveAction\x18N \x01(\x0b\x32=.tesla_protocol.CarServer.VehicleControlResetPinToDriveActionH\x00\x12n\n$drivingClearSpeedLimitPinAdminAction\x18O \x01(\x0b\x32>.tesla_protocol.CarServer.DrivingClearSpeedLimitPinAdminActionH\x00\x12P\n\x15setOutletsOnOffAction\x18P \x01(\x0b\x32/.tesla_protocol.CarServer.SetOutletsOnOffActionH\x00\x12N\n\x14setOutletTimerAction\x18Q \x01(\x0b\x32..tesla_protocol.CarServer.SetOutletTimerActionH\x00\x12T\n\x17setOutletSocLimitAction\x18R \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetOutletSocLimitActionH\x00\x12T\n\x17setPowerFeedOnOffAction\x18S \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetPowerFeedOnOffActionH\x00\x12T\n\x17setPowerFeedTimerAction\x18T \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetPowerFeedTimerActionH\x00\x12Z\n\x1asetPowerFeedSocLimitAction\x18U \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowerFeedSocLimitActionH\x00\x12j\n\"setTrailerLightTestStartStopAction\x18V \x01(\x0b\x32<.tesla_protocol.CarServer.SetTrailerLightTestStartStopActionH\x00\x12\x64\n\x1fsetTruckBedLightAutoStateAction\x18W \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetTruckBedLightAutoStateActionH\x00\x12\x66\n setTruckBedLightBrightnessAction\x18X \x01(\x0b\x32:.tesla_protocol.CarServer.SetTruckBedLightBrightnessActionH\x00\x12v\n(vehicleControlResetPinToDriveAdminAction\x18Y \x01(\x0b\x32\x42.tesla_protocol.CarServer.VehicleControlResetPinToDriveAdminActionH\x00\x12Z\n\x1anavigationWaypointsRequest\x18Z \x01(\x0b\x32\x34.tesla_protocol.CarServer.NavigationWaypointsRequestH\x00\x12Z\n\x1asetPowershareFeatureAction\x18[ \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowershareFeatureActionH\x00\x12h\n!setPowershareDischargeLimitAction\x18\\ \x01(\x0b\x32;.tesla_protocol.CarServer.SetPowershareDischargeLimitActionH\x00\x12Z\n\x1asetPowershareRequestAction\x18] \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetPowershareRequestActionH\x00\x12V\n\x18setTentModeRequestAction\x18^ \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetTentModeRequestActionH\x00\x12]\n\x1esetFrontZoneLightRequestAction\x18_ \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetZoneLightRequestActionH\x00\x12\\\n\x1dsetRearZoneLightRequestAction\x18` \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetZoneLightRequestActionH\x00\x12K\n\x17\x61\x64\x64\x43hargeScheduleAction\x18\x61 \x01(\x0b\x32(.tesla_protocol.CarServer.ChargeScheduleH\x00\x12Z\n\x1aremoveChargeScheduleAction\x18\x62 \x01(\x0b\x32\x34.tesla_protocol.CarServer.RemoveChargeScheduleActionH\x00\x12W\n\x1d\x61\x64\x64PreconditionScheduleAction\x18\x63 \x01(\x0b\x32..tesla_protocol.CarServer.PreconditionScheduleH\x00\x12\x66\n removePreconditionScheduleAction\x18\x64 \x01(\x0b\x32:.tesla_protocol.CarServer.RemovePreconditionScheduleActionH\x00\x12\\\n\x1bsetLightbarBrightnessAction\x18\x65 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetLightbarBrightnessActionH\x00\x12T\n\x17setLightbarMiddleAction\x18\x66 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetLightbarMiddleActionH\x00\x12R\n\x16setLightbarDitchAction\x18g \x01(\x0b\x32\x30.tesla_protocol.CarServer.SetLightbarDitchActionH\x00\x12H\n\x11getMessagesAction\x18h \x01(\x0b\x32+.tesla_protocol.CarServer.GetMessagesActionH\x00\x12T\n\x17teslaAuthResponseAction\x18i \x01(\x0b\x32\x31.tesla_protocol.CarServer.TeslaAuthResponseActionH\x00\x12\x64\n\x1fnavigationGpsDestinationRequest\x18j \x01(\x0b\x32\x39.tesla_protocol.CarServer.NavigationGpsDestinationRequestH\x00\x12r\n&batchRemovePreconditionSchedulesAction\x18k \x01(\x0b\x32@.tesla_protocol.CarServer.BatchRemovePreconditionSchedulesActionH\x00\x12\x66\n batchRemoveChargeSchedulesAction\x18l \x01(\x0b\x32:.tesla_protocol.CarServer.BatchRemoveChargeSchedulesActionH\x00\x12\x62\n\x1eparentalControlsClearPinAction\x18m \x01(\x0b\x32\x38.tesla_protocol.CarServer.ParentalControlsClearPinActionH\x00\x12l\n#parentalControlsClearPinAdminAction\x18n \x01(\x0b\x32=.tesla_protocol.CarServer.ParentalControlsClearPinAdminActionH\x00\x12R\n\x16parentalControlsAction\x18o \x01(\x0b\x32\x30.tesla_protocol.CarServer.ParentalControlsActionH\x00\x12n\n$parentalControlsEnableSettingsAction\x18p \x01(\x0b\x32>.tesla_protocol.CarServer.ParentalControlsEnableSettingsActionH\x00\x12l\n#parentalControlsSetSpeedLimitAction\x18q \x01(\x0b\x32=.tesla_protocol.CarServer.ParentalControlsSetSpeedLimitActionH\x00\x12L\n\x13\x63\x61ncelSohTestAction\x18r \x01(\x0b\x32-.tesla_protocol.CarServer.CancelSohTestActionH\x00\x12L\n\x13stopLightShowAction\x18t \x01(\x0b\x32-.tesla_protocol.CarServer.StopLightShowActionH\x00\x12N\n\x14startLightShowAction\x18u \x01(\x0b\x32..tesla_protocol.CarServer.StartLightShowActionH\x00\x12V\n\x18setSuspensionLevelAction\x18v \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetSuspensionLevelActionH\x00\x12U\n\x17setDischargeLimitAction\x18\x81\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetDischargeLimitActionH\x00\x12Q\n\x15setLowPowerModeAction\x18\x82\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SetLowPowerModeActionH\x00\x12W\n\x18setTemperatureUnitAction\x18\x84\x01 \x01(\x0b\x32\x32.tesla_protocol.CarServer.SetTemperatureUnitActionH\x00\x12Q\n\x15setDistanceUnitAction\x18\x85\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SetDistanceUnitActionH\x00\x12[\n\x1asetTimeDisplayFormatAction\x18\x86\x01 \x01(\x0b\x32\x34.tesla_protocol.CarServer.SetTimeDisplayFormatActionH\x00\x12Y\n\x19setTirePressureUnitAction\x18\x87\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.SetTirePressureUnitActionH\x00\x12_\n\x1csetEnergyDisplayFormatAction\x18\x88\x01 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetEnergyDisplayFormatActionH\x00\x12\x65\n\x1fsetKeepAccessoryPowerModeAction\x18\x8a\x01 \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetKeepAccessoryPowerModeActionH\x00\x12}\n+setupCloudProfileWithLocalProfileUuidAction\x18\x8b\x01 \x01(\x0b\x32\x45.tesla_protocol.CarServer.SetupCloudProfileWithLocalProfileUuidActionH\x00\x12k\n\"getLocalProfilesForVaultUuidAction\x18\x8c\x01 \x01(\x0b\x32<.tesla_protocol.CarServer.GetLocalProfilesForVaultUuidActionH\x00\x12M\n\x13\x66\x65tchKeysInfoAction\x18\x8e\x01 \x01(\x0b\x32-.tesla_protocol.CarServer.FetchKeysInfoActionH\x00\x12W\n\x18\x64\x65leteDashcamClipsAction\x18\x90\x01 \x01(\x0b\x32\x32.tesla_protocol.CarServer.DeleteDashcamClipsActionH\x00\x12\x45\n\x0f\x66ormatUsbAction\x18\x92\x01 \x01(\x0b\x32).tesla_protocol.CarServer.FormatUSBActionH\x00\x12U\n\x17setUpkeepUsernameAction\x18\x93\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SetUpkeepUsernameActionH\x00\x12\x41\n\rbandwidthTest\x18\x95\x01 \x01(\x0b\x32\'.tesla_protocol.CarServer.BandwidthTestH\x00\x12g\n setPhoneSettingPreferencesAction\x18\x97\x01 \x01(\x0b\x32:.tesla_protocol.CarServer.SetPhoneSettingPreferencesActionH\x00\x12\x61\n\x1d\x63\x61ncelVehicleDataSubscription\x18\xab\x01 \x01(\x0b\x32\x37.tesla_protocol.CarServer.CancelVehicleDataSubscriptionH\x00\x12Y\n\x19prepareMobileUploadAction\x18\xb1\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.PrepareMobileUploadActionH\x00\x12[\n\x1aputMobileUploadChunkAction\x18\xb2\x01 \x01(\x0b\x32\x34.tesla_protocol.CarServer.PutMobileUploadChunkActionH\x00\x12K\n\x12\x64isplayStateAction\x18\xb4\x01 \x01(\x0b\x32,.tesla_protocol.CarServer.DisplayStateActionH\x00\x12h\n drivingSetCruiseSpeedLimitAction\x18\xa1\xaf* \x01(\x0b\x32:.tesla_protocol.CarServer.DrivingSetCruiseSpeedLimitActionH\x00\x12L\n\x12setDeckLightAction\x18\xb6\xcd* \x01(\x0b\x32,.tesla_protocol.CarServer.SetDeckLightActionH\x00\x12^\n\x1bsetKeepOnCabin12vPortAction\x18\xee\x82, \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetKeepOnCabin12vPortActionH\x00\x12^\n\x1bsetKeepOnCabin48vPortAction\x18\xef\x82, \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetKeepOnCabin48vPortActionH\x00\x12$\n\x1b\x64ropNominalSuccessResponses\x18\xb9\x01 \x01(\x08\x42\x14\n\x12vehicle_action_msgJ\x04\x08\x0b\x10\x0cJ\x04\x08<\x10=J\x04\x08L\x10M\"\xba\x0f\n\x0eGetVehicleData\x12@\n\x0egetGuiSettings\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.GetGuiSettings\x12@\n\x0egetChargeState\x18\x02 \x01(\x0b\x32(.tesla_protocol.CarServer.GetChargeState\x12\x42\n\x0fgetClimateState\x18\x03 \x01(\x0b\x32).tesla_protocol.CarServer.GetClimateState\x12>\n\rgetDriveState\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.GetDriveState\x12N\n\x15getLegacyVehicleState\x18\x05 \x01(\x0b\x32/.tesla_protocol.CarServer.GetLegacyVehicleState\x12\x44\n\x10getVehicleConfig\x18\x06 \x01(\x0b\x32*.tesla_protocol.CarServer.GetVehicleConfig\x12\x44\n\x10getLocationState\x18\x07 \x01(\x0b\x32*.tesla_protocol.CarServer.GetLocationState\x12\x44\n\x10getClosuresState\x18\x08 \x01(\x0b\x32*.tesla_protocol.CarServer.GetClosuresState\x12R\n\x17getParkedAccessoryState\x18\t \x01(\x0b\x32\x31.tesla_protocol.CarServer.GetParkedAccessoryState\x12P\n\x16getChargeScheduleState\x18\n \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetChargeScheduleState\x12\x62\n\x1fgetPreconditioningScheduleState\x18\x0b \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetPreconditioningScheduleState\x12:\n\x0bgetSohState\x18\x0c \x01(\x0b\x32%.tesla_protocol.CarServer.GetSohState\x12N\n\x15getVehicleDetailState\x18\r \x01(\x0b\x32/.tesla_protocol.CarServer.GetVehicleDetailState\x12L\n\x14getTirePressureState\x18\x0e \x01(\x0b\x32..tesla_protocol.CarServer.GetTirePressureState\x12>\n\rgetMediaState\x18\x0f \x01(\x0b\x32\'.tesla_protocol.CarServer.GetMediaState\x12J\n\x13getMediaDetailState\x18\x10 \x01(\x0b\x32-.tesla_protocol.CarServer.GetMediaDetailState\x12P\n\x16getSoftwareUpdateState\x18\x11 \x01(\x0b\x32\x30.tesla_protocol.CarServer.GetSoftwareUpdateState\x12\x42\n\x0fgetVehicleState\x18\x12 \x01(\x0b\x32).tesla_protocol.CarServer.GetVehicleState\x12T\n\x18getParentalControlsState\x18\x13 \x01(\x0b\x32\x32.tesla_protocol.CarServer.GetParentalControlsState\x12>\n\rgetAlertState\x18\x14 \x01(\x0b\x32\'.tesla_protocol.CarServer.GetAlertState\x12\x46\n\x11getLightShowState\x18\x15 \x01(\x0b\x32+.tesla_protocol.CarServer.GetLightShowState\x12L\n\x14getVehicleImageState\x18\x16 \x01(\x0b\x32..tesla_protocol.CarServer.GetVehicleImageState\x12H\n\x12getSuspensionState\x18\x17 \x01(\x0b\x32,.tesla_protocol.CarServer.GetSuspensionState\x12`\n\x1egetChildPresenceDetectionState\x18\x19 \x01(\x0b\x32\x38.tesla_protocol.CarServer.GetChildPresenceDetectionState\x12\x42\n\x0fgetDisplayState\x18\x1f \x01(\x0b\x32).tesla_protocol.CarServer.GetDisplayState\x12\\\n\x1cgetKeepOnAccessoryPortsState\x18\" \x01(\x0b\x32\x36.tesla_protocol.CarServer.GetKeepOnAccessoryPortsState\"\x10\n\x0eGetGuiSettings\"\x1e\n\x1cGetKeepOnAccessoryPortsState\"\x17\n\x15GetLegacyVehicleState\"\x12\n\x10GetVehicleConfig\"\r\n\x0bGetSohState\"\x17\n\x15GetVehicleDetailState\"\x19\n\x17GetParkedAccessoryState\"\x11\n\x0fGetVehicleState\"\x0f\n\rGetAlertState\"\x13\n\x11GetLightShowState\"\\\n\x14GetVehicleImageState\x12\x44\n\rimageRequests\x18\x01 \x03(\x0b\x32-.tesla_protocol.CarServer.VehicleImageRequest\"\x14\n\x12GetSuspensionState\" \n\x1eGetChildPresenceDetectionState\"\x11\n\x0fGetDisplayState\"H\n\x1cVehicleImageDataChunkRequest\x12\x14\n\x0c\x63hunk_offset\x18\x01 \x01(\r\x12\x12\n\nchunk_size\x18\x02 \x01(\r\"\x87\x02\n\x13VehicleImageRequest\x12\x44\n\x08\x64\x61taType\x18\x01 \x01(\x0e\x32\x32.tesla_protocol.CarServer.VehicleImageRequest.Type\x12\x42\n\timageType\x18\x02 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12L\n\x0c\x63hunkRequest\x18\x03 \x01(\x0b\x32\x36.tesla_protocol.CarServer.VehicleImageDataChunkRequest\"\x18\n\x04Type\x12\x06\n\x02ID\x10\x00\x12\x08\n\x04\x44\x41TA\x10\x01\"\x92\x01\n\x17MobileImageUploadParams\x12\x42\n\timageType\x18\x01 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12\x0f\n\x07widthPx\x18\x02 \x01(\r\x12\x10\n\x08heightPx\x18\x03 \x01(\r\x12\x10\n\x08mimeType\x18\x04 \x01(\t\">\n\x12MobileUploadParams\x12\x11\n\ttotalSize\x18\x01 \x01(\r\x12\x15\n\rcontentSha256\x18\x02 \x01(\x0c\"\xd5\x01\n\x19PrepareMobileUploadAction\x12\x42\n\x0cuploadParams\x18\x01 \x01(\x0b\x32,.tesla_protocol.CarServer.MobileUploadParams\x12\x46\n\x0bimageParams\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.MobileImageUploadParams\x12\r\n\x05\x61pply\x18\x03 \x01(\x08\x12\x1d\n\x15overwriteOldestIfFull\x18\x04 \x01(\x08\"\x80\x03\n\x1bPrepareMobileUploadResponse\x12L\n\x06status\x18\x01 \x01(\x0e\x32<.tesla_protocol.CarServer.PrepareMobileUploadResponse.Status\x12\x10\n\x08uploadId\x18\x02 \x01(\t\x12\x14\n\x0cmaxChunkSize\x18\x03 \x01(\r\"\xea\x01\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x11\n\rSIZE_EXCEEDED\x10\x01\x12\x12\n\x0eINVALID_FORMAT\x10\x02\x12\x16\n\x12INVALID_DIMENSIONS\x10\x03\x12\x1a\n\x16UNSUPPORTED_ASSET_TYPE\x10\x04\x12\x10\n\x0cOUT_OF_SPACE\x10\x05\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x06\x12\x12\n\x0eINTERNAL_ERROR\x10\x07\x12\x16\n\x12UPLOAD_CAP_REACHED\x10\x08\x12\x13\n\x0fINVALID_REQUEST\x10\t\x12\x16\n\x12UPLOAD_IN_PROGRESS\x10\n\"V\n\x1aPutMobileUploadChunkAction\x12\x10\n\x08uploadId\x18\x01 \x01(\t\x12\x13\n\x0b\x63hunkOffset\x18\x02 \x01(\r\x12\x11\n\tchunkData\x18\x03 \x01(\x0c\"\xae\x02\n\x1cPutMobileUploadChunkResponse\x12M\n\x06status\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.PutMobileUploadChunkResponse.Status\x12\x12\n\nresourceId\x18\x02 \x01(\x0c\"\xaa\x01\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\x12\n\x0eUNKNOWN_UPLOAD\x10\x02\x12\x10\n\x0cOUT_OF_ORDER\x10\x03\x12\x11\n\rSIZE_EXCEEDED\x10\x04\x12\x11\n\rHASH_MISMATCH\x10\x05\x12\x12\n\x0eINVALID_FORMAT\x10\x06\x12\x16\n\x12INVALID_DIMENSIONS\x10\x07\x12\x12\n\x0eINTERNAL_ERROR\x10\x08\"\x94\x05\n\x17\x44ogModeLiveActivityData\x12X\n\x0e\x64isabledReason\x18\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.DogModeLiveActivityData.DisabledReason\x12Y\n\rinteriorImage\x18\x02 \x01(\x0b\x32\x42.tesla_protocol.CarServer.DogModeLiveActivityData.DogModeImageData\x12\x0b\n\x03vin\x18\x03 \x01(\t\x12-\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x18insideTemperatureCelsius\x18\x05 \x01(\x02\x12G\n\nfaultState\x18\x06 \x01(\x0e\x32\x33.tesla_protocol.CarServer.ClimateState.DogModeState\x12P\n\x0ftemperatureUnit\x18\x07 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\x12\x14\n\x0c\x62\x61tteryLevel\x18\x08 \x01(\x02\x1a\x35\n\x10\x44ogModeImageData\x12\x12\n\nwrappedKey\x18\x01 \x01(\x0c\x12\r\n\x05image\x18\x02 \x01(\x0c\"~\n\x0e\x44isabledReason\x12\x12\n\x0eREASON_UNKNOWN\x10\x00\x12\"\n\x1eREASON_NO_PREMIUM_CONNECTIVITY\x10\x01\x12\x15\n\x11REASON_TOGGLE_OFF\x10\x02\x12\x1d\n\x19REASON_DISALLOWED_COUNTRY\x10\x03\"\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\x12\x17\n\x0ftrigger_on_park\x18\x02 \x01(\x08\"\xdd\r\n\x08Response\x12<\n\x0c\x61\x63tionStatus\x18\x01 \x01(\x0b\x32&.tesla_protocol.CarServer.ActionStatus\x12<\n\x0bvehicleData\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.VehicleDataH\x00\x12H\n\x16getSessionInfoResponse\x18\x03 \x01(\x0b\x32&.tesla_protocol.Signatures.SessionInfoH\x00\x12@\n\rstreamMessage\x18\x04 \x01(\x0b\x32\'.tesla_protocol.CarServer.StreamMessageH\x00\x12O\n\x16getNearbyChargingSites\x18\x05 \x01(\x0b\x32-.tesla_protocol.CarServer.NearbyChargingSitesH\x00\x12\x64\n\x1fvehicleDataSubscriptionResponse\x18\x06 \x01(\x0b\x32\x39.tesla_protocol.CarServer.VehicleDataSubscriptionResponseH\x00\x12Z\n\x1avitalsSubscriptionResponse\x18\x08 \x01(\x0b\x32\x34.tesla_protocol.CarServer.VitalsSubscriptionResponseH\x00\x12.\n\x04ping\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.PingH\x00\x12\x42\n\x0epiiKeyResponse\x18\n \x01(\x0b\x32(.tesla_protocol.CarServer.PiiKeyResponseH\x00\x12P\n\x15pseudonymSyncResponse\x18\x0b \x01(\x0b\x32/.tesla_protocol.CarServer.PseudonymSyncResponseH\x00\x12P\n\x15getRateTariffResponse\x18\x0c \x01(\x0b\x32/.tesla_protocol.CarServer.GetRateTariffResponseH\x00\x12T\n\x17navigationRouteResponse\x18\r \x01(\x0b\x32\x31.tesla_protocol.CarServer.NavigationRouteResponseH\x00\x12\x64\n\x1fgetManagedChargingSitesResponse\x18\x0e \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetManagedChargingSitesResponseH\x00\x12\x64\n\x1fgetChargeOnSolarFeatureResponse\x18\x0f \x01(\x0b\x32\x39.tesla_protocol.CarServer.GetChargeOnSolarFeatureResponseH\x00\x12\x62\n\x1e\x61\x64\x64ManagedChargingSiteResponse\x18\x10 \x01(\x0b\x32\x38.tesla_protocol.CarServer.AddManagedChargingSiteResponseH\x00\x12L\n\x13getMessagesResponse\x18\x12 \x01(\x0b\x32-.tesla_protocol.CarServer.GetMessagesResponseH\x00\x12V\n\x18getLocalProfilesResponse\x18\x14 \x01(\x0b\x32\x32.tesla_protocol.CarServer.GetLocalProfilesResponseH\x00\x12\x46\n\x10keysInfoResponse\x18\x18 \x01(\x0b\x32*.tesla_protocol.CarServer.KeysInfoResponseH\x00\x12P\n\x15\x62\x61ndwidthTestResponse\x18\x19 \x01(\x0b\x32/.tesla_protocol.CarServer.BandwidthTestResponseH\x00\x12\\\n\x1bprepareMobileUploadResponse\x18\x1f \x01(\x0b\x32\x35.tesla_protocol.CarServer.PrepareMobileUploadResponseH\x00\x12^\n\x1cputMobileUploadChunkResponse\x18 \x01(\x0b\x32\x36.tesla_protocol.CarServer.PutMobileUploadChunkResponseH\x00\x42\x0e\n\x0cresponse_msgJ\x04\x08\x11\x10\x12J\x04\x08\x13\x10\x14\"t\n\x1fVehicleDataSubscriptionResponse\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x42\n\x10pii_key_response\x18\x04 \x01(\x0b\x32(.tesla_protocol.CarServer.PiiKeyResponse\"?\n\x1aVitalsSubscriptionResponse\x12\x12\n\nsession_id\x18\x01 \x01(\x05\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\xa9\x01\n\x0ePiiKeyResponse\x12\x19\n\x11\x65ncrypted_pii_key\x18\x02 \x01(\x0c\x12\x36\n\x12pii_key_expiration\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n subscriber_public_key_expiration\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"*\n\x15PseudonymSyncResponse\x12\x11\n\tpseudonym\x18\x01 \x01(\t\"\xf1\x02\n\x17NavigationRouteResponse\x12\r\n\x05route\x18\x01 \x01(\t\x12W\n\x0etraffic_detail\x18\x02 \x03(\x0b\x32?.tesla_protocol.CarServer.NavigationRouteResponse.TrafficDetail\x1a\x80\x01\n\rTrafficDetail\x12\x16\n\x0eoffset_to_dest\x18\x01 \x01(\x02\x12W\n\x0etraffic_status\x18\x02 \x01(\x0e\x32?.tesla_protocol.CarServer.NavigationRouteResponse.TrafficStatus\"k\n\rTrafficStatus\x12\x0e\n\nTS_NO_DATA\x10\x00\x12\x0c\n\x08TS_LIGHT\x10\x01\x12\x0f\n\x0bTS_MODERATE\x10\x02\x12\x11\n\rTS_CONGESTION\x10\x03\x12\x18\n\x14TS_SEVERE_CONGESTION\x10\x04\"_\n\x1fGetManagedChargingSitesResponse\x12<\n\x05sites\x18\x01 \x03(\x0b\x32-.tesla_protocol.CarServer.ManagedChargingSite\"#\n!ManagedChargingSiteAddedOrUpdated\"#\n!ExistingManagedChargingSiteNearby\"\xd2\x01\n\x1e\x41\x64\x64ManagedChargingSiteResponse\x12U\n\x10\x61\x64\x64\x65\x64_or_updated\x18\x01 \x01(\x0b\x32;.tesla_protocol.CarServer.ManagedChargingSiteAddedOrUpdated\x12Y\n\x14\x65xisting_site_nearby\x18\x02 \x01(\x0b\x32;.tesla_protocol.CarServer.ExistingManagedChargingSiteNearby\"X\n\x17RequestTeslaAuthCommand\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\r\n\x05scope\x18\x02 \x01(\t\x12\x1b\n\x13return_scoped_token\x18\x03 \x01(\x08\"i\n\x10MobileAppMessage\x12U\n\x1arequest_tesla_auth_command\x18\x01 \x01(\x0b\x32\x31.tesla_protocol.CarServer.RequestTeslaAuthCommand\"^\n\x13GetMessagesResponse\x12G\n\x13mobile_app_messages\x18\x01 \x03(\x0b\x32*.tesla_protocol.CarServer.MobileAppMessage\"%\n\x07Profile\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"O\n\x18GetLocalProfilesResponse\x12\x33\n\x08profiles\x18\x01 \x03(\x0b\x32!.tesla_protocol.CarServer.Profile\"\xcc\x01\n\x07KeyInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x12\n\npublic_key\x18\x03 \x01(\x0c\x12-\n\tlast_seen\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x04role\x18\x05 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\x12\x38\n\x0b\x66orm_factor\x18\x06 \x01(\x0e\x32#.tesla_protocol.VCSEC.KeyFormFactor\"H\n\x10KeysInfoResponse\x12\x34\n\tkeys_info\x18\x01 \x03(\x0b\x32!.tesla_protocol.CarServer.KeyInfo\"=\n\x15\x42\x61ndwidthTestResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x16\n\x0erequested_size\x18\x02 \x01(\r\"\xf0\x01\n\x15GetRateTariffResponse\x12G\n\x0ftariff_document\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.SetRateTariffRequest\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\x12\x45\n\x06tariff\x18\x0e \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Tariff\"\x8a\x01\n\x0c\x41\x63tionStatus\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.tesla_protocol.CarServer.OperationStatus_E\x12=\n\rresult_reason\x18\x02 \x01(\x0b\x32&.tesla_protocol.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\x12\x10\n\x08one_time\x18\x02 \x01(\x08\"\xb5\x02\n\x17\x43hargingStartStopAction\x12\x31\n\x07unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05start\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0estart_standard\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fstart_max_range\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04stop\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xec\x08\n\x15HvacSeatHeaterActions\x12\x62\n\x14hvacSeatHeaterAction\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.CarServer.HvacSeatHeaterActions.HvacSeatHeaterAction\x1a\xee\x07\n\x14HvacSeatHeaterAction\x12=\n\x13SEAT_HEATER_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_OFF\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_LOW\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSEAT_HEATER_MED\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10SEAT_HEATER_HIGH\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10\x43\x41R_SEAT_UNKNOWN\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12=\n\x13\x43\x41R_SEAT_FRONT_LEFT\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12>\n\x14\x43\x41R_SEAT_FRONT_RIGHT\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12<\n\x12\x43\x41R_SEAT_REAR_LEFT\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x41\n\x17\x43\x41R_SEAT_REAR_LEFT_BACK\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12>\n\x14\x43\x41R_SEAT_REAR_CENTER\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12=\n\x13\x43\x41R_SEAT_REAR_RIGHT\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x42\n\x18\x43\x41R_SEAT_REAR_RIGHT_BACK\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x41\n\x17\x43\x41R_SEAT_THIRD_ROW_LEFT\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12\x42\n\x18\x43\x41R_SEAT_THIRD_ROW_RIGHT\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x42\x13\n\x11seat_heater_levelB\x0f\n\rseat_position\"\xea\x05\n\x15HvacSeatCoolerActions\x12\x62\n\x14hvacSeatCoolerAction\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.CarServer.HvacSeatCoolerActions.HvacSeatCoolerAction\x1a\xd9\x01\n\x14HvacSeatCoolerAction\x12`\n\x11seat_cooler_level\x18\x01 \x01(\x0e\x32\x45.tesla_protocol.CarServer.HvacSeatCoolerActions.HvacSeatCoolerLevel_E\x12_\n\rseat_position\x18\x02 \x01(\x0e\x32H.tesla_protocol.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\"\xe0\x01\n\x18HvacSeatCoolerPosition_E\x12\"\n\x1eHvacSeatCoolerPosition_Unknown\x10\x00\x12$\n HvacSeatCoolerPosition_FrontLeft\x10\x01\x12%\n!HvacSeatCoolerPosition_FrontRight\x10\x02\x12(\n$HvacSeatCoolerPosition_SecondRowLeft\x10\x03\x12)\n%HvacSeatCoolerPosition_SecondRowRight\x10\x04\"\xed\x01\n\x1fHvacSetPreconditioningMaxAction\x12\n\n\x02on\x18\x01 \x01(\x08\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12l\n\x14manual_override_mode\x18\x03 \x03(\x0e\x32N.tesla_protocol.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\"\xba\x06\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\x12T\n\x05level\x18\x05 \x01(\x0b\x32\x45.tesla_protocol.CarServer.HvacTemperatureAdjustmentAction.Temperature\x12l\n\x15hvac_temperature_zone\x18\x04 \x03(\x0b\x32M.tesla_protocol.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\xb5\x01\n\x0bTemperature\x12\x36\n\x0cTEMP_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TEMP_MIN\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TEMP_MAX\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x95\x02\n\x13HvacTemperatureZone\x12;\n\x11TEMP_ZONE_UNKNOWN\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12>\n\x14TEMP_ZONE_FRONT_LEFT\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12?\n\x15TEMP_ZONE_FRONT_RIGHT\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eTEMP_ZONE_REAR\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xf8\x01\n\x13NearbyChargingSites\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12K\n\x14\x64\x65stination_charging\x18\x02 \x03(\x0b\x32-.tesla_protocol.CarServer.DestinationCharging\x12>\n\rsuperchargers\x18\x03 \x03(\x0b\x32\'.tesla_protocol.CarServer.Superchargers\x12%\n\x1d\x63ongestion_sync_time_utc_secs\x18\x04 \x01(\x03\"\x92\x02\n\x13\x44\x65stinationCharging\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x11\n\tamenities\x18\x02 \x01(\t\x12\x0c\n\x04\x63ity\x18\x03 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x04 \x01(\t\x12\x16\n\x0e\x64istance_miles\x18\x05 \x01(\x02\x12\x10\n\x08\x64istrict\x18\x06 \x01(\t\x12\x33\n\x08location\x18\x07 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x13\n\x0bpostal_code\x18\t \x01(\t\x12\r\n\x05state\x18\n \x01(\t\x12\x16\n\x0estreet_address\x18\x0b \x01(\t\x12\x14\n\x0cwithin_range\x18\x0c \x01(\x08\"\xda\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\x33\n\x08location\x18\n \x01(\x0b\x32!.tesla_protocol.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\"_\n\x0fMediaPlayAction\x12L\n\x15media_playback_status\x18\x01 \x01(\x0e\x32-.tesla_protocol.CarServer.MediaPlaybackStatus\"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\"\x83\x02\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.\n\x04vent\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12/\n\x05\x63lose\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x12.\n\x04open\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x01\x42\x0f\n\rsunroof_levelB\x08\n\x06\x61\x63tion\"i\n#VehicleControlTriggerHomelinkAction\x12\x33\n\x08location\x18\x01 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12\r\n\x05token\x18\x02 \x01(\t\"\xc0\x01\n\x1aVehicleControlWindowAction\x12\x31\n\x07unknown\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04vent\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x63lose\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xc8\x02\n\x15\x41utoSeatClimateAction\x12H\n\x07\x63\x61rseat\x18\x01 \x03(\x0b\x32\x37.tesla_protocol.CarServer.AutoSeatClimateAction.CarSeat\x1ap\n\x07\x43\x61rSeat\x12\n\n\x02on\x18\x01 \x01(\x08\x12Y\n\rseat_position\x18\x02 \x01(\x0e\x32\x42.tesla_protocol.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\"\x84\x02\n\x18ScheduledDepartureAction\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x16\n\x0e\x64\x65parture_time\x18\x02 \x01(\x05\x12M\n\x15preconditioning_times\x18\x03 \x01(\x0b\x32..tesla_protocol.CarServer.PreconditioningTimes\x12O\n\x17off_peak_charging_times\x18\x04 \x01(\x0b\x32..tesla_protocol.CarServer.OffPeakChargingTimes\x12\x1f\n\x17off_peak_hours_end_time\x18\x05 \x01(\x05\"\xb6\x03\n\x17HvacClimateKeeperAction\x12\x64\n\x13\x43limateKeeperAction\x18\x01 \x01(\x0e\x32G.tesla_protocol.CarServer.HvacClimateKeeperAction.ClimateKeeperAction_E\x12\x17\n\x0fmanual_override\x18\x02 \x01(\x08\x12\x64\n\x14manual_override_mode\x18\x03 \x03(\x0e\x32\x46.tesla_protocol.CarServer.HvacClimateKeeperAction.ManualOverrideMode_E\"\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\x14ManualOverrideMode_E\x12\x07\n\x03Soc\x10\x00\x12\x07\n\x03\x43pd\x10\x01\"%\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\"g\n\x10SetCopTempAction\x12S\n\x11\x63opActivationTemp\x18\x01 \x01(\x0e\x32\x38.tesla_protocol.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\"\xbf\x02\n\x1dNavigationSuperchargerRequest\x12\n\n\x02id\x18\x01 \x01(\x03\x12i\n\x15remote_nav_trip_order\x18\x02 \x01(\x0e\x32J.tesla_protocol.CarServer.NavigationSuperchargerRequest.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\x03R\x05order\"5\n\x1cUiSetUpcomingCalendarEntries\x12\x15\n\rcalendar_data\x18\x01 \x01(\t\"\xc4\x07\n\x17VehicleDataSubscription\x12X\n\x0fpii_key_request\x18\r \x01(\x0b\x32?.tesla_protocol.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\x12\x39\n1child_presence_detection_state_max_update_rate_ms\x18\x13 \x01(\x05\x12(\n display_state_max_update_rate_ms\x18\x1c \x01(\x05\x12\x38\n0keep_on_accessory_ports_state_max_update_rate_ms\x18\x1f \x01(\x05\x1a.\n\rPiiKeyRequest\x12\x1d\n\x15subscriber_public_key\x18\x01 \x01(\t\"\xac\x07\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\x17\x64isplay_state_timestamp\x18\x18 \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\"\xa4\x02\n\x14NavigationGpsRequest\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12P\n\x05order\x18\x03 \x01(\x0e\x32\x41.tesla_protocol.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\"\xd5\x16\n\x14SetRateTariffRequest\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07utility\x18\x03 \x01(\t\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12Q\n\rdaily_charges\x18\x05 \x03(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.DailyCharge\x12\x17\n\x0fmonthly_charges\x18\x06 \x01(\x01\x12\x1c\n\x14monthly_minimum_bill\x18\x07 \x01(\x01\x12N\n\x0e\x64\x65mand_charges\x18\x08 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12T\n\x14\x64\x61ily_demand_charges\x18\t \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12N\n\x0e\x65nergy_charges\x18\n \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12\x1d\n\x15max_applicable_demand\x18\x0b \x01(\x01\x12\x1d\n\x15min_applicable_demand\x18\x0c \x01(\x01\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\x12\x45\n\x06tariff\x18\x0e \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Tariff\x1a\x89\x01\n\tTOUPeriod\x12\x18\n\x10\x66rom_day_of_week\x18\x01 \x01(\x05\x12\x16\n\x0eto_day_of_week\x18\x02 \x01(\x05\x12\x11\n\tfrom_hour\x18\x03 \x01(\x05\x12\x13\n\x0b\x66rom_minute\x18\x04 \x01(\x05\x12\x0f\n\x07to_hour\x18\x05 \x01(\x05\x12\x11\n\tto_minute\x18\x06 \x01(\x05\x1a\xc5\x02\n\nTOUPeriods\x12I\n\x07ON_PEAK\x18\x01 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12N\n\x0cPARTIAL_PEAK\x18\x02 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12J\n\x08OFF_PEAK\x18\x03 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x12P\n\x0eSUPER_OFF_PEAK\x18\x04 \x03(\x0b\x32\x38.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriod\x1a\xa0\x01\n\x06Season\x12\x10\n\x08\x66rom_day\x18\x01 \x01(\x05\x12\x0e\n\x06to_day\x18\x02 \x01(\x05\x12\x12\n\nfrom_month\x18\x03 \x01(\x05\x12\x10\n\x08to_month\x18\x04 \x01(\x05\x12N\n\x0btou_periods\x18\x05 \x01(\x0b\x32\x39.tesla_protocol.CarServer.SetRateTariffRequest.TOUPeriods\x1a\xef\x02\n\x07Seasons\x12\x45\n\x06Summer\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x45\n\x06Winter\x18\x02 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season3\x18\x03 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season4\x18\x04 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x12\x46\n\x07Season5\x18\x05 \x01(\x0b\x32\x35.tesla_protocol.CarServer.SetRateTariffRequest.Season\x1a\x1a\n\x0b\x46ixedCharge\x12\x0b\n\x03\x41LL\x18\x01 \x01(\x01\x1ah\n\x08RateBand\x12\x0b\n\x03\x41LL\x18\x01 \x01(\x01\x12\x0f\n\x07ON_PEAK\x18\x02 \x01(\x01\x12\x14\n\x0cPARTIAL_PEAK\x18\x03 \x01(\x01\x12\x10\n\x08OFF_PEAK\x18\x04 \x01(\x01\x12\x16\n\x0eSUPER_OFF_PEAK\x18\x05 \x01(\x01\x1a+\n\x0b\x44\x61ilyCharge\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a\xc2\x03\n\x07\x43harges\x12G\n\x03\x41LL\x18\x01 \x01(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.FixedCharge\x12G\n\x06Summer\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12G\n\x06Winter\x18\x03 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season3\x18\x04 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season4\x18\x05 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x12H\n\x07Season5\x18\x06 \x01(\x0b\x32\x37.tesla_protocol.CarServer.SetRateTariffRequest.RateBand\x1a\xce\x04\n\x06Tariff\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07utility\x18\x03 \x01(\t\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12Q\n\rdaily_charges\x18\x05 \x03(\x0b\x32:.tesla_protocol.CarServer.SetRateTariffRequest.DailyCharge\x12\x17\n\x0fmonthly_charges\x18\x06 \x01(\x01\x12\x1c\n\x14monthly_minimum_bill\x18\x07 \x01(\x01\x12N\n\x0e\x64\x65mand_charges\x18\x08 \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12T\n\x14\x64\x61ily_demand_charges\x18\t \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12N\n\x0e\x65nergy_charges\x18\n \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Charges\x12\x1d\n\x15max_applicable_demand\x18\x0b \x01(\x01\x12\x1d\n\x15min_applicable_demand\x18\x0c \x01(\x01\x12G\n\x07seasons\x18\r \x01(\x0b\x32\x36.tesla_protocol.CarServer.SetRateTariffRequest.Seasons\"\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\"\\\n\x1d\x41\x64\x64ManagedChargingSiteRequest\x12;\n\x04site\x18\x01 \x01(\x0b\x32-.tesla_protocol.CarServer.ManagedChargingSite\"\x9a\x01\n\x13ManagedChargingSite\x12\x12\n\npublic_key\x18\x01 \x01(\t\x12;\n\x0cmanager_type\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.ManagerType\x12\x32\n\x07lat_lon\x18\x03 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\"P\n\x0bManagerType\x12\x41\n\x0fsite_controller\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.SiteController\"\x1d\n\x0eSiteController\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"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\"T\n\x12StwHeatLevelAction\x12>\n\x0estw_heat_level\x18\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.StwHeatLevel\" \n\x1eGetManagedChargingSitesRequest\"l\n!UpdateChargeOnSolarFeatureRequest\x12G\n\x0f\x63harge_on_solar\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ChargeOnSolarFeature\" \n\x1eGetChargeOnSolarFeatureRequest\"j\n\x1fGetChargeOnSolarFeatureResponse\x12G\n\x0f\x63harge_on_solar\x18\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ChargeOnSolarFeature\"_\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\"\xd3\x01\n\x15SetOutletsOnOffAction\x12U\n\x0eoutlet_request\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.SetOutletsOnOffAction.OutletRequest\"c\n\rOutletRequest\x12\x16\n\x12OUTLET_REQUEST_OFF\x10\x00\x12 \n\x1cOUTLET_REQUEST_CABIN_AND_BED\x10\x01\x12\x18\n\x14OUTLET_REQUEST_CABIN\x10\x02\"+\n\x14SetOutletTimerAction\x12\x13\n\x0bnum_minutes\x18\x01 \x01(\x05\"*\n\x17SetOutletSocLimitAction\x12\x0f\n\x07percent\x18\x01 \x01(\x05\"\x92\x02\n\x17SetPowerFeedOnOffAction\x12^\n\x12power_feed_request\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.CarServer.SetPowerFeedOnOffAction.PowerFeedRequest\"\x96\x01\n\x10PowerFeedRequest\x12\x1a\n\x16POWER_FEED_REQUEST_OFF\x10\x00\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_1\x10\x01\x12\x1d\n\x19POWER_FEED_REQUEST_FEED_2\x10\x02\x12(\n$POWER_FEED_REQUEST_FEED_1_AND_FEED_2\x10\x03\".\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\"\xe3\x01\n\x1aNavigationWaypointsRequest\x12\x11\n\twaypoints\x18\x01 \x01(\t\x12_\n\x11trip_plan_options\x18\x02 \x01(\x0b\x32\x44.tesla_protocol.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\"\xf2\x01\n\x1aSetPowershareFeatureAction\x12q\n\x1apowershare_feature_request\x18\x01 \x01(\x0e\x32M.tesla_protocol.CarServer.SetPowershareFeatureAction.PowershareFeatureRequest\"a\n\x18PowershareFeatureRequest\x12\"\n\x1ePOWERSHARE_FEATURE_REQUEST_OFF\x10\x00\x12!\n\x1dPOWERSHARE_FEATURE_REQUEST_ON\x10\x01\"G\n!SetPowershareDischargeLimitAction\x12\"\n\x1apowershare_discharge_limit\x18\x01 \x01(\x05\"\xcc\x01\n\x1aSetPowershareRequestAction\x12\x62\n\x12powershare_request\x18\x01 \x01(\x0e\x32\x46.tesla_protocol.CarServer.SetPowershareRequestAction.PowershareRequest\"J\n\x11PowershareRequest\x12\x1a\n\x16POWERSHARE_REQUEST_OFF\x10\x00\x12\x19\n\x15POWERSHARE_REQUEST_ON\x10\x01\"&\n\x18SetTentModeRequestAction\x12\n\n\x02on\x18\x01 \x01(\x08\"\x83\x02\n\x19SetZoneLightRequestAction\x12`\n\x12zone_light_request\x18\x01 \x01(\x0e\x32\x44.tesla_protocol.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\"\xcf\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\x12[\n\x05order\x18\x04 \x01(\x0e\x32L.tesla_protocol.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\"\xbc\x02\n$ParentalControlsEnableSettingsAction\x12i\n\x07setting\x18\x01 \x01(\x0e\x32X.tesla_protocol.CarServer.ParentalControlsEnableSettingsAction.ParentalControlsSetting_E\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x08\"\x98\x01\n\x19ParentalControlsSetting_E\x12\x0e\n\nSpeedLimit\x10\x00\x12\x10\n\x0c\x41\x63\x63\x65leration\x10\x01\x12\x12\n\x0eSafetyFeatures\x10\x02\x12\n\n\x06\x43urfew\x10\x03\x12\x12\n\x0e\x42rowserBlocked\x10\x04\x12\x12\n\x0eTheaterBlocked\x10\x05\x12\x11\n\rArcadeBlocked\x10\x06\"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\"\xd6\x02\n\x18SetSuspensionLevelAction\x12\\\n\x10suspension_level\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.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\"2\n\x17SetDischargeLimitAction\x12\x17\n\x0f\x64ischarge_limit\x18\x01 \x01(\x05\"/\n\x15SetLowPowerModeAction\x12\x16\n\x0elow_power_mode\x18\x01 \x01(\x08\"\x90\x01\n\x18SetTemperatureUnitAction\x12\x45\n\x04unit\x18\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\"-\n\x04Unit\x12\x13\n\x0fUNIT_FAHRENHEIT\x10\x00\x12\x10\n\x0cUNIT_CELSIUS\x10\x01\"\x88\x01\n\x15SetDistanceUnitAction\x12\x42\n\x04unit\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.SetDistanceUnitAction.Unit\"+\n\x04Unit\x12\x0e\n\nUNIT_MILES\x10\x00\x12\x13\n\x0fUNIT_KILOMETERS\x10\x01\"\x9b\x01\n\x1aSetTimeDisplayFormatAction\x12K\n\x06\x66ormat\x18\x01 \x01(\x0e\x32;.tesla_protocol.CarServer.SetTimeDisplayFormatAction.Format\"0\n\x06\x46ormat\x12\x12\n\x0e\x46ORMAT_12_HOUR\x10\x00\x12\x12\n\x0e\x46ORMAT_24_HOUR\x10\x01\"\x87\x01\n\x19SetTirePressureUnitAction\x12\x46\n\x04unit\x18\x01 \x01(\x0e\x32\x38.tesla_protocol.CarServer.SetTirePressureUnitAction.Unit\"\"\n\x04Unit\x12\x0c\n\x08UNIT_PSI\x10\x00\x12\x0c\n\x08UNIT_BAR\x10\x01\"\xa3\x01\n\x1cSetEnergyDisplayFormatAction\x12M\n\x06\x66ormat\x18\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.SetEnergyDisplayFormatAction.Format\"4\n\x06\x46ormat\x12\x15\n\x11\x46ORMAT_PERCENTAGE\x10\x00\x12\x13\n\x0f\x46ORMAT_DISTANCE\x10\x01\"k\n\x12\x44isplayStateAction\x12$\n\x1c\x64isplayBrightnessAutoRequest\x18\x01 \x01(\x08\x12/\n\'displayBrightnessScalePreferenceRequest\x18\x02 \x01(\r\"D\n\x1fSetKeepAccessoryPowerModeAction\x12!\n\x19keep_accessory_power_mode\x18\x01 \x01(\x08\"\x8d\x01\n+SetupCloudProfileWithLocalProfileUuidAction\x12\x18\n\x10\x63loud_vault_uuid\x18\x01 \x01(\t\x12\x1a\n\x12local_profile_uuid\x18\x02 \x01(\t\x12(\n delete_local_profile_after_setup\x18\x03 \x01(\x08\"8\n\"GetLocalProfilesForVaultUuidAction\x12\x12\n\nvault_uuid\x18\x01 \x01(\t\"\x15\n\x13\x46\x65tchKeysInfoAction\"0\n\x18\x44\x65leteDashcamClipsAction\x12\x14\n\x0c\x64\x65lete_clips\x18\x01 \x01(\x08\"%\n\x0f\x46ormatUSBAction\x12\x12\n\nformat_usb\x18\x01 \x01(\x08\"\'\n\rBandwidthTest\x12\x16\n\x0erequested_size\x18\x01 \x01(\r\"\xb6\x01\n\x14PhoneUnitPreferences\x12K\n\rdistance_unit\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.SetDistanceUnitAction.Unit\x12Q\n\x10temperature_unit\x18\x02 \x01(\x0e\x32\x37.tesla_protocol.CarServer.SetTemperatureUnitAction.Unit\"\x8f\x02\n SetPhoneSettingPreferencesAction\x12V\n\tfont_size\x18\x01 \x01(\x0e\x32\x43.tesla_protocol.CarServer.SetPhoneSettingPreferencesAction.FontSize\x12\x10\n\x08language\x18\x02 \x01(\t\x12H\n\x10unit_preferences\x18\x03 \x01(\x0b\x32..tesla_protocol.CarServer.PhoneUnitPreferences\"7\n\x08\x46ontSize\x12\x16\n\x12\x46ONT_SIZE_STANDARD\x10\x00\x12\x13\n\x0f\x46ONT_SIZE_LARGE\x10\x01\"\x1f\n\x1d\x43\x61ncelVehicleDataSubscription\"+\n\x17SetUpkeepUsernameAction\x12\x10\n\x08username\x18\x01 \x01(\t\"4\n DrivingSetCruiseSpeedLimitAction\x12\x10\n\x08limitMph\x18\x01 \x01(\x01\" \n\x12SetDeckLightAction\x12\n\n\x02on\x18\x01 \x01(\x08\"g\n\x1bSetKeepOnCabin12vPortAction\x12H\n\nkeepOnMode\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.KeepOnAccessoryPortRequest\"g\n\x1bSetKeepOnCabin48vPortAction\x12H\n\nkeepOnMode\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.KeepOnAccessoryPortRequest*F\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x01*\x8b\x05\n\x11VehicleDataFields\x12\x0b\n\x07NOTHING\x10\x00\x12\x10\n\x0cgui_settings\x10\x02\x12\x10\n\x0c\x63harge_state\x10\x03\x12\x11\n\rclimate_state\x10\x04\x12\x0f\n\x0b\x64rive_state\x10\x05\x12\x11\n\rvehicle_state\x10\x06\x12\x12\n\x0evehicle_config\x10\x07\x12\x12\n\x0elocation_state\x10\x08\x12\x12\n\x0e\x63losures_state\x10\t\x12\x1a\n\x16parked_accessory_state\x10\n\x12\x19\n\x15\x63harge_schedule_state\x10\x0b\x12\"\n\x1epreconditioning_schedule_state\x10\x0c\x12\x0f\n\x0bmedia_state\x10\r\x12\x16\n\x12media_detail_state\x10\x0e\x12\x17\n\x13tire_pressure_state\x10\x0f\x12\x18\n\x14vehicle_detail_state\x10\x10\x12\x19\n\x15software_update_state\x10\x11\x12\x1b\n\x17parental_controls_state\x10\x12\x12\x0f\n\x0b\x61lert_state\x10\x13\x12\x14\n\x10light_show_state\x10\x14\x12\x17\n\x13vehicle_image_state\x10\x15\x12\r\n\tsoh_state\x10\x16\x12\x14\n\x10suspension_state\x10\x17\x12\"\n\x1e\x63hild_presence_detection_state\x10\x18\x12\x11\n\rdisplay_state\x10\x1e\x12!\n\x1dkeep_on_accessory_ports_state\x10!\x12$\n\x1flegacy_vehicle_state_media_info\x10\xb8/Bn\n$com.tesla.generated.carserver.serverZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,490 +40,496 @@ _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=42070 - _globals['_OPERATIONSTATUS_E']._serialized_end=42140 - _globals['_VEHICLEDATAFIELDS']._serialized_start=42143 - _globals['_VEHICLEDATAFIELDS']._serialized_end=42759 + _globals['_OPERATIONSTATUS_E']._serialized_start=42657 + _globals['_OPERATIONSTATUS_E']._serialized_end=42727 + _globals['_VEHICLEDATAFIELDS']._serialized_start=42730 + _globals['_VEHICLEDATAFIELDS']._serialized_end=43381 _globals['_ACTION']._serialized_start=289 _globals['_ACTION']._serialized_end=389 _globals['_VEHICLEACTION']._serialized_start=392 - _globals['_VEHICLEACTION']._serialized_end=12493 - _globals['_GETVEHICLEDATA']._serialized_start=12496 - _globals['_GETVEHICLEDATA']._serialized_end=14380 - _globals['_GETGUISETTINGS']._serialized_start=14382 - _globals['_GETGUISETTINGS']._serialized_end=14398 - _globals['_GETLEGACYVEHICLESTATE']._serialized_start=14400 - _globals['_GETLEGACYVEHICLESTATE']._serialized_end=14423 - _globals['_GETVEHICLECONFIG']._serialized_start=14425 - _globals['_GETVEHICLECONFIG']._serialized_end=14443 - _globals['_GETSOHSTATE']._serialized_start=14445 - _globals['_GETSOHSTATE']._serialized_end=14458 - _globals['_GETVEHICLEDETAILSTATE']._serialized_start=14460 - _globals['_GETVEHICLEDETAILSTATE']._serialized_end=14483 - _globals['_GETPARKEDACCESSORYSTATE']._serialized_start=14485 - _globals['_GETPARKEDACCESSORYSTATE']._serialized_end=14510 - _globals['_GETVEHICLESTATE']._serialized_start=14512 - _globals['_GETVEHICLESTATE']._serialized_end=14529 - _globals['_GETALERTSTATE']._serialized_start=14531 - _globals['_GETALERTSTATE']._serialized_end=14546 - _globals['_GETLIGHTSHOWSTATE']._serialized_start=14548 - _globals['_GETLIGHTSHOWSTATE']._serialized_end=14567 - _globals['_GETVEHICLEIMAGESTATE']._serialized_start=14569 - _globals['_GETVEHICLEIMAGESTATE']._serialized_end=14661 - _globals['_GETSUSPENSIONSTATE']._serialized_start=14663 - _globals['_GETSUSPENSIONSTATE']._serialized_end=14683 - _globals['_GETCHILDPRESENCEDETECTIONSTATE']._serialized_start=14685 - _globals['_GETCHILDPRESENCEDETECTIONSTATE']._serialized_end=14717 - _globals['_GETDISPLAYSTATE']._serialized_start=14719 - _globals['_GETDISPLAYSTATE']._serialized_end=14736 - _globals['_VEHICLEIMAGEDATACHUNKREQUEST']._serialized_start=14738 - _globals['_VEHICLEIMAGEDATACHUNKREQUEST']._serialized_end=14810 - _globals['_VEHICLEIMAGEREQUEST']._serialized_start=14813 - _globals['_VEHICLEIMAGEREQUEST']._serialized_end=15076 - _globals['_VEHICLEIMAGEREQUEST_TYPE']._serialized_start=15052 - _globals['_VEHICLEIMAGEREQUEST_TYPE']._serialized_end=15076 - _globals['_MOBILEIMAGEUPLOADPARAMS']._serialized_start=15079 - _globals['_MOBILEIMAGEUPLOADPARAMS']._serialized_end=15225 - _globals['_MOBILEUPLOADPARAMS']._serialized_start=15227 - _globals['_MOBILEUPLOADPARAMS']._serialized_end=15289 - _globals['_PREPAREMOBILEUPLOADACTION']._serialized_start=15292 - _globals['_PREPAREMOBILEUPLOADACTION']._serialized_end=15507 - _globals['_PREPAREMOBILEUPLOADRESPONSE']._serialized_start=15510 - _globals['_PREPAREMOBILEUPLOADRESPONSE']._serialized_end=15894 - _globals['_PREPAREMOBILEUPLOADRESPONSE_STATUS']._serialized_start=15660 - _globals['_PREPAREMOBILEUPLOADRESPONSE_STATUS']._serialized_end=15894 - _globals['_PUTMOBILEUPLOADCHUNKACTION']._serialized_start=15896 - _globals['_PUTMOBILEUPLOADCHUNKACTION']._serialized_end=15982 - _globals['_PUTMOBILEUPLOADCHUNKRESPONSE']._serialized_start=15985 - _globals['_PUTMOBILEUPLOADCHUNKRESPONSE']._serialized_end=16287 - _globals['_PUTMOBILEUPLOADCHUNKRESPONSE_STATUS']._serialized_start=16117 - _globals['_PUTMOBILEUPLOADCHUNKRESPONSE_STATUS']._serialized_end=16287 - _globals['_DOGMODELIVEACTIVITYDATA']._serialized_start=16290 - _globals['_DOGMODELIVEACTIVITYDATA']._serialized_end=16961 - _globals['_DOGMODELIVEACTIVITYDATA_DOGMODEIMAGEDATA']._serialized_start=16771 - _globals['_DOGMODELIVEACTIVITYDATA_DOGMODEIMAGEDATA']._serialized_end=16833 - _globals['_DOGMODELIVEACTIVITYDATA_DISABLEDREASON']._serialized_start=16835 - _globals['_DOGMODELIVEACTIVITYDATA_DISABLEDREASON']._serialized_end=16961 - _globals['_GETTIREPRESSURESTATE']._serialized_start=16963 - _globals['_GETTIREPRESSURESTATE']._serialized_end=16985 - _globals['_GETMEDIASTATE']._serialized_start=16987 - _globals['_GETMEDIASTATE']._serialized_end=17002 - _globals['_GETMEDIADETAILSTATE']._serialized_start=17004 - _globals['_GETMEDIADETAILSTATE']._serialized_end=17025 - _globals['_GETSOFTWAREUPDATESTATE']._serialized_start=17027 - _globals['_GETSOFTWAREUPDATESTATE']._serialized_end=17051 - _globals['_GETCHARGESTATE']._serialized_start=17053 - _globals['_GETCHARGESTATE']._serialized_end=17069 - _globals['_GETCLIMATESTATE']._serialized_start=17071 - _globals['_GETCLIMATESTATE']._serialized_end=17088 - _globals['_GETDRIVESTATE']._serialized_start=17090 - _globals['_GETDRIVESTATE']._serialized_end=17105 - _globals['_GETLOCATIONSTATE']._serialized_start=17107 - _globals['_GETLOCATIONSTATE']._serialized_end=17125 - _globals['_GETCLOSURESSTATE']._serialized_start=17127 - _globals['_GETCLOSURESSTATE']._serialized_end=17145 - _globals['_GETCHARGESCHEDULESTATE']._serialized_start=17147 - _globals['_GETCHARGESCHEDULESTATE']._serialized_end=17171 - _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_start=17173 - _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_end=17206 - _globals['_GETPARENTALCONTROLSSTATE']._serialized_start=17208 - _globals['_GETPARENTALCONTROLSSTATE']._serialized_end=17234 - _globals['_ERASEUSERDATAACTION']._serialized_start=17236 - _globals['_ERASEUSERDATAACTION']._serialized_end=17298 - _globals['_RESPONSE']._serialized_start=17301 - _globals['_RESPONSE']._serialized_end=19058 - _globals['_VEHICLEDATASUBSCRIPTIONRESPONSE']._serialized_start=19060 - _globals['_VEHICLEDATASUBSCRIPTIONRESPONSE']._serialized_end=19178 - _globals['_VITALSSUBSCRIPTIONRESPONSE']._serialized_start=19180 - _globals['_VITALSSUBSCRIPTIONRESPONSE']._serialized_end=19245 - _globals['_PIIKEYRESPONSE']._serialized_start=19248 - _globals['_PIIKEYRESPONSE']._serialized_end=19417 - _globals['_PSEUDONYMSYNCRESPONSE']._serialized_start=19419 - _globals['_PSEUDONYMSYNCRESPONSE']._serialized_end=19459 - _globals['_NAVIGATIONROUTERESPONSE']._serialized_start=19462 - _globals['_NAVIGATIONROUTERESPONSE']._serialized_end=19833 - _globals['_NAVIGATIONROUTERESPONSE_TRAFFICDETAIL']._serialized_start=19596 - _globals['_NAVIGATIONROUTERESPONSE_TRAFFICDETAIL']._serialized_end=19724 - _globals['_NAVIGATIONROUTERESPONSE_TRAFFICSTATUS']._serialized_start=19726 - _globals['_NAVIGATIONROUTERESPONSE_TRAFFICSTATUS']._serialized_end=19833 - _globals['_GETMANAGEDCHARGINGSITESRESPONSE']._serialized_start=19835 - _globals['_GETMANAGEDCHARGINGSITESRESPONSE']._serialized_end=19930 - _globals['_MANAGEDCHARGINGSITEADDEDORUPDATED']._serialized_start=19932 - _globals['_MANAGEDCHARGINGSITEADDEDORUPDATED']._serialized_end=19967 - _globals['_EXISTINGMANAGEDCHARGINGSITENEARBY']._serialized_start=19969 - _globals['_EXISTINGMANAGEDCHARGINGSITENEARBY']._serialized_end=20004 - _globals['_ADDMANAGEDCHARGINGSITERESPONSE']._serialized_start=20007 - _globals['_ADDMANAGEDCHARGINGSITERESPONSE']._serialized_end=20217 - _globals['_REQUESTTESLAAUTHCOMMAND']._serialized_start=20219 - _globals['_REQUESTTESLAAUTHCOMMAND']._serialized_end=20309 - _globals['_MOBILEAPPMESSAGE']._serialized_start=20311 - _globals['_MOBILEAPPMESSAGE']._serialized_end=20416 - _globals['_GETMESSAGESRESPONSE']._serialized_start=20418 - _globals['_GETMESSAGESRESPONSE']._serialized_end=20512 - _globals['_PROFILE']._serialized_start=20514 - _globals['_PROFILE']._serialized_end=20561 - _globals['_GETLOCALPROFILESRESPONSE']._serialized_start=20563 - _globals['_GETLOCALPROFILESRESPONSE']._serialized_end=20642 - _globals['_KEYINFO']._serialized_start=20645 - _globals['_KEYINFO']._serialized_end=20858 - _globals['_KEYSINFORESPONSE']._serialized_start=20860 - _globals['_KEYSINFORESPONSE']._serialized_end=20932 - _globals['_BANDWIDTHTESTRESPONSE']._serialized_start=20934 - _globals['_BANDWIDTHTESTRESPONSE']._serialized_end=20995 - _globals['_GETRATETARIFFRESPONSE']._serialized_start=20998 - _globals['_GETRATETARIFFRESPONSE']._serialized_end=21238 - _globals['_ACTIONSTATUS']._serialized_start=21241 - _globals['_ACTIONSTATUS']._serialized_end=21379 - _globals['_RESULTREASON']._serialized_start=21381 - _globals['_RESULTREASON']._serialized_end=21427 - _globals['_ENCRYPTEDDATA']._serialized_start=21429 - _globals['_ENCRYPTEDDATA']._serialized_end=21499 - _globals['_CHARGINGSETLIMITACTION']._serialized_start=21501 - _globals['_CHARGINGSETLIMITACTION']._serialized_end=21560 - _globals['_CHARGINGSTARTSTOPACTION']._serialized_start=21563 - _globals['_CHARGINGSTARTSTOPACTION']._serialized_end=21872 - _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_start=21874 - _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_end=21920 - _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_start=21922 - _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_end=21969 - _globals['_DRIVINGSPEEDLIMITACTION']._serialized_start=21971 - _globals['_DRIVINGSPEEDLIMITACTION']._serialized_end=22027 - _globals['_HVACAUTOACTION']._serialized_start=22029 - _globals['_HVACAUTOACTION']._serialized_end=22088 - _globals['_HVACSEATHEATERACTIONS']._serialized_start=22091 - _globals['_HVACSEATHEATERACTIONS']._serialized_end=23223 - _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_start=22217 - _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_end=23223 - _globals['_HVACSEATCOOLERACTIONS']._serialized_start=23226 - _globals['_HVACSEATCOOLERACTIONS']._serialized_end=23972 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_start=23352 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_end=23569 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_start=23572 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_end=23745 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_start=23748 - _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_end=23972 - _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_start=23975 - _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_end=24212 - _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_start=24157 - _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_end=24212 - _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_start=24214 - _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_end=24263 - _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_start=24266 - _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_end=25092 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_start=24631 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_end=24812 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_start=24815 - _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_end=25092 - _globals['_GETNEARBYCHARGINGSITES']._serialized_start=25094 - _globals['_GETNEARBYCHARGINGSITES']._serialized_end=25176 - _globals['_NEARBYCHARGINGSITES']._serialized_start=25179 - _globals['_NEARBYCHARGINGSITES']._serialized_end=25427 - _globals['_DESTINATIONCHARGING']._serialized_start=25430 - _globals['_DESTINATIONCHARGING']._serialized_end=25704 - _globals['_SUPERCHARGERS']._serialized_start=25707 - _globals['_SUPERCHARGERS']._serialized_end=26181 - _globals['_MEDIAPLAYACTION']._serialized_start=26183 - _globals['_MEDIAPLAYACTION']._serialized_end=26278 - _globals['_MEDIAUPDATEVOLUME']._serialized_start=26280 - _globals['_MEDIAUPDATEVOLUME']._serialized_end=26378 - _globals['_MEDIANEXTFAVORITE']._serialized_start=26380 - _globals['_MEDIANEXTFAVORITE']._serialized_end=26399 - _globals['_MEDIAPREVIOUSFAVORITE']._serialized_start=26401 - _globals['_MEDIAPREVIOUSFAVORITE']._serialized_end=26424 - _globals['_MEDIANEXTTRACK']._serialized_start=26426 - _globals['_MEDIANEXTTRACK']._serialized_end=26442 - _globals['_MEDIAPREVIOUSTRACK']._serialized_start=26444 - _globals['_MEDIAPREVIOUSTRACK']._serialized_end=26464 - _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_start=26466 - _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_end=26508 - _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_start=26510 - _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_end=26543 - _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_start=26545 - _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_end=26575 - _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_start=26577 - _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_end=26612 - _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_start=26614 - _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_end=26678 - _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_start=26680 - _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_end=26727 - _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_start=26729 - _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_end=26793 - _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_start=26796 - _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_end=27055 - _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_start=27057 - _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_end=27162 - _globals['_VEHICLECONTROLWINDOWACTION']._serialized_start=27165 - _globals['_VEHICLECONTROLWINDOWACTION']._serialized_end=27357 - _globals['_HVACBIOWEAPONMODEACTION']._serialized_start=27359 - _globals['_HVACBIOWEAPONMODEACTION']._serialized_end=27421 - _globals['_AUTOSEATCLIMATEACTION']._serialized_start=27424 - _globals['_AUTOSEATCLIMATEACTION']._serialized_end=27752 - _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_start=27523 - _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_end=27635 - _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_start=27637 - _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_end=27752 - _globals['_PING']._serialized_start=27755 - _globals['_PING']._serialized_end=27890 - _globals['_SCHEDULEDCHARGINGACTION']._serialized_start=27892 - _globals['_SCHEDULEDCHARGINGACTION']._serialized_end=27957 - _globals['_SCHEDULEDDEPARTUREACTION']._serialized_start=27960 - _globals['_SCHEDULEDDEPARTUREACTION']._serialized_end=28220 - _globals['_HVACCLIMATEKEEPERACTION']._serialized_start=28223 - _globals['_HVACCLIMATEKEEPERACTION']._serialized_end=28661 - _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_start=28480 - _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_end=28619 - _globals['_HVACCLIMATEKEEPERACTION_MANUALOVERRIDEMODE_E']._serialized_start=28621 - _globals['_HVACCLIMATEKEEPERACTION_MANUALOVERRIDEMODE_E']._serialized_end=28661 - _globals['_HVACRECIRCULATIONACTION']._serialized_start=28663 - _globals['_HVACRECIRCULATIONACTION']._serialized_end=28700 - _globals['_SETCHARGINGAMPSACTION']._serialized_start=28702 - _globals['_SETCHARGINGAMPSACTION']._serialized_end=28748 - _globals['_REMOVECHARGESCHEDULEACTION']._serialized_start=28750 - _globals['_REMOVECHARGESCHEDULEACTION']._serialized_end=28790 - _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_start=28792 - _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_end=28869 - _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_start=28871 - _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_end=28954 - _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_start=28956 - _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_end=29002 - _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_start=29004 - _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_end=29068 - _globals['_SETVEHICLENAMEACTION']._serialized_start=29070 - _globals['_SETVEHICLENAMEACTION']._serialized_end=29113 - _globals['_CHARGEPORTDOORCLOSE']._serialized_start=29115 - _globals['_CHARGEPORTDOORCLOSE']._serialized_end=29136 - _globals['_CHARGEPORTDOOROPEN']._serialized_start=29138 - _globals['_CHARGEPORTDOOROPEN']._serialized_end=29158 - _globals['_BOOMBOXACTION']._serialized_start=29160 - _globals['_BOOMBOXACTION']._serialized_end=29190 - _globals['_SETCOPTEMPACTION']._serialized_start=29192 - _globals['_SETCOPTEMPACTION']._serialized_end=29295 - _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_start=29297 - _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_end=29362 - _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_start=29364 - _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_end=29401 - _globals['_REMOTESTARTDRIVE']._serialized_start=29403 - _globals['_REMOTESTARTDRIVE']._serialized_end=29421 - _globals['_CREATESTREAMSESSION']._serialized_start=29423 - _globals['_CREATESTREAMSESSION']._serialized_end=29464 - _globals['_STREAMMESSAGE']._serialized_start=29466 - _globals['_STREAMMESSAGE']._serialized_end=29515 - _globals['_NAVIGATIONREQUEST']._serialized_start=29517 - _globals['_NAVIGATIONREQUEST']._serialized_end=29572 - _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_start=29575 - _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_end=29894 - _globals['_NAVIGATIONSUPERCHARGERREQUEST_REMOTENAVTRIPORDER']._serialized_start=29728 - _globals['_NAVIGATIONSUPERCHARGERREQUEST_REMOTENAVTRIPORDER']._serialized_end=29887 - _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_start=29896 - _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_end=29949 - _globals['_VEHICLEDATASUBSCRIPTION']._serialized_start=29952 - _globals['_VEHICLEDATASUBSCRIPTION']._serialized_end=30858 - _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_start=30812 - _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_end=30858 - _globals['_VEHICLEDATAACK']._serialized_start=30861 - _globals['_VEHICLEDATAACK']._serialized_end=31801 - _globals['_VITALSSUBSCRIPTION']._serialized_start=31803 - _globals['_VITALSSUBSCRIPTION']._serialized_end=31843 - _globals['_VITALSACK']._serialized_start=31845 - _globals['_VITALSACK']._serialized_end=31856 - _globals['_DASHCAMSAVECLIPACTION']._serialized_start=31858 - _globals['_DASHCAMSAVECLIPACTION']._serialized_end=31881 - _globals['_PIIKEYREQUEST']._serialized_start=31883 - _globals['_PIIKEYREQUEST']._serialized_end=31985 - _globals['_PSEUDONYMSYNCREQUEST']._serialized_start=31987 - _globals['_PSEUDONYMSYNCREQUEST']._serialized_end=32046 - _globals['_NAVIGATIONGPSREQUEST']._serialized_start=32049 - _globals['_NAVIGATIONGPSREQUEST']._serialized_end=32341 - _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_start=29728 - _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_end=29887 - _globals['_SETRATETARIFFREQUEST']._serialized_start=32344 - _globals['_SETRATETARIFFREQUEST']._serialized_end=35245 - _globals['_SETRATETARIFFREQUEST_TOUPERIOD']._serialized_start=33022 - _globals['_SETRATETARIFFREQUEST_TOUPERIOD']._serialized_end=33159 - _globals['_SETRATETARIFFREQUEST_TOUPERIODS']._serialized_start=33162 - _globals['_SETRATETARIFFREQUEST_TOUPERIODS']._serialized_end=33487 - _globals['_SETRATETARIFFREQUEST_SEASON']._serialized_start=33490 - _globals['_SETRATETARIFFREQUEST_SEASON']._serialized_end=33650 - _globals['_SETRATETARIFFREQUEST_SEASONS']._serialized_start=33653 - _globals['_SETRATETARIFFREQUEST_SEASONS']._serialized_end=34020 - _globals['_SETRATETARIFFREQUEST_FIXEDCHARGE']._serialized_start=34022 - _globals['_SETRATETARIFFREQUEST_FIXEDCHARGE']._serialized_end=34048 - _globals['_SETRATETARIFFREQUEST_RATEBAND']._serialized_start=34050 - _globals['_SETRATETARIFFREQUEST_RATEBAND']._serialized_end=34154 - _globals['_SETRATETARIFFREQUEST_DAILYCHARGE']._serialized_start=34156 - _globals['_SETRATETARIFFREQUEST_DAILYCHARGE']._serialized_end=34199 - _globals['_SETRATETARIFFREQUEST_CHARGES']._serialized_start=34202 - _globals['_SETRATETARIFFREQUEST_CHARGES']._serialized_end=34652 - _globals['_SETRATETARIFFREQUEST_TARIFF']._serialized_start=34655 - _globals['_SETRATETARIFFREQUEST_TARIFF']._serialized_end=35245 - _globals['_GETRATETARIFFREQUEST']._serialized_start=35247 - _globals['_GETRATETARIFFREQUEST']._serialized_end=35269 - _globals['_VIDEOREQUESTACTION']._serialized_start=35271 - _globals['_VIDEOREQUESTACTION']._serialized_end=35304 - _globals['_TAKEDRIVENOTEACTION']._serialized_start=35306 - _globals['_TAKEDRIVENOTEACTION']._serialized_end=35341 - _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_start=35343 - _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_end=35415 - _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_start=35417 - _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_end=35509 - _globals['_MANAGEDCHARGINGSITE']._serialized_start=35512 - _globals['_MANAGEDCHARGINGSITE']._serialized_end=35666 - _globals['_MANAGERTYPE']._serialized_start=35668 - _globals['_MANAGERTYPE']._serialized_end=35748 - _globals['_SITECONTROLLER']._serialized_start=35750 - _globals['_SITECONTROLLER']._serialized_end=35779 - _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_start=35781 - _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_end=35835 - _globals['_NAVIGATIONROUTEACTION']._serialized_start=35837 - _globals['_NAVIGATIONROUTEACTION']._serialized_end=35860 - _globals['_AUTOSTWHEATACTION']._serialized_start=35862 - _globals['_AUTOSTWHEATACTION']._serialized_end=35893 - _globals['_STWHEATLEVELACTION']._serialized_start=35895 - _globals['_STWHEATLEVELACTION']._serialized_end=35979 - _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_start=35981 - _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_end=36013 - _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_start=36015 - _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_end=36123 - _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_start=36125 - _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_end=36157 - _globals['_GETCHARGEONSOLARFEATURERESPONSE']._serialized_start=36159 - _globals['_GETCHARGEONSOLARFEATURERESPONSE']._serialized_end=36265 - _globals['_CHARGEONSOLARFEATURE']._serialized_start=36267 - _globals['_CHARGEONSOLARFEATURE']._serialized_end=36362 - _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_start=36364 - _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_end=36402 - _globals['_SETOUTLETSONOFFACTION']._serialized_start=36405 - _globals['_SETOUTLETSONOFFACTION']._serialized_end=36616 - _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_start=36517 - _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_end=36616 - _globals['_SETOUTLETTIMERACTION']._serialized_start=36618 - _globals['_SETOUTLETTIMERACTION']._serialized_end=36661 - _globals['_SETOUTLETSOCLIMITACTION']._serialized_start=36663 - _globals['_SETOUTLETSOCLIMITACTION']._serialized_end=36705 - _globals['_SETPOWERFEEDONOFFACTION']._serialized_start=36708 - _globals['_SETPOWERFEEDONOFFACTION']._serialized_end=36982 - _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_start=36832 - _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_end=36982 - _globals['_SETPOWERFEEDTIMERACTION']._serialized_start=36984 - _globals['_SETPOWERFEEDTIMERACTION']._serialized_end=37030 - _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_start=37032 - _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_end=37077 - _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_start=37079 - _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_end=37135 - _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_start=37137 - _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_end=37191 - _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_start=37193 - _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_end=37247 - _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_start=37249 - _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_end=37291 - _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_start=37294 - _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_end=37521 - _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_start=37440 - _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_end=37521 - _globals['_SETPOWERSHAREFEATUREACTION']._serialized_start=37524 - _globals['_SETPOWERSHAREFEATUREACTION']._serialized_end=37766 - _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_start=37669 - _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_end=37766 - _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_start=37768 - _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_end=37839 - _globals['_SETPOWERSHAREREQUESTACTION']._serialized_start=37842 - _globals['_SETPOWERSHAREREQUESTACTION']._serialized_end=38046 - _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_start=37972 - _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_end=38046 - _globals['_SETTENTMODEREQUESTACTION']._serialized_start=38048 - _globals['_SETTENTMODEREQUESTACTION']._serialized_end=38086 - _globals['_SETZONELIGHTREQUESTACTION']._serialized_start=38089 - _globals['_SETZONELIGHTREQUESTACTION']._serialized_end=38348 - _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_start=38217 - _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_end=38348 - _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_start=38350 - _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_end=38407 - _globals['_SETLIGHTBARMIDDLEACTION']._serialized_start=38409 - _globals['_SETLIGHTBARMIDDLEACTION']._serialized_end=38464 - _globals['_SETLIGHTBARDITCHACTION']._serialized_start=38466 - _globals['_SETLIGHTBARDITCHACTION']._serialized_end=38520 - _globals['_GETMESSAGESACTION']._serialized_start=38522 - _globals['_GETMESSAGESACTION']._serialized_end=38541 - _globals['_TESLAAUTHRESPONSEACTION']._serialized_start=38544 - _globals['_TESLAAUTHRESPONSEACTION']._serialized_end=38711 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_start=38714 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_end=39049 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_start=29728 - _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_end=29887 - _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_start=39051 - _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_end=39096 - _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_start=39098 - _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_end=39135 - _globals['_PARENTALCONTROLSACTION']._serialized_start=39137 - _globals['_PARENTALCONTROLSACTION']._serialized_end=39192 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_start=39195 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_end=39511 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING_E']._serialized_start=39359 - _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING_E']._serialized_end=39511 - _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_start=39513 - _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_end=39569 - _globals['_CANCELSOHTESTACTION']._serialized_start=39571 - _globals['_CANCELSOHTESTACTION']._serialized_end=39592 - _globals['_STOPLIGHTSHOWACTION']._serialized_start=39594 - _globals['_STOPLIGHTSHOWACTION']._serialized_end=39615 - _globals['_STARTLIGHTSHOWACTION']._serialized_start=39617 - _globals['_STARTLIGHTSHOWACTION']._serialized_end=39716 - _globals['_SETSUSPENSIONLEVELACTION']._serialized_start=39719 - _globals['_SETSUSPENSIONLEVELACTION']._serialized_end=40061 - _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_start=39842 - _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_end=40061 - _globals['_SETDISCHARGELIMITACTION']._serialized_start=40063 - _globals['_SETDISCHARGELIMITACTION']._serialized_end=40113 - _globals['_SETLOWPOWERMODEACTION']._serialized_start=40115 - _globals['_SETLOWPOWERMODEACTION']._serialized_end=40162 - _globals['_SETTEMPERATUREUNITACTION']._serialized_start=40165 - _globals['_SETTEMPERATUREUNITACTION']._serialized_end=40309 - _globals['_SETTEMPERATUREUNITACTION_UNIT']._serialized_start=40264 - _globals['_SETTEMPERATUREUNITACTION_UNIT']._serialized_end=40309 - _globals['_SETDISTANCEUNITACTION']._serialized_start=40312 - _globals['_SETDISTANCEUNITACTION']._serialized_end=40448 - _globals['_SETDISTANCEUNITACTION_UNIT']._serialized_start=40405 - _globals['_SETDISTANCEUNITACTION_UNIT']._serialized_end=40448 - _globals['_SETTIMEDISPLAYFORMATACTION']._serialized_start=40451 - _globals['_SETTIMEDISPLAYFORMATACTION']._serialized_end=40606 - _globals['_SETTIMEDISPLAYFORMATACTION_FORMAT']._serialized_start=40558 - _globals['_SETTIMEDISPLAYFORMATACTION_FORMAT']._serialized_end=40606 - _globals['_SETTIREPRESSUREUNITACTION']._serialized_start=40609 - _globals['_SETTIREPRESSUREUNITACTION']._serialized_end=40744 - _globals['_SETTIREPRESSUREUNITACTION_UNIT']._serialized_start=40710 - _globals['_SETTIREPRESSUREUNITACTION_UNIT']._serialized_end=40744 - _globals['_SETENERGYDISPLAYFORMATACTION']._serialized_start=40747 - _globals['_SETENERGYDISPLAYFORMATACTION']._serialized_end=40910 - _globals['_SETENERGYDISPLAYFORMATACTION_FORMAT']._serialized_start=40858 - _globals['_SETENERGYDISPLAYFORMATACTION_FORMAT']._serialized_end=40910 - _globals['_DISPLAYSTATEACTION']._serialized_start=40912 - _globals['_DISPLAYSTATEACTION']._serialized_end=41019 - _globals['_SETKEEPACCESSORYPOWERMODEACTION']._serialized_start=41021 - _globals['_SETKEEPACCESSORYPOWERMODEACTION']._serialized_end=41089 - _globals['_SETUPCLOUDPROFILEWITHLOCALPROFILEUUIDACTION']._serialized_start=41092 - _globals['_SETUPCLOUDPROFILEWITHLOCALPROFILEUUIDACTION']._serialized_end=41233 - _globals['_GETLOCALPROFILESFORVAULTUUIDACTION']._serialized_start=41235 - _globals['_GETLOCALPROFILESFORVAULTUUIDACTION']._serialized_end=41291 - _globals['_FETCHKEYSINFOACTION']._serialized_start=41293 - _globals['_FETCHKEYSINFOACTION']._serialized_end=41314 - _globals['_DELETEDASHCAMCLIPSACTION']._serialized_start=41316 - _globals['_DELETEDASHCAMCLIPSACTION']._serialized_end=41364 - _globals['_FORMATUSBACTION']._serialized_start=41366 - _globals['_FORMATUSBACTION']._serialized_end=41403 - _globals['_BANDWIDTHTEST']._serialized_start=41405 - _globals['_BANDWIDTHTEST']._serialized_end=41444 - _globals['_PHONEUNITPREFERENCES']._serialized_start=41447 - _globals['_PHONEUNITPREFERENCES']._serialized_end=41629 - _globals['_SETPHONESETTINGPREFERENCESACTION']._serialized_start=41632 - _globals['_SETPHONESETTINGPREFERENCESACTION']._serialized_end=41902 - _globals['_SETPHONESETTINGPREFERENCESACTION_FONTSIZE']._serialized_start=41847 - _globals['_SETPHONESETTINGPREFERENCESACTION_FONTSIZE']._serialized_end=41902 - _globals['_CANCELVEHICLEDATASUBSCRIPTION']._serialized_start=41904 - _globals['_CANCELVEHICLEDATASUBSCRIPTION']._serialized_end=41935 - _globals['_SETUPKEEPUSERNAMEACTION']._serialized_start=41937 - _globals['_SETUPKEEPUSERNAMEACTION']._serialized_end=41980 - _globals['_DRIVINGSETCRUISESPEEDLIMITACTION']._serialized_start=41982 - _globals['_DRIVINGSETCRUISESPEEDLIMITACTION']._serialized_end=42034 - _globals['_SETDECKLIGHTACTION']._serialized_start=42036 - _globals['_SETDECKLIGHTACTION']._serialized_end=42068 + _globals['_VEHICLEACTION']._serialized_end=12723 + _globals['_GETVEHICLEDATA']._serialized_start=12726 + _globals['_GETVEHICLEDATA']._serialized_end=14704 + _globals['_GETGUISETTINGS']._serialized_start=14706 + _globals['_GETGUISETTINGS']._serialized_end=14722 + _globals['_GETKEEPONACCESSORYPORTSSTATE']._serialized_start=14724 + _globals['_GETKEEPONACCESSORYPORTSSTATE']._serialized_end=14754 + _globals['_GETLEGACYVEHICLESTATE']._serialized_start=14756 + _globals['_GETLEGACYVEHICLESTATE']._serialized_end=14779 + _globals['_GETVEHICLECONFIG']._serialized_start=14781 + _globals['_GETVEHICLECONFIG']._serialized_end=14799 + _globals['_GETSOHSTATE']._serialized_start=14801 + _globals['_GETSOHSTATE']._serialized_end=14814 + _globals['_GETVEHICLEDETAILSTATE']._serialized_start=14816 + _globals['_GETVEHICLEDETAILSTATE']._serialized_end=14839 + _globals['_GETPARKEDACCESSORYSTATE']._serialized_start=14841 + _globals['_GETPARKEDACCESSORYSTATE']._serialized_end=14866 + _globals['_GETVEHICLESTATE']._serialized_start=14868 + _globals['_GETVEHICLESTATE']._serialized_end=14885 + _globals['_GETALERTSTATE']._serialized_start=14887 + _globals['_GETALERTSTATE']._serialized_end=14902 + _globals['_GETLIGHTSHOWSTATE']._serialized_start=14904 + _globals['_GETLIGHTSHOWSTATE']._serialized_end=14923 + _globals['_GETVEHICLEIMAGESTATE']._serialized_start=14925 + _globals['_GETVEHICLEIMAGESTATE']._serialized_end=15017 + _globals['_GETSUSPENSIONSTATE']._serialized_start=15019 + _globals['_GETSUSPENSIONSTATE']._serialized_end=15039 + _globals['_GETCHILDPRESENCEDETECTIONSTATE']._serialized_start=15041 + _globals['_GETCHILDPRESENCEDETECTIONSTATE']._serialized_end=15073 + _globals['_GETDISPLAYSTATE']._serialized_start=15075 + _globals['_GETDISPLAYSTATE']._serialized_end=15092 + _globals['_VEHICLEIMAGEDATACHUNKREQUEST']._serialized_start=15094 + _globals['_VEHICLEIMAGEDATACHUNKREQUEST']._serialized_end=15166 + _globals['_VEHICLEIMAGEREQUEST']._serialized_start=15169 + _globals['_VEHICLEIMAGEREQUEST']._serialized_end=15432 + _globals['_VEHICLEIMAGEREQUEST_TYPE']._serialized_start=15408 + _globals['_VEHICLEIMAGEREQUEST_TYPE']._serialized_end=15432 + _globals['_MOBILEIMAGEUPLOADPARAMS']._serialized_start=15435 + _globals['_MOBILEIMAGEUPLOADPARAMS']._serialized_end=15581 + _globals['_MOBILEUPLOADPARAMS']._serialized_start=15583 + _globals['_MOBILEUPLOADPARAMS']._serialized_end=15645 + _globals['_PREPAREMOBILEUPLOADACTION']._serialized_start=15648 + _globals['_PREPAREMOBILEUPLOADACTION']._serialized_end=15861 + _globals['_PREPAREMOBILEUPLOADRESPONSE']._serialized_start=15864 + _globals['_PREPAREMOBILEUPLOADRESPONSE']._serialized_end=16248 + _globals['_PREPAREMOBILEUPLOADRESPONSE_STATUS']._serialized_start=16014 + _globals['_PREPAREMOBILEUPLOADRESPONSE_STATUS']._serialized_end=16248 + _globals['_PUTMOBILEUPLOADCHUNKACTION']._serialized_start=16250 + _globals['_PUTMOBILEUPLOADCHUNKACTION']._serialized_end=16336 + _globals['_PUTMOBILEUPLOADCHUNKRESPONSE']._serialized_start=16339 + _globals['_PUTMOBILEUPLOADCHUNKRESPONSE']._serialized_end=16641 + _globals['_PUTMOBILEUPLOADCHUNKRESPONSE_STATUS']._serialized_start=16471 + _globals['_PUTMOBILEUPLOADCHUNKRESPONSE_STATUS']._serialized_end=16641 + _globals['_DOGMODELIVEACTIVITYDATA']._serialized_start=16644 + _globals['_DOGMODELIVEACTIVITYDATA']._serialized_end=17304 + _globals['_DOGMODELIVEACTIVITYDATA_DOGMODEIMAGEDATA']._serialized_start=17123 + _globals['_DOGMODELIVEACTIVITYDATA_DOGMODEIMAGEDATA']._serialized_end=17176 + _globals['_DOGMODELIVEACTIVITYDATA_DISABLEDREASON']._serialized_start=17178 + _globals['_DOGMODELIVEACTIVITYDATA_DISABLEDREASON']._serialized_end=17304 + _globals['_GETTIREPRESSURESTATE']._serialized_start=17306 + _globals['_GETTIREPRESSURESTATE']._serialized_end=17328 + _globals['_GETMEDIASTATE']._serialized_start=17330 + _globals['_GETMEDIASTATE']._serialized_end=17345 + _globals['_GETMEDIADETAILSTATE']._serialized_start=17347 + _globals['_GETMEDIADETAILSTATE']._serialized_end=17368 + _globals['_GETSOFTWAREUPDATESTATE']._serialized_start=17370 + _globals['_GETSOFTWAREUPDATESTATE']._serialized_end=17394 + _globals['_GETCHARGESTATE']._serialized_start=17396 + _globals['_GETCHARGESTATE']._serialized_end=17412 + _globals['_GETCLIMATESTATE']._serialized_start=17414 + _globals['_GETCLIMATESTATE']._serialized_end=17431 + _globals['_GETDRIVESTATE']._serialized_start=17433 + _globals['_GETDRIVESTATE']._serialized_end=17448 + _globals['_GETLOCATIONSTATE']._serialized_start=17450 + _globals['_GETLOCATIONSTATE']._serialized_end=17468 + _globals['_GETCLOSURESSTATE']._serialized_start=17470 + _globals['_GETCLOSURESSTATE']._serialized_end=17488 + _globals['_GETCHARGESCHEDULESTATE']._serialized_start=17490 + _globals['_GETCHARGESCHEDULESTATE']._serialized_end=17514 + _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_start=17516 + _globals['_GETPRECONDITIONINGSCHEDULESTATE']._serialized_end=17549 + _globals['_GETPARENTALCONTROLSSTATE']._serialized_start=17551 + _globals['_GETPARENTALCONTROLSSTATE']._serialized_end=17577 + _globals['_ERASEUSERDATAACTION']._serialized_start=17579 + _globals['_ERASEUSERDATAACTION']._serialized_end=17641 + _globals['_RESPONSE']._serialized_start=17644 + _globals['_RESPONSE']._serialized_end=19401 + _globals['_VEHICLEDATASUBSCRIPTIONRESPONSE']._serialized_start=19403 + _globals['_VEHICLEDATASUBSCRIPTIONRESPONSE']._serialized_end=19519 + _globals['_VITALSSUBSCRIPTIONRESPONSE']._serialized_start=19521 + _globals['_VITALSSUBSCRIPTIONRESPONSE']._serialized_end=19584 + _globals['_PIIKEYRESPONSE']._serialized_start=19587 + _globals['_PIIKEYRESPONSE']._serialized_end=19756 + _globals['_PSEUDONYMSYNCRESPONSE']._serialized_start=19758 + _globals['_PSEUDONYMSYNCRESPONSE']._serialized_end=19800 + _globals['_NAVIGATIONROUTERESPONSE']._serialized_start=19803 + _globals['_NAVIGATIONROUTERESPONSE']._serialized_end=20172 + _globals['_NAVIGATIONROUTERESPONSE_TRAFFICDETAIL']._serialized_start=19935 + _globals['_NAVIGATIONROUTERESPONSE_TRAFFICDETAIL']._serialized_end=20063 + _globals['_NAVIGATIONROUTERESPONSE_TRAFFICSTATUS']._serialized_start=20065 + _globals['_NAVIGATIONROUTERESPONSE_TRAFFICSTATUS']._serialized_end=20172 + _globals['_GETMANAGEDCHARGINGSITESRESPONSE']._serialized_start=20174 + _globals['_GETMANAGEDCHARGINGSITESRESPONSE']._serialized_end=20269 + _globals['_MANAGEDCHARGINGSITEADDEDORUPDATED']._serialized_start=20271 + _globals['_MANAGEDCHARGINGSITEADDEDORUPDATED']._serialized_end=20306 + _globals['_EXISTINGMANAGEDCHARGINGSITENEARBY']._serialized_start=20308 + _globals['_EXISTINGMANAGEDCHARGINGSITENEARBY']._serialized_end=20343 + _globals['_ADDMANAGEDCHARGINGSITERESPONSE']._serialized_start=20346 + _globals['_ADDMANAGEDCHARGINGSITERESPONSE']._serialized_end=20556 + _globals['_REQUESTTESLAAUTHCOMMAND']._serialized_start=20558 + _globals['_REQUESTTESLAAUTHCOMMAND']._serialized_end=20646 + _globals['_MOBILEAPPMESSAGE']._serialized_start=20648 + _globals['_MOBILEAPPMESSAGE']._serialized_end=20753 + _globals['_GETMESSAGESRESPONSE']._serialized_start=20755 + _globals['_GETMESSAGESRESPONSE']._serialized_end=20849 + _globals['_PROFILE']._serialized_start=20851 + _globals['_PROFILE']._serialized_end=20888 + _globals['_GETLOCALPROFILESRESPONSE']._serialized_start=20890 + _globals['_GETLOCALPROFILESRESPONSE']._serialized_end=20969 + _globals['_KEYINFO']._serialized_start=20972 + _globals['_KEYINFO']._serialized_end=21176 + _globals['_KEYSINFORESPONSE']._serialized_start=21178 + _globals['_KEYSINFORESPONSE']._serialized_end=21250 + _globals['_BANDWIDTHTESTRESPONSE']._serialized_start=21252 + _globals['_BANDWIDTHTESTRESPONSE']._serialized_end=21313 + _globals['_GETRATETARIFFRESPONSE']._serialized_start=21316 + _globals['_GETRATETARIFFRESPONSE']._serialized_end=21556 + _globals['_ACTIONSTATUS']._serialized_start=21559 + _globals['_ACTIONSTATUS']._serialized_end=21697 + _globals['_RESULTREASON']._serialized_start=21699 + _globals['_RESULTREASON']._serialized_end=21745 + _globals['_ENCRYPTEDDATA']._serialized_start=21747 + _globals['_ENCRYPTEDDATA']._serialized_end=21817 + _globals['_CHARGINGSETLIMITACTION']._serialized_start=21819 + _globals['_CHARGINGSETLIMITACTION']._serialized_end=21878 + _globals['_CHARGINGSTARTSTOPACTION']._serialized_start=21881 + _globals['_CHARGINGSTARTSTOPACTION']._serialized_end=22190 + _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_start=22192 + _globals['_DRIVINGCLEARSPEEDLIMITPINACTION']._serialized_end=22238 + _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_start=22240 + _globals['_DRIVINGSETSPEEDLIMITACTION']._serialized_end=22287 + _globals['_DRIVINGSPEEDLIMITACTION']._serialized_start=22289 + _globals['_DRIVINGSPEEDLIMITACTION']._serialized_end=22345 + _globals['_HVACAUTOACTION']._serialized_start=22347 + _globals['_HVACAUTOACTION']._serialized_end=22406 + _globals['_HVACSEATHEATERACTIONS']._serialized_start=22409 + _globals['_HVACSEATHEATERACTIONS']._serialized_end=23541 + _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_start=22535 + _globals['_HVACSEATHEATERACTIONS_HVACSEATHEATERACTION']._serialized_end=23541 + _globals['_HVACSEATCOOLERACTIONS']._serialized_start=23544 + _globals['_HVACSEATCOOLERACTIONS']._serialized_end=24290 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_start=23670 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERACTION']._serialized_end=23887 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_start=23890 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERLEVEL_E']._serialized_end=24063 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_start=24066 + _globals['_HVACSEATCOOLERACTIONS_HVACSEATCOOLERPOSITION_E']._serialized_end=24290 + _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_start=24293 + _globals['_HVACSETPRECONDITIONINGMAXACTION']._serialized_end=24530 + _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_start=24475 + _globals['_HVACSETPRECONDITIONINGMAXACTION_MANUALOVERRIDEMODE_E']._serialized_end=24530 + _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_start=24532 + _globals['_HVACSTEERINGWHEELHEATERACTION']._serialized_end=24581 + _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_start=24584 + _globals['_HVACTEMPERATUREADJUSTMENTACTION']._serialized_end=25410 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_start=24949 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_TEMPERATURE']._serialized_end=25130 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_start=25133 + _globals['_HVACTEMPERATUREADJUSTMENTACTION_HVACTEMPERATUREZONE']._serialized_end=25410 + _globals['_GETNEARBYCHARGINGSITES']._serialized_start=25412 + _globals['_GETNEARBYCHARGINGSITES']._serialized_end=25494 + _globals['_NEARBYCHARGINGSITES']._serialized_start=25497 + _globals['_NEARBYCHARGINGSITES']._serialized_end=25745 + _globals['_DESTINATIONCHARGING']._serialized_start=25748 + _globals['_DESTINATIONCHARGING']._serialized_end=26022 + _globals['_SUPERCHARGERS']._serialized_start=26025 + _globals['_SUPERCHARGERS']._serialized_end=26499 + _globals['_MEDIAPLAYACTION']._serialized_start=26501 + _globals['_MEDIAPLAYACTION']._serialized_end=26596 + _globals['_MEDIAUPDATEVOLUME']._serialized_start=26598 + _globals['_MEDIAUPDATEVOLUME']._serialized_end=26696 + _globals['_MEDIANEXTFAVORITE']._serialized_start=26698 + _globals['_MEDIANEXTFAVORITE']._serialized_end=26717 + _globals['_MEDIAPREVIOUSFAVORITE']._serialized_start=26719 + _globals['_MEDIAPREVIOUSFAVORITE']._serialized_end=26742 + _globals['_MEDIANEXTTRACK']._serialized_start=26744 + _globals['_MEDIANEXTTRACK']._serialized_end=26760 + _globals['_MEDIAPREVIOUSTRACK']._serialized_start=26762 + _globals['_MEDIAPREVIOUSTRACK']._serialized_end=26782 + _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_start=26784 + _globals['_VEHICLECONTROLCANCELSOFTWAREUPDATEACTION']._serialized_end=26826 + _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_start=26828 + _globals['_VEHICLECONTROLFLASHLIGHTSACTION']._serialized_end=26861 + _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_start=26863 + _globals['_VEHICLECONTROLHONKHORNACTION']._serialized_end=26893 + _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_start=26895 + _globals['_VEHICLECONTROLRESETVALETPINACTION']._serialized_end=26930 + _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_start=26932 + _globals['_VEHICLECONTROLSCHEDULESOFTWAREUPDATEACTION']._serialized_end=26996 + _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_start=26998 + _globals['_VEHICLECONTROLSETSENTRYMODEACTION']._serialized_end=27045 + _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_start=27047 + _globals['_VEHICLECONTROLSETVALETMODEACTION']._serialized_end=27111 + _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_start=27114 + _globals['_VEHICLECONTROLSUNROOFOPENCLOSEACTION']._serialized_end=27373 + _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_start=27375 + _globals['_VEHICLECONTROLTRIGGERHOMELINKACTION']._serialized_end=27480 + _globals['_VEHICLECONTROLWINDOWACTION']._serialized_start=27483 + _globals['_VEHICLECONTROLWINDOWACTION']._serialized_end=27675 + _globals['_HVACBIOWEAPONMODEACTION']._serialized_start=27677 + _globals['_HVACBIOWEAPONMODEACTION']._serialized_end=27739 + _globals['_AUTOSEATCLIMATEACTION']._serialized_start=27742 + _globals['_AUTOSEATCLIMATEACTION']._serialized_end=28070 + _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_start=27841 + _globals['_AUTOSEATCLIMATEACTION_CARSEAT']._serialized_end=27953 + _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_start=27955 + _globals['_AUTOSEATCLIMATEACTION_AUTOSEATPOSITION_E']._serialized_end=28070 + _globals['_PING']._serialized_start=28073 + _globals['_PING']._serialized_end=28208 + _globals['_SCHEDULEDCHARGINGACTION']._serialized_start=28210 + _globals['_SCHEDULEDCHARGINGACTION']._serialized_end=28275 + _globals['_SCHEDULEDDEPARTUREACTION']._serialized_start=28278 + _globals['_SCHEDULEDDEPARTUREACTION']._serialized_end=28538 + _globals['_HVACCLIMATEKEEPERACTION']._serialized_start=28541 + _globals['_HVACCLIMATEKEEPERACTION']._serialized_end=28979 + _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_start=28798 + _globals['_HVACCLIMATEKEEPERACTION_CLIMATEKEEPERACTION_E']._serialized_end=28937 + _globals['_HVACCLIMATEKEEPERACTION_MANUALOVERRIDEMODE_E']._serialized_start=28939 + _globals['_HVACCLIMATEKEEPERACTION_MANUALOVERRIDEMODE_E']._serialized_end=28979 + _globals['_HVACRECIRCULATIONACTION']._serialized_start=28981 + _globals['_HVACRECIRCULATIONACTION']._serialized_end=29018 + _globals['_SETCHARGINGAMPSACTION']._serialized_start=29020 + _globals['_SETCHARGINGAMPSACTION']._serialized_end=29066 + _globals['_REMOVECHARGESCHEDULEACTION']._serialized_start=29068 + _globals['_REMOVECHARGESCHEDULEACTION']._serialized_end=29108 + _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_start=29110 + _globals['_BATCHREMOVECHARGESCHEDULESACTION']._serialized_end=29187 + _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_start=29189 + _globals['_BATCHREMOVEPRECONDITIONSCHEDULESACTION']._serialized_end=29272 + _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_start=29274 + _globals['_REMOVEPRECONDITIONSCHEDULEACTION']._serialized_end=29320 + _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_start=29322 + _globals['_SETCABINOVERHEATPROTECTIONACTION']._serialized_end=29386 + _globals['_SETVEHICLENAMEACTION']._serialized_start=29388 + _globals['_SETVEHICLENAMEACTION']._serialized_end=29431 + _globals['_CHARGEPORTDOORCLOSE']._serialized_start=29433 + _globals['_CHARGEPORTDOORCLOSE']._serialized_end=29454 + _globals['_CHARGEPORTDOOROPEN']._serialized_start=29456 + _globals['_CHARGEPORTDOOROPEN']._serialized_end=29476 + _globals['_BOOMBOXACTION']._serialized_start=29478 + _globals['_BOOMBOXACTION']._serialized_end=29508 + _globals['_SETCOPTEMPACTION']._serialized_start=29510 + _globals['_SETCOPTEMPACTION']._serialized_end=29613 + _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_start=29615 + _globals['_VEHICLECONTROLSETPINTODRIVEACTION']._serialized_end=29680 + _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_start=29682 + _globals['_VEHICLECONTROLRESETPINTODRIVEACTION']._serialized_end=29719 + _globals['_REMOTESTARTDRIVE']._serialized_start=29721 + _globals['_REMOTESTARTDRIVE']._serialized_end=29739 + _globals['_CREATESTREAMSESSION']._serialized_start=29741 + _globals['_CREATESTREAMSESSION']._serialized_end=29782 + _globals['_STREAMMESSAGE']._serialized_start=29784 + _globals['_STREAMMESSAGE']._serialized_end=29833 + _globals['_NAVIGATIONREQUEST']._serialized_start=29835 + _globals['_NAVIGATIONREQUEST']._serialized_end=29890 + _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_start=29893 + _globals['_NAVIGATIONSUPERCHARGERREQUEST']._serialized_end=30212 + _globals['_NAVIGATIONSUPERCHARGERREQUEST_REMOTENAVTRIPORDER']._serialized_start=30046 + _globals['_NAVIGATIONSUPERCHARGERREQUEST_REMOTENAVTRIPORDER']._serialized_end=30205 + _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_start=30214 + _globals['_UISETUPCOMINGCALENDARENTRIES']._serialized_end=30267 + _globals['_VEHICLEDATASUBSCRIPTION']._serialized_start=30270 + _globals['_VEHICLEDATASUBSCRIPTION']._serialized_end=31234 + _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_start=31188 + _globals['_VEHICLEDATASUBSCRIPTION_PIIKEYREQUEST']._serialized_end=31234 + _globals['_VEHICLEDATAACK']._serialized_start=31237 + _globals['_VEHICLEDATAACK']._serialized_end=32177 + _globals['_VITALSSUBSCRIPTION']._serialized_start=32179 + _globals['_VITALSSUBSCRIPTION']._serialized_end=32219 + _globals['_VITALSACK']._serialized_start=32221 + _globals['_VITALSACK']._serialized_end=32232 + _globals['_DASHCAMSAVECLIPACTION']._serialized_start=32234 + _globals['_DASHCAMSAVECLIPACTION']._serialized_end=32257 + _globals['_PIIKEYREQUEST']._serialized_start=32259 + _globals['_PIIKEYREQUEST']._serialized_end=32361 + _globals['_PSEUDONYMSYNCREQUEST']._serialized_start=32363 + _globals['_PSEUDONYMSYNCREQUEST']._serialized_end=32422 + _globals['_NAVIGATIONGPSREQUEST']._serialized_start=32425 + _globals['_NAVIGATIONGPSREQUEST']._serialized_end=32717 + _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_start=30046 + _globals['_NAVIGATIONGPSREQUEST_REMOTENAVTRIPORDER']._serialized_end=30205 + _globals['_SETRATETARIFFREQUEST']._serialized_start=32720 + _globals['_SETRATETARIFFREQUEST']._serialized_end=35621 + _globals['_SETRATETARIFFREQUEST_TOUPERIOD']._serialized_start=33398 + _globals['_SETRATETARIFFREQUEST_TOUPERIOD']._serialized_end=33535 + _globals['_SETRATETARIFFREQUEST_TOUPERIODS']._serialized_start=33538 + _globals['_SETRATETARIFFREQUEST_TOUPERIODS']._serialized_end=33863 + _globals['_SETRATETARIFFREQUEST_SEASON']._serialized_start=33866 + _globals['_SETRATETARIFFREQUEST_SEASON']._serialized_end=34026 + _globals['_SETRATETARIFFREQUEST_SEASONS']._serialized_start=34029 + _globals['_SETRATETARIFFREQUEST_SEASONS']._serialized_end=34396 + _globals['_SETRATETARIFFREQUEST_FIXEDCHARGE']._serialized_start=34398 + _globals['_SETRATETARIFFREQUEST_FIXEDCHARGE']._serialized_end=34424 + _globals['_SETRATETARIFFREQUEST_RATEBAND']._serialized_start=34426 + _globals['_SETRATETARIFFREQUEST_RATEBAND']._serialized_end=34530 + _globals['_SETRATETARIFFREQUEST_DAILYCHARGE']._serialized_start=34532 + _globals['_SETRATETARIFFREQUEST_DAILYCHARGE']._serialized_end=34575 + _globals['_SETRATETARIFFREQUEST_CHARGES']._serialized_start=34578 + _globals['_SETRATETARIFFREQUEST_CHARGES']._serialized_end=35028 + _globals['_SETRATETARIFFREQUEST_TARIFF']._serialized_start=35031 + _globals['_SETRATETARIFFREQUEST_TARIFF']._serialized_end=35621 + _globals['_GETRATETARIFFREQUEST']._serialized_start=35623 + _globals['_GETRATETARIFFREQUEST']._serialized_end=35645 + _globals['_VIDEOREQUESTACTION']._serialized_start=35647 + _globals['_VIDEOREQUESTACTION']._serialized_end=35680 + _globals['_TAKEDRIVENOTEACTION']._serialized_start=35682 + _globals['_TAKEDRIVENOTEACTION']._serialized_end=35717 + _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_start=35719 + _globals['_BLUETOOTHCLASSICPAIRINGREQUEST']._serialized_end=35791 + _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_start=35793 + _globals['_ADDMANAGEDCHARGINGSITEREQUEST']._serialized_end=35885 + _globals['_MANAGEDCHARGINGSITE']._serialized_start=35888 + _globals['_MANAGEDCHARGINGSITE']._serialized_end=36042 + _globals['_MANAGERTYPE']._serialized_start=36044 + _globals['_MANAGERTYPE']._serialized_end=36124 + _globals['_SITECONTROLLER']._serialized_start=36126 + _globals['_SITECONTROLLER']._serialized_end=36155 + _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_start=36157 + _globals['_REMOVEMANAGEDCHARGINGSITEREQUEST']._serialized_end=36211 + _globals['_NAVIGATIONROUTEACTION']._serialized_start=36213 + _globals['_NAVIGATIONROUTEACTION']._serialized_end=36236 + _globals['_AUTOSTWHEATACTION']._serialized_start=36238 + _globals['_AUTOSTWHEATACTION']._serialized_end=36269 + _globals['_STWHEATLEVELACTION']._serialized_start=36271 + _globals['_STWHEATLEVELACTION']._serialized_end=36355 + _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_start=36357 + _globals['_GETMANAGEDCHARGINGSITESREQUEST']._serialized_end=36389 + _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_start=36391 + _globals['_UPDATECHARGEONSOLARFEATUREREQUEST']._serialized_end=36499 + _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_start=36501 + _globals['_GETCHARGEONSOLARFEATUREREQUEST']._serialized_end=36533 + _globals['_GETCHARGEONSOLARFEATURERESPONSE']._serialized_start=36535 + _globals['_GETCHARGEONSOLARFEATURERESPONSE']._serialized_end=36641 + _globals['_CHARGEONSOLARFEATURE']._serialized_start=36643 + _globals['_CHARGEONSOLARFEATURE']._serialized_end=36738 + _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_start=36740 + _globals['_DRIVINGCLEARSPEEDLIMITPINADMINACTION']._serialized_end=36778 + _globals['_SETOUTLETSONOFFACTION']._serialized_start=36781 + _globals['_SETOUTLETSONOFFACTION']._serialized_end=36992 + _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_start=36893 + _globals['_SETOUTLETSONOFFACTION_OUTLETREQUEST']._serialized_end=36992 + _globals['_SETOUTLETTIMERACTION']._serialized_start=36994 + _globals['_SETOUTLETTIMERACTION']._serialized_end=37037 + _globals['_SETOUTLETSOCLIMITACTION']._serialized_start=37039 + _globals['_SETOUTLETSOCLIMITACTION']._serialized_end=37081 + _globals['_SETPOWERFEEDONOFFACTION']._serialized_start=37084 + _globals['_SETPOWERFEEDONOFFACTION']._serialized_end=37358 + _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_start=37208 + _globals['_SETPOWERFEEDONOFFACTION_POWERFEEDREQUEST']._serialized_end=37358 + _globals['_SETPOWERFEEDTIMERACTION']._serialized_start=37360 + _globals['_SETPOWERFEEDTIMERACTION']._serialized_end=37406 + _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_start=37408 + _globals['_SETPOWERFEEDSOCLIMITACTION']._serialized_end=37453 + _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_start=37455 + _globals['_SETTRAILERLIGHTTESTSTARTSTOPACTION']._serialized_end=37511 + _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_start=37513 + _globals['_SETTRUCKBEDLIGHTAUTOSTATEACTION']._serialized_end=37567 + _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_start=37569 + _globals['_SETTRUCKBEDLIGHTBRIGHTNESSACTION']._serialized_end=37623 + _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_start=37625 + _globals['_VEHICLECONTROLRESETPINTODRIVEADMINACTION']._serialized_end=37667 + _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_start=37670 + _globals['_NAVIGATIONWAYPOINTSREQUEST']._serialized_end=37897 + _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_start=37816 + _globals['_NAVIGATIONWAYPOINTSREQUEST_TRIPPLANOPTIONS']._serialized_end=37897 + _globals['_SETPOWERSHAREFEATUREACTION']._serialized_start=37900 + _globals['_SETPOWERSHAREFEATUREACTION']._serialized_end=38142 + _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_start=38045 + _globals['_SETPOWERSHAREFEATUREACTION_POWERSHAREFEATUREREQUEST']._serialized_end=38142 + _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_start=38144 + _globals['_SETPOWERSHAREDISCHARGELIMITACTION']._serialized_end=38215 + _globals['_SETPOWERSHAREREQUESTACTION']._serialized_start=38218 + _globals['_SETPOWERSHAREREQUESTACTION']._serialized_end=38422 + _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_start=38348 + _globals['_SETPOWERSHAREREQUESTACTION_POWERSHAREREQUEST']._serialized_end=38422 + _globals['_SETTENTMODEREQUESTACTION']._serialized_start=38424 + _globals['_SETTENTMODEREQUESTACTION']._serialized_end=38462 + _globals['_SETZONELIGHTREQUESTACTION']._serialized_start=38465 + _globals['_SETZONELIGHTREQUESTACTION']._serialized_end=38724 + _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_start=38593 + _globals['_SETZONELIGHTREQUESTACTION_ZONELIGHTREQUEST']._serialized_end=38724 + _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_start=38726 + _globals['_SETLIGHTBARBRIGHTNESSACTION']._serialized_end=38783 + _globals['_SETLIGHTBARMIDDLEACTION']._serialized_start=38785 + _globals['_SETLIGHTBARMIDDLEACTION']._serialized_end=38840 + _globals['_SETLIGHTBARDITCHACTION']._serialized_start=38842 + _globals['_SETLIGHTBARDITCHACTION']._serialized_end=38896 + _globals['_GETMESSAGESACTION']._serialized_start=38898 + _globals['_GETMESSAGESACTION']._serialized_end=38917 + _globals['_TESLAAUTHRESPONSEACTION']._serialized_start=38920 + _globals['_TESLAAUTHRESPONSEACTION']._serialized_end=39087 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_start=39090 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST']._serialized_end=39425 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_start=30046 + _globals['_NAVIGATIONGPSDESTINATIONREQUEST_REMOTENAVTRIPORDER']._serialized_end=30205 + _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_start=39427 + _globals['_PARENTALCONTROLSCLEARPINACTION']._serialized_end=39472 + _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_start=39474 + _globals['_PARENTALCONTROLSCLEARPINADMINACTION']._serialized_end=39511 + _globals['_PARENTALCONTROLSACTION']._serialized_start=39513 + _globals['_PARENTALCONTROLSACTION']._serialized_end=39568 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_start=39571 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION']._serialized_end=39887 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING_E']._serialized_start=39735 + _globals['_PARENTALCONTROLSENABLESETTINGSACTION_PARENTALCONTROLSSETTING_E']._serialized_end=39887 + _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_start=39889 + _globals['_PARENTALCONTROLSSETSPEEDLIMITACTION']._serialized_end=39945 + _globals['_CANCELSOHTESTACTION']._serialized_start=39947 + _globals['_CANCELSOHTESTACTION']._serialized_end=39968 + _globals['_STOPLIGHTSHOWACTION']._serialized_start=39970 + _globals['_STOPLIGHTSHOWACTION']._serialized_end=39991 + _globals['_STARTLIGHTSHOWACTION']._serialized_start=39993 + _globals['_STARTLIGHTSHOWACTION']._serialized_end=40092 + _globals['_SETSUSPENSIONLEVELACTION']._serialized_start=40095 + _globals['_SETSUSPENSIONLEVELACTION']._serialized_end=40437 + _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_start=40218 + _globals['_SETSUSPENSIONLEVELACTION_SUSPENSIONLEVEL']._serialized_end=40437 + _globals['_SETDISCHARGELIMITACTION']._serialized_start=40439 + _globals['_SETDISCHARGELIMITACTION']._serialized_end=40489 + _globals['_SETLOWPOWERMODEACTION']._serialized_start=40491 + _globals['_SETLOWPOWERMODEACTION']._serialized_end=40538 + _globals['_SETTEMPERATUREUNITACTION']._serialized_start=40541 + _globals['_SETTEMPERATUREUNITACTION']._serialized_end=40685 + _globals['_SETTEMPERATUREUNITACTION_UNIT']._serialized_start=40640 + _globals['_SETTEMPERATUREUNITACTION_UNIT']._serialized_end=40685 + _globals['_SETDISTANCEUNITACTION']._serialized_start=40688 + _globals['_SETDISTANCEUNITACTION']._serialized_end=40824 + _globals['_SETDISTANCEUNITACTION_UNIT']._serialized_start=40781 + _globals['_SETDISTANCEUNITACTION_UNIT']._serialized_end=40824 + _globals['_SETTIMEDISPLAYFORMATACTION']._serialized_start=40827 + _globals['_SETTIMEDISPLAYFORMATACTION']._serialized_end=40982 + _globals['_SETTIMEDISPLAYFORMATACTION_FORMAT']._serialized_start=40934 + _globals['_SETTIMEDISPLAYFORMATACTION_FORMAT']._serialized_end=40982 + _globals['_SETTIREPRESSUREUNITACTION']._serialized_start=40985 + _globals['_SETTIREPRESSUREUNITACTION']._serialized_end=41120 + _globals['_SETTIREPRESSUREUNITACTION_UNIT']._serialized_start=41086 + _globals['_SETTIREPRESSUREUNITACTION_UNIT']._serialized_end=41120 + _globals['_SETENERGYDISPLAYFORMATACTION']._serialized_start=41123 + _globals['_SETENERGYDISPLAYFORMATACTION']._serialized_end=41286 + _globals['_SETENERGYDISPLAYFORMATACTION_FORMAT']._serialized_start=41234 + _globals['_SETENERGYDISPLAYFORMATACTION_FORMAT']._serialized_end=41286 + _globals['_DISPLAYSTATEACTION']._serialized_start=41288 + _globals['_DISPLAYSTATEACTION']._serialized_end=41395 + _globals['_SETKEEPACCESSORYPOWERMODEACTION']._serialized_start=41397 + _globals['_SETKEEPACCESSORYPOWERMODEACTION']._serialized_end=41465 + _globals['_SETUPCLOUDPROFILEWITHLOCALPROFILEUUIDACTION']._serialized_start=41468 + _globals['_SETUPCLOUDPROFILEWITHLOCALPROFILEUUIDACTION']._serialized_end=41609 + _globals['_GETLOCALPROFILESFORVAULTUUIDACTION']._serialized_start=41611 + _globals['_GETLOCALPROFILESFORVAULTUUIDACTION']._serialized_end=41667 + _globals['_FETCHKEYSINFOACTION']._serialized_start=41669 + _globals['_FETCHKEYSINFOACTION']._serialized_end=41690 + _globals['_DELETEDASHCAMCLIPSACTION']._serialized_start=41692 + _globals['_DELETEDASHCAMCLIPSACTION']._serialized_end=41740 + _globals['_FORMATUSBACTION']._serialized_start=41742 + _globals['_FORMATUSBACTION']._serialized_end=41779 + _globals['_BANDWIDTHTEST']._serialized_start=41781 + _globals['_BANDWIDTHTEST']._serialized_end=41820 + _globals['_PHONEUNITPREFERENCES']._serialized_start=41823 + _globals['_PHONEUNITPREFERENCES']._serialized_end=42005 + _globals['_SETPHONESETTINGPREFERENCESACTION']._serialized_start=42008 + _globals['_SETPHONESETTINGPREFERENCESACTION']._serialized_end=42279 + _globals['_SETPHONESETTINGPREFERENCESACTION_FONTSIZE']._serialized_start=42224 + _globals['_SETPHONESETTINGPREFERENCESACTION_FONTSIZE']._serialized_end=42279 + _globals['_CANCELVEHICLEDATASUBSCRIPTION']._serialized_start=42281 + _globals['_CANCELVEHICLEDATASUBSCRIPTION']._serialized_end=42312 + _globals['_SETUPKEEPUSERNAMEACTION']._serialized_start=42314 + _globals['_SETUPKEEPUSERNAMEACTION']._serialized_end=42357 + _globals['_DRIVINGSETCRUISESPEEDLIMITACTION']._serialized_start=42359 + _globals['_DRIVINGSETCRUISESPEEDLIMITACTION']._serialized_end=42411 + _globals['_SETDECKLIGHTACTION']._serialized_start=42413 + _globals['_SETDECKLIGHTACTION']._serialized_end=42445 + _globals['_SETKEEPONCABIN12VPORTACTION']._serialized_start=42447 + _globals['_SETKEEPONCABIN12VPORTACTION']._serialized_end=42550 + _globals['_SETKEEPONCABIN48VPORTACTION']._serialized_start=42552 + _globals['_SETKEEPONCABIN48VPORTACTION']._serialized_end=42655 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/command/car_server_pb2.pyi b/packages/python/tesla_protocol/command/car_server_pb2.pyi index d1b0e89..dc933e4 100644 --- a/packages/python/tesla_protocol/command/car_server_pb2.pyi +++ b/packages/python/tesla_protocol/command/car_server_pb2.pyi @@ -47,6 +47,7 @@ class VehicleDataFields(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): suspension_state: _ClassVar[VehicleDataFields] child_presence_detection_state: _ClassVar[VehicleDataFields] display_state: _ClassVar[VehicleDataFields] + keep_on_accessory_ports_state: _ClassVar[VehicleDataFields] legacy_vehicle_state_media_info: _ClassVar[VehicleDataFields] OPERATIONSTATUS_OK: OperationStatus_E OPERATIONSTATUS_ERROR: OperationStatus_E @@ -75,6 +76,7 @@ soh_state: VehicleDataFields suspension_state: VehicleDataFields child_presence_detection_state: VehicleDataFields display_state: VehicleDataFields +keep_on_accessory_ports_state: VehicleDataFields legacy_vehicle_state_media_info: VehicleDataFields class Action(_message.Message): @@ -84,7 +86,7 @@ class Action(_message.Message): 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", "setDischargeLimitAction", "setLowPowerModeAction", "setTemperatureUnitAction", "setDistanceUnitAction", "setTimeDisplayFormatAction", "setTirePressureUnitAction", "setEnergyDisplayFormatAction", "setKeepAccessoryPowerModeAction", "setupCloudProfileWithLocalProfileUuidAction", "getLocalProfilesForVaultUuidAction", "fetchKeysInfoAction", "deleteDashcamClipsAction", "formatUsbAction", "setUpkeepUsernameAction", "bandwidthTest", "setPhoneSettingPreferencesAction", "cancelVehicleDataSubscription", "prepareMobileUploadAction", "putMobileUploadChunkAction", "displayStateAction", "drivingSetCruiseSpeedLimitAction", "setDeckLightAction") + __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", "setDischargeLimitAction", "setLowPowerModeAction", "setTemperatureUnitAction", "setDistanceUnitAction", "setTimeDisplayFormatAction", "setTirePressureUnitAction", "setEnergyDisplayFormatAction", "setKeepAccessoryPowerModeAction", "setupCloudProfileWithLocalProfileUuidAction", "getLocalProfilesForVaultUuidAction", "fetchKeysInfoAction", "deleteDashcamClipsAction", "formatUsbAction", "setUpkeepUsernameAction", "bandwidthTest", "setPhoneSettingPreferencesAction", "cancelVehicleDataSubscription", "prepareMobileUploadAction", "putMobileUploadChunkAction", "displayStateAction", "drivingSetCruiseSpeedLimitAction", "setDeckLightAction", "setKeepOnCabin12vPortAction", "setKeepOnCabin48vPortAction", "dropNominalSuccessResponses") GETVEHICLEDATA_FIELD_NUMBER: _ClassVar[int] REMOTESTARTDRIVE_FIELD_NUMBER: _ClassVar[int] CREATESTREAMSESSION_FIELD_NUMBER: _ClassVar[int] @@ -220,6 +222,9 @@ class VehicleAction(_message.Message): DISPLAYSTATEACTION_FIELD_NUMBER: _ClassVar[int] DRIVINGSETCRUISESPEEDLIMITACTION_FIELD_NUMBER: _ClassVar[int] SETDECKLIGHTACTION_FIELD_NUMBER: _ClassVar[int] + SETKEEPONCABIN12VPORTACTION_FIELD_NUMBER: _ClassVar[int] + SETKEEPONCABIN48VPORTACTION_FIELD_NUMBER: _ClassVar[int] + DROPNOMINALSUCCESSRESPONSES_FIELD_NUMBER: _ClassVar[int] getVehicleData: GetVehicleData remoteStartDrive: RemoteStartDrive createStreamSession: CreateStreamSession @@ -355,10 +360,13 @@ class VehicleAction(_message.Message): displayStateAction: DisplayStateAction drivingSetCruiseSpeedLimitAction: DrivingSetCruiseSpeedLimitAction setDeckLightAction: SetDeckLightAction - 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]] = ..., setDischargeLimitAction: _Optional[_Union[SetDischargeLimitAction, _Mapping]] = ..., setLowPowerModeAction: _Optional[_Union[SetLowPowerModeAction, _Mapping]] = ..., setTemperatureUnitAction: _Optional[_Union[SetTemperatureUnitAction, _Mapping]] = ..., setDistanceUnitAction: _Optional[_Union[SetDistanceUnitAction, _Mapping]] = ..., setTimeDisplayFormatAction: _Optional[_Union[SetTimeDisplayFormatAction, _Mapping]] = ..., setTirePressureUnitAction: _Optional[_Union[SetTirePressureUnitAction, _Mapping]] = ..., setEnergyDisplayFormatAction: _Optional[_Union[SetEnergyDisplayFormatAction, _Mapping]] = ..., setKeepAccessoryPowerModeAction: _Optional[_Union[SetKeepAccessoryPowerModeAction, _Mapping]] = ..., setupCloudProfileWithLocalProfileUuidAction: _Optional[_Union[SetupCloudProfileWithLocalProfileUuidAction, _Mapping]] = ..., getLocalProfilesForVaultUuidAction: _Optional[_Union[GetLocalProfilesForVaultUuidAction, _Mapping]] = ..., fetchKeysInfoAction: _Optional[_Union[FetchKeysInfoAction, _Mapping]] = ..., deleteDashcamClipsAction: _Optional[_Union[DeleteDashcamClipsAction, _Mapping]] = ..., formatUsbAction: _Optional[_Union[FormatUSBAction, _Mapping]] = ..., setUpkeepUsernameAction: _Optional[_Union[SetUpkeepUsernameAction, _Mapping]] = ..., bandwidthTest: _Optional[_Union[BandwidthTest, _Mapping]] = ..., setPhoneSettingPreferencesAction: _Optional[_Union[SetPhoneSettingPreferencesAction, _Mapping]] = ..., cancelVehicleDataSubscription: _Optional[_Union[CancelVehicleDataSubscription, _Mapping]] = ..., prepareMobileUploadAction: _Optional[_Union[PrepareMobileUploadAction, _Mapping]] = ..., putMobileUploadChunkAction: _Optional[_Union[PutMobileUploadChunkAction, _Mapping]] = ..., displayStateAction: _Optional[_Union[DisplayStateAction, _Mapping]] = ..., drivingSetCruiseSpeedLimitAction: _Optional[_Union[DrivingSetCruiseSpeedLimitAction, _Mapping]] = ..., setDeckLightAction: _Optional[_Union[SetDeckLightAction, _Mapping]] = ...) -> None: ... + setKeepOnCabin12vPortAction: SetKeepOnCabin12vPortAction + setKeepOnCabin48vPortAction: SetKeepOnCabin48vPortAction + dropNominalSuccessResponses: bool + 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]] = ..., setDischargeLimitAction: _Optional[_Union[SetDischargeLimitAction, _Mapping]] = ..., setLowPowerModeAction: _Optional[_Union[SetLowPowerModeAction, _Mapping]] = ..., setTemperatureUnitAction: _Optional[_Union[SetTemperatureUnitAction, _Mapping]] = ..., setDistanceUnitAction: _Optional[_Union[SetDistanceUnitAction, _Mapping]] = ..., setTimeDisplayFormatAction: _Optional[_Union[SetTimeDisplayFormatAction, _Mapping]] = ..., setTirePressureUnitAction: _Optional[_Union[SetTirePressureUnitAction, _Mapping]] = ..., setEnergyDisplayFormatAction: _Optional[_Union[SetEnergyDisplayFormatAction, _Mapping]] = ..., setKeepAccessoryPowerModeAction: _Optional[_Union[SetKeepAccessoryPowerModeAction, _Mapping]] = ..., setupCloudProfileWithLocalProfileUuidAction: _Optional[_Union[SetupCloudProfileWithLocalProfileUuidAction, _Mapping]] = ..., getLocalProfilesForVaultUuidAction: _Optional[_Union[GetLocalProfilesForVaultUuidAction, _Mapping]] = ..., fetchKeysInfoAction: _Optional[_Union[FetchKeysInfoAction, _Mapping]] = ..., deleteDashcamClipsAction: _Optional[_Union[DeleteDashcamClipsAction, _Mapping]] = ..., formatUsbAction: _Optional[_Union[FormatUSBAction, _Mapping]] = ..., setUpkeepUsernameAction: _Optional[_Union[SetUpkeepUsernameAction, _Mapping]] = ..., bandwidthTest: _Optional[_Union[BandwidthTest, _Mapping]] = ..., setPhoneSettingPreferencesAction: _Optional[_Union[SetPhoneSettingPreferencesAction, _Mapping]] = ..., cancelVehicleDataSubscription: _Optional[_Union[CancelVehicleDataSubscription, _Mapping]] = ..., prepareMobileUploadAction: _Optional[_Union[PrepareMobileUploadAction, _Mapping]] = ..., putMobileUploadChunkAction: _Optional[_Union[PutMobileUploadChunkAction, _Mapping]] = ..., displayStateAction: _Optional[_Union[DisplayStateAction, _Mapping]] = ..., drivingSetCruiseSpeedLimitAction: _Optional[_Union[DrivingSetCruiseSpeedLimitAction, _Mapping]] = ..., setDeckLightAction: _Optional[_Union[SetDeckLightAction, _Mapping]] = ..., setKeepOnCabin12vPortAction: _Optional[_Union[SetKeepOnCabin12vPortAction, _Mapping]] = ..., setKeepOnCabin48vPortAction: _Optional[_Union[SetKeepOnCabin48vPortAction, _Mapping]] = ..., dropNominalSuccessResponses: _Optional[bool] = ...) -> None: ... class GetVehicleData(_message.Message): - __slots__ = ("getGuiSettings", "getChargeState", "getClimateState", "getDriveState", "getLegacyVehicleState", "getVehicleConfig", "getLocationState", "getClosuresState", "getParkedAccessoryState", "getChargeScheduleState", "getPreconditioningScheduleState", "getSohState", "getVehicleDetailState", "getTirePressureState", "getMediaState", "getMediaDetailState", "getSoftwareUpdateState", "getVehicleState", "getParentalControlsState", "getAlertState", "getLightShowState", "getVehicleImageState", "getSuspensionState", "getChildPresenceDetectionState", "getDisplayState") + __slots__ = ("getGuiSettings", "getChargeState", "getClimateState", "getDriveState", "getLegacyVehicleState", "getVehicleConfig", "getLocationState", "getClosuresState", "getParkedAccessoryState", "getChargeScheduleState", "getPreconditioningScheduleState", "getSohState", "getVehicleDetailState", "getTirePressureState", "getMediaState", "getMediaDetailState", "getSoftwareUpdateState", "getVehicleState", "getParentalControlsState", "getAlertState", "getLightShowState", "getVehicleImageState", "getSuspensionState", "getChildPresenceDetectionState", "getDisplayState", "getKeepOnAccessoryPortsState") GETGUISETTINGS_FIELD_NUMBER: _ClassVar[int] GETCHARGESTATE_FIELD_NUMBER: _ClassVar[int] GETCLIMATESTATE_FIELD_NUMBER: _ClassVar[int] @@ -384,6 +392,7 @@ class GetVehicleData(_message.Message): GETSUSPENSIONSTATE_FIELD_NUMBER: _ClassVar[int] GETCHILDPRESENCEDETECTIONSTATE_FIELD_NUMBER: _ClassVar[int] GETDISPLAYSTATE_FIELD_NUMBER: _ClassVar[int] + GETKEEPONACCESSORYPORTSSTATE_FIELD_NUMBER: _ClassVar[int] getGuiSettings: GetGuiSettings getChargeState: GetChargeState getClimateState: GetClimateState @@ -409,12 +418,17 @@ class GetVehicleData(_message.Message): getSuspensionState: GetSuspensionState getChildPresenceDetectionState: GetChildPresenceDetectionState getDisplayState: GetDisplayState - def __init__(self, getGuiSettings: _Optional[_Union[GetGuiSettings, _Mapping]] = ..., getChargeState: _Optional[_Union[GetChargeState, _Mapping]] = ..., getClimateState: _Optional[_Union[GetClimateState, _Mapping]] = ..., getDriveState: _Optional[_Union[GetDriveState, _Mapping]] = ..., getLegacyVehicleState: _Optional[_Union[GetLegacyVehicleState, _Mapping]] = ..., getVehicleConfig: _Optional[_Union[GetVehicleConfig, _Mapping]] = ..., getLocationState: _Optional[_Union[GetLocationState, _Mapping]] = ..., getClosuresState: _Optional[_Union[GetClosuresState, _Mapping]] = ..., getParkedAccessoryState: _Optional[_Union[GetParkedAccessoryState, _Mapping]] = ..., getChargeScheduleState: _Optional[_Union[GetChargeScheduleState, _Mapping]] = ..., getPreconditioningScheduleState: _Optional[_Union[GetPreconditioningScheduleState, _Mapping]] = ..., getSohState: _Optional[_Union[GetSohState, _Mapping]] = ..., getVehicleDetailState: _Optional[_Union[GetVehicleDetailState, _Mapping]] = ..., getTirePressureState: _Optional[_Union[GetTirePressureState, _Mapping]] = ..., getMediaState: _Optional[_Union[GetMediaState, _Mapping]] = ..., getMediaDetailState: _Optional[_Union[GetMediaDetailState, _Mapping]] = ..., getSoftwareUpdateState: _Optional[_Union[GetSoftwareUpdateState, _Mapping]] = ..., getVehicleState: _Optional[_Union[GetVehicleState, _Mapping]] = ..., getParentalControlsState: _Optional[_Union[GetParentalControlsState, _Mapping]] = ..., getAlertState: _Optional[_Union[GetAlertState, _Mapping]] = ..., getLightShowState: _Optional[_Union[GetLightShowState, _Mapping]] = ..., getVehicleImageState: _Optional[_Union[GetVehicleImageState, _Mapping]] = ..., getSuspensionState: _Optional[_Union[GetSuspensionState, _Mapping]] = ..., getChildPresenceDetectionState: _Optional[_Union[GetChildPresenceDetectionState, _Mapping]] = ..., getDisplayState: _Optional[_Union[GetDisplayState, _Mapping]] = ...) -> None: ... + getKeepOnAccessoryPortsState: GetKeepOnAccessoryPortsState + def __init__(self, getGuiSettings: _Optional[_Union[GetGuiSettings, _Mapping]] = ..., getChargeState: _Optional[_Union[GetChargeState, _Mapping]] = ..., getClimateState: _Optional[_Union[GetClimateState, _Mapping]] = ..., getDriveState: _Optional[_Union[GetDriveState, _Mapping]] = ..., getLegacyVehicleState: _Optional[_Union[GetLegacyVehicleState, _Mapping]] = ..., getVehicleConfig: _Optional[_Union[GetVehicleConfig, _Mapping]] = ..., getLocationState: _Optional[_Union[GetLocationState, _Mapping]] = ..., getClosuresState: _Optional[_Union[GetClosuresState, _Mapping]] = ..., getParkedAccessoryState: _Optional[_Union[GetParkedAccessoryState, _Mapping]] = ..., getChargeScheduleState: _Optional[_Union[GetChargeScheduleState, _Mapping]] = ..., getPreconditioningScheduleState: _Optional[_Union[GetPreconditioningScheduleState, _Mapping]] = ..., getSohState: _Optional[_Union[GetSohState, _Mapping]] = ..., getVehicleDetailState: _Optional[_Union[GetVehicleDetailState, _Mapping]] = ..., getTirePressureState: _Optional[_Union[GetTirePressureState, _Mapping]] = ..., getMediaState: _Optional[_Union[GetMediaState, _Mapping]] = ..., getMediaDetailState: _Optional[_Union[GetMediaDetailState, _Mapping]] = ..., getSoftwareUpdateState: _Optional[_Union[GetSoftwareUpdateState, _Mapping]] = ..., getVehicleState: _Optional[_Union[GetVehicleState, _Mapping]] = ..., getParentalControlsState: _Optional[_Union[GetParentalControlsState, _Mapping]] = ..., getAlertState: _Optional[_Union[GetAlertState, _Mapping]] = ..., getLightShowState: _Optional[_Union[GetLightShowState, _Mapping]] = ..., getVehicleImageState: _Optional[_Union[GetVehicleImageState, _Mapping]] = ..., getSuspensionState: _Optional[_Union[GetSuspensionState, _Mapping]] = ..., getChildPresenceDetectionState: _Optional[_Union[GetChildPresenceDetectionState, _Mapping]] = ..., getDisplayState: _Optional[_Union[GetDisplayState, _Mapping]] = ..., getKeepOnAccessoryPortsState: _Optional[_Union[GetKeepOnAccessoryPortsState, _Mapping]] = ...) -> None: ... class GetGuiSettings(_message.Message): __slots__ = () def __init__(self) -> None: ... +class GetKeepOnAccessoryPortsState(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetLegacyVehicleState(_message.Message): __slots__ = () def __init__(self) -> None: ... @@ -510,16 +524,16 @@ class MobileUploadParams(_message.Message): def __init__(self, totalSize: _Optional[int] = ..., contentSha256: _Optional[bytes] = ...) -> None: ... class PrepareMobileUploadAction(_message.Message): - __slots__ = ("uploadParams", "imageParams", "field_3", "overwriteOldestIfFull") + __slots__ = ("uploadParams", "imageParams", "apply", "overwriteOldestIfFull") UPLOADPARAMS_FIELD_NUMBER: _ClassVar[int] IMAGEPARAMS_FIELD_NUMBER: _ClassVar[int] - FIELD_3_FIELD_NUMBER: _ClassVar[int] + APPLY_FIELD_NUMBER: _ClassVar[int] OVERWRITEOLDESTIFFULL_FIELD_NUMBER: _ClassVar[int] uploadParams: MobileUploadParams imageParams: MobileImageUploadParams - field_3: bool + apply: bool overwriteOldestIfFull: bool - def __init__(self, uploadParams: _Optional[_Union[MobileUploadParams, _Mapping]] = ..., imageParams: _Optional[_Union[MobileImageUploadParams, _Mapping]] = ..., field_3: _Optional[bool] = ..., overwriteOldestIfFull: _Optional[bool] = ...) -> None: ... + def __init__(self, uploadParams: _Optional[_Union[MobileUploadParams, _Mapping]] = ..., imageParams: _Optional[_Union[MobileImageUploadParams, _Mapping]] = ..., apply: _Optional[bool] = ..., overwriteOldestIfFull: _Optional[bool] = ...) -> None: ... class PrepareMobileUploadResponse(_message.Message): __slots__ = ("status", "uploadId", "maxChunkSize") @@ -594,7 +608,7 @@ class PutMobileUploadChunkResponse(_message.Message): def __init__(self, status: _Optional[_Union[PutMobileUploadChunkResponse.Status, str]] = ..., resourceId: _Optional[bytes] = ...) -> None: ... class DogModeLiveActivityData(_message.Message): - __slots__ = ("disabledReason", "interiorImage", "field_3", "field_4", "insideTemperatureCelsius", "faultState", "temperatureUnit", "batteryLevel") + __slots__ = ("disabledReason", "interiorImage", "vin", "timestamp", "insideTemperatureCelsius", "faultState", "temperatureUnit", "batteryLevel") class DisabledReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () REASON_UNKNOWN: _ClassVar[DogModeLiveActivityData.DisabledReason] @@ -606,29 +620,29 @@ class DogModeLiveActivityData(_message.Message): REASON_TOGGLE_OFF: DogModeLiveActivityData.DisabledReason REASON_DISALLOWED_COUNTRY: DogModeLiveActivityData.DisabledReason class DogModeImageData(_message.Message): - __slots__ = ("wrappedKey", "encryptedImage") + __slots__ = ("wrappedKey", "image") WRAPPEDKEY_FIELD_NUMBER: _ClassVar[int] - ENCRYPTEDIMAGE_FIELD_NUMBER: _ClassVar[int] + IMAGE_FIELD_NUMBER: _ClassVar[int] wrappedKey: bytes - encryptedImage: bytes - def __init__(self, wrappedKey: _Optional[bytes] = ..., encryptedImage: _Optional[bytes] = ...) -> None: ... + image: bytes + def __init__(self, wrappedKey: _Optional[bytes] = ..., image: _Optional[bytes] = ...) -> None: ... DISABLEDREASON_FIELD_NUMBER: _ClassVar[int] INTERIORIMAGE_FIELD_NUMBER: _ClassVar[int] - FIELD_3_FIELD_NUMBER: _ClassVar[int] - FIELD_4_FIELD_NUMBER: _ClassVar[int] + VIN_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] INSIDETEMPERATURECELSIUS_FIELD_NUMBER: _ClassVar[int] FAULTSTATE_FIELD_NUMBER: _ClassVar[int] TEMPERATUREUNIT_FIELD_NUMBER: _ClassVar[int] BATTERYLEVEL_FIELD_NUMBER: _ClassVar[int] disabledReason: DogModeLiveActivityData.DisabledReason interiorImage: DogModeLiveActivityData.DogModeImageData - field_3: str - field_4: _timestamp_pb2.Timestamp + vin: str + timestamp: _timestamp_pb2.Timestamp insideTemperatureCelsius: float faultState: _vehicle_pb2.ClimateState.DogModeState temperatureUnit: SetTemperatureUnitAction.Unit batteryLevel: float - def __init__(self, disabledReason: _Optional[_Union[DogModeLiveActivityData.DisabledReason, str]] = ..., interiorImage: _Optional[_Union[DogModeLiveActivityData.DogModeImageData, _Mapping]] = ..., field_3: _Optional[str] = ..., field_4: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., insideTemperatureCelsius: _Optional[float] = ..., faultState: _Optional[_Union[_vehicle_pb2.ClimateState.DogModeState, str]] = ..., temperatureUnit: _Optional[_Union[SetTemperatureUnitAction.Unit, str]] = ..., batteryLevel: _Optional[float] = ...) -> None: ... + def __init__(self, disabledReason: _Optional[_Union[DogModeLiveActivityData.DisabledReason, str]] = ..., interiorImage: _Optional[_Union[DogModeLiveActivityData.DogModeImageData, _Mapping]] = ..., vin: _Optional[str] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., insideTemperatureCelsius: _Optional[float] = ..., faultState: _Optional[_Union[_vehicle_pb2.ClimateState.DogModeState, str]] = ..., temperatureUnit: _Optional[_Union[SetTemperatureUnitAction.Unit, str]] = ..., batteryLevel: _Optional[float] = ...) -> None: ... class GetTirePressureState(_message.Message): __slots__ = () @@ -733,20 +747,20 @@ class Response(_message.Message): def __init__(self, actionStatus: _Optional[_Union[ActionStatus, _Mapping]] = ..., vehicleData: _Optional[_Union[_vehicle_pb2.VehicleData, _Mapping]] = ..., getSessionInfoResponse: _Optional[_Union[_signatures_pb2.SessionInfo, _Mapping]] = ..., streamMessage: _Optional[_Union[StreamMessage, _Mapping]] = ..., getNearbyChargingSites: _Optional[_Union[NearbyChargingSites, _Mapping]] = ..., vehicleDataSubscriptionResponse: _Optional[_Union[VehicleDataSubscriptionResponse, _Mapping]] = ..., vitalsSubscriptionResponse: _Optional[_Union[VitalsSubscriptionResponse, _Mapping]] = ..., ping: _Optional[_Union[Ping, _Mapping]] = ..., piiKeyResponse: _Optional[_Union[PiiKeyResponse, _Mapping]] = ..., pseudonymSyncResponse: _Optional[_Union[PseudonymSyncResponse, _Mapping]] = ..., getRateTariffResponse: _Optional[_Union[GetRateTariffResponse, _Mapping]] = ..., navigationRouteResponse: _Optional[_Union[NavigationRouteResponse, _Mapping]] = ..., getManagedChargingSitesResponse: _Optional[_Union[GetManagedChargingSitesResponse, _Mapping]] = ..., getChargeOnSolarFeatureResponse: _Optional[_Union[GetChargeOnSolarFeatureResponse, _Mapping]] = ..., addManagedChargingSiteResponse: _Optional[_Union[AddManagedChargingSiteResponse, _Mapping]] = ..., getMessagesResponse: _Optional[_Union[GetMessagesResponse, _Mapping]] = ..., getLocalProfilesResponse: _Optional[_Union[GetLocalProfilesResponse, _Mapping]] = ..., keysInfoResponse: _Optional[_Union[KeysInfoResponse, _Mapping]] = ..., bandwidthTestResponse: _Optional[_Union[BandwidthTestResponse, _Mapping]] = ..., prepareMobileUploadResponse: _Optional[_Union[PrepareMobileUploadResponse, _Mapping]] = ..., putMobileUploadChunkResponse: _Optional[_Union[PutMobileUploadChunkResponse, _Mapping]] = ...) -> None: ... class VehicleDataSubscriptionResponse(_message.Message): - __slots__ = ("unknown", "pii_key_response") - UNKNOWN_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("error", "pii_key_response") + ERROR_FIELD_NUMBER: _ClassVar[int] PII_KEY_RESPONSE_FIELD_NUMBER: _ClassVar[int] - unknown: str + error: str pii_key_response: PiiKeyResponse - def __init__(self, unknown: _Optional[str] = ..., pii_key_response: _Optional[_Union[PiiKeyResponse, _Mapping]] = ...) -> None: ... + def __init__(self, error: _Optional[str] = ..., pii_key_response: _Optional[_Union[PiiKeyResponse, _Mapping]] = ...) -> None: ... class VitalsSubscriptionResponse(_message.Message): - __slots__ = ("session_id", "unknown") + __slots__ = ("session_id", "error") SESSION_ID_FIELD_NUMBER: _ClassVar[int] - UNKNOWN_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] session_id: int - unknown: str - def __init__(self, session_id: _Optional[int] = ..., unknown: _Optional[str] = ...) -> None: ... + error: str + def __init__(self, session_id: _Optional[int] = ..., error: _Optional[str] = ...) -> None: ... class PiiKeyResponse(_message.Message): __slots__ = ("encrypted_pii_key", "pii_key_expiration", "subscriber_public_key_expiration") @@ -759,13 +773,13 @@ class PiiKeyResponse(_message.Message): def __init__(self, encrypted_pii_key: _Optional[bytes] = ..., pii_key_expiration: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., subscriber_public_key_expiration: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class PseudonymSyncResponse(_message.Message): - __slots__ = ("unknown",) - UNKNOWN_FIELD_NUMBER: _ClassVar[int] - unknown: str - def __init__(self, unknown: _Optional[str] = ...) -> None: ... + __slots__ = ("pseudonym",) + PSEUDONYM_FIELD_NUMBER: _ClassVar[int] + pseudonym: str + def __init__(self, pseudonym: _Optional[str] = ...) -> None: ... class NavigationRouteResponse(_message.Message): - __slots__ = ("unknown", "traffic_detail") + __slots__ = ("route", "traffic_detail") class TrafficStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () TS_NO_DATA: _ClassVar[NavigationRouteResponse.TrafficStatus] @@ -785,11 +799,11 @@ class NavigationRouteResponse(_message.Message): offset_to_dest: float traffic_status: NavigationRouteResponse.TrafficStatus def __init__(self, offset_to_dest: _Optional[float] = ..., traffic_status: _Optional[_Union[NavigationRouteResponse.TrafficStatus, str]] = ...) -> None: ... - UNKNOWN_FIELD_NUMBER: _ClassVar[int] + ROUTE_FIELD_NUMBER: _ClassVar[int] TRAFFIC_DETAIL_FIELD_NUMBER: _ClassVar[int] - unknown: str + route: str traffic_detail: _containers.RepeatedCompositeFieldContainer[NavigationRouteResponse.TrafficDetail] - def __init__(self, unknown: _Optional[str] = ..., traffic_detail: _Optional[_Iterable[_Union[NavigationRouteResponse.TrafficDetail, _Mapping]]] = ...) -> None: ... + def __init__(self, route: _Optional[str] = ..., traffic_detail: _Optional[_Iterable[_Union[NavigationRouteResponse.TrafficDetail, _Mapping]]] = ...) -> None: ... class GetManagedChargingSitesResponse(_message.Message): __slots__ = ("sites",) @@ -814,14 +828,14 @@ class AddManagedChargingSiteResponse(_message.Message): def __init__(self, added_or_updated: _Optional[_Union[ManagedChargingSiteAddedOrUpdated, _Mapping]] = ..., existing_site_nearby: _Optional[_Union[ExistingManagedChargingSiteNearby, _Mapping]] = ...) -> None: ... class RequestTeslaAuthCommand(_message.Message): - __slots__ = ("client_id", "unknown", "return_scoped_token") + __slots__ = ("client_id", "scope", "return_scoped_token") CLIENT_ID_FIELD_NUMBER: _ClassVar[int] - UNKNOWN_FIELD_NUMBER: _ClassVar[int] + SCOPE_FIELD_NUMBER: _ClassVar[int] RETURN_SCOPED_TOKEN_FIELD_NUMBER: _ClassVar[int] client_id: str - unknown: str + scope: str return_scoped_token: bool - def __init__(self, client_id: _Optional[str] = ..., unknown: _Optional[str] = ..., return_scoped_token: _Optional[bool] = ...) -> None: ... + def __init__(self, client_id: _Optional[str] = ..., scope: _Optional[str] = ..., return_scoped_token: _Optional[bool] = ...) -> None: ... class MobileAppMessage(_message.Message): __slots__ = ("request_tesla_auth_command",) @@ -836,12 +850,12 @@ class GetMessagesResponse(_message.Message): def __init__(self, mobile_app_messages: _Optional[_Iterable[_Union[MobileAppMessage, _Mapping]]] = ...) -> None: ... class Profile(_message.Message): - __slots__ = ("unknown_1", "unknown_2") - UNKNOWN_1_FIELD_NUMBER: _ClassVar[int] - UNKNOWN_2_FIELD_NUMBER: _ClassVar[int] - unknown_1: str - unknown_2: str - def __init__(self, unknown_1: _Optional[str] = ..., unknown_2: _Optional[str] = ...) -> None: ... + __slots__ = ("uuid", "name") + UUID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + uuid: str + name: str + def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ... class GetLocalProfilesResponse(_message.Message): __slots__ = ("profiles",) @@ -850,20 +864,20 @@ class GetLocalProfilesResponse(_message.Message): def __init__(self, profiles: _Optional[_Iterable[_Union[Profile, _Mapping]]] = ...) -> None: ... class KeyInfo(_message.Message): - __slots__ = ("unknown_1", "unknown_2", "public_key", "last_seen", "role", "form_factor") - UNKNOWN_1_FIELD_NUMBER: _ClassVar[int] - UNKNOWN_2_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("name", "model", "public_key", "last_seen", "role", "form_factor") + NAME_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] LAST_SEEN_FIELD_NUMBER: _ClassVar[int] ROLE_FIELD_NUMBER: _ClassVar[int] FORM_FACTOR_FIELD_NUMBER: _ClassVar[int] - unknown_1: str - unknown_2: str + name: str + model: str public_key: bytes last_seen: _timestamp_pb2.Timestamp role: _keys_pb2.Role form_factor: _vcsec_pb2.KeyFormFactor - def __init__(self, unknown_1: _Optional[str] = ..., unknown_2: _Optional[str] = ..., public_key: _Optional[bytes] = ..., last_seen: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., role: _Optional[_Union[_keys_pb2.Role, str]] = ..., form_factor: _Optional[_Union[_vcsec_pb2.KeyFormFactor, str]] = ...) -> None: ... + def __init__(self, name: _Optional[str] = ..., model: _Optional[str] = ..., public_key: _Optional[bytes] = ..., last_seen: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., role: _Optional[_Union[_keys_pb2.Role, str]] = ..., form_factor: _Optional[_Union[_vcsec_pb2.KeyFormFactor, str]] = ...) -> None: ... class KeysInfoResponse(_message.Message): __slots__ = ("keys_info",) @@ -1521,7 +1535,7 @@ class UiSetUpcomingCalendarEntries(_message.Message): 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", "child_presence_detection_state_max_update_rate_ms", "display_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", "child_presence_detection_state_max_update_rate_ms", "display_state_max_update_rate_ms", "keep_on_accessory_ports_state_max_update_rate_ms") class PiiKeyRequest(_message.Message): __slots__ = ("subscriber_public_key",) SUBSCRIBER_PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int] @@ -1545,6 +1559,7 @@ class VehicleDataSubscription(_message.Message): SUSPENSION_STATE_MAX_UPDATE_RATE_MS_FIELD_NUMBER: _ClassVar[int] CHILD_PRESENCE_DETECTION_STATE_MAX_UPDATE_RATE_MS_FIELD_NUMBER: _ClassVar[int] DISPLAY_STATE_MAX_UPDATE_RATE_MS_FIELD_NUMBER: _ClassVar[int] + KEEP_ON_ACCESSORY_PORTS_STATE_MAX_UPDATE_RATE_MS_FIELD_NUMBER: _ClassVar[int] pii_key_request: VehicleDataSubscription.PiiKeyRequest subscription_duration_s: int subscription_ping_s: int @@ -1563,7 +1578,8 @@ class VehicleDataSubscription(_message.Message): suspension_state_max_update_rate_ms: int child_presence_detection_state_max_update_rate_ms: int display_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] = ..., child_presence_detection_state_max_update_rate_ms: _Optional[int] = ..., display_state_max_update_rate_ms: _Optional[int] = ...) -> None: ... + keep_on_accessory_ports_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] = ..., child_presence_detection_state_max_update_rate_ms: _Optional[int] = ..., display_state_max_update_rate_ms: _Optional[int] = ..., keep_on_accessory_ports_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", "display_state_timestamp", "decryption_error_field") @@ -2336,7 +2352,7 @@ class PhoneUnitPreferences(_message.Message): def __init__(self, distance_unit: _Optional[_Union[SetDistanceUnitAction.Unit, str]] = ..., temperature_unit: _Optional[_Union[SetTemperatureUnitAction.Unit, str]] = ...) -> None: ... class SetPhoneSettingPreferencesAction(_message.Message): - __slots__ = ("font_size", "field_2", "unit_preferences") + __slots__ = ("font_size", "language", "unit_preferences") class FontSize(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FONT_SIZE_STANDARD: _ClassVar[SetPhoneSettingPreferencesAction.FontSize] @@ -2344,12 +2360,12 @@ class SetPhoneSettingPreferencesAction(_message.Message): FONT_SIZE_STANDARD: SetPhoneSettingPreferencesAction.FontSize FONT_SIZE_LARGE: SetPhoneSettingPreferencesAction.FontSize FONT_SIZE_FIELD_NUMBER: _ClassVar[int] - FIELD_2_FIELD_NUMBER: _ClassVar[int] + LANGUAGE_FIELD_NUMBER: _ClassVar[int] UNIT_PREFERENCES_FIELD_NUMBER: _ClassVar[int] font_size: SetPhoneSettingPreferencesAction.FontSize - field_2: str + language: str unit_preferences: PhoneUnitPreferences - def __init__(self, font_size: _Optional[_Union[SetPhoneSettingPreferencesAction.FontSize, str]] = ..., field_2: _Optional[str] = ..., unit_preferences: _Optional[_Union[PhoneUnitPreferences, _Mapping]] = ...) -> None: ... + def __init__(self, font_size: _Optional[_Union[SetPhoneSettingPreferencesAction.FontSize, str]] = ..., language: _Optional[str] = ..., unit_preferences: _Optional[_Union[PhoneUnitPreferences, _Mapping]] = ...) -> None: ... class CancelVehicleDataSubscription(_message.Message): __slots__ = () @@ -2372,3 +2388,15 @@ class SetDeckLightAction(_message.Message): ON_FIELD_NUMBER: _ClassVar[int] on: bool def __init__(self, on: _Optional[bool] = ...) -> None: ... + +class SetKeepOnCabin12vPortAction(_message.Message): + __slots__ = ("keepOnMode",) + KEEPONMODE_FIELD_NUMBER: _ClassVar[int] + keepOnMode: _vehicle_pb2.KeepOnAccessoryPortRequest + def __init__(self, keepOnMode: _Optional[_Union[_vehicle_pb2.KeepOnAccessoryPortRequest, str]] = ...) -> None: ... + +class SetKeepOnCabin48vPortAction(_message.Message): + __slots__ = ("keepOnMode",) + KEEPONMODE_FIELD_NUMBER: _ClassVar[int] + keepOnMode: _vehicle_pb2.KeepOnAccessoryPortRequest + def __init__(self, keepOnMode: _Optional[_Union[_vehicle_pb2.KeepOnAccessoryPortRequest, str]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/command/signatures_pb2.py b/packages/python/tesla_protocol/command/signatures_pb2.py index 9c019a0..914b4c7 100644 --- a/packages/python/tesla_protocol/command/signatures_pb2.py +++ b/packages/python/tesla_protocol/command/signatures_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'tesla_protocol/command/signatures.proto\x12\x19tesla_protocol.Signatures\"\x90\x01\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00\x12\x42\n\x0eidentified_key\x18\x04 \x01(\x0e\x32(.tesla_protocol.Signatures.IdentifiedKeyH\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\"0\n\x1aPresent_Key_Signature_Data\x12\x12\n\nauth_token\x18\x01 \x01(\x0c\"q\n\x1f\x41\x45S_GCM_Detached_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\r\n\x05nonce\x18\x04 \x01(\x0c\x12\x0b\n\x03tag\x18\x05 \x01(\x0c\"T\n Certificate_ECDSA_Signature_Data\x12\x1d\n\x15\x63\x65rtificate_chain_der\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \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\"\xde\x05\n\rSignatureData\x12?\n\x0fsigner_identity\x18\x01 \x01(\x0b\x32&.tesla_protocol.Signatures.KeyIdentity\x12Q\n\x10Present_Key_data\x18\x02 \x01(\x0b\x32\x35.tesla_protocol.Signatures.Present_Key_Signature_DataH\x00\x12\x63\n\x19\x41\x45S_GCM_Personalized_data\x18\x05 \x01(\x0b\x32>.tesla_protocol.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12J\n\x10session_info_tag\x18\x06 \x01(\x0b\x32..tesla_protocol.Signatures.HMAC_Signature_DataH\x00\x12]\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b\x32;.tesla_protocol.Signatures.HMAC_Personalized_Signature_DataH\x00\x12[\n\x15\x41\x45S_GCM_Response_data\x18\t \x01(\x0b\x32:.tesla_protocol.Signatures.AES_GCM_Response_Signature_DataH\x00\x12[\n\x15\x41\x45S_GCM_Detached_data\x18\n \x01(\x0b\x32:.tesla_protocol.Signatures.AES_GCM_Detached_Signature_DataH\x00\x12]\n\x16\x43\x65rtificate_ECDSA_data\x18\x0b \x01(\x0b\x32;.tesla_protocol.Signatures.Certificate_ECDSA_Signature_DataH\x00\x42\n\n\x08sig_typeJ\x04\x08\x07\x10\x08\"U\n\x15GetSessionInfoRequest\x12<\n\x0ckey_identity\x18\x01 \x01(\x0b\x32&.tesla_protocol.Signatures.KeyIdentity\"\xb5\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..tesla_protocol.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r\x12\x0f\n\x07\x66ield_7\x18\x07 \x01(\r*\xe7\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\x16\n\x12TAG_COMMAND_PREFIX\x10\n\x12\x0c\n\x07TAG_END\x10\xff\x01*\x8c\x03\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\x18\n\x14SIGNATURE_TYPE_ECDSA\x10\x01\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02\x12 \n\x1cSIGNATURE_TYPE_AES_GCM_TOKEN\x10\x03\x12%\n!SIGNATURE_TYPE_ECDSA_PERSONALIZED\x10\x04\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\x12#\n\x1fSIGNATURE_TYPE_AES_GCM_DETACHED\x10\n\x12$\n SIGNATURE_TYPE_CERTIFICATE_ECDSA\x10\x0b\"\x04\x08\x07\x10\x07*F\n\rIdentifiedKey\x12\x19\n\x15IDENTIFIEDKEY_UNKNOWN\x10\x00\x12\x1a\n\x16IDENTIFIEDKEY_ROOT_KEY\x10\x01*\x87\x01\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01\x12&\n\"SESSION_INFO_STATUS_INVALID_HANDLE\x10\x02\x42i\n\x1e\x63om.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'tesla_protocol/command/signatures.proto\x12\x19tesla_protocol.Signatures\"\x90\x01\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00\x12\x42\n\x0eidentified_key\x18\x04 \x01(\x0e\x32(.tesla_protocol.Signatures.IdentifiedKeyH\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\"0\n\x1aPresent_Key_Signature_Data\x12\x12\n\nauth_token\x18\x01 \x01(\x0c\"r\n\x1f\x41\x45S_GCM_Detached_Signature_Data\x12\r\n\x05nonce\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\x12\x0e\n\x06prefix\x18\x05 \x01(\x0c\"T\n Certificate_ECDSA_Signature_Data\x12\x1d\n\x15\x63\x65rtificate_chain_der\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \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\"\xde\x05\n\rSignatureData\x12?\n\x0fsigner_identity\x18\x01 \x01(\x0b\x32&.tesla_protocol.Signatures.KeyIdentity\x12Q\n\x10Present_Key_data\x18\x02 \x01(\x0b\x32\x35.tesla_protocol.Signatures.Present_Key_Signature_DataH\x00\x12\x63\n\x19\x41\x45S_GCM_Personalized_data\x18\x05 \x01(\x0b\x32>.tesla_protocol.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12J\n\x10session_info_tag\x18\x06 \x01(\x0b\x32..tesla_protocol.Signatures.HMAC_Signature_DataH\x00\x12]\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b\x32;.tesla_protocol.Signatures.HMAC_Personalized_Signature_DataH\x00\x12[\n\x15\x41\x45S_GCM_Response_data\x18\t \x01(\x0b\x32:.tesla_protocol.Signatures.AES_GCM_Response_Signature_DataH\x00\x12[\n\x15\x41\x45S_GCM_Detached_data\x18\n \x01(\x0b\x32:.tesla_protocol.Signatures.AES_GCM_Detached_Signature_DataH\x00\x12]\n\x16\x43\x65rtificate_ECDSA_data\x18\x0b \x01(\x0b\x32;.tesla_protocol.Signatures.Certificate_ECDSA_Signature_DataH\x00\x42\n\n\x08sig_typeJ\x04\x08\x07\x10\x08\"U\n\x15GetSessionInfoRequest\x12<\n\x0ckey_identity\x18\x01 \x01(\x0b\x32&.tesla_protocol.Signatures.KeyIdentity\"\xb3\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..tesla_protocol.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r*\xe7\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\x16\n\x12TAG_COMMAND_PREFIX\x10\n\x12\x0c\n\x07TAG_END\x10\xff\x01*\x8c\x03\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\x18\n\x14SIGNATURE_TYPE_ECDSA\x10\x01\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02\x12 \n\x1cSIGNATURE_TYPE_AES_GCM_TOKEN\x10\x03\x12%\n!SIGNATURE_TYPE_ECDSA_PERSONALIZED\x10\x04\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\x12#\n\x1fSIGNATURE_TYPE_AES_GCM_DETACHED\x10\n\x12$\n SIGNATURE_TYPE_CERTIFICATE_ECDSA\x10\x0b\"\x04\x08\x07\x10\x07*F\n\rIdentifiedKey\x12\x19\n\x15IDENTIFIEDKEY_UNKNOWN\x10\x00\x12\x1a\n\x16IDENTIFIEDKEY_ROOT_KEY\x10\x01*\x87\x01\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01\x12&\n\"SESSION_INFO_STATUS_INVALID_HANDLE\x10\x02\x42i\n\x1e\x63om.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,14 +32,14 @@ if not _descriptor._USE_C_DESCRIPTORS: _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=1813 - _globals['_TAG']._serialized_end=2044 - _globals['_SIGNATURETYPE']._serialized_start=2047 - _globals['_SIGNATURETYPE']._serialized_end=2443 - _globals['_IDENTIFIEDKEY']._serialized_start=2445 - _globals['_IDENTIFIEDKEY']._serialized_end=2515 - _globals['_SESSION_INFO_STATUS']._serialized_start=2518 - _globals['_SESSION_INFO_STATUS']._serialized_end=2653 + _globals['_TAG']._serialized_start=1812 + _globals['_TAG']._serialized_end=2043 + _globals['_SIGNATURETYPE']._serialized_start=2046 + _globals['_SIGNATURETYPE']._serialized_end=2442 + _globals['_IDENTIFIEDKEY']._serialized_start=2444 + _globals['_IDENTIFIEDKEY']._serialized_end=2514 + _globals['_SESSION_INFO_STATUS']._serialized_start=2517 + _globals['_SESSION_INFO_STATUS']._serialized_end=2652 _globals['_KEYIDENTITY']._serialized_start=71 _globals['_KEYIDENTITY']._serialized_end=215 _globals['_AES_GCM_PERSONALIZED_SIGNATURE_DATA']._serialized_start=217 @@ -49,17 +49,17 @@ _globals['_PRESENT_KEY_SIGNATURE_DATA']._serialized_start=416 _globals['_PRESENT_KEY_SIGNATURE_DATA']._serialized_end=464 _globals['_AES_GCM_DETACHED_SIGNATURE_DATA']._serialized_start=466 - _globals['_AES_GCM_DETACHED_SIGNATURE_DATA']._serialized_end=579 - _globals['_CERTIFICATE_ECDSA_SIGNATURE_DATA']._serialized_start=581 - _globals['_CERTIFICATE_ECDSA_SIGNATURE_DATA']._serialized_end=665 - _globals['_HMAC_SIGNATURE_DATA']._serialized_start=667 - _globals['_HMAC_SIGNATURE_DATA']._serialized_end=701 - _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_start=703 - _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_end=802 - _globals['_SIGNATUREDATA']._serialized_start=805 - _globals['_SIGNATUREDATA']._serialized_end=1539 - _globals['_GETSESSIONINFOREQUEST']._serialized_start=1541 - _globals['_GETSESSIONINFOREQUEST']._serialized_end=1626 - _globals['_SESSIONINFO']._serialized_start=1629 - _globals['_SESSIONINFO']._serialized_end=1810 + _globals['_AES_GCM_DETACHED_SIGNATURE_DATA']._serialized_end=580 + _globals['_CERTIFICATE_ECDSA_SIGNATURE_DATA']._serialized_start=582 + _globals['_CERTIFICATE_ECDSA_SIGNATURE_DATA']._serialized_end=666 + _globals['_HMAC_SIGNATURE_DATA']._serialized_start=668 + _globals['_HMAC_SIGNATURE_DATA']._serialized_end=702 + _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_start=704 + _globals['_HMAC_PERSONALIZED_SIGNATURE_DATA']._serialized_end=803 + _globals['_SIGNATUREDATA']._serialized_start=806 + _globals['_SIGNATUREDATA']._serialized_end=1540 + _globals['_GETSESSIONINFOREQUEST']._serialized_start=1542 + _globals['_GETSESSIONINFOREQUEST']._serialized_end=1627 + _globals['_SESSIONINFO']._serialized_start=1630 + _globals['_SESSIONINFO']._serialized_end=1809 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/command/signatures_pb2.pyi b/packages/python/tesla_protocol/command/signatures_pb2.pyi index 474fc19..3997371 100644 --- a/packages/python/tesla_protocol/command/signatures_pb2.pyi +++ b/packages/python/tesla_protocol/command/signatures_pb2.pyi @@ -115,18 +115,18 @@ class Present_Key_Signature_Data(_message.Message): def __init__(self, auth_token: _Optional[bytes] = ...) -> None: ... class AES_GCM_Detached_Signature_Data(_message.Message): - __slots__ = ("epoch", "counter", "expires_at", "nonce", "tag") - EPOCH_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("nonce", "counter", "expires_at", "tag", "prefix") + NONCE_FIELD_NUMBER: _ClassVar[int] COUNTER_FIELD_NUMBER: _ClassVar[int] EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] - NONCE_FIELD_NUMBER: _ClassVar[int] TAG_FIELD_NUMBER: _ClassVar[int] - epoch: bytes + PREFIX_FIELD_NUMBER: _ClassVar[int] + nonce: bytes counter: int expires_at: int - nonce: bytes tag: bytes - def __init__(self, epoch: _Optional[bytes] = ..., counter: _Optional[int] = ..., expires_at: _Optional[int] = ..., nonce: _Optional[bytes] = ..., tag: _Optional[bytes] = ...) -> None: ... + prefix: bytes + def __init__(self, nonce: _Optional[bytes] = ..., counter: _Optional[int] = ..., expires_at: _Optional[int] = ..., tag: _Optional[bytes] = ..., prefix: _Optional[bytes] = ...) -> None: ... class Certificate_ECDSA_Signature_Data(_message.Message): __slots__ = ("certificate_chain_der", "signature") @@ -181,19 +181,19 @@ class GetSessionInfoRequest(_message.Message): def __init__(self, key_identity: _Optional[_Union[KeyIdentity, _Mapping]] = ...) -> None: ... class SessionInfo(_message.Message): - __slots__ = ("counter", "publicKey", "epoch", "clock_time", "status", "handle", "field_7") + __slots__ = ("counter", "publicKey", "epoch", "clock_time", "status", "handle", "flags") COUNTER_FIELD_NUMBER: _ClassVar[int] PUBLICKEY_FIELD_NUMBER: _ClassVar[int] EPOCH_FIELD_NUMBER: _ClassVar[int] CLOCK_TIME_FIELD_NUMBER: _ClassVar[int] STATUS_FIELD_NUMBER: _ClassVar[int] HANDLE_FIELD_NUMBER: _ClassVar[int] - FIELD_7_FIELD_NUMBER: _ClassVar[int] + FLAGS_FIELD_NUMBER: _ClassVar[int] counter: int publicKey: bytes epoch: bytes clock_time: int status: Session_Info_Status handle: int - field_7: 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] = ..., field_7: _Optional[int] = ...) -> None: ... + flags: 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] = ..., flags: _Optional[int] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/command/universal_message_pb2.py b/packages/python/tesla_protocol/command/universal_message_pb2.py index a0e9032..f666c9b 100644 --- a/packages/python/tesla_protocol/command/universal_message_pb2.py +++ b/packages/python/tesla_protocol/command/universal_message_pb2.py @@ -25,7 +25,7 @@ from tesla_protocol.command import signatures_pb2 as tesla__protocol_dot_command_dot_signatures__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.tesla_protocol/command/universal_message.proto\x12\x1ftesla_protocol.UniversalMessage\x1a\'tesla_protocol/command/signatures.proto\"v\n\x0b\x44\x65stination\x12\x39\n\x06\x64omain\x18\x01 \x01(\x0e\x32\'.tesla_protocol.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00\x42\x11\n\x0fsub_destination\"\xac\x01\n\rMessageStatus\x12L\n\x10operation_status\x18\x01 \x01(\x0e\x32\x32.tesla_protocol.UniversalMessage.OperationStatus_E\x12M\n\x14signed_message_fault\x18\x02 \x01(\x0e\x32/.tesla_protocol.UniversalMessage.MessageFault_E\"\x8d\x01\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c\x12\x0e\n\x06handle\x18\x03 \x01(\r\x12@\n\x0eidentified_key\x18\x04 \x01(\x0e\x32(.tesla_protocol.Signatures.IdentifiedKey\"G\n\x0cMessageFrame\x12\x13\n\x0b\x63hunk_index\x18\x01 \x01(\r\x12\x14\n\x0ctotal_chunks\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xe7\x04\n\x0fRoutableMessage\x12\x44\n\x0eto_destination\x18\x06 \x01(\x0b\x32,.tesla_protocol.UniversalMessage.Destination\x12\x46\n\x10\x66rom_destination\x18\x07 \x01(\x0b\x32,.tesla_protocol.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12S\n\x14session_info_request\x18\x0e \x01(\x0b\x32\x33.tesla_protocol.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x12\x42\n\x0esignature_data\x18\r \x01(\x0b\x32(.tesla_protocol.Signatures.SignatureDataH\x01\x12K\n\x13signedMessageStatus\x18\x0c \x01(\x0b\x32..tesla_protocol.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(\r\x12\x44\n\rmessage_frame\x18\x35 \x01(\x0b\x32-.tesla_protocol.UniversalMessage.MessageFrameB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*\xb5\x01\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\x12\x14\n\x10\x44OMAIN_AUTOPILOT\x10\x04\x12\x10\n\x0c\x44OMAIN_AUTHD\x10\x05\x12\x18\n\x14\x44OMAIN_ENERGY_DEVICE\x10\x07\x12\x1d\n\x19\x44OMAIN_ENERGY_DEVICE_AUTH\x10\x08*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xa0\n\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\x12:\n6MESSAGEFAULT_ERROR_COMMAND_REQUIRES_PHYSICAL_PROXIMITY\x10\x1d*\x9a\x01\n\x05\x46lags\x12\x15\n\x11\x46LAG_USER_COMMAND\x10\x00\x12\x19\n\x15\x46LAG_ENCRYPT_RESPONSE\x10\x01\x12!\n\x1d\x46LAG_SUPPORTS_MESSAGE_FRAMING\x10\x02\x12\x18\n\x14\x46LAG_COMPRESSED_ZLIB\x10\x03\x12\"\n\x1e\x46LAG_SUPPORTS_COMPRESSION_ZLIB\x10\x04\x42u\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.tesla_protocol/command/universal_message.proto\x12\x1ftesla_protocol.UniversalMessage\x1a\'tesla_protocol/command/signatures.proto\"v\n\x0b\x44\x65stination\x12\x39\n\x06\x64omain\x18\x01 \x01(\x0e\x32\'.tesla_protocol.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00\x42\x11\n\x0fsub_destination\"\xac\x01\n\rMessageStatus\x12L\n\x10operation_status\x18\x01 \x01(\x0e\x32\x32.tesla_protocol.UniversalMessage.OperationStatus_E\x12M\n\x14signed_message_fault\x18\x02 \x01(\x0e\x32/.tesla_protocol.UniversalMessage.MessageFault_E\"\x8d\x01\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c\x12\x0e\n\x06handle\x18\x03 \x01(\r\x12@\n\x0eidentified_key\x18\x04 \x01(\x0e\x32(.tesla_protocol.Signatures.IdentifiedKey\"G\n\x0cMessageFrame\x12\x13\n\x0b\x63hunk_index\x18\x01 \x01(\r\x12\x14\n\x0ctotal_chunks\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xe7\x04\n\x0fRoutableMessage\x12\x44\n\x0eto_destination\x18\x06 \x01(\x0b\x32,.tesla_protocol.UniversalMessage.Destination\x12\x46\n\x10\x66rom_destination\x18\x07 \x01(\x0b\x32,.tesla_protocol.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12S\n\x14session_info_request\x18\x0e \x01(\x0b\x32\x33.tesla_protocol.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x12\x42\n\x0esignature_data\x18\r \x01(\x0b\x32(.tesla_protocol.Signatures.SignatureDataH\x01\x12K\n\x13signedMessageStatus\x18\x0c \x01(\x0b\x32..tesla_protocol.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(\r\x12\x44\n\rmessage_frame\x18\x35 \x01(\x0b\x32-.tesla_protocol.UniversalMessage.MessageFrameB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*\xe2\x01\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\x12\x14\n\x10\x44OMAIN_AUTOPILOT\x10\x04\x12\x10\n\x0c\x44OMAIN_AUTHD\x10\x05\x12\x18\n\x14\x44OMAIN_ENERGY_DEVICE\x10\x07\x12\x1d\n\x19\x44OMAIN_ENERGY_DEVICE_AUTH\x10\x08\x12+\n\'DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND\x10\x0b*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xa0\n\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\x12:\n6MESSAGEFAULT_ERROR_COMMAND_REQUIRES_PHYSICAL_PROXIMITY\x10\x1d*\x9a\x01\n\x05\x46lags\x12\x15\n\x11\x46LAG_USER_COMMAND\x10\x00\x12\x19\n\x15\x46LAG_ENCRYPT_RESPONSE\x10\x01\x12!\n\x1d\x46LAG_SUPPORTS_MESSAGE_FRAMING\x10\x02\x12\x18\n\x14\x46LAG_COMPRESSED_ZLIB\x10\x03\x12\"\n\x1e\x46LAG_SUPPORTS_COMPRESSION_ZLIB\x10\x04\x42u\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,13 +34,13 @@ _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=1255 - _globals['_DOMAIN']._serialized_end=1436 - _globals['_OPERATIONSTATUS_E']._serialized_start=1438 - _globals['_OPERATIONSTATUS_E']._serialized_end=1534 - _globals['_MESSAGEFAULT_E']._serialized_start=1537 - _globals['_MESSAGEFAULT_E']._serialized_end=2849 - _globals['_FLAGS']._serialized_start=2852 - _globals['_FLAGS']._serialized_end=3006 + _globals['_DOMAIN']._serialized_end=1481 + _globals['_OPERATIONSTATUS_E']._serialized_start=1483 + _globals['_OPERATIONSTATUS_E']._serialized_end=1579 + _globals['_MESSAGEFAULT_E']._serialized_start=1582 + _globals['_MESSAGEFAULT_E']._serialized_end=2894 + _globals['_FLAGS']._serialized_start=2897 + _globals['_FLAGS']._serialized_end=3051 _globals['_DESTINATION']._serialized_start=124 _globals['_DESTINATION']._serialized_end=242 _globals['_MESSAGESTATUS']._serialized_start=245 diff --git a/packages/python/tesla_protocol/command/universal_message_pb2.pyi b/packages/python/tesla_protocol/command/universal_message_pb2.pyi index 4a851da..0b4ff9a 100644 --- a/packages/python/tesla_protocol/command/universal_message_pb2.pyi +++ b/packages/python/tesla_protocol/command/universal_message_pb2.pyi @@ -16,6 +16,7 @@ class Domain(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): DOMAIN_AUTHD: _ClassVar[Domain] DOMAIN_ENERGY_DEVICE: _ClassVar[Domain] DOMAIN_ENERGY_DEVICE_AUTH: _ClassVar[Domain] + DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND: _ClassVar[Domain] class OperationStatus_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -70,6 +71,7 @@ DOMAIN_AUTOPILOT: Domain DOMAIN_AUTHD: Domain DOMAIN_ENERGY_DEVICE: Domain DOMAIN_ENERGY_DEVICE_AUTH: Domain +DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND: Domain OPERATIONSTATUS_OK: OperationStatus_E OPERATIONSTATUS_WAIT: OperationStatus_E OPERATIONSTATUS_ERROR: OperationStatus_E diff --git a/packages/python/tesla_protocol/command/vcsec_pb2.py b/packages/python/tesla_protocol/command/vcsec_pb2.py index 5fb83d1..6b5410d 100644 --- a/packages/python/tesla_protocol/command/vcsec_pb2.py +++ b/packages/python/tesla_protocol/command/vcsec_pb2.py @@ -26,7 +26,7 @@ from tesla_protocol.command import errors_pb2 as tesla__protocol_dot_command_dot_errors__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"tesla_protocol/command/vcsec.proto\x12\x14tesla_protocol.VCSEC\x1a!tesla_protocol/command/keys.proto\x1a#tesla_protocol/command/errors.proto\"k\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12:\n\rsignatureType\x18\x03 \x01(\x0e\x32#.tesla_protocol.VCSEC.SignatureType\"L\n\x0eToVCSECMessage\x12:\n\rsignedMessage\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.SignedMessage\"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c\"I\n\x0bKeyMetadata\x12:\n\rkeyFormFactor\x18\x01 \x01(\x0e\x32#.tesla_protocol.VCSEC.KeyFormFactor\"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c\"y\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12=\n\x10whitelistEntries\x18\x02 \x03(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r\"\xf1\x01\n\x12WhitelistEntryInfo\x12\x32\n\x05keyId\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12\x32\n\tpublicKey\x18\x02 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12\x39\n\x0emetadataForKey\x18\x04 \x01(\x0b\x32!.tesla_protocol.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12*\n\x07keyRole\x18\x07 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\"\xc4\x01\n\x12InformationRequest\x12L\n\x16informationRequestType\x18\x01 \x01(\x0e\x32,.tesla_protocol.VCSEC.InformationRequestType\x12\x34\n\x05keyId\x18\x02 \x01(\x0b\x32#.tesla_protocol.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\"\x90\x04\n\x12\x43losureMoveRequest\x12@\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x43\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12?\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x42\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12:\n\trearTrunk\x18\x05 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12;\n\nfrontTrunk\x18\x06 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12;\n\nchargePort\x18\x07 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x38\n\x07tonneau\x18\x08 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\"\x87\x01\n\x10PermissionChange\x12,\n\x03key\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12*\n\x07keyRole\x18\x04 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\"\xe8\x01\n\nReplaceKey\x12=\n\x12publicKeyToReplace\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12\x31\n\x08keyToAdd\x18\x03 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12*\n\x07keyRole\x18\x04 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08\x42\x0e\n\x0ckeyToReplace\"\xa2\x06\n\x12WhitelistOperation\x12\x42\n\x17\x61\x64\x64PublicKeyToWhitelist\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12G\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12K\n\x19\x61\x64\x64PermissionsToPublicKey\x18\x03 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12P\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12T\n\"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12I\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12\x43\n\x11\x61\x64\x64ImpermanentKey\x18\x08 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12T\n\"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12\"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\x36\n\nreplaceKey\x18\x11 \x01(\x0b\x32 .tesla_protocol.VCSEC.ReplaceKeyH\x00\x12\x39\n\x0emetadataForKey\x18\x06 \x01(\x0b\x32!.tesla_protocol.VCSEC.KeyMetadataB\r\n\x0bsub_message\"\xfc\x01\n\x19WhitelistOperation_status\x12]\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e\x32\x36.tesla_protocol.VCSEC.WhitelistOperation_information_E\x12>\n\x11signerOfOperation\x18\x02 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12@\n\x0foperationStatus\x18\x03 \x01(\x0e\x32\'.tesla_protocol.VCSEC.OperationStatus_E\"|\n\x14SignedMessage_status\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\r\x12S\n\x18signedMessageInformation\x18\x02 \x01(\x0e\x32\x31.tesla_protocol.VCSEC.SignedMessage_information_E\"\x80\x02\n\rCommandStatus\x12@\n\x0foperationStatus\x18\x01 \x01(\x0e\x32\'.tesla_protocol.VCSEC.OperationStatus_E\x12I\n\x13signedMessageStatus\x18\x02 \x01(\x0b\x32*.tesla_protocol.VCSEC.SignedMessage_statusH\x00\x12S\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b\x32/.tesla_protocol.VCSEC.WhitelistOperation_statusH\x00\x42\r\n\x0bsub_message\"\x85\x01\n\x0f\x41utonomyCommand\x12P\n\x0fpullOverCommand\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.VCSEC.AutonomyCommand.PullOverCommandH\x00\x1a\x11\n\x0fPullOverCommandB\r\n\x0bsub_message\"+\n\x1a\x41uthenticationRequestToken\x12\r\n\x05token\x18\x01 \x01(\x0c\"\xe9\x01\n\x15\x41uthenticationRequest\x12\x45\n\x0bsessionInfo\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.VCSEC.AuthenticationRequestToken\x12\x43\n\x0erequestedLevel\x18\x03 \x01(\x0e\x32+.tesla_protocol.VCSEC.AuthenticationLevel_E\x12\x44\n\x0ereasonsForAuth\x18\x04 \x03(\x0e\x32,.tesla_protocol.VCSEC.AuthenticationReason_E\"\xcf\x01\n\x16\x41uthenticationResponse\x12H\n\x13\x61uthenticationLevel\x18\x01 \x01(\x0e\x32+.tesla_protocol.VCSEC.AuthenticationLevel_E\x12\x19\n\x11\x65stimatedDistance\x18\x02 \x01(\r\x12P\n\x17\x61uthenticationRejection\x18\x03 \x01(\x0e\x32/.tesla_protocol.VCSEC.AuthenticationRejection_E\"\xe0\x03\n\x0fUnsignedMessage\x12\x46\n\x12InformationRequest\x18\x01 \x01(\x0b\x32(.tesla_protocol.VCSEC.InformationRequestH\x00\x12\x36\n\tRKEAction\x18\x02 \x01(\x0e\x32!.tesla_protocol.VCSEC.RKEAction_EH\x00\x12N\n\x16\x61uthenticationResponse\x18\x03 \x01(\x0b\x32,.tesla_protocol.VCSEC.AuthenticationResponseH\x00\x12\x46\n\x12\x63losureMoveRequest\x18\x04 \x01(\x0b\x32(.tesla_protocol.VCSEC.ClosureMoveRequestH\x00\x12\x46\n\x12WhitelistOperation\x18\x10 \x01(\x0b\x32(.tesla_protocol.VCSEC.WhitelistOperationH\x00\x12@\n\x0f\x61utonomyCommand\x18\x42 \x01(\x0b\x32%.tesla_protocol.VCSEC.AutonomyCommandH\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\"\xf5\x03\n\x0f\x43losureStatuses\x12=\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12@\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12<\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12?\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x37\n\trearTrunk\x18\x05 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x38\n\nfrontTrunk\x18\x06 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x38\n\nchargePort\x18\x07 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x35\n\x07tonneau\x18\x08 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\"3\n\x15\x44\x65tailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r\"\xc3\x03\n\rVehicleStatus\x12>\n\x0f\x63losureStatuses\x18\x01 \x01(\x0b\x32%.tesla_protocol.VCSEC.ClosureStatuses\x12\x42\n\x10vehicleLockState\x18\x02 \x01(\x0e\x32(.tesla_protocol.VCSEC.VehicleLockState_E\x12\x46\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e\x32*.tesla_protocol.VCSEC.VehicleSleepStatus_E\x12:\n\x0cuserPresence\x18\x04 \x01(\x0e\x32$.tesla_protocol.VCSEC.UserPresence_E\x12J\n\x15\x64\x65tailedClosureStatus\x18\x05 \x01(\x0b\x32+.tesla_protocol.VCSEC.DetailedClosureStatus\x12\x32\n\x08uiDesire\x18\x06 \x01(\x0e\x32 .tesla_protocol.VCSEC.UIDesire_E\x12*\n\x04gear\x18\x07 \x01(\x0e\x32\x1c.tesla_protocol.VCSEC.Gear_E\"\xb4\x03\n\x10\x46romVCSECMessage\x12<\n\rvehicleStatus\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.VehicleStatusH\x00\x12L\n\x15\x61uthenticationRequest\x18\x03 \x01(\x0b\x32+.tesla_protocol.VCSEC.AuthenticationRequestH\x00\x12<\n\rcommandStatus\x18\x04 \x01(\x0b\x32#.tesla_protocol.VCSEC.CommandStatusH\x00\x12<\n\rwhitelistInfo\x18\x10 \x01(\x0b\x32#.tesla_protocol.VCSEC.WhitelistInfoH\x00\x12\x46\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b\x32(.tesla_protocol.VCSEC.WhitelistEntryInfoH\x00\x12;\n\x0cnominalError\x18. \x01(\x0b\x32#.tesla_protocol.Errors.NominalErrorH\x00\x42\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*\xa1\x01\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x18\n\x14SIGNATURE_TYPE_ECDSA\x10\x01\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02\x12 \n\x1cSIGNATURE_TYPE_AES_GCM_TOKEN\x10\x03\x12\x1b\n\x17SIGNATURE_TYPE_UNSIGNED\x10\x04*\xb2\x06\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\x12,\n(KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD\x10\x12\x12*\n&KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE\x10\x13*\xa5\x04\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12&\n\"INFORMATION_REQUEST_TYPE_GET_TOKEN\x10\x01\x12(\n$INFORMATION_REQUEST_TYPE_GET_COUNTER\x10\x02\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY\x10\x03\x12-\n)INFORMATION_REQUEST_TYPE_GET_SESSION_DATA\x10\x04\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO\x10\x07\x12/\n+INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO\x10\x08\x12+\n\'INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY\x10\t\x12-\n)INFORMATION_REQUEST_TYPE_GET_CAPABILITIES\x10\x10*\xaa\x03\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\x12&\n\"RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE\x10\x1f\x12+\n\'RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES\x10 *\xeb\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\x12#\n\x1f\x43LOSURE_MOVE_TYPE_OVERRIDE_OPEN\x10\x05\x12$\n CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE\x10\x06*`\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*\xf2\x12\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\x12N\nJWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY\x10\x1d\x12Q\nMWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE\x10\x1e\x12T\nPWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY\x10\x1f\x12g\ncWHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED\x10 *w\n\x15\x41uthenticationLevel_E\x12\x1d\n\x19\x41UTHENTICATION_LEVEL_NONE\x10\x00\x12\x1f\n\x1b\x41UTHENTICATION_LEVEL_UNLOCK\x10\x01\x12\x1e\n\x1a\x41UTHENTICATION_LEVEL_DRIVE\x10\x02*\xac\x04\n\x16\x41uthenticationReason_E\x12\'\n#AUTHENTICATIONREASON_NOT_DOCUMENTED\x10\x00\x12\'\n#AUTHENTICATIONREASON_IDENTIFICATION\x10\x01\x12\x31\n-AUTHENTICATIONREASON_POWER_ON_VEHICLE_REQUEST\x10\x02\x12$\n AUTHENTICATIONREASON_GTW_REQUEST\x10\x03\x12/\n+AUTHENTICATIONREASON_UI_UNLOCK_PASSIVE_AUTH\x10\x04\x12<\n8AUTHENTICATIONREASON_PASSIVE_UNLOCK_EXTERIOR_HANDLE_PULL\x10\x05\x12<\n8AUTHENTICATIONREASON_PASSIVE_UNLOCK_INTERIOR_HANDLE_PULL\x10\x06\x12\x38\n4AUTHENTICATIONREASON_PASSIVE_UNLOCK_AUTOPRESENT_DOOR\x10\x07\x12\x31\n-AUTHENTICATIONREASON_ENTERED_HIGHER_AUTH_ZONE\x10\x08\x12\'\n#AUTHENTICATIONREASON_WALK_UP_UNLOCK\x10\t\x12$\n AUTHENTICATIONREASON_IMMOBILIZER\x10\n*\xb3\x02\n\x19\x41uthenticationRejection_E\x12 \n\x1c\x41UTHENTICATIONREJECTION_NONE\x10\x00\x12-\n)AUTHENTICATIONREJECTION_DEVICE_STATIONARY\x10\x01\x12,\n(AUTHENTICATIONREJECTION_PASSIVE_DISABLED\x10\x02\x12$\n AUTHENTICATIONREJECTION_NO_TOKEN\x10\x03\x12\x37\n3AUTHENTICATIONREJECTION_PASSIVE_DISABLED_AUTOMATION\x10\x04\x12\x38\n4AUTHENTICATIONREJECTION_DEVICE_NOT_UNLOCKED_ON_WRIST\x10\x05*\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*8\n\nUIDesire_E\x12\x12\n\x0eUI_DESIRE_NONE\x10\x00\x12\x16\n\x12UI_DESIRE_HAS_DATA\x10\x01*]\n\x06Gear_E\x12\x10\n\x0cGEAR_UNKNOWN\x10\x00\x12\r\n\tGEAR_PARK\x10\x01\x12\x0e\n\nGEAR_DRIVE\x10\x02\x12\x10\n\x0cGEAR_REVERSE\x10\x03\x12\x10\n\x0cGEAR_NEUTRAL\x10\x04\x42_\n\x19\x63om.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"tesla_protocol/command/vcsec.proto\x12\x14tesla_protocol.VCSEC\x1a!tesla_protocol/command/keys.proto\x1a#tesla_protocol/command/errors.proto\"k\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12:\n\rsignatureType\x18\x03 \x01(\x0e\x32#.tesla_protocol.VCSEC.SignatureType\"L\n\x0eToVCSECMessage\x12:\n\rsignedMessage\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.SignedMessage\"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c\"I\n\x0bKeyMetadata\x12:\n\rkeyFormFactor\x18\x01 \x01(\x0e\x32#.tesla_protocol.VCSEC.KeyFormFactor\"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c\"y\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12=\n\x10whitelistEntries\x18\x02 \x03(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r\"\xd9\x02\n\x12WhitelistEntryInfo\x12\x32\n\x05keyId\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12\x32\n\tpublicKey\x18\x02 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12\x39\n\x0emetadataForKey\x18\x04 \x01(\x0b\x32!.tesla_protocol.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\x43\n\x0bpermissions\x18\x03 \x03(\x0e\x32..tesla_protocol.VCSEC.WhitelistKeyPermission_E\x12!\n\x19secondsEntryRemainsActive\x18\x05 \x01(\r\x12*\n\x07keyRole\x18\x07 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\"\xc4\x01\n\x12InformationRequest\x12L\n\x16informationRequestType\x18\x01 \x01(\x0e\x32,.tesla_protocol.VCSEC.InformationRequestType\x12\x34\n\x05keyId\x18\x02 \x01(\x0b\x32#.tesla_protocol.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\"\x90\x04\n\x12\x43losureMoveRequest\x12@\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x43\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12?\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x42\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12:\n\trearTrunk\x18\x05 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12;\n\nfrontTrunk\x18\x06 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12;\n\nchargePort\x18\x07 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\x12\x38\n\x07tonneau\x18\x08 \x01(\x0e\x32\'.tesla_protocol.VCSEC.ClosureMoveType_E\"\xcb\x01\n\x10PermissionChange\x12,\n\x03key\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12\x42\n\npermission\x18\x02 \x03(\x0e\x32..tesla_protocol.VCSEC.WhitelistKeyPermission_E\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12*\n\x07keyRole\x18\x04 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\"\xe8\x01\n\nReplaceKey\x12=\n\x12publicKeyToReplace\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12\x31\n\x08keyToAdd\x18\x03 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12*\n\x07keyRole\x18\x04 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08\x42\x0e\n\x0ckeyToReplace\"\xa2\x06\n\x12WhitelistOperation\x12\x42\n\x17\x61\x64\x64PublicKeyToWhitelist\x18\x01 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12G\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKeyH\x00\x12K\n\x19\x61\x64\x64PermissionsToPublicKey\x18\x03 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12P\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12T\n\"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12I\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12\x43\n\x11\x61\x64\x64ImpermanentKey\x18\x08 \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12T\n\"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b\x32&.tesla_protocol.VCSEC.PermissionChangeH\x00\x12\"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\x36\n\nreplaceKey\x18\x11 \x01(\x0b\x32 .tesla_protocol.VCSEC.ReplaceKeyH\x00\x12\x39\n\x0emetadataForKey\x18\x06 \x01(\x0b\x32!.tesla_protocol.VCSEC.KeyMetadataB\r\n\x0bsub_message\"\xfc\x01\n\x19WhitelistOperation_status\x12]\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e\x32\x36.tesla_protocol.VCSEC.WhitelistOperation_information_E\x12>\n\x11signerOfOperation\x18\x02 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12@\n\x0foperationStatus\x18\x03 \x01(\x0e\x32\'.tesla_protocol.VCSEC.OperationStatus_E\"|\n\x14SignedMessage_status\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\r\x12S\n\x18signedMessageInformation\x18\x02 \x01(\x0e\x32\x31.tesla_protocol.VCSEC.SignedMessage_information_E\"\x80\x02\n\rCommandStatus\x12@\n\x0foperationStatus\x18\x01 \x01(\x0e\x32\'.tesla_protocol.VCSEC.OperationStatus_E\x12I\n\x13signedMessageStatus\x18\x02 \x01(\x0b\x32*.tesla_protocol.VCSEC.SignedMessage_statusH\x00\x12S\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b\x32/.tesla_protocol.VCSEC.WhitelistOperation_statusH\x00\x42\r\n\x0bsub_message\"\x85\x01\n\x0f\x41utonomyCommand\x12P\n\x0fpullOverCommand\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.VCSEC.AutonomyCommand.PullOverCommandH\x00\x1a\x11\n\x0fPullOverCommandB\r\n\x0bsub_message\"+\n\x1a\x41uthenticationRequestToken\x12\r\n\x05token\x18\x01 \x01(\x0c\"\xe9\x01\n\x15\x41uthenticationRequest\x12\x45\n\x0bsessionInfo\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.VCSEC.AuthenticationRequestToken\x12\x43\n\x0erequestedLevel\x18\x03 \x01(\x0e\x32+.tesla_protocol.VCSEC.AuthenticationLevel_E\x12\x44\n\x0ereasonsForAuth\x18\x04 \x03(\x0e\x32,.tesla_protocol.VCSEC.AuthenticationReason_E\"\xcf\x01\n\x16\x41uthenticationResponse\x12H\n\x13\x61uthenticationLevel\x18\x01 \x01(\x0e\x32+.tesla_protocol.VCSEC.AuthenticationLevel_E\x12\x19\n\x11\x65stimatedDistance\x18\x02 \x01(\r\x12P\n\x17\x61uthenticationRejection\x18\x03 \x01(\x0e\x32/.tesla_protocol.VCSEC.AuthenticationRejection_E\"\xe0\x03\n\x0fUnsignedMessage\x12\x46\n\x12InformationRequest\x18\x01 \x01(\x0b\x32(.tesla_protocol.VCSEC.InformationRequestH\x00\x12\x36\n\tRKEAction\x18\x02 \x01(\x0e\x32!.tesla_protocol.VCSEC.RKEAction_EH\x00\x12N\n\x16\x61uthenticationResponse\x18\x03 \x01(\x0b\x32,.tesla_protocol.VCSEC.AuthenticationResponseH\x00\x12\x46\n\x12\x63losureMoveRequest\x18\x04 \x01(\x0b\x32(.tesla_protocol.VCSEC.ClosureMoveRequestH\x00\x12\x46\n\x12WhitelistOperation\x18\x10 \x01(\x0b\x32(.tesla_protocol.VCSEC.WhitelistOperationH\x00\x12@\n\x0f\x61utonomyCommand\x18\x42 \x01(\x0b\x32%.tesla_protocol.VCSEC.AutonomyCommandH\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\"\xf5\x03\n\x0f\x43losureStatuses\x12=\n\x0f\x66rontDriverDoor\x18\x01 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12@\n\x12\x66rontPassengerDoor\x18\x02 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12<\n\x0erearDriverDoor\x18\x03 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12?\n\x11rearPassengerDoor\x18\x04 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x37\n\trearTrunk\x18\x05 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x38\n\nfrontTrunk\x18\x06 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x38\n\nchargePort\x18\x07 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\x12\x35\n\x07tonneau\x18\x08 \x01(\x0e\x32$.tesla_protocol.VCSEC.ClosureState_E\"3\n\x15\x44\x65tailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r\"r\n\x11KeyLocationStatus\x12]\n*keyCloseToCenterConsoleWithHighProbability\x18\x01 \x01(\x0e\x32).tesla_protocol.VCSEC.KeyLocationStatus_E\")\n\x1aPersonalizationInformation\x12\x0b\n\x03vin\x18\x01 \x01(\x0c\"?\n\x0c\x43\x61pabilities\x12\x16\n\x0e\x63hargePortOpen\x18\x01 \x01(\x08\x12\x17\n\x0f\x63hargePortClose\x18\x02 \x01(\x08\"\xd6\x02\n\tKeyStatus\x12\x32\n\x05keyId\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\x12\x36\n\x0bnfcPresence\x18\x02 \x01(\x0e\x32!.tesla_protocol.VCSEC.NFCPresence\x12\x36\n\x0b\x62lePresence\x18\x03 \x01(\x0e\x32!.tesla_protocol.VCSEC.BLEPresence\x12\x32\n\tpublicKey\x18\x04 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.PublicKey\x12:\n\rkeyFormFactor\x18\x05 \x01(\x0e\x32#.tesla_protocol.VCSEC.KeyFormFactor\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\'\n\x04role\x18\x07 \x01(\x0e\x32\x19.tesla_protocol.Keys.Role\"\xbf\x01\n\rKeyStatusInfo\x12\x34\n\x0bkeyStatuses\x18\x01 \x03(\x0b\x32\x1f.tesla_protocol.VCSEC.KeyStatus\x12<\n\rrequestSource\x18\x02 \x01(\x0e\x32%.tesla_protocol.VCSEC.RequestSource_E\x12:\n\x0cQRCodeStatus\x18\x03 \x01(\x0e\x32$.tesla_protocol.VCSEC.QRCodeStatus_E\"C\n\tActiveKey\x12\x36\n\tactiveKey\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyIdentifier\"\x87\x04\n\rVehicleStatus\x12>\n\x0f\x63losureStatuses\x18\x01 \x01(\x0b\x32%.tesla_protocol.VCSEC.ClosureStatuses\x12\x42\n\x10vehicleLockState\x18\x02 \x01(\x0e\x32(.tesla_protocol.VCSEC.VehicleLockState_E\x12\x46\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e\x32*.tesla_protocol.VCSEC.VehicleSleepStatus_E\x12:\n\x0cuserPresence\x18\x04 \x01(\x0e\x32$.tesla_protocol.VCSEC.UserPresence_E\x12J\n\x15\x64\x65tailedClosureStatus\x18\x05 \x01(\x0b\x32+.tesla_protocol.VCSEC.DetailedClosureStatus\x12\x32\n\x08uiDesire\x18\x06 \x01(\x0e\x32 .tesla_protocol.VCSEC.UIDesire_E\x12*\n\x04gear\x18\x07 \x01(\x0e\x32\x1c.tesla_protocol.VCSEC.Gear_E\x12\x42\n\x11keyLocationStatus\x18\x08 \x01(\x0b\x32\'.tesla_protocol.VCSEC.KeyLocationStatus\"\xbc\x05\n\x10\x46romVCSECMessage\x12<\n\rvehicleStatus\x18\x01 \x01(\x0b\x32#.tesla_protocol.VCSEC.VehicleStatusH\x00\x12L\n\x15\x61uthenticationRequest\x18\x03 \x01(\x0b\x32+.tesla_protocol.VCSEC.AuthenticationRequestH\x00\x12<\n\rcommandStatus\x18\x04 \x01(\x0b\x32#.tesla_protocol.VCSEC.CommandStatusH\x00\x12V\n\x1apersonalizationInformation\x18\x05 \x01(\x0b\x32\x30.tesla_protocol.VCSEC.PersonalizationInformationH\x00\x12<\n\rwhitelistInfo\x18\x10 \x01(\x0b\x32#.tesla_protocol.VCSEC.WhitelistInfoH\x00\x12\x46\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b\x32(.tesla_protocol.VCSEC.WhitelistEntryInfoH\x00\x12:\n\x0c\x63\x61pabilities\x18\x13 \x01(\x0b\x32\".tesla_protocol.VCSEC.CapabilitiesH\x00\x12<\n\rkeyStatusInfo\x18\x15 \x01(\x0b\x32#.tesla_protocol.VCSEC.KeyStatusInfoH\x00\x12\x34\n\tactiveKey\x18\x16 \x01(\x0b\x32\x1f.tesla_protocol.VCSEC.ActiveKeyH\x00\x12;\n\x0cnominalError\x18. \x01(\x0b\x32#.tesla_protocol.Errors.NominalErrorH\x00\x42\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*\xa1\x01\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x18\n\x14SIGNATURE_TYPE_ECDSA\x10\x01\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02\x12 \n\x1cSIGNATURE_TYPE_AES_GCM_TOKEN\x10\x03\x12\x1b\n\x17SIGNATURE_TYPE_UNSIGNED\x10\x04*\xb2\x06\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\x12,\n(KEY_FORM_FACTOR_NFC_CARD_WD_PLASTIC_CARD\x10\x12\x12*\n&KEY_FORM_FACTOR_HARMONY_OS_NEXT_DEVICE\x10\x13*\xa5\x04\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12&\n\"INFORMATION_REQUEST_TYPE_GET_TOKEN\x10\x01\x12(\n$INFORMATION_REQUEST_TYPE_GET_COUNTER\x10\x02\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_EPHEMERAL_PUBLIC_KEY\x10\x03\x12-\n)INFORMATION_REQUEST_TYPE_GET_SESSION_DATA\x10\x04\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06\x12\x35\n1INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO\x10\x07\x12/\n+INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO\x10\x08\x12+\n\'INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY\x10\t\x12-\n)INFORMATION_REQUEST_TYPE_GET_CAPABILITIES\x10\x10*\xef\x03\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\x12&\n\"RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE\x10\x1f\x12+\n\'RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES\x10 \x12 \n\x1cRKE_ACTION_LEFT_STORAGE_OPEN\x10!\x12!\n\x1dRKE_ACTION_RIGHT_STORAGE_OPEN\x10\"*\xeb\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\x12#\n\x1f\x43LOSURE_MOVE_TYPE_OVERRIDE_OPEN\x10\x05\x12$\n CLOSURE_MOVE_TYPE_OVERRIDE_CLOSE\x10\x06*`\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*\xf2\x12\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\x12N\nJWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_RIDER_KEY\x10\x1d\x12Q\nMWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_RIDER_KEY_OUTSIDE_FLEET_MODE\x10\x1e\x12T\nPWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY\x10\x1f\x12g\ncWHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_PREDELIVERY_KEY_WHEN_ALREADY_DELIVERED\x10 *w\n\x15\x41uthenticationLevel_E\x12\x1d\n\x19\x41UTHENTICATION_LEVEL_NONE\x10\x00\x12\x1f\n\x1b\x41UTHENTICATION_LEVEL_UNLOCK\x10\x01\x12\x1e\n\x1a\x41UTHENTICATION_LEVEL_DRIVE\x10\x02*\xac\x04\n\x16\x41uthenticationReason_E\x12\'\n#AUTHENTICATIONREASON_NOT_DOCUMENTED\x10\x00\x12\'\n#AUTHENTICATIONREASON_IDENTIFICATION\x10\x01\x12\x31\n-AUTHENTICATIONREASON_POWER_ON_VEHICLE_REQUEST\x10\x02\x12$\n AUTHENTICATIONREASON_GTW_REQUEST\x10\x03\x12/\n+AUTHENTICATIONREASON_UI_UNLOCK_PASSIVE_AUTH\x10\x04\x12<\n8AUTHENTICATIONREASON_PASSIVE_UNLOCK_EXTERIOR_HANDLE_PULL\x10\x05\x12<\n8AUTHENTICATIONREASON_PASSIVE_UNLOCK_INTERIOR_HANDLE_PULL\x10\x06\x12\x38\n4AUTHENTICATIONREASON_PASSIVE_UNLOCK_AUTOPRESENT_DOOR\x10\x07\x12\x31\n-AUTHENTICATIONREASON_ENTERED_HIGHER_AUTH_ZONE\x10\x08\x12\'\n#AUTHENTICATIONREASON_WALK_UP_UNLOCK\x10\t\x12$\n AUTHENTICATIONREASON_IMMOBILIZER\x10\n*\xb3\x02\n\x19\x41uthenticationRejection_E\x12 \n\x1c\x41UTHENTICATIONREJECTION_NONE\x10\x00\x12-\n)AUTHENTICATIONREJECTION_DEVICE_STATIONARY\x10\x01\x12,\n(AUTHENTICATIONREJECTION_PASSIVE_DISABLED\x10\x02\x12$\n AUTHENTICATIONREJECTION_NO_TOKEN\x10\x03\x12\x37\n3AUTHENTICATIONREJECTION_PASSIVE_DISABLED_AUTOMATION\x10\x04\x12\x38\n4AUTHENTICATIONREJECTION_DEVICE_NOT_UNLOCKED_ON_WRIST\x10\x05*\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*8\n\nUIDesire_E\x12\x12\n\x0eUI_DESIRE_NONE\x10\x00\x12\x16\n\x12UI_DESIRE_HAS_DATA\x10\x01*]\n\x06Gear_E\x12\x10\n\x0cGEAR_UNKNOWN\x10\x00\x12\r\n\tGEAR_PARK\x10\x01\x12\x0e\n\nGEAR_DRIVE\x10\x02\x12\x10\n\x0cGEAR_REVERSE\x10\x03\x12\x10\n\x0cGEAR_NEUTRAL\x10\x04*\xdf\x03\n\x18WhitelistKeyPermission_E\x12+\n\'WHITELISTKEYPERMISSION_ADD_TO_WHITELIST\x10\x00\x12\'\n#WHITELISTKEYPERMISSION_LOCAL_UNLOCK\x10\x01\x12&\n\"WHITELISTKEYPERMISSION_LOCAL_DRIVE\x10\x02\x12(\n$WHITELISTKEYPERMISSION_REMOTE_UNLOCK\x10\x03\x12\'\n#WHITELISTKEYPERMISSION_REMOTE_DRIVE\x10\x04\x12-\n)WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS\x10\x05\x12\x30\n,WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST\x10\x06\x12\x35\n1WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST\x10\x07\x12\x36\n2WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS\x10\x08\x12\"\n\x1eWHITELISTKEYPERMISSION_UNKNOWN\x10\x1f*g\n\x13KeyLocationStatus_E\x12\x18\n\x14KEY_LOCATION_UNKNOWN\x10\x00\x12\x1c\n\x18KEY_LOCATION_NOT_PRESENT\x10\x01\x12\x18\n\x14KEY_LOCATION_PRESENT\x10\x02*}\n\x0bNFCPresence\x12\x1c\n\x18NFC_PRESENCE_NOT_PRESENT\x10\x00\x12$\n NFC_PRESENCE_PRESENT_AT_B_PILLAR\x10\x01\x12*\n&NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE\x10\x02*m\n\x0b\x42LEPresence\x12\x1c\n\x18\x42LE_PRESENCE_NOT_PRESENT\x10\x00\x12\x18\n\x14\x42LE_PRESENCE_PRESENT\x10\x01\x12&\n\"BLE_PRESENCE_CONNECTED_NOT_PRESENT\x10\x02*e\n\x0fRequestSource_E\x12 \n\x1cREQUEST_SOURCE_NOT_POPULATED\x10\x00\x12\x16\n\x12REQUEST_SOURCE_BLE\x10\x01\x12\x18\n\x14REQUEST_SOURCE_OTHER\x10\x02*l\n\x0eQRCodeStatus_E\x12\x1a\n\x16QR_CODE_STATUS_UNKNOWN\x10\x00\x12\x1c\n\x18QR_CODE_STATUS_DISPLAYED\x10\x01\x12 \n\x1cQR_CODE_STATUS_NOT_DISPLAYED\x10\x02\x42_\n\x19\x63om.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,40 +34,52 @@ if not _descriptor._USE_C_DESCRIPTORS: _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=5945 - _globals['_SIGNATURETYPE']._serialized_end=6106 - _globals['_KEYFORMFACTOR']._serialized_start=6109 - _globals['_KEYFORMFACTOR']._serialized_end=6927 - _globals['_INFORMATIONREQUESTTYPE']._serialized_start=6930 - _globals['_INFORMATIONREQUESTTYPE']._serialized_end=7479 - _globals['_RKEACTION_E']._serialized_start=7482 - _globals['_RKEACTION_E']._serialized_end=7908 - _globals['_CLOSUREMOVETYPE_E']._serialized_start=7911 - _globals['_CLOSUREMOVETYPE_E']._serialized_end=8146 - _globals['_OPERATIONSTATUS_E']._serialized_start=8148 - _globals['_OPERATIONSTATUS_E']._serialized_end=8244 - _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_start=8247 - _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_end=9386 - _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_start=9389 - _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_end=11807 - _globals['_AUTHENTICATIONLEVEL_E']._serialized_start=11809 - _globals['_AUTHENTICATIONLEVEL_E']._serialized_end=11928 - _globals['_AUTHENTICATIONREASON_E']._serialized_start=11931 - _globals['_AUTHENTICATIONREASON_E']._serialized_end=12487 - _globals['_AUTHENTICATIONREJECTION_E']._serialized_start=12490 - _globals['_AUTHENTICATIONREJECTION_E']._serialized_end=12797 - _globals['_CLOSURESTATE_E']._serialized_start=12800 - _globals['_CLOSURESTATE_E']._serialized_end=12998 - _globals['_VEHICLELOCKSTATE_E']._serialized_start=13001 - _globals['_VEHICLELOCKSTATE_E']._serialized_end=13160 - _globals['_VEHICLESLEEPSTATUS_E']._serialized_start=13162 - _globals['_VEHICLESLEEPSTATUS_E']._serialized_end=13283 - _globals['_USERPRESENCE_E']._serialized_start=13285 - _globals['_USERPRESENCE_E']._serialized_end=13410 - _globals['_UIDESIRE_E']._serialized_start=13412 - _globals['_UIDESIRE_E']._serialized_end=13468 - _globals['_GEAR_E']._serialized_start=13470 - _globals['_GEAR_E']._serialized_end=13563 + _globals['_SIGNATURETYPE']._serialized_start=7281 + _globals['_SIGNATURETYPE']._serialized_end=7442 + _globals['_KEYFORMFACTOR']._serialized_start=7445 + _globals['_KEYFORMFACTOR']._serialized_end=8263 + _globals['_INFORMATIONREQUESTTYPE']._serialized_start=8266 + _globals['_INFORMATIONREQUESTTYPE']._serialized_end=8815 + _globals['_RKEACTION_E']._serialized_start=8818 + _globals['_RKEACTION_E']._serialized_end=9313 + _globals['_CLOSUREMOVETYPE_E']._serialized_start=9316 + _globals['_CLOSUREMOVETYPE_E']._serialized_end=9551 + _globals['_OPERATIONSTATUS_E']._serialized_start=9553 + _globals['_OPERATIONSTATUS_E']._serialized_end=9649 + _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_start=9652 + _globals['_SIGNEDMESSAGE_INFORMATION_E']._serialized_end=10791 + _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_start=10794 + _globals['_WHITELISTOPERATION_INFORMATION_E']._serialized_end=13212 + _globals['_AUTHENTICATIONLEVEL_E']._serialized_start=13214 + _globals['_AUTHENTICATIONLEVEL_E']._serialized_end=13333 + _globals['_AUTHENTICATIONREASON_E']._serialized_start=13336 + _globals['_AUTHENTICATIONREASON_E']._serialized_end=13892 + _globals['_AUTHENTICATIONREJECTION_E']._serialized_start=13895 + _globals['_AUTHENTICATIONREJECTION_E']._serialized_end=14202 + _globals['_CLOSURESTATE_E']._serialized_start=14205 + _globals['_CLOSURESTATE_E']._serialized_end=14403 + _globals['_VEHICLELOCKSTATE_E']._serialized_start=14406 + _globals['_VEHICLELOCKSTATE_E']._serialized_end=14565 + _globals['_VEHICLESLEEPSTATUS_E']._serialized_start=14567 + _globals['_VEHICLESLEEPSTATUS_E']._serialized_end=14688 + _globals['_USERPRESENCE_E']._serialized_start=14690 + _globals['_USERPRESENCE_E']._serialized_end=14815 + _globals['_UIDESIRE_E']._serialized_start=14817 + _globals['_UIDESIRE_E']._serialized_end=14873 + _globals['_GEAR_E']._serialized_start=14875 + _globals['_GEAR_E']._serialized_end=14968 + _globals['_WHITELISTKEYPERMISSION_E']._serialized_start=14971 + _globals['_WHITELISTKEYPERMISSION_E']._serialized_end=15450 + _globals['_KEYLOCATIONSTATUS_E']._serialized_start=15452 + _globals['_KEYLOCATIONSTATUS_E']._serialized_end=15555 + _globals['_NFCPRESENCE']._serialized_start=15557 + _globals['_NFCPRESENCE']._serialized_end=15682 + _globals['_BLEPRESENCE']._serialized_start=15684 + _globals['_BLEPRESENCE']._serialized_end=15793 + _globals['_REQUESTSOURCE_E']._serialized_start=15795 + _globals['_REQUESTSOURCE_E']._serialized_end=15896 + _globals['_QRCODESTATUS_E']._serialized_start=15898 + _globals['_QRCODESTATUS_E']._serialized_end=16006 _globals['_SIGNEDMESSAGE']._serialized_start=132 _globals['_SIGNEDMESSAGE']._serialized_end=239 _globals['_TOVCSECMESSAGE']._serialized_start=241 @@ -81,41 +93,53 @@ _globals['_WHITELISTINFO']._serialized_start=469 _globals['_WHITELISTINFO']._serialized_end=590 _globals['_WHITELISTENTRYINFO']._serialized_start=593 - _globals['_WHITELISTENTRYINFO']._serialized_end=834 - _globals['_INFORMATIONREQUEST']._serialized_start=837 - _globals['_INFORMATIONREQUEST']._serialized_end=1033 - _globals['_CLOSUREMOVEREQUEST']._serialized_start=1036 - _globals['_CLOSUREMOVEREQUEST']._serialized_end=1564 - _globals['_PERMISSIONCHANGE']._serialized_start=1567 - _globals['_PERMISSIONCHANGE']._serialized_end=1702 - _globals['_REPLACEKEY']._serialized_start=1705 - _globals['_REPLACEKEY']._serialized_end=1937 - _globals['_WHITELISTOPERATION']._serialized_start=1940 - _globals['_WHITELISTOPERATION']._serialized_end=2742 - _globals['_WHITELISTOPERATION_STATUS']._serialized_start=2745 - _globals['_WHITELISTOPERATION_STATUS']._serialized_end=2997 - _globals['_SIGNEDMESSAGE_STATUS']._serialized_start=2999 - _globals['_SIGNEDMESSAGE_STATUS']._serialized_end=3123 - _globals['_COMMANDSTATUS']._serialized_start=3126 - _globals['_COMMANDSTATUS']._serialized_end=3382 - _globals['_AUTONOMYCOMMAND']._serialized_start=3385 - _globals['_AUTONOMYCOMMAND']._serialized_end=3518 - _globals['_AUTONOMYCOMMAND_PULLOVERCOMMAND']._serialized_start=3486 - _globals['_AUTONOMYCOMMAND_PULLOVERCOMMAND']._serialized_end=3503 - _globals['_AUTHENTICATIONREQUESTTOKEN']._serialized_start=3520 - _globals['_AUTHENTICATIONREQUESTTOKEN']._serialized_end=3563 - _globals['_AUTHENTICATIONREQUEST']._serialized_start=3566 - _globals['_AUTHENTICATIONREQUEST']._serialized_end=3799 - _globals['_AUTHENTICATIONRESPONSE']._serialized_start=3802 - _globals['_AUTHENTICATIONRESPONSE']._serialized_end=4009 - _globals['_UNSIGNEDMESSAGE']._serialized_start=4012 - _globals['_UNSIGNEDMESSAGE']._serialized_end=4492 - _globals['_CLOSURESTATUSES']._serialized_start=4495 - _globals['_CLOSURESTATUSES']._serialized_end=4996 - _globals['_DETAILEDCLOSURESTATUS']._serialized_start=4998 - _globals['_DETAILEDCLOSURESTATUS']._serialized_end=5049 - _globals['_VEHICLESTATUS']._serialized_start=5052 - _globals['_VEHICLESTATUS']._serialized_end=5503 - _globals['_FROMVCSECMESSAGE']._serialized_start=5506 - _globals['_FROMVCSECMESSAGE']._serialized_end=5942 + _globals['_WHITELISTENTRYINFO']._serialized_end=938 + _globals['_INFORMATIONREQUEST']._serialized_start=941 + _globals['_INFORMATIONREQUEST']._serialized_end=1137 + _globals['_CLOSUREMOVEREQUEST']._serialized_start=1140 + _globals['_CLOSUREMOVEREQUEST']._serialized_end=1668 + _globals['_PERMISSIONCHANGE']._serialized_start=1671 + _globals['_PERMISSIONCHANGE']._serialized_end=1874 + _globals['_REPLACEKEY']._serialized_start=1877 + _globals['_REPLACEKEY']._serialized_end=2109 + _globals['_WHITELISTOPERATION']._serialized_start=2112 + _globals['_WHITELISTOPERATION']._serialized_end=2914 + _globals['_WHITELISTOPERATION_STATUS']._serialized_start=2917 + _globals['_WHITELISTOPERATION_STATUS']._serialized_end=3169 + _globals['_SIGNEDMESSAGE_STATUS']._serialized_start=3171 + _globals['_SIGNEDMESSAGE_STATUS']._serialized_end=3295 + _globals['_COMMANDSTATUS']._serialized_start=3298 + _globals['_COMMANDSTATUS']._serialized_end=3554 + _globals['_AUTONOMYCOMMAND']._serialized_start=3557 + _globals['_AUTONOMYCOMMAND']._serialized_end=3690 + _globals['_AUTONOMYCOMMAND_PULLOVERCOMMAND']._serialized_start=3658 + _globals['_AUTONOMYCOMMAND_PULLOVERCOMMAND']._serialized_end=3675 + _globals['_AUTHENTICATIONREQUESTTOKEN']._serialized_start=3692 + _globals['_AUTHENTICATIONREQUESTTOKEN']._serialized_end=3735 + _globals['_AUTHENTICATIONREQUEST']._serialized_start=3738 + _globals['_AUTHENTICATIONREQUEST']._serialized_end=3971 + _globals['_AUTHENTICATIONRESPONSE']._serialized_start=3974 + _globals['_AUTHENTICATIONRESPONSE']._serialized_end=4181 + _globals['_UNSIGNEDMESSAGE']._serialized_start=4184 + _globals['_UNSIGNEDMESSAGE']._serialized_end=4664 + _globals['_CLOSURESTATUSES']._serialized_start=4667 + _globals['_CLOSURESTATUSES']._serialized_end=5168 + _globals['_DETAILEDCLOSURESTATUS']._serialized_start=5170 + _globals['_DETAILEDCLOSURESTATUS']._serialized_end=5221 + _globals['_KEYLOCATIONSTATUS']._serialized_start=5223 + _globals['_KEYLOCATIONSTATUS']._serialized_end=5337 + _globals['_PERSONALIZATIONINFORMATION']._serialized_start=5339 + _globals['_PERSONALIZATIONINFORMATION']._serialized_end=5380 + _globals['_CAPABILITIES']._serialized_start=5382 + _globals['_CAPABILITIES']._serialized_end=5445 + _globals['_KEYSTATUS']._serialized_start=5448 + _globals['_KEYSTATUS']._serialized_end=5790 + _globals['_KEYSTATUSINFO']._serialized_start=5793 + _globals['_KEYSTATUSINFO']._serialized_end=5984 + _globals['_ACTIVEKEY']._serialized_start=5986 + _globals['_ACTIVEKEY']._serialized_end=6053 + _globals['_VEHICLESTATUS']._serialized_start=6056 + _globals['_VEHICLESTATUS']._serialized_end=6575 + _globals['_FROMVCSECMESSAGE']._serialized_start=6578 + _globals['_FROMVCSECMESSAGE']._serialized_end=7278 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/command/vcsec_pb2.pyi b/packages/python/tesla_protocol/command/vcsec_pb2.pyi index eb989cb..854a009 100644 --- a/packages/python/tesla_protocol/command/vcsec_pb2.pyi +++ b/packages/python/tesla_protocol/command/vcsec_pb2.pyi @@ -69,6 +69,8 @@ class RKEAction_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): RKE_ACTION_WAKE_VEHICLE: _ClassVar[RKEAction_E] RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE: _ClassVar[RKEAction_E] RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES: _ClassVar[RKEAction_E] + RKE_ACTION_LEFT_STORAGE_OPEN: _ClassVar[RKEAction_E] + RKE_ACTION_RIGHT_STORAGE_OPEN: _ClassVar[RKEAction_E] class ClosureMoveType_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -215,6 +217,49 @@ class Gear_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): GEAR_DRIVE: _ClassVar[Gear_E] GEAR_REVERSE: _ClassVar[Gear_E] GEAR_NEUTRAL: _ClassVar[Gear_E] + +class WhitelistKeyPermission_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + WHITELISTKEYPERMISSION_ADD_TO_WHITELIST: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_LOCAL_UNLOCK: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_LOCAL_DRIVE: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_REMOTE_UNLOCK: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_REMOTE_DRIVE: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS: _ClassVar[WhitelistKeyPermission_E] + WHITELISTKEYPERMISSION_UNKNOWN: _ClassVar[WhitelistKeyPermission_E] + +class KeyLocationStatus_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KEY_LOCATION_UNKNOWN: _ClassVar[KeyLocationStatus_E] + KEY_LOCATION_NOT_PRESENT: _ClassVar[KeyLocationStatus_E] + KEY_LOCATION_PRESENT: _ClassVar[KeyLocationStatus_E] + +class NFCPresence(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + NFC_PRESENCE_NOT_PRESENT: _ClassVar[NFCPresence] + NFC_PRESENCE_PRESENT_AT_B_PILLAR: _ClassVar[NFCPresence] + NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE: _ClassVar[NFCPresence] + +class BLEPresence(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BLE_PRESENCE_NOT_PRESENT: _ClassVar[BLEPresence] + BLE_PRESENCE_PRESENT: _ClassVar[BLEPresence] + BLE_PRESENCE_CONNECTED_NOT_PRESENT: _ClassVar[BLEPresence] + +class RequestSource_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REQUEST_SOURCE_NOT_POPULATED: _ClassVar[RequestSource_E] + REQUEST_SOURCE_BLE: _ClassVar[RequestSource_E] + REQUEST_SOURCE_OTHER: _ClassVar[RequestSource_E] + +class QRCodeStatus_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + QR_CODE_STATUS_UNKNOWN: _ClassVar[QRCodeStatus_E] + QR_CODE_STATUS_DISPLAYED: _ClassVar[QRCodeStatus_E] + QR_CODE_STATUS_NOT_DISPLAYED: _ClassVar[QRCodeStatus_E] SIGNATURE_TYPE_NONE: SignatureType SIGNATURE_TYPE_ECDSA: SignatureType SIGNATURE_TYPE_PRESENT_KEY: SignatureType @@ -264,6 +309,8 @@ RKE_ACTION_AUTO_SECURE_VEHICLE: RKEAction_E RKE_ACTION_WAKE_VEHICLE: RKEAction_E RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE: RKEAction_E RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES: RKEAction_E +RKE_ACTION_LEFT_STORAGE_OPEN: RKEAction_E +RKE_ACTION_RIGHT_STORAGE_OPEN: RKEAction_E CLOSURE_MOVE_TYPE_NONE: ClosureMoveType_E CLOSURE_MOVE_TYPE_MOVE: ClosureMoveType_E CLOSURE_MOVE_TYPE_STOP: ClosureMoveType_E @@ -371,6 +418,31 @@ GEAR_PARK: Gear_E GEAR_DRIVE: Gear_E GEAR_REVERSE: Gear_E GEAR_NEUTRAL: Gear_E +WHITELISTKEYPERMISSION_ADD_TO_WHITELIST: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_LOCAL_UNLOCK: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_LOCAL_DRIVE: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_REMOTE_UNLOCK: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_REMOTE_DRIVE: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS: WhitelistKeyPermission_E +WHITELISTKEYPERMISSION_UNKNOWN: WhitelistKeyPermission_E +KEY_LOCATION_UNKNOWN: KeyLocationStatus_E +KEY_LOCATION_NOT_PRESENT: KeyLocationStatus_E +KEY_LOCATION_PRESENT: KeyLocationStatus_E +NFC_PRESENCE_NOT_PRESENT: NFCPresence +NFC_PRESENCE_PRESENT_AT_B_PILLAR: NFCPresence +NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE: NFCPresence +BLE_PRESENCE_NOT_PRESENT: BLEPresence +BLE_PRESENCE_PRESENT: BLEPresence +BLE_PRESENCE_CONNECTED_NOT_PRESENT: BLEPresence +REQUEST_SOURCE_NOT_POPULATED: RequestSource_E +REQUEST_SOURCE_BLE: RequestSource_E +REQUEST_SOURCE_OTHER: RequestSource_E +QR_CODE_STATUS_UNKNOWN: QRCodeStatus_E +QR_CODE_STATUS_DISPLAYED: QRCodeStatus_E +QR_CODE_STATUS_NOT_DISPLAYED: QRCodeStatus_E class SignedMessage(_message.Message): __slots__ = ("protobufMessageAsBytes", "signatureType") @@ -415,18 +487,22 @@ class WhitelistInfo(_message.Message): 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", "permissions", "secondsEntryRemainsActive", "keyRole") KEYID_FIELD_NUMBER: _ClassVar[int] PUBLICKEY_FIELD_NUMBER: _ClassVar[int] METADATAFORKEY_FIELD_NUMBER: _ClassVar[int] SLOT_FIELD_NUMBER: _ClassVar[int] + PERMISSIONS_FIELD_NUMBER: _ClassVar[int] + SECONDSENTRYREMAINSACTIVE_FIELD_NUMBER: _ClassVar[int] KEYROLE_FIELD_NUMBER: _ClassVar[int] keyId: KeyIdentifier publicKey: PublicKey metadataForKey: KeyMetadata slot: int + permissions: _containers.RepeatedScalarFieldContainer[WhitelistKeyPermission_E] + secondsEntryRemainsActive: 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] = ..., permissions: _Optional[_Iterable[_Union[WhitelistKeyPermission_E, str]]] = ..., secondsEntryRemainsActive: _Optional[int] = ..., keyRole: _Optional[_Union[_keys_pb2.Role, str]] = ...) -> None: ... class InformationRequest(_message.Message): __slots__ = ("informationRequestType", "keyId", "publicKey", "slot") @@ -461,14 +537,16 @@ class ClosureMoveRequest(_message.Message): 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", "permission", "secondsToBeActive", "keyRole") KEY_FIELD_NUMBER: _ClassVar[int] + PERMISSION_FIELD_NUMBER: _ClassVar[int] SECONDSTOBEACTIVE_FIELD_NUMBER: _ClassVar[int] KEYROLE_FIELD_NUMBER: _ClassVar[int] key: PublicKey + permission: _containers.RepeatedScalarFieldContainer[WhitelistKeyPermission_E] 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]] = ..., permission: _Optional[_Iterable[_Union[WhitelistKeyPermission_E, str]]] = ..., secondsToBeActive: _Optional[int] = ..., keyRole: _Optional[_Union[_keys_pb2.Role, str]] = ...) -> None: ... class ReplaceKey(_message.Message): __slots__ = ("publicKeyToReplace", "slotToReplace", "keyToAdd", "keyRole", "impermanent") @@ -615,8 +693,62 @@ class DetailedClosureStatus(_message.Message): tonneauPercentOpen: int def __init__(self, tonneauPercentOpen: _Optional[int] = ...) -> None: ... +class KeyLocationStatus(_message.Message): + __slots__ = ("keyCloseToCenterConsoleWithHighProbability",) + KEYCLOSETOCENTERCONSOLEWITHHIGHPROBABILITY_FIELD_NUMBER: _ClassVar[int] + keyCloseToCenterConsoleWithHighProbability: KeyLocationStatus_E + def __init__(self, keyCloseToCenterConsoleWithHighProbability: _Optional[_Union[KeyLocationStatus_E, str]] = ...) -> None: ... + +class PersonalizationInformation(_message.Message): + __slots__ = ("vin",) + VIN_FIELD_NUMBER: _ClassVar[int] + vin: bytes + def __init__(self, vin: _Optional[bytes] = ...) -> None: ... + +class Capabilities(_message.Message): + __slots__ = ("chargePortOpen", "chargePortClose") + CHARGEPORTOPEN_FIELD_NUMBER: _ClassVar[int] + CHARGEPORTCLOSE_FIELD_NUMBER: _ClassVar[int] + chargePortOpen: bool + chargePortClose: bool + def __init__(self, chargePortOpen: _Optional[bool] = ..., chargePortClose: _Optional[bool] = ...) -> None: ... + +class KeyStatus(_message.Message): + __slots__ = ("keyId", "nfcPresence", "blePresence", "publicKey", "keyFormFactor", "slot", "role") + KEYID_FIELD_NUMBER: _ClassVar[int] + NFCPRESENCE_FIELD_NUMBER: _ClassVar[int] + BLEPRESENCE_FIELD_NUMBER: _ClassVar[int] + PUBLICKEY_FIELD_NUMBER: _ClassVar[int] + KEYFORMFACTOR_FIELD_NUMBER: _ClassVar[int] + SLOT_FIELD_NUMBER: _ClassVar[int] + ROLE_FIELD_NUMBER: _ClassVar[int] + keyId: KeyIdentifier + nfcPresence: NFCPresence + blePresence: BLEPresence + publicKey: PublicKey + keyFormFactor: KeyFormFactor + slot: int + role: _keys_pb2.Role + def __init__(self, keyId: _Optional[_Union[KeyIdentifier, _Mapping]] = ..., nfcPresence: _Optional[_Union[NFCPresence, str]] = ..., blePresence: _Optional[_Union[BLEPresence, str]] = ..., publicKey: _Optional[_Union[PublicKey, _Mapping]] = ..., keyFormFactor: _Optional[_Union[KeyFormFactor, str]] = ..., slot: _Optional[int] = ..., role: _Optional[_Union[_keys_pb2.Role, str]] = ...) -> None: ... + +class KeyStatusInfo(_message.Message): + __slots__ = ("keyStatuses", "requestSource", "QRCodeStatus") + KEYSTATUSES_FIELD_NUMBER: _ClassVar[int] + REQUESTSOURCE_FIELD_NUMBER: _ClassVar[int] + QRCODESTATUS_FIELD_NUMBER: _ClassVar[int] + keyStatuses: _containers.RepeatedCompositeFieldContainer[KeyStatus] + requestSource: RequestSource_E + QRCodeStatus: QRCodeStatus_E + def __init__(self, keyStatuses: _Optional[_Iterable[_Union[KeyStatus, _Mapping]]] = ..., requestSource: _Optional[_Union[RequestSource_E, str]] = ..., QRCodeStatus: _Optional[_Union[QRCodeStatus_E, str]] = ...) -> None: ... + +class ActiveKey(_message.Message): + __slots__ = ("activeKey",) + ACTIVEKEY_FIELD_NUMBER: _ClassVar[int] + activeKey: KeyIdentifier + def __init__(self, activeKey: _Optional[_Union[KeyIdentifier, _Mapping]] = ...) -> None: ... + class VehicleStatus(_message.Message): - __slots__ = ("closureStatuses", "vehicleLockState", "vehicleSleepStatus", "userPresence", "detailedClosureStatus", "uiDesire", "gear") + __slots__ = ("closureStatuses", "vehicleLockState", "vehicleSleepStatus", "userPresence", "detailedClosureStatus", "uiDesire", "gear", "keyLocationStatus") CLOSURESTATUSES_FIELD_NUMBER: _ClassVar[int] VEHICLELOCKSTATE_FIELD_NUMBER: _ClassVar[int] VEHICLESLEEPSTATUS_FIELD_NUMBER: _ClassVar[int] @@ -624,6 +756,7 @@ class VehicleStatus(_message.Message): DETAILEDCLOSURESTATUS_FIELD_NUMBER: _ClassVar[int] UIDESIRE_FIELD_NUMBER: _ClassVar[int] GEAR_FIELD_NUMBER: _ClassVar[int] + KEYLOCATIONSTATUS_FIELD_NUMBER: _ClassVar[int] closureStatuses: ClosureStatuses vehicleLockState: VehicleLockState_E vehicleSleepStatus: VehicleSleepStatus_E @@ -631,20 +764,29 @@ class VehicleStatus(_message.Message): detailedClosureStatus: DetailedClosureStatus uiDesire: UIDesire_E gear: Gear_E - 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]] = ..., uiDesire: _Optional[_Union[UIDesire_E, str]] = ..., gear: _Optional[_Union[Gear_E, str]] = ...) -> None: ... + keyLocationStatus: KeyLocationStatus + 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]] = ..., uiDesire: _Optional[_Union[UIDesire_E, str]] = ..., gear: _Optional[_Union[Gear_E, str]] = ..., keyLocationStatus: _Optional[_Union[KeyLocationStatus, _Mapping]] = ...) -> None: ... class FromVCSECMessage(_message.Message): - __slots__ = ("vehicleStatus", "authenticationRequest", "commandStatus", "whitelistInfo", "whitelistEntryInfo", "nominalError") + __slots__ = ("vehicleStatus", "authenticationRequest", "commandStatus", "personalizationInformation", "whitelistInfo", "whitelistEntryInfo", "capabilities", "keyStatusInfo", "activeKey", "nominalError") VEHICLESTATUS_FIELD_NUMBER: _ClassVar[int] AUTHENTICATIONREQUEST_FIELD_NUMBER: _ClassVar[int] COMMANDSTATUS_FIELD_NUMBER: _ClassVar[int] + PERSONALIZATIONINFORMATION_FIELD_NUMBER: _ClassVar[int] WHITELISTINFO_FIELD_NUMBER: _ClassVar[int] WHITELISTENTRYINFO_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + KEYSTATUSINFO_FIELD_NUMBER: _ClassVar[int] + ACTIVEKEY_FIELD_NUMBER: _ClassVar[int] NOMINALERROR_FIELD_NUMBER: _ClassVar[int] vehicleStatus: VehicleStatus authenticationRequest: AuthenticationRequest commandStatus: CommandStatus + personalizationInformation: PersonalizationInformation whitelistInfo: WhitelistInfo whitelistEntryInfo: WhitelistEntryInfo + capabilities: Capabilities + keyStatusInfo: KeyStatusInfo + activeKey: ActiveKey nominalError: _errors_pb2.NominalError - def __init__(self, vehicleStatus: _Optional[_Union[VehicleStatus, _Mapping]] = ..., authenticationRequest: _Optional[_Union[AuthenticationRequest, _Mapping]] = ..., commandStatus: _Optional[_Union[CommandStatus, _Mapping]] = ..., whitelistInfo: _Optional[_Union[WhitelistInfo, _Mapping]] = ..., whitelistEntryInfo: _Optional[_Union[WhitelistEntryInfo, _Mapping]] = ..., nominalError: _Optional[_Union[_errors_pb2.NominalError, _Mapping]] = ...) -> None: ... + def __init__(self, vehicleStatus: _Optional[_Union[VehicleStatus, _Mapping]] = ..., authenticationRequest: _Optional[_Union[AuthenticationRequest, _Mapping]] = ..., commandStatus: _Optional[_Union[CommandStatus, _Mapping]] = ..., personalizationInformation: _Optional[_Union[PersonalizationInformation, _Mapping]] = ..., whitelistInfo: _Optional[_Union[WhitelistInfo, _Mapping]] = ..., whitelistEntryInfo: _Optional[_Union[WhitelistEntryInfo, _Mapping]] = ..., capabilities: _Optional[_Union[Capabilities, _Mapping]] = ..., keyStatusInfo: _Optional[_Union[KeyStatusInfo, _Mapping]] = ..., activeKey: _Optional[_Union[ActiveKey, _Mapping]] = ..., nominalError: _Optional[_Union[_errors_pb2.NominalError, _Mapping]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/command/vehicle_pb2.py b/packages/python/tesla_protocol/command/vehicle_pb2.py index 7347115..75a318a 100644 --- a/packages/python/tesla_protocol/command/vehicle_pb2.py +++ b/packages/python/tesla_protocol/command/vehicle_pb2.py @@ -28,7 +28,7 @@ from tesla_protocol.command import managed_charging_pb2 as tesla__protocol_dot_command_dot_managed__charging__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$tesla_protocol/command/vehicle.proto\x12\x18tesla_protocol.CarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"tesla_protocol/command/vcsec.proto\x1a#tesla_protocol/command/common.proto\x1a-tesla_protocol/command/managed_charging.proto\"\xee\x0f\n\x0bVehicleData\x12;\n\x0cgui_settings\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.GuiSettings\x12;\n\x0c\x63harge_state\x18\x03 \x01(\x0b\x32%.tesla_protocol.CarServer.ChargeState\x12=\n\rclimate_state\x18\x04 \x01(\x0b\x32&.tesla_protocol.CarServer.ClimateState\x12\x39\n\x0b\x64rive_state\x18\x05 \x01(\x0b\x32$.tesla_protocol.CarServer.DriveState\x12\x44\n\x14legacy_vehicle_state\x18\x06 \x01(\x0b\x32&.tesla_protocol.CarServer.VehicleState\x12?\n\x0evehicle_config\x18\x07 \x01(\x0b\x32\'.tesla_protocol.CarServer.VehicleConfig\x12?\n\x0elocation_state\x18\x08 \x01(\x0b\x32\'.tesla_protocol.CarServer.LocationState\x12?\n\x0e\x63losures_state\x18\t \x01(\x0b\x32\'.tesla_protocol.CarServer.ClosuresState\x12\x1c\n\x12proto_json_version\x18\n \x01(\x05H\x00\x12\x16\n\x0e\x65ncrypted_data\x18\x0b \x03(\x0c\x12\x17\n\rupload_reason\x18\x0c \x01(\tH\x01\x12N\n\x16parked_accessory_state\x18\x0e \x01(\x0b\x32..tesla_protocol.CarServer.ParkedAccessoryState\x12L\n\x15\x63harge_schedule_state\x18\x0f \x01(\x0b\x32-.tesla_protocol.CarServer.ChargeScheduleState\x12^\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b\x32\x36.tesla_protocol.CarServer.PreconditioningScheduleState\x12\x35\n\tsoh_state\x18\x11 \x01(\x0b\x32\".tesla_protocol.CarServer.SohState\x12\x44\n\rvehicle_state\x18\x12 \x01(\x0b\x32-.tesla_protocol.CarServer.CurrentVehicleState\x12H\n\x13tire_pressure_state\x18\x13 \x01(\x0b\x32+.tesla_protocol.CarServer.TirePressureState\x12\x39\n\x0bmedia_state\x18\x14 \x01(\x0b\x32$.tesla_protocol.CarServer.MediaState\x12\x46\n\x12media_detail_state\x18\x15 \x01(\x0b\x32*.tesla_protocol.CarServer.MediaDetailState\x12J\n\x14vehicle_detail_state\x18\x16 \x01(\x0b\x32,.tesla_protocol.CarServer.VehicleDetailState\x12L\n\x15software_update_state\x18\x17 \x01(\x0b\x32-.tesla_protocol.CarServer.SoftwareUpdateState\x12P\n\x17parental_controls_state\x18\x18 \x01(\x0b\x32/.tesla_protocol.CarServer.ParentalControlsState\x12\x39\n\x0b\x61lert_state\x18\x19 \x01(\x0b\x32$.tesla_protocol.CarServer.AlertState\x12\x42\n\x10light_show_state\x18\x1a \x01(\x0b\x32(.tesla_protocol.CarServer.LightShowState\x12H\n\x13vehicle_image_state\x18\x1b \x01(\x0b\x32+.tesla_protocol.CarServer.VehicleImageState\x12\x43\n\x10suspension_state\x18\x1d \x01(\x0b\x32).tesla_protocol.CarServer.SuspensionState\x12]\n\x1e\x63hild_presence_detection_state\x18\x1e \x01(\x0b\x32\x35.tesla_protocol.CarServer.ChildPresenceDetectionState\x12=\n\rdisplay_state\x18$ \x01(\x0b\x32&.tesla_protocol.CarServer.DisplayState\x12\x1a\n\x11pii_key_responses\x18\x84\x07 \x03(\x0c\x12\x14\n\x0bwrapped_key\x18\x85\x07 \x01(\x0c\x12#\n\x18supports_optional_fields\x18\xe7\x07 \x01(\x08H\x02\x42\x1d\n\x1boptional_proto_json_versionB\x18\n\x16optional_upload_reasonB#\n!optional_supports_optional_fields\"\xec\x18\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\x12L\n\x0esun_roof_state\x18\x0b \x01(\x0b\x32\x34.tesla_protocol.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\x12R\n\x14\x63\x65nter_display_state\x18\x0f \x01(\x0b\x32\x34.tesla_protocol.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\x12R\n\x11sentry_mode_state\x18\x13 \x01(\x0b\x32\x37.tesla_protocol.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x12\x42\n\x10speed_limit_mode\x18\x16 \x01(\x0b\x32(.tesla_protocol.CarServer.SpeedLimitMode\x12=\n\rtonneau_state\x18\x17 \x01(\x0e\x32$.tesla_protocol.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\x1f\n\x15has_automatic_tonneau\x18\x1a \x01(\x08H\x14\x12 \n\x16has_side_storage_doors\x18\x1b \x01(\x08H\x15\x12%\n\x1b\x64oor_open_side_storage_left\x18\x1c \x01(\x08H\x16\x12&\n\x1c\x64oor_open_side_storage_right\x18\x1d \x01(\x08H\x17\x12\x1e\n\x16\x63ruise_speed_limit_mph\x18\x1e \x01(\x01\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xc4\x02\n\x0cSunRoofState\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x61librating\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x43losed\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Open\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Moving\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Vent\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x88\x04\n\x0c\x44isplayState\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44im\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tAccessory\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02On\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x44riving\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43harging\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Lock\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Sentry\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44og\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rEntertainment\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xbc\x02\n\x0fSentryModeState\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Idle\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x41rmed\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x41ware\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Panic\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Quiet\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.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_motionB \n\x1eoptional_has_automatic_tonneauB!\n\x1foptional_has_side_storage_doorsB&\n$optional_door_open_side_storage_leftB\'\n%optional_door_open_side_storage_right\"\xf8\x03\n\x13\x43hargeScheduleState\x12\x42\n\x10\x63harge_schedules\x18\x01 \x03(\x0b\x32(.tesla_protocol.CarServer.ChargeSchedule\x12J\n\x16\x63harge_schedule_window\x18\x02 \x01(\x0b\x32(.tesla_protocol.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\"\xad\x03\n\x1cPreconditioningScheduleState\x12N\n\x16precondition_schedules\x18\x01 \x03(\x0b\x32..tesla_protocol.CarServer.PreconditionSchedule\x12Y\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b\x32..tesla_protocol.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\"\xe8\x05\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\x12\x19\n\x0f\x62rowser_blocked\x18\n \x01(\x08H\t\x12\x19\n\x0ftheater_blocked\x18\x0b \x01(\x08H\n\x12\x18\n\x0e\x61rcade_blocked\x18\x0c \x01(\x08H\x0b\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_timeB\x1a\n\x18optional_browser_blockedB\x1a\n\x18optional_theater_blockedB\x19\n\x17optional_arcade_blocked\"\xb2\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\x12V\n\x1aparental_controls_settings\x18\x04 \x01(\x0b\x32\x32.tesla_protocol.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n\"optional_parental_controls_pin_set\"\x8b\x07\n\x13SoftwareUpdateState\x12R\n\x06status\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.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\x12\x18\n\x0e\x61uto_scheduled\x18m \x01(\x08H\x06\x1a\xe7\x02\n\x14SoftwareUpdateStatus\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nInstalling\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tScheduled\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tAvailable\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13\x44ownloadingWifiWait\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x44ownloading\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.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_versionB\x19\n\x17optional_auto_scheduled\"\x9c\x0e\n\nDriveState\x12\x39\n\x0bshift_state\x18\x01 \x01(\x0b\x32$.tesla_protocol.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\x43\n\x18\x61\x63tive_route_coordinates\x18\x0c \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12(\n\x1e\x66sd_user_total_miles_travelled\x18\x10 \x01(\x02H\n\x12\x1e\n\x14\x66sd_user_total_miles\x18\x11 \x01(\x02H\x0b\x12+\n!fsd_user_miles_hands_free_current\x18\x12 \x01(\x02H\x0c\x12\'\n\x1d\x66sd_user_miles_hands_free_max\x18\x13 \x01(\x02H\r\x12$\n\x1a\x66sd_total_miles_this_month\x18\x14 \x01(\x02H\x0e\x12S\n\x13\x66sd_monthly_history\x18\x15 \x03(\x0b\x32\x36.tesla_protocol.CarServer.DriveState.FsdMonthlyMileage\x12\x19\n\x0f\x66sd_streak_days\x18\x16 \x01(\x05H\x0f\x12U\n\x15\x66sd_last_7_days_usage\x18\x17 \x01(\x0b\x32\x36.tesla_protocol.CarServer.DriveState.FsdLast7DaysUsage\x12\x1e\n\x14rainbow_road_enabled\x18\x18 \x01(\x08H\x10\x12\x14\n\nfsd_active\x18\x19 \x01(\x08H\x11\x1aO\n\x11\x46sdMonthlyMileage\x12\x12\n\nyear_month\x18\x01 \x01(\t\x12\x11\n\tfsd_miles\x18\x02 \x01(\x02\x12\x13\n\x0btotal_miles\x18\x03 \x01(\x02\x1a\x45\n\x11\x46sdLast7DaysUsage\x12\x1d\n\x15week_starts_on_sunday\x18\x01 \x01(\x08\x12\x11\n\tday_usage\x18\x02 \x03(\x08\x42\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_updateB)\n\'optional_fsd_user_total_miles_travelledB\x1f\n\x1doptional_fsd_user_total_milesB,\n*optional_fsd_user_miles_hands_free_currentB(\n&optional_fsd_user_miles_hands_free_maxB%\n#optional_fsd_total_miles_this_monthB\x1a\n\x18optional_fsd_streak_daysB\x1f\n\x1doptional_rainbow_road_enabledB\x15\n\x13optional_fsd_active\"\x93L\n\x0b\x43hargeState\x12K\n\x0e\x63harging_state\x18\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.ChargeState.ChargingState\x12L\n\x11\x66\x61st_charger_type\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargeState.ChargerType\x12N\n\x12\x66\x61st_charger_brand\x18\x03 \x01(\x0b\x32\x32.tesla_protocol.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\x12J\n\x11\x63onn_charge_cable\x18\x1c \x01(\x0b\x32/.tesla_protocol.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\x12I\n\x11\x63harge_port_latch\x18# \x01(\x0b\x32..tesla_protocol.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\x12M\n\x15preconditioning_times\x18- \x01(\x0b\x32..tesla_protocol.CarServer.PreconditioningTimes\x12O\n\x17off_peak_charging_times\x18. \x01(\x0b\x32..tesla_protocol.CarServer.OffPeakChargingTimes\x12\"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH\"\x12_\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e\x32;.tesla_protocol.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)\x12U\n\x11\x63harge_port_color\x18\x9b\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15\x63harge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12W\n\x13\x63harge_limit_reason\x18\x9d\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.ChargeState.ChargeLimitReasonH,\x12O\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ManagedChargingState\x12!\n\x16\x63harge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12J\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e\x32\x31.tesla_protocol.CarServer.ChargeState.OutletStateH.\x12Q\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e\x32\x34.tesla_protocol.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\x12P\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.ChargeState.PowershareTypeH7\x12T\n\x11powershare_status\x18\xaa\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.ChargeState.PowershareStatusH8\x12]\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e\x32:.tesla_protocol.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!.tesla_protocol.CarServer.LatLongH>\x12;\n\rwork_location\x18\xb1\x01 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x12(\n\x1d\x62\x61tt_heat_min_to_start_charge\x18\xb3\x01 \x01(\x05HA\x12\x34\n)batt_heat_min_to_start_charge_calculating\x18\xb4\x01 \x01(\x08HB\x12\x19\n\x0ehas_ac_outlets\x18\xb5\x01 \x01(\x08HC\x12\x1b\n\x10paid_session_fee\x18\xb7\x01 \x01(\x02HD\x12$\n\x19paid_session_fee_currency\x18\xb8\x01 \x01(\tHE\x12 \n\x15paid_session_kwh_rate\x18\xb9\x01 \x01(\x02HF\x12\x1e\n\x13\x64ischarge_limit_soe\x18\xba\x01 \x01(\x05HG\x12\x15\n\nis_roaming\x18\xbb\x01 \x01(\x08HH\x12%\n\x1apaid_session_location_guid\x18\xbc\x01 \x01(\tHI\x12&\n\x1bpaid_session_pricebook_guid\x18\xbd\x01 \x01(\tHJ\x12<\n\x17paid_session_start_time\x18\xbe\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x0elow_power_mode\x18\xbf\x01 \x01(\x08HK\x12#\n\x18low_power_mode_forced_on\x18\xc0\x01 \x01(\x08HL\x12\x1f\n\x14\x63onvenience_features\x18\xc1\x01 \x01(\rHM\x12$\n\x19keep_accessory_power_mode\x18\xc2\x01 \x01(\x08HN\x12!\n\x16should_hide_range_info\x18\xc6\x01 \x01(\x08HO\x1a\x82\x02\n\tCableType\x12-\n\x03SNA\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03IEC\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SAE\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05GB_AC\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05GB_DC\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xe6\x03\n\x0b\x43hargerType\x12-\n\x03SNA\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cSupercharger\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x43hademo\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02Gb\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x41\x43SingleWireCAN\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x43ombo\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Other\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Tesla\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xbb\x03\n\rChargingState\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0c\x44isconnected\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07NoPower\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Starting\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43harging\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43omplete\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Stopped\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x61librating\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1av\n\x0c\x43hargerBrand\x12/\n\x05Tesla\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SNA\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xf3\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\x12.\n*ChargeLimitReasonEvseRelocationRecommended\x10\x06\"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\"\x8d\x01\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02\x12\x16\n\x12PowershareTypeGrid\x10\x03\x12\x1b\n\x17PowershareTypePowerwall\x10\x04\"\xdf\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\x12\'\n#PowershareStopReasonAdapterUpdating\x10\x07\x12\x33\n/PowershareStopReasonAdapterInitializationFailed\x10\x08\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_minutesB(\n&optional_batt_heat_min_to_start_chargeB4\n2optional_batt_heat_min_to_start_charge_calculatingB\x19\n\x17optional_has_ac_outletsB\x1b\n\x19optional_paid_session_feeB$\n\"optional_paid_session_fee_currencyB \n\x1eoptional_paid_session_kwh_rateB\x1e\n\x1coptional_discharge_limit_soeB\x15\n\x13optional_is_roamingB%\n#optional_paid_session_location_guidB&\n$optional_paid_session_pricebook_guidB\x19\n\x17optional_low_power_modeB#\n!optional_low_power_mode_forced_onB\x1f\n\x1doptional_convenience_featuresB$\n\"optional_keep_accessory_power_modeB!\n\x1foptional_should_hide_range_infoJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,\"\xbe\x02\n\x14ManagedChargingState\x12K\n\x15\x63harge_on_solar_state\x18\x01 \x01(\x0b\x32,.tesla_protocol.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\"\xdf\x05\n\x12\x43hargeOnSolarState\x12M\n\x0bnot_allowed\x18\x01 \x01(\x0b\x32\x36.tesla_protocol.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12`\n\x15no_charge_recommended\x18\x02 \x01(\x0b\x32?.tesla_protocol.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12\x65\n\x18\x63harging_on_excess_solar\x18\x03 \x01(\x0b\x32\x41.tesla_protocol.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12^\n\x14\x63harging_on_anything\x18\x04 \x01(\x0b\x32>.tesla_protocol.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12Q\n\ruser_disabled\x18\x06 \x01(\x0b\x32\x38.tesla_protocol.CarServer.ChargeOnSolarStateUserDisabledH\x00\x12Z\n\x12waiting_for_server\x18\x07 \x01(\x0b\x32<.tesla_protocol.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x12\x42\n\x05\x65rror\x18\x08 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargeOnSolarStateErrorH\x00\x12O\n\x0cuser_stopped\x18\t \x01(\x0b\x32\x37.tesla_protocol.CarServer.ChargeOnSolarStateUserStoppedH\x00\x42\x07\n\x05stateJ\x04\x08\x05\x10\x06\"\x1e\n\x1c\x43hargeOnSolarStateNotAllowed\"t\n%ChargeOnSolarStateNoChargeRecommended\x12K\n\x06reason\x18\x01 \x01(\x0e\x32;.tesla_protocol.ManagedCharging.ChargeOnSolarNoChargeReason\")\n\'ChargeOnSolarStateChargingOnExcessSolar\"&\n$ChargeOnSolarStateChargingOnAnything\" \n\x1e\x43hargeOnSolarStateUserDisabled\"$\n\"ChargeOnSolarStateWaitingForServer\"\x19\n\x17\x43hargeOnSolarStateError\"\x1f\n\x1d\x43hargeOnSolarStateUserStopped\"\xca\r\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\x12N\n\x0bnative_type\x18\x08 \x01(\x0b\x32\x39.tesla_protocol.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\x12\x1d\n\x13supercharger_trt_id\x18y \x01(\x05H\x12\x12\x1b\n\x11native_latitude_d\x18z \x01(\x01H\x13\x12\x1c\n\x12native_longitude_d\x18{ \x01(\x01H\x14\x12\x18\n\x0egeo_latitude_d\x18| \x01(\x01H\x15\x12\x19\n\x0fgeo_longitude_d\x18} \x01(\x01H\x16\x12\x1f\n\x15geo_hw_raw_latitude_d\x18~ \x01(\x01H\x17\x12 \n\x16geo_hw_raw_longitude_d\x18\x7f \x01(\x01H\x18\x12\"\n\x17geo_horizontal_accuracy\x18\x80\x01 \x01(\x02H\x19\x1ay\n\x11GPSCoordinateType\x12-\n\x03GCJ\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03WGS\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.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_distanceB\x1e\n\x1coptional_supercharger_trt_idB\x1c\n\x1aoptional_native_latitude_dB\x1d\n\x1boptional_native_longitude_dB\x19\n\x17optional_geo_latitude_dB\x1a\n\x18optional_geo_longitude_dB \n\x1eoptional_geo_hw_raw_latitude_dB!\n\x1foptional_geo_hw_raw_longitude_dB\"\n optional_geo_horizontal_accuracyJ\x04\x08\x0c\x10\r\"\x93\'\n\x0cVehicleState\x12L\n\x15software_update_state\x18& \x01(\x0b\x32-.tesla_protocol.CarServer.SoftwareUpdateState\x12\x46\n\x12legacy_media_state\x18\' \x01(\x0b\x32*.tesla_protocol.CarServer.LegacyMediaState\x12-\n\ttimestamp\x18+ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0f\x66\x65\x61ture_bitmask\x18\x37 \x03(\r\x12\x43\n\x1ftpms_last_seen_pressure_time_fl\x18: \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_fr\x18; \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rl\x18< \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rr\x18= \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n\x11legacy_media_info\x18H \x01(\x0b\x32).tesla_protocol.CarServer.LegacyMediaInfo\x12.\n$allow_authorized_mobile_devices_only\x18I \x01(\x08H\x00\x12\x43\n\tguestMode\x18J \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18K \x01(\x08H\x01\x12\x1e\n\x14pin_to_drive_enabled\x18L \x01(\x08H\x02\x12\x1e\n\x14pin_to_drive_pin_set\x18M \x01(\x08H\x03\x12\x1b\n\x11\x66rontfoglights_on\x18N \x01(\x08H\x04\x12\x1a\n\x10rearfoglights_on\x18O \x01(\x08H\x05\x12\x17\n\rheadlights_on\x18P \x01(\x08H\x06\x12\x1b\n\x11highbeamlights_on\x18Q \x01(\x08H\x07\x12\x19\n\x0ftrailer_mode_on\x18R \x01(\x08H\x08\x12&\n\x1ctrailer_light_test_available\x18S \x01(\x08H\t\x12&\n\x1ctrailer_light_test_requested\x18T \x01(\x08H\n\x12%\n\x1btruck_bed_lights_brightness\x18V \x01(\rH\x0b\x12!\n\x17signed_cmd_service_mode\x18W \x01(\x08H\x0c\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18X \x01(\x08H\r\x12\x18\n\x0etransport_mode\x18Y \x01(\x08H\x0e\x12*\n truck_bed_lights_auto_brightness\x18Z \x01(\rH\x0f\x12%\n\x1btruck_bed_lights_auto_state\x18[ \x01(\x08H\x10\x12,\n\"truck_bed_lights_controls_disabled\x18\\ \x01(\x08H\x11\x12\x1b\n\x11service_mode_auth\x18] \x01(\tH\x12\x12)\n\x1fservice_gtw_diag_session_active\x18^ \x01(\x08H\x13\x12\x16\n\x0c\x66\x61\x63tory_mode\x18_ \x01(\x08H\x14\x12\x1e\n\x14training_wheels_mode\x18` \x01(\x08H\x15\x12@\n\x0egtw_diag_level\x18\x61 \x01(\x0e\x32&.tesla_protocol.CarServer.GtwDiagLevelH\x16\x12\"\n\x18parental_controls_active\x18\x62 \x01(\x08H\x17\x12#\n\x19parental_controls_pin_set\x18\x63 \x01(\x08H\x18\x12V\n\x1aparental_controls_settings\x18\x64 \x01(\x0b\x32\x32.tesla_protocol.CarServer.ParentalControlsSettings\x12\x15\n\x0b\x61pi_version\x18\x65 \x01(\rH\x19\x12\x15\n\x0b\x63\x61r_version\x18l \x01(\tH\x1a\x12\x1a\n\x10\x64\x65tailed_version\x18m \x01(\tH\x1b\x12\x18\n\x0e\x61utopilot_hash\x18n \x01(\tH\x1c\x12\x16\n\x0cvehicle_name\x18v \x01(\tH\x1d\x12!\n\x17notifications_supported\x18x \x01(\x08H\x1e\x12 \n\x16remote_start_supported\x18y \x01(\x08H\x1f\x12\x1e\n\x14remote_start_enabled\x18z \x01(\x08H \x12\x1e\n\x13last_autopark_error\x18\x83\x01 \x01(\tH!\x12 \n\x15homelink_device_count\x18\x85\x01 \x01(\rH\"\x12!\n\x16smart_summon_available\x18\x87\x01 \x01(\x08H#\x12&\n\x1bsummon_standby_mode_enabled\x18\x88\x01 \x01(\x08H$\x12\x15\n\npatsy_mode\x18\x8d\x01 \x01(\x08H%\x12\x1b\n\x10webcam_available\x18\x8e\x01 \x01(\x08H&\x12&\n\x1bvehicle_self_test_requested\x18\x90\x01 \x01(\x08H\'\x12%\n\x1avehicle_self_test_progress\x18\x91\x01 \x01(\rH(\x12\x1d\n\x12\x63\x61lendar_supported\x18\x94\x01 \x01(\x08H)\x12&\n\x1b\x64\x61shcam_clip_save_available\x18\x95\x01 \x01(\x08H*\x12@\n\rdashcam_state\x18\x96\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.DashCamStateH+\x12\x1b\n\x10tpms_pressure_fl\x18\x97\x01 \x01(\x02H,\x12\x1b\n\x10tpms_pressure_fr\x18\x98\x01 \x01(\x02H-\x12\x1b\n\x10tpms_pressure_rl\x18\x99\x01 \x01(\x02H.\x12\x1b\n\x10tpms_pressure_rr\x18\x9a\x01 \x01(\x02H/\x12\x17\n\x0cservice_mode\x18\x9c\x01 \x01(\x08H0\x12\x1c\n\x11service_mode_plus\x18\x9d\x01 \x01(\x08H1\x12\x1f\n\x14tpms_hard_warning_fl\x18\xa2\x01 \x01(\x08H2\x12\x1f\n\x14tpms_hard_warning_fr\x18\xa3\x01 \x01(\x08H3\x12\x1f\n\x14tpms_hard_warning_rl\x18\xa4\x01 \x01(\x08H4\x12\x1f\n\x14tpms_hard_warning_rr\x18\xa5\x01 \x01(\x08H5\x12\x1f\n\x14tpms_soft_warning_fl\x18\xa6\x01 \x01(\x08H6\x12\x1f\n\x14tpms_soft_warning_fr\x18\xa7\x01 \x01(\x08H7\x12\x1f\n\x14tpms_soft_warning_rl\x18\xa8\x01 \x01(\x08H8\x12\x1f\n\x14tpms_soft_warning_rr\x18\xa9\x01 \x01(\x08H9\x12\x1f\n\x14tpms_rcp_front_value\x18\xaa\x01 \x01(\x02H:\x12\x1e\n\x13tpms_rcp_rear_value\x18\xab\x01 \x01(\x02H;\x12\x1f\n\x14\x66sd_software_version\x18\xac\x01 \x01(\tH<\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08\x42/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB\"\n optional_signed_cmd_service_modeB\'\n%optional_accessory_lightbar_middle_onB\x19\n\x17optional_transport_modeB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB#\n!optional_parental_controls_activeB$\n\"optional_parental_controls_pin_setB\x16\n\x14optional_api_versionB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x17\n\x15optional_vehicle_nameB\"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\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_valueB\x1f\n\x1doptional_fsd_software_versionJ\x04\x08\x43\x10\x44J\x04\x08\x44\x10\x45J\x04\x08\x45\x10\x46J\x06\x08\xc4\x01\x10\xc5\x01J\x06\x08\xc5\x01\x10\xc6\x01J\x06\x08\xc6\x01\x10\xc7\x01R\x0e\x64\x65\x63k_lights_onR\nhazards_onR\x13\x64\x65\x63k_lights_allowedR\x0e\x61utopilot_baseR\x18\x61utopilot_override_stateR\x1e\x61utopilot_override_expire_time\"\xf4!\n\x13\x43urrentVehicleState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\x0b\x61pi_version\x18\x02 \x01(\rH\x00\x12!\n\x17notifications_supported\x18\x03 \x01(\x08H\x01\x12 \n\x16remote_start_supported\x18\x04 \x01(\x08H\x02\x12\x1e\n\x14remote_start_enabled\x18\x05 \x01(\x08H\x03\x12\x1d\n\x13last_autopark_error\x18\x06 \x01(\tH\x04\x12\x1f\n\x15homelink_device_count\x18\x07 \x01(\rH\x05\x12?\n\x0e\x61utopark_style\x18\x08 \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkStyle\x12 \n\x16smart_summon_available\x18\t \x01(\x08H\x06\x12%\n\x1bsummon_standby_mode_enabled\x18\n \x01(\x08H\x07\x12\x44\n\x14\x61\x63tive_spoiler_state\x18\x0c \x01(\x0b\x32&.tesla_protocol.CarServer.SpoilerState\x12\x14\n\npatsy_mode\x18\x0f \x01(\x08H\x08\x12\x1a\n\x10webcam_available\x18\x10 \x01(\x08H\t\x12%\n\x1bvehicle_self_test_requested\x18\x11 \x01(\x08H\n\x12$\n\x1avehicle_self_test_progress\x18\x12 \x01(\rH\x0b\x12\x43\n\x10\x61utopark_version\x18\x13 \x01(\x0b\x32).tesla_protocol.CarServer.AutoparkVersion\x12?\n\x0e\x61utopark_state\x18\x14 \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkState\x12\x1c\n\x12\x63\x61lendar_supported\x18\x15 \x01(\x08H\x0c\x12%\n\x1b\x64\x61shcam_clip_save_available\x18\x16 \x01(\x08H\r\x12?\n\rdashcam_state\x18\x17 \x01(\x0e\x32&.tesla_protocol.CarServer.DashCamStateH\x0e\x12\x17\n\x0f\x66\x65\x61ture_bitmask\x18\x18 \x03(\r\x12\x16\n\x0cservice_mode\x18\x19 \x01(\x08H\x0f\x12\x1b\n\x11service_mode_plus\x18\x1a \x01(\x08H\x10\x12\x1b\n\x11service_mode_auth\x18\x1b \x01(\tH\x11\x12)\n\x1fservice_gtw_diag_session_active\x18\x1c \x01(\x08H\x12\x12.\n$allow_authorized_mobile_devices_only\x18\x1d \x01(\x08H\x13\x12\x44\n\nguest_mode\x18\x1e \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18\x1f \x01(\x08H\x14\x12\x1e\n\x14pin_to_drive_enabled\x18 \x01(\x08H\x15\x12\x1e\n\x14pin_to_drive_pin_set\x18! \x01(\x08H\x16\x12\x1b\n\x11\x66rontfoglights_on\x18\" \x01(\x08H\x17\x12\x1a\n\x10rearfoglights_on\x18# \x01(\x08H\x18\x12\x17\n\rheadlights_on\x18$ \x01(\x08H\x19\x12\x1b\n\x11highbeamlights_on\x18% \x01(\x08H\x1a\x12\x19\n\x0ftrailer_mode_on\x18& \x01(\x08H\x1b\x12!\n\x17signed_cmd_service_mode\x18\' \x01(\x08H\x1c\x12\x18\n\x0etransport_mode\x18( \x01(\x08H\x1d\x12\x16\n\x0c\x66\x61\x63tory_mode\x18) \x01(\x08H\x1e\x12\x1e\n\x14training_wheels_mode\x18* \x01(\x08H\x1f\x12@\n\x0egtw_diag_level\x18+ \x01(\x0e\x32&.tesla_protocol.CarServer.GtwDiagLevelH \x12&\n\x1ctrailer_light_test_available\x18, \x01(\x08H!\x12&\n\x1ctrailer_light_test_requested\x18- \x01(\x08H\"\x12%\n\x1btruck_bed_lights_brightness\x18. \x01(\rH#\x12*\n truck_bed_lights_auto_brightness\x18/ \x01(\rH$\x12%\n\x1btruck_bed_lights_auto_state\x18\x30 \x01(\x08H%\x12,\n\"truck_bed_lights_controls_disabled\x18\x31 \x01(\x08H&\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18\x32 \x01(\x08H\'\x12\x19\n\x0finlet_heater_on\x18\x33 \x01(\x08H(\x12 \n\x16inlet_heater_supported\x18\x34 \x01(\x08H)\x12\x12\n\x08\x66ield_53\x18\x35 \x01(\x04H*\x12\'\n\x1dmobile_dashcam_viewer_enabled\x18\x36 \x01(\x08H+\x12\x1a\n\x10\x63\x61r_wrap_enabled\x18\x37 \x01(\x08H,\x12!\n\x17\x64\x61shcam_last_save_epoch\x18\x38 \x01(\x04H-\x12\x1f\n\x15wiper_service_request\x18: \x01(\x08H.\x12%\n\x1bremote_photobooth_available\x18; \x01(\x08H/\x12$\n\x1a\x64og_mode_live_activity_key\x18< \x01(\tH0\x12$\n\x1aphotobooth_last_save_epoch\x18= \x01(\x04H1\x12&\n\x1cphotobooth_last_update_epoch\x18> \x01(\x04H2\x12\x1d\n\x13\x66sd_stats_supported\x18? \x01(\x08H3\x12=\n\rdashcam_utils\x18\x41 \x01(\x0b\x32&.tesla_protocol.CarServer.DashcamUtils\x12$\n\x1aremote_sketchpad_available\x18\x42 \x01(\x08H4\x12\x18\n\x0e\x64\x65\x63k_lights_on\x18\x43 \x01(\x08H5\x12\x14\n\nhazards_on\x18\x44 \x01(\x08H6\x12\x1d\n\x13\x64\x65\x63k_lights_allowed\x18\x45 \x01(\x08H7\x12\x12\n\x08\x66ield_70\x18\x46 \x01(\x04H8B\x16\n\x14optional_api_versionB\"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\"\n optional_signed_cmd_service_modeB\x19\n\x17optional_transport_modeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB\x1a\n\x18optional_inlet_heater_onB!\n\x1foptional_inlet_heater_supportedB\x13\n\x11optional_field_53B(\n&optional_mobile_dashcam_viewer_enabledB\x1b\n\x19optional_car_wrap_enabledB\"\n optional_dashcam_last_save_epochB \n\x1eoptional_wiper_service_requestB&\n$optional_remote_photobooth_availableB%\n#optional_dog_mode_live_activity_keyB%\n#optional_photobooth_last_save_epochB\'\n%optional_photobooth_last_update_epochB\x1e\n\x1coptional_fsd_stats_supportedB%\n#optional_remote_sketchpad_availableB\x19\n\x17optional_deck_lights_onB\x15\n\x13optional_hazards_onB\x1e\n\x1coptional_deck_lights_allowedB\x13\n\x11optional_field_70\"\xa4\x01\n\x0c\x44\x61shcamUtils\x12(\n\x1e\x64\x65lete_dashcam_clips_available\x18\x01 \x01(\x08H\x00\x12\x1e\n\x14\x66ormat_usb_available\x18\x02 \x01(\x08H\x01\x42)\n\'optional_delete_dashcam_clips_availableB\x1f\n\x1doptional_format_usb_available\"\x1b\n\rAutoparkStyleJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"#\n\x0f\x41utoparkVersionJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\"\x15\n\rAutoparkStateJ\x04\x08\x01\x10\r\"&\n\x0cSpoilerStateJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"W\n\x10LegacyMediaState\x12 \n\x16remote_control_enabled\x18\x65 \x01(\x08H\x00\x42!\n\x1foptional_remote_control_enabled\"\xdd\x03\n\x0fLegacyMediaInfo\x12L\n\x15media_playback_status\x18\x01 \x01(\x0e\x32-.tesla_protocol.CarServer.MediaPlaybackStatus\x12\x14\n\x0c\x61udio_volume\x18\x02 \x01(\x02\x12\x1c\n\x14now_playing_duration\x18\x03 \x01(\x05\x12\x1b\n\x13now_playing_elapsed\x18\x04 \x01(\x05\x12\x45\n\x12now_playing_source\x18\x05 \x01(\x0e\x32).tesla_protocol.CarServer.MediaSourceType\x12!\n\x19now_playing_source_string\x18\x06 \x01(\t\x12\x1a\n\x12now_playing_artist\x18\x07 \x01(\t\x12\x19\n\x11now_playing_title\x18\x08 \x01(\t\x12\x19\n\x11now_playing_album\x18\t \x01(\t\x12\x1b\n\x13now_playing_station\x18\n \x01(\t\x12\x1e\n\x16\x61udio_volume_increment\x18\x0b \x01(\x02\x12\x18\n\x10\x61udio_volume_max\x18\x0c \x01(\x02\x12\x18\n\x10\x61\x32\x64p_source_name\x18\x0f \x01(\t\"\xac)\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\x12U\n\x13\x63limate_keeper_mode\x18\x1e \x01(\x0b\x32\x38.tesla_protocol.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\x12H\n\x0c\x64\x65\x66rost_mode\x18# \x01(\x0b\x32\x32.tesla_protocol.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#\x12\x66\n\x19\x63\x61\x62in_overheat_protection\x18\x8f\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.ClimateState.CabinOverheatProtection_EH$\x12\x35\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12_\n\x1a\x63op_activation_temperature\x18\x92\x01 \x01(\x0e\x32\x38.tesla_protocol.CarServer.ClimateState.CopActivationTempH&\x12#\n\x18\x61uto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12L\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.StwHeatLevelH(\x12T\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.ClimateState.HvacAutoRequestH)\x12]\n\x16\x63op_not_running_reason\x18\x97\x01 \x01(\x0e\x32:.tesla_protocol.CarServer.ClimateState.COPNotRunningReasonH*\x12#\n\x18seat_fan_second_row_left\x18\x98\x01 \x01(\x05H+\x12$\n\x19seat_fan_second_row_right\x18\x99\x01 \x01(\x05H,\x12N\n\x0e\x64og_mode_state\x18\x9a\x01 \x01(\x0e\x32\x33.tesla_protocol.CarServer.ClimateState.DogModeStateH-\x1a\x8b\x02\n\x11\x43limateKeeperMode\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03Off\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02On\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44og\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Party\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xa5\x01\n\x0b\x44\x65\x66rostMode\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Normal\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03Max\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xdb\x01\n\x0c\x44ogModeState\x12 \n\x1c\x44ogModeStateUnavailableFault\x10\x00\x12!\n\x1d\x44ogModeStateUnavailableTooHot\x10\x01\x12\x19\n\x15\x44ogModeStateAvailable\x10\x02\x12\x1e\n\x1a\x44ogModeStateRunningNominal\x10\x03\x12\x1c\n\x18\x44ogModeStateRunningFault\x10\x04\x12-\n)DogModeStateRunningTemperatureMonitorTrip\x10\x05\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_reasonB#\n!optional_seat_fan_second_row_leftB$\n\"optional_seat_fan_second_row_rightB\x19\n\x17optional_dog_mode_stateJ\x06\x08\x91\x01\x10\x92\x01\"\xae\x33\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\r\x12\x1e\n\x14tpms_pressure_re1_l0\x18\x14 \x01(\x02H\x0e\x12\x1e\n\x14tpms_pressure_re1_l1\x18\x15 \x01(\x02H\x0f\x12\x1e\n\x14tpms_pressure_re1_r0\x18\x16 \x01(\x02H\x10\x12\x1e\n\x14tpms_pressure_re1_r1\x18\x17 \x01(\x02H\x11\x12\x1e\n\x14tpms_pressure_re2_l0\x18\x18 \x01(\x02H\x12\x12\x1e\n\x14tpms_pressure_re2_l1\x18\x19 \x01(\x02H\x13\x12\x1e\n\x14tpms_pressure_re2_r0\x18\x1a \x01(\x02H\x14\x12\x1e\n\x14tpms_pressure_re2_r1\x18\x1b \x01(\x02H\x15\x12G\n#tpms_last_seen_pressure_time_re1_l0\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_l1\x18\x1d \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r0\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r1\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l0\x18 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l1\x18! \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r0\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r1\x18# \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x18tpms_hard_warning_re1_l0\x18$ \x01(\x08H\x16\x12\"\n\x18tpms_hard_warning_re1_l1\x18% \x01(\x08H\x17\x12\"\n\x18tpms_hard_warning_re1_r0\x18& \x01(\x08H\x18\x12\"\n\x18tpms_hard_warning_re1_r1\x18\' \x01(\x08H\x19\x12\"\n\x18tpms_hard_warning_re2_l0\x18( \x01(\x08H\x1a\x12\"\n\x18tpms_hard_warning_re2_l1\x18) \x01(\x08H\x1b\x12\"\n\x18tpms_hard_warning_re2_r0\x18* \x01(\x08H\x1c\x12\"\n\x18tpms_hard_warning_re2_r1\x18+ \x01(\x08H\x1d\x12\"\n\x18tpms_soft_warning_re1_l0\x18, \x01(\x08H\x1e\x12\"\n\x18tpms_soft_warning_re1_l1\x18- \x01(\x08H\x1f\x12\"\n\x18tpms_soft_warning_re1_r0\x18. \x01(\x08H \x12\"\n\x18tpms_soft_warning_re1_r1\x18/ \x01(\x08H!\x12\"\n\x18tpms_soft_warning_re2_l0\x18\x30 \x01(\x08H\"\x12\"\n\x18tpms_soft_warning_re2_l1\x18\x31 \x01(\x08H#\x12\"\n\x18tpms_soft_warning_re2_r0\x18\x32 \x01(\x08H$\x12\"\n\x18tpms_soft_warning_re2_r1\x18\x33 \x01(\x08H%\x12\x1d\n\x13tpms_temperature_fl\x18\x34 \x01(\x02H&\x12\x1d\n\x13tpms_temperature_fr\x18\x35 \x01(\x02H\'\x12\x1d\n\x13tpms_temperature_rl\x18\x36 \x01(\x02H(\x12\x1d\n\x13tpms_temperature_rr\x18\x37 \x01(\x02H)\x12!\n\x17tpms_temperature_re1_l0\x18\x38 \x01(\x02H*\x12!\n\x17tpms_temperature_re1_l1\x18\x39 \x01(\x02H+\x12!\n\x17tpms_temperature_re1_r0\x18: \x01(\x02H,\x12!\n\x17tpms_temperature_re1_r1\x18; \x01(\x02H-\x12!\n\x17tpms_temperature_re2_l0\x18< \x01(\x02H.\x12!\n\x17tpms_temperature_re2_l1\x18= \x01(\x02H/\x12!\n\x17tpms_temperature_re2_r0\x18> \x01(\x02H0\x12!\n\x17tpms_temperature_re2_r1\x18? \x01(\x02H1\x12*\n tpms_temperature_hard_warning_fl\x18@ \x01(\x08H2\x12*\n tpms_temperature_hard_warning_fr\x18\x41 \x01(\x08H3\x12*\n tpms_temperature_hard_warning_rl\x18\x42 \x01(\x08H4\x12*\n tpms_temperature_hard_warning_rr\x18\x43 \x01(\x08H5\x12.\n$tpms_temperature_hard_warning_re1_l0\x18\x44 \x01(\x08H6\x12.\n$tpms_temperature_hard_warning_re1_l1\x18\x45 \x01(\x08H7\x12.\n$tpms_temperature_hard_warning_re1_r0\x18\x46 \x01(\x08H8\x12.\n$tpms_temperature_hard_warning_re1_r1\x18G \x01(\x08H9\x12.\n$tpms_temperature_hard_warning_re2_l0\x18H \x01(\x08H:\x12.\n$tpms_temperature_hard_warning_re2_l1\x18I \x01(\x08H;\x12.\n$tpms_temperature_hard_warning_re2_r0\x18J \x01(\x08H<\x12.\n$tpms_temperature_hard_warning_re2_r1\x18K \x01(\x08H=\x12*\n tpms_temperature_soft_warning_fl\x18L \x01(\x08H>\x12*\n tpms_temperature_soft_warning_fr\x18M \x01(\x08H?\x12*\n tpms_temperature_soft_warning_rl\x18N \x01(\x08H@\x12*\n tpms_temperature_soft_warning_rr\x18O \x01(\x08HA\x12.\n$tpms_temperature_soft_warning_re1_l0\x18P \x01(\x08HB\x12.\n$tpms_temperature_soft_warning_re1_l1\x18Q \x01(\x08HC\x12.\n$tpms_temperature_soft_warning_re1_r0\x18R \x01(\x08HD\x12.\n$tpms_temperature_soft_warning_re1_r1\x18S \x01(\x08HE\x12.\n$tpms_temperature_soft_warning_re2_l0\x18T \x01(\x08HF\x12.\n$tpms_temperature_soft_warning_re2_l1\x18U \x01(\x08HG\x12.\n$tpms_temperature_soft_warning_re2_r0\x18V \x01(\x08HH\x12.\n$tpms_temperature_soft_warning_re2_r1\x18W \x01(\x08HIB\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_valueB\x1f\n\x1doptional_tpms_pressure_re1_l0B\x1f\n\x1doptional_tpms_pressure_re1_l1B\x1f\n\x1doptional_tpms_pressure_re1_r0B\x1f\n\x1doptional_tpms_pressure_re1_r1B\x1f\n\x1doptional_tpms_pressure_re2_l0B\x1f\n\x1doptional_tpms_pressure_re2_l1B\x1f\n\x1doptional_tpms_pressure_re2_r0B\x1f\n\x1doptional_tpms_pressure_re2_r1B#\n!optional_tpms_hard_warning_re1_l0B#\n!optional_tpms_hard_warning_re1_l1B#\n!optional_tpms_hard_warning_re1_r0B#\n!optional_tpms_hard_warning_re1_r1B#\n!optional_tpms_hard_warning_re2_l0B#\n!optional_tpms_hard_warning_re2_l1B#\n!optional_tpms_hard_warning_re2_r0B#\n!optional_tpms_hard_warning_re2_r1B#\n!optional_tpms_soft_warning_re1_l0B#\n!optional_tpms_soft_warning_re1_l1B#\n!optional_tpms_soft_warning_re1_r0B#\n!optional_tpms_soft_warning_re1_r1B#\n!optional_tpms_soft_warning_re2_l0B#\n!optional_tpms_soft_warning_re2_l1B#\n!optional_tpms_soft_warning_re2_r0B#\n!optional_tpms_soft_warning_re2_r1B\x1e\n\x1coptional_tpms_temperature_flB\x1e\n\x1coptional_tpms_temperature_frB\x1e\n\x1coptional_tpms_temperature_rlB\x1e\n\x1coptional_tpms_temperature_rrB\"\n optional_tpms_temperature_re1_l0B\"\n optional_tpms_temperature_re1_l1B\"\n optional_tpms_temperature_re1_r0B\"\n optional_tpms_temperature_re1_r1B\"\n optional_tpms_temperature_re2_l0B\"\n optional_tpms_temperature_re2_l1B\"\n optional_tpms_temperature_re2_r0B\"\n optional_tpms_temperature_re2_r1B+\n)optional_tpms_temperature_hard_warning_flB+\n)optional_tpms_temperature_hard_warning_frB+\n)optional_tpms_temperature_hard_warning_rlB+\n)optional_tpms_temperature_hard_warning_rrB/\n-optional_tpms_temperature_hard_warning_re1_l0B/\n-optional_tpms_temperature_hard_warning_re1_l1B/\n-optional_tpms_temperature_hard_warning_re1_r0B/\n-optional_tpms_temperature_hard_warning_re1_r1B/\n-optional_tpms_temperature_hard_warning_re2_l0B/\n-optional_tpms_temperature_hard_warning_re2_l1B/\n-optional_tpms_temperature_hard_warning_re2_r0B/\n-optional_tpms_temperature_hard_warning_re2_r1B+\n)optional_tpms_temperature_soft_warning_flB+\n)optional_tpms_temperature_soft_warning_frB+\n)optional_tpms_temperature_soft_warning_rlB+\n)optional_tpms_temperature_soft_warning_rrB/\n-optional_tpms_temperature_soft_warning_re1_l0B/\n-optional_tpms_temperature_soft_warning_re1_l1B/\n-optional_tpms_temperature_soft_warning_re1_r0B/\n-optional_tpms_temperature_soft_warning_re1_r1B/\n-optional_tpms_temperature_soft_warning_re2_l0B/\n-optional_tpms_temperature_soft_warning_re2_l1B/\n-optional_tpms_temperature_soft_warning_re2_r0B/\n-optional_tpms_temperature_soft_warning_re2_r1\"\x81\x05\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\x12G\n\x12now_playing_source\x18\x08 \x01(\x0e\x32).tesla_protocol.CarServer.MediaSourceTypeH\x06\x12N\n\x15media_playback_status\x18\t \x01(\x0e\x32-.tesla_protocol.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\"\xc7\x05\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\x12H\n\x15recent_theater_source\x18\x08 \x01(\x0e\x32\'.tesla_protocol.CarServer.TheaterSourceH\x06\x12&\n\x1crecent_theater_source_string\x18\t \x01(\tH\x07\x12#\n\x19theater_source_is_playing\x18\n \x01(\x08H\x08\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_nameB \n\x1eoptional_recent_theater_sourceB\'\n%optional_recent_theater_source_stringB$\n\"optional_theater_source_is_playing\"\xaa\x02\n\nShiftState\x12\x31\n\x07Invalid\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01P\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01R\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01N\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01\x44\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SNA\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xf1\x02\n\x0bGuiSettings\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x10gui_24_hour_time\x18h \x01(\x08H\x00\x12\x1a\n\x10show_range_units\x18j \x01(\x08H\x01\x12X\n\x16gui_tirepressure_units\x18l \x01(\x0e\x32\x36.tesla_protocol.CarServer.GuiSettings.TirePressureUnitH\x02\"D\n\x10TirePressureUnit\x12\x17\n\x13TirePressureUnitPsi\x10\x00\x12\x17\n\x13TirePressureUnitBar\x10\x01\x42\x1b\n\x19optional_gui_24_hour_timeB\x1b\n\x19optional_show_range_unitsB!\n\x1foptional_gui_tirepressure_units\"\x9b=\n\rVehicleConfig\x12T\n\x12interior_trim_type\x18\x1c \x01(\x0b\x32\x38.tesla_protocol.CarServer.VehicleConfig.InteriorTrimType\x12T\n\x12\x65xterior_trim_type\x18# \x01(\x0b\x32\x38.tesla_protocol.CarServer.VehicleConfig.ExteriorTrimType\x12\x1c\n\x12red_brake_calipers\x18= \x01(\x08H\x00\x12\x1b\n\x11use_range_badging\x18g \x01(\x08H\x01\x12\x1c\n\x12range_plus_badging\x18h \x01(\x08H\x02\x12\x1c\n\x12has_ludicrous_mode\x18i \x01(\x08H\x03\x12\x1c\n\x12\x63\x61n_actuate_trunks\x18j \x01(\x08H\x04\x12\x1c\n\x12has_air_suspension\x18n \x01(\x08H\x05\x12\x1a\n\x10\x65\x63\x65_restrictions\x18x \x01(\x08H\x06\x12\x14\n\neu_vehicle\x18y \x01(\x08H\x07\x12\x1f\n\x15motorized_charge_port\x18z \x01(\x08H\x08\x12(\n\x1e\x63\x61n_accept_navigation_requests\x18| \x01(\x08H\t\x12\x15\n\x0bkey_version\x18} \x01(\rH\n\x12\x18\n\x0emobile_enabled\x18~ \x01(\x08H\x0b\x12 \n\x15\x64\x65\x66\x61ult_charge_to_max\x18\x86\x01 \x01(\x08H\x0c\x12*\n\x1fsteering_wheel_heater_installed\x18\x88\x01 \x01(\x08H\r\x12 \n\x15sentry_mode_supported\x18\x89\x01 \x01(\x08H\x0e\x12\x1d\n\x12homelink_supported\x18\x8a\x01 \x01(\x08H\x0f\x12\x1b\n\x10webcam_supported\x18\x8b\x01 \x01(\x08H\x10\x12#\n\x18\x62ioweapon_mode_supported\x18\x8d\x01 \x01(\x08H\x11\x12&\n\x1b\x64\x61shcam_clip_save_supported\x18\x8e\x01 \x01(\x08H\x12\x12\x12\n\x07has_pws\x18\x8f\x01 \x01(\x08H\x13\x12\x15\n\nutc_offset\x18\x90\x01 \x01(\x11H\x14\x12\x1b\n\x10has_seat_cooling\x18\x91\x01 \x01(\x08H\x15\x12\x1f\n\x14paint_color_override\x18\x92\x01 \x01(\tH\x16\x12#\n\x18tpms_pressures_supported\x18\x93\x01 \x01(\x08H\x17\x12\x1a\n\x0fvehicle_badging\x18\x94\x01 \x01(\rH\x18\x12!\n\x16\x65xterior_trim_override\x18\x95\x01 \x01(\tH\x19\x12P\n\rheadlamp_type\x18\x96\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.HeadlampType_EH\x1a\x12Q\n\x0e\x61ux_park_lamps\x18\x9a\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.AuxParkLamps_EH\x1b\x12\x13\n\x08is_raven\x18\x9b\x01 \x01(\x08H\x1c\x12 \n\x15has_auto_seat_climate\x18\x9c\x01 \x01(\x08H\x1d\x12%\n\x1ahas_front_row_seat_heaters\x18\x9d\x01 \x01(\x08H\x1e\x12%\n\x1ahas_third_row_seat_heaters\x18\x9e\x01 \x01(\x08H\x1f\x12\x1e\n\x13supports_qr_pairing\x18\x9f\x01 \x01(\x08H \x12$\n\x19\x64isable_window_vent_close\x18\xa1\x01 \x01(\x08H!\x12\"\n\x17webcam_selfie_supported\x18\xa2\x01 \x01(\x08H\"\x12&\n\x1b\x63op_user_set_temp_supported\x18\xa3\x01 \x01(\x08H#\x12\x1c\n\x11has_auto_stw_heat\x18\xa4\x01 \x01(\x08H$\x12P\n\x0erearlight_type\x18\xa5\x01 \x01(\x0e\x32\x35.tesla_protocol.CarServer.VehicleConfig.RearLightTypeH%\x12N\n\x15rear_seat_heater_type\x18\xa6\x01 \x01(\x0e\x32,.tesla_protocol.CarServer.RearSeatHeaterTypeH&\x12 \n\x15webcam_grid_supported\x18\xa7\x01 \x01(\x08H\'\x12\x1a\n\x0fhas_tesla_badge\x18\xa8\x01 \x01(\x08H(\x12\x1d\n\x12has_tesla_wordmark\x18\xa9\x01 \x01(\x08H)\x12<\n\x0b\x66\x61scia_type\x18\xaa\x01 \x01(\x0e\x32$.tesla_protocol.CarServer.FasciaTypeH*\x12S\n\x17\x61\x63\x63\x65ssory_lightbar_type\x18\xab\x01 \x01(\x0e\x32/.tesla_protocol.CarServer.AccessoryLightbarTypeH+\x12#\n\x18sentry_preview_supported\x18\xac\x01 \x01(\x08H,\x12O\n\x0eseat_trim_type\x18\xad\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.VehicleConfig.SeatTrimTypeH-\x12R\n\x0f\x64rivetrain_type\x18\xae\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.DrivetrainTypeH.\x12\x1e\n\x13lightshow_supported\x18\xaf\x01 \x01(\x08H/\x12(\n\x1dmobile_dashcam_viewer_version\x18\xb0\x01 \x01(\rH0\x12#\n\x18has_premium_connectivity\x18\xb1\x01 \x01(\x08H1\x12\x1b\n\x10\x63\x61r_wrap_enabled\x18\xb2\x01 \x01(\x08H2\x12\x1f\n\x14supports_ride_height\x18\xb3\x01 \x01(\x08H3\x12&\n\x1bsupports_set_arrival_energy\x18\xb4\x01 \x01(\x08H4\x12*\n\x1fsupports_pillar_camera_metadata\x18\xb5\x01 \x01(\x08H5\x12>\n\x0c\x63hassis_type\x18\xb6\x01 \x01(\x0e\x32%.tesla_protocol.CarServer.ChassisTypeH6\x12\x1b\n\x10is_china_vehicle\x18\xb7\x01 \x01(\x08H7\x12 \n\x15is_using_unreal_apviz\x18\xb8\x01 \x01(\x08H8\x12,\n!supports_flexible_dashcam_bitrate\x18\xb9\x01 \x01(\x08H9\x12\x62\n\x18\x66ront_fascia_camera_type\x18\xba\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.VehicleConfig.FrontFasciaCameraTypeH:\x12h\n\x1bturn_indicator_control_type\x18\xbb\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.VehicleConfig.TurnIndicatorControlTypeH;\x12\x1b\n\x10has_rear_display\x18\xbc\x01 \x01(\x08H<\x12\x1c\n\x11window_tint_color\x18\xbd\x01 \x01(\tH=\x12\x62\n\x18interior_upper_trim_type\x18\xbe\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.VehicleConfig.InteriorUpperTrimTypeH>\x12]\n\x15\x62\x61\x64ging_material_type\x18\xbf\x01 \x01(\x0e\x32;.tesla_protocol.CarServer.VehicleConfig.BadgingMaterialTypeH?\x12\x1f\n\x14webcam_interior_only\x18\xc0\x01 \x01(\x08H@\x12\x17\n\x0c\x63ountry_code\x18\xc1\x01 \x01(\tHA\x12U\n\x11\x62\x65\x64_lighting_type\x18\xc2\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.VehicleConfig.BedLightingTypeHB\x12h\n\x1brear_light_hardware_variant\x18\xc3\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.VehicleConfig.RearLightHardwareVariantHC\x12@\n\x0e\x61utopilot_base\x18\xc4\x01 \x01(\x0e\x32\'.tesla_protocol.CarServer.AutopilotBase\x12S\n\x18\x61utopilot_override_state\x18\xc5\x01 \x01(\x0e\x32\x30.tesla_protocol.CarServer.AutopilotOverrideState\x12)\n\x1e\x61utopilot_override_expire_time\x18\xc6\x01 \x01(\x03HD\x12(\n\x1dsupports_dynamic_environments\x18\xc7\x01 \x01(\x08HE\x12\x18\n\rwheel_caps_on\x18\xc8\x01 \x01(\x08HF\x1a\xfa\x04\n\x10InteriorTrimType\x12\x37\n\rBLACKCONSOLE2\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rWHITECONSOLE2\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x41LLBLACK\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rBLACKANDWHITE\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bWALNUTCREAM\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bWALNUTWHITE\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nEBONYBLACK\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONCREAM\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONWHITE\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONBLACK\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cTACTICALGREY\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x8a\x01\n\x10\x45xteriorTrimType\x12\x38\n\x0eSTANDARDCHROME\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nSATINBLACK\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"m\n\x0e\x41uxParkLamps_E\x12\x16\n\x12\x41uxParkLampsNaBase\x10\x00\x12\x19\n\x15\x41uxParkLampsNaPremium\x10\x01\x12\x12\n\x0e\x41uxParkLampsEu\x10\x02\x12\x14\n\x10\x41uxParkLampsNone\x10\x03\"]\n\x13\x42\x61\x64gingMaterialType\x12#\n\x1f\x42\x61\x64gingMaterialTypeChromeSilver\x10\x00\x12!\n\x1d\x42\x61\x64gingMaterialTypeBlackMatte\x10\x01\"F\n\x0f\x42\x65\x64LightingType\x12\x17\n\x13\x42\x65\x64LightingTypeBase\x10\x00\x12\x1a\n\x16\x42\x65\x64LightingTypePremium\x10\x01\"]\n\x0e\x44rivetrainType\x12\x15\n\x11\x44rivetrainTypeRWD\x10\x00\x12\x15\n\x11\x44rivetrainTypeAWD\x10\x01\x12\x1d\n\x19\x44rivetrainTypeAWDTriMotor\x10\x02\"x\n\x15\x46rontFasciaCameraType\x12\x1d\n\x19\x46rontFasciaCameraTypeNone\x10\x00\x12\x1f\n\x1b\x46rontFasciaCameraTypeIMX963\x10\x01\x12\x1f\n\x1b\x46rontFasciaCameraTypeIMX00N\x10\x02\"\x9a\x01\n\x0eHeadlampType_E\x12\x17\n\x13HeadlampTypePremium\x10\x00\x12\x16\n\x12HeadlampTypeGlobal\x10\x01\x12\x17\n\x13HeadlampTypeHalogen\x10\x02\x12\x13\n\x0fHeadlampTypeHid\x10\x03\x12\x13\n\x0fHeadlampTypeLed\x10\x04\x12\x14\n\x10HeadlampTypeBase\x10\x05\"b\n\x15InteriorUpperTrimType\x12\"\n\x1eInteriorUpperTrimTypePolarGrey\x10\x00\x12%\n!InteriorUpperTrimTypeMammothBlack\x10\x01\"\xaf\x01\n\x18RearLightHardwareVariant\x12#\n\x1fRearLightHardwareVariantUnknown\x10\x00\x12 \n\x1cRearLightHardwareVariantBase\x10\x01\x12%\n!RearLightHardwareVariantPremiumV1\x10\x02\x12%\n!RearLightHardwareVariantPremiumV2\x10\x03\"T\n\rRearLightType\x12\x13\n\x0fRearLightTypeNA\x10\x00\x12\x15\n\x11RearLightTypeEuCn\x10\x01\x12\x17\n\x13RearLightTypeGlobal\x10\x02\"X\n\x0cSeatTrimType\x12\x14\n\x10SeatTrimTypeBase\x10\x00\x12\x15\n\x11SeatTrimTypeSport\x10\x01\x12\x1b\n\x17SeatTrimTypeBaseTextile\x10\x02\"\x95\x01\n\x18TurnIndicatorControlType\x12#\n\x1fTurnIndicatorControlTypeUnknown\x10\x00\x12-\n)TurnIndicatorControlTypeSingleDetentStalk\x10\x01\x12%\n!TurnIndicatorControlTypeSWSButton\x10\x02\x42\x1d\n\x1boptional_red_brake_calipersB\x1c\n\x1aoptional_use_range_badgingB\x1d\n\x1boptional_range_plus_badgingB\x1d\n\x1boptional_has_ludicrous_modeB\x1d\n\x1boptional_can_actuate_trunksB\x1d\n\x1boptional_has_air_suspensionB\x1b\n\x19optional_ece_restrictionsB\x15\n\x13optional_eu_vehicleB \n\x1eoptional_motorized_charge_portB)\n\'optional_can_accept_navigation_requestsB\x16\n\x14optional_key_versionB\x19\n\x17optional_mobile_enabledB \n\x1eoptional_default_charge_to_maxB*\n(optional_steering_wheel_heater_installedB \n\x1eoptional_sentry_mode_supportedB\x1d\n\x1boptional_homelink_supportedB\x1b\n\x19optional_webcam_supportedB#\n!optional_bioweapon_mode_supportedB&\n$optional_dashcam_clip_save_supportedB\x12\n\x10optional_has_pwsB\x15\n\x13optional_utc_offsetB\x1b\n\x19optional_has_seat_coolingB\x1f\n\x1doptional_paint_color_overrideB#\n!optional_tpms_pressures_supportedB\x1a\n\x18optional_vehicle_badgingB!\n\x1foptional_exterior_trim_overrideB\x18\n\x16optional_headlamp_typeB\x19\n\x17optional_aux_park_lampsB\x13\n\x11optional_is_ravenB \n\x1eoptional_has_auto_seat_climateB%\n#optional_has_front_row_seat_heatersB%\n#optional_has_third_row_seat_heatersB\x1e\n\x1coptional_supports_qr_pairingB$\n\"optional_disable_window_vent_closeB\"\n optional_webcam_selfie_supportedB&\n$optional_cop_user_set_temp_supportedB\x1c\n\x1aoptional_has_auto_stw_heatB\x19\n\x17optional_rearlight_typeB \n\x1eoptional_rear_seat_heater_typeB \n\x1eoptional_webcam_grid_supportedB\x1a\n\x18optional_has_tesla_badgeB\x1d\n\x1boptional_has_tesla_wordmarkB\x16\n\x14optional_fascia_typeB\"\n optional_accessory_lightbar_typeB#\n!optional_sentry_preview_supportedB\x19\n\x17optional_seat_trim_typeB\x1a\n\x18optional_drivetrain_typeB\x1e\n\x1coptional_lightshow_supportedB(\n&optional_mobile_dashcam_viewer_versionB#\n!optional_has_premium_connectivityB\x1b\n\x19optional_car_wrap_enabledB\x1f\n\x1doptional_supports_ride_heightB&\n$optional_supports_set_arrival_energyB*\n(optional_supports_pillar_camera_metadataB\x17\n\x15optional_chassis_typeB\x1b\n\x19optional_is_china_vehicleB \n\x1eoptional_is_using_unreal_apvizB,\n*optional_supports_flexible_dashcam_bitrateB#\n!optional_front_fascia_camera_typeB&\n$optional_turn_indicator_control_typeB\x1b\n\x19optional_has_rear_displayB\x1c\n\x1aoptional_window_tint_colorB#\n!optional_interior_upper_trim_typeB \n\x1eoptional_badging_material_typeB\x1f\n\x1doptional_webcam_interior_onlyB\x17\n\x15optional_country_codeB\x1c\n\x1aoptional_bed_lighting_typeB&\n$optional_rear_light_hardware_variantB)\n\'optional_autopilot_override_expire_timeB(\n&optional_supports_dynamic_environmentsB\x18\n\x16optional_wheel_caps_on\"\xf9\t\n\x14ParkedAccessoryState\x12\x1b\n\x11tent_mode_request\x18\x01 \x01(\x08H\x00\x12 \n\x16horizon_leveling_state\x18\x02 \x01(\x08H\x01\x12N\n\x18\x66ront_zone_light_request\x18\x03 \x01(\x0e\x32*.tesla_protocol.CarServer.ZoneLightRequestH\x02\x12M\n\x17rear_zone_light_request\x18\x04 \x01(\x0e\x32*.tesla_protocol.CarServer.ZoneLightRequestH\x03\x12%\n\x1btruck_bed_lights_brightness\x18\x05 \x01(\rH\x04\x12*\n truck_bed_lights_auto_brightness\x18\x06 \x01(\rH\x05\x12%\n\x1btruck_bed_lights_auto_state\x18\x07 \x01(\x08H\x06\x12,\n\"truck_bed_lights_controls_disabled\x18\x08 \x01(\x08H\x07\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18\t \x01(\x08H\x08\x12%\n\x1b\x61\x63\x63\x65ssory_lightbar_ditch_on\x18\n \x01(\x08H\t\x12\'\n\x1d\x61\x63\x63\x65ssory_lightbar_brightness\x18\x0b \x01(\rH\n\x12 \n\x16\x61\x63\x63\x65ssory_lightbar_low\x18\x0c \x01(\rH\x0b\x12 \n\x16\x61\x63\x63\x65ssory_lightbar_med\x18\r \x01(\rH\x0c\x12!\n\x17\x61\x63\x63\x65ssory_lightbar_high\x18\x0e \x01(\rH\r\x12\x17\n\rhas_tent_mode\x18\x0f \x01(\x08H\x0e\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x1c\n\x1aoptional_tent_mode_requestB!\n\x1foptional_horizon_leveling_stateB#\n!optional_front_zone_light_requestB\"\n optional_rear_zone_light_requestB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB&\n$optional_accessory_lightbar_ditch_onB(\n&optional_accessory_lightbar_brightnessB!\n\x1foptional_accessory_lightbar_lowB!\n\x1foptional_accessory_lightbar_medB\"\n optional_accessory_lightbar_highB\x18\n\x16optional_has_tent_mode\"\xa4\x08\n\x08SohState\x12G\n\x0esoh_test_state\x18\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SohState.SohTestState\x12L\n\x11soh_test_end_mode\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SohState.SohTestEndMode\x12@\n\nsoh_result\x18\x03 \x01(\x0b\x32,.tesla_protocol.CarServer.SohState.SohResult\x12-\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a&\n\x0cSohTestPhaseJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\x1a\x1c\n\x0eSohTestEndModeJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\x1a\xcf\x01\n\x0cSohTestState\x12G\n\x0esoh_test_phase\x18\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SohState.SohTestPhase\x12\x1b\n\x11soh_time_estimate\x18\x02 \x01(\x02H\x00\x12\x1c\n\x12soh_time_remaining\x18\x03 \x01(\x02H\x01\x42\x1c\n\x1aoptional_soh_time_estimateB\x1d\n\x1boptional_soh_time_remaining\x1a\x9b\x03\n\tSohResult\x12\x11\n\x07\x66ield_3\x18\x03 \x01(\x02H\x00\x12\x18\n\x0esoh_calibrated\x18\x04 \x01(\x08H\x01\x12\x1c\n\x12soh_last_test_time\x18\x05 \x01(\rH\x02\x12U\n\x11soh_health_result\x18\x06 \x01(\x0e\x32\x38.tesla_protocol.CarServer.SohState.WarrantyServiceResultH\x03\x12%\n\x1bsoh_distance_since_soh_test\x18\x07 \x01(\rH\x04\x12\x17\n\rsoh_regulated\x18\x08 \x01(\x08H\x05\x42\x12\n\x10optional_field_3B\x19\n\x17optional_soh_calibratedB\x1d\n\x1boptional_soh_last_test_timeB\x1c\n\x1aoptional_soh_health_resultB&\n$optional_soh_distance_since_soh_testB\x18\n\x16optional_soh_regulated\"Z\n\x15WarrantyServiceResult\x12\n\n\x06SOH_OK\x10\x00\x12\x0f\n\x0bSOH_REDUCED\x10\x01\x12\x13\n\x0fSOH_NO_INTERNET\x10\x02\x12\x0f\n\x0bSOH_UNKNOWN\x10\x03\"~\n\nAlertState\x12@\n\x0f\x63harging_alerts\x18\x01 \x03(\x0b\x32\'.tesla_protocol.CarServer.ChargingAlert\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"G\n\x0fLightShowOption\x12\x17\n\x0flight_show_name\x18\x01 \x01(\t\x12\x1b\n\x13light_show_duration\x18\x02 \x01(\t\"\xdb\x01\n\x11LightShowSettings\x12\x1d\n\x15light_show_volume_min\x18\x01 \x01(\x02\x12\x1d\n\x15light_show_volume_max\x18\x02 \x01(\x02\x12\x1e\n\x16light_show_volume_step\x18\x03 \x01(\x02\x12\x45\n\x12light_show_options\x18\x04 \x03(\x0b\x32).tesla_protocol.CarServer.LightShowOption\x12!\n\x19light_show_schedule_times\x18\x05 \x03(\x04\"\xd0\x02\n\x0eLightShowState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x11light_show_active\x18\x02 \x01(\x08H\x00\x12\"\n\x18light_show_selected_name\x18\x03 \x01(\tH\x01\x12\x1f\n\x15light_show_start_time\x18\x04 \x01(\x04H\x02\x12H\n\x13light_show_settings\x18\x05 \x01(\x0b\x32+.tesla_protocol.CarServer.LightShowSettingsB\x1c\n\x1aoptional_light_show_activeB#\n!optional_light_show_selected_nameB \n\x1eoptional_light_show_start_time\"a\n\x10VehicleImageData\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x17\n\x0f\x64\x61ta_chunk_size\x18\x03 \x01(\r\x12\x14\n\x0cstart_offset\x18\x04 \x01(\r\"\xd7\x01\n\x0cVehicleImage\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12>\n\nasset_data\x18\x02 \x01(\x0b\x32*.tesla_protocol.CarServer.VehicleImageData\x12\x43\n\nimage_type\x18\x03 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12\x16\n\x0eis_local_image\x18\x04 \x01(\x08\x12\x18\n\x10total_image_size\x18\x05 \x01(\r\"\x82\x01\n\x11VehicleImageState\x12>\n\x0evehicle_images\x18\x01 \x03(\x0b\x32&.tesla_protocol.CarServer.VehicleImage\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd3\x04\n\x0fSuspensionState\x12\x44\n\x0e\x61llowed_levels\x18\x01 \x03(\x0b\x32,.tesla_protocol.CarServer.SuspensionLevelObj\x12\x42\n\rcurrent_level\x18\x02 \x01(\x0e\x32).tesla_protocol.CarServer.SuspensionLevelH\x00\x12\x41\n\x0ctarget_level\x18\x03 \x01(\x0e\x32).tesla_protocol.CarServer.SuspensionLevelH\x01\x12L\n\x0emovement_state\x18\x04 \x01(\x0e\x32\x32.tesla_protocol.CarServer.SuspensionActuationStateH\x02\x12\x14\n\noffroad_on\x18\x05 \x01(\x08H\x03\x12\x19\n\x0f\x64isabled_reason\x18\x06 \x01(\tH\x04\x12\x43\n\rlevel_options\x18\x07 \x03(\x0b\x32,.tesla_protocol.CarServer.SuspensionLevelObj\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x18\n\x16optional_current_levelB\x17\n\x15optional_target_levelB\x19\n\x17optional_movement_stateB\x15\n\x13optional_offroad_onB\x1a\n\x18optional_disabled_reason\"\xb0\x02\n\x1b\x43hildPresenceDetectionState\x12+\n!cpd_disable_notification_required\x18\x01 \x01(\x08H\x00\x12\x19\n\x0f\x63pd_hvac_active\x18\x02 \x01(\x08H\x01\x12&\n\x1c\x63pd_supports_critical_alerts\x18\x03 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB,\n*optional_cpd_disable_notification_requiredB\x1a\n\x18optional_cpd_hvac_activeB\'\n%optional_cpd_supports_critical_alerts\"\x87\x01\n\x0c\x44isplayState\x12\x1d\n\x15\x64isplayBrightnessAuto\x18\x01 \x01(\x08\x12(\n displayBrightnessScalePreference\x18\x02 \x01(\r\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xab\x04\n\x12VehicleDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0cvehicle_name\x18\x02 \x01(\tH\x00\x12\x15\n\x0b\x63\x61r_version\x18\x03 \x01(\tH\x01\x12\x1a\n\x10\x64\x65tailed_version\x18\x04 \x01(\tH\x02\x12\x18\n\x0e\x61utopilot_hash\x18\x05 \x01(\tH\x03\x12\x1e\n\x14\x66sd_software_version\x18\x06 \x01(\tH\x04\x12\x1e\n\x14\x63urrent_profile_name\x18\x07 \x01(\tH\x05\x12*\n china_autopilot_software_version\x18\x08 \x01(\tH\x06\x12\x1d\n\x13is_fsd_v14_or_above\x18\t \x01(\x08H\x07\x42\x17\n\x15optional_vehicle_nameB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x1f\n\x1doptional_fsd_software_versionB\x1f\n\x1doptional_current_profile_nameB+\n)optional_china_autopilot_software_versionB\x1e\n\x1coptional_is_fsd_v14_or_above*\x97\x01\n\rAutopilotBase\x12\x16\n\x12\x41utopilotBase_NONE\x10\x00\x12\x19\n\x15\x41utopilotBase_HIGHWAY\x10\x01\x12\x1a\n\x16\x41utopilotBase_ENHANCED\x10\x02\x12\x1e\n\x1a\x41utopilotBase_SELF_DRIVING\x10\x03\x12\x17\n\x13\x41utopilotBase_BASIC\x10\x04*\x87\x03\n\x16\x41utopilotOverrideState\x12\x1f\n\x1b\x41utopilotOverrideState_BASE\x10\x00\x12\'\n#AutopilotOverrideState_SUBSCRIPTION\x10\x01\x12 \n\x1c\x41utopilotOverrideState_TRIAL\x10\x02\x12\x31\n-AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION\x10\x03\x12*\n&AutopilotOverrideState_TIMEBOUND_TRIAL\x10\x04\x12&\n\"AutopilotOverrideState_OPTION_CODE\x10\x05\x12*\n&AutopilotOverrideState_OPTION_OVERRIDE\x10\x06\x12*\n&AutopilotOverrideState_VEHICLE_MANAGED\x10\x07\x12\"\n\x1e\x41utopilotOverrideState_UNKNOWN\x10\x08*\xe5\x01\n\x0c\x44\x61shCamState\x12\x1c\n\x18\x44\x61shCamState_UNAVAILABLE\x10\x00\x12\x1a\n\x16\x44\x61shCamState_AVAILABLE\x10\x01\x12\x1a\n\x16\x44\x61shCamState_RECORDING\x10\x02\x12\x16\n\x12\x44\x61shCamState_SAVED\x10\x03\x12\x1a\n\x16\x44\x61shCamState_STREAMING\x10\x04\x12\x19\n\x15\x44\x61shCamState_NO_SPACE\x10\x05\x12\x17\n\x13\x44\x61shCamState_SAVING\x10\x06\x12\x17\n\x13\x44\x61shCamState_PAUSED\x10\x07*\xde\x03\n\rTheaterSource\x12\x16\n\x12TheaterSource_None\x10\x00\x12\x19\n\x15TheaterSource_YouTube\x10\x01\x12 \n\x1cTheaterSource_TeslaTutorials\x10\x02\x12\x19\n\x15TheaterSource_Netflix\x10\x03\x12\x18\n\x14TheaterSource_Twitch\x10\x04\x12\x18\n\x14TheaterSource_TikTok\x10\x05\x12\x16\n\x12TheaterSource_Hulu\x10\x07\x12\x1a\n\x16TheaterSource_BiliBili\x10\n\x12\x18\n\x14TheaterSource_Disney\x10\r\x12\x18\n\x14TheaterSource_Douyin\x10\x0e\x12\x1d\n\x19TheaterSource_MontyPython\x10\x13\x12\x19\n\x15TheaterSource_Tencent\x10\x1c\x12\x17\n\x13TheaterSource_Youku\x10 \x12\x17\n\x13TheaterSource_iQiyi\x10!\x12\x1e\n\x1aTheaterSource_ThunderStone\x10\"\x12\x19\n\x15TheaterSource_MangoTV\x10#\x12\x1a\n\x16TheaterSource_Kuaishou\x10$*\x83\n\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\x1e\n\x1aMediaSourceType_AppleMusic\x10\x1b\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#\x12!\n\x1dMediaSourceType_ApplePodcasts\x10$\x12\x1b\n\x17MediaSourceType_Audible\x10%\x12\x1f\n\x1bMediaSourceType_AmazonMusic\x10&\x12 \n\x1cMediaSourceType_YouTubeMusic\x10\'\x12\x1f\n\x1bMediaSourceType_SiriusXmWeb\x10(\x12\x1b\n\x17MediaSourceType_Yunting\x10)\x12\x1d\n\x19MediaSourceType_TuneInWeb\x10*\x12\x19\n\x15MediaSourceType_Kugou\x10+\x12\x1a\n\x16MediaSourceType_Vohico\x10,*S\n\x15VehicleImageStateType\x12\x11\n\rAPVIZ_INVALID\x10\x00\x12\x0e\n\nAPVIZ_WRAP\x10\x01\x12\x17\n\x13\x41PVIZ_LICENSE_PLATE\x10\x02*\xa0\x1c\n\x10MobileAppFeature\x12\x1d\n\x19MOBILE_APP_FEATURE_ACTIVE\x10\x00\x12%\n!MOBILE_APP_FEATURE_CLIMATE_KEEPER\x10\x01\x12)\n%MOBILE_APP_FEATURE_UNLOCK_STOP_CHARGE\x10\x02\x12&\n\"MOBILE_APP_FEATURE_SET_RATE_TARIFF\x10\x03\x12&\n\"MOBILE_APP_FEATURE_GET_RATE_TARIFF\x10\x04\x12 \n\x1cMOBILE_APP_FEATURE_DRIVENOTE\x10\x05\x12.\n*MOBILE_APP_FEATURE_CLIMATE_KEEPER_OVERRIDE\x10\x06\x12+\n\'MOBILE_APP_FEATURE_SIGNED_VIDEO_REQUEST\x10\x07\x12.\n*MOBILE_APP_FEATURE_SENTRY_CAM_FLASH_LIGHTS\x10\x08\x12\x1e\n\x1aMOBILE_APP_FEATURE_BOOMBOX\x10\t\x12#\n\x1fMOBILE_APP_FEATURE_DOOR_UNLATCH\x10\n\x12-\n)MOBILE_APP_FEATURE_SEAT_HEATERS_INSTALLED\x10\x0b\x12%\n!MOBILE_APP_FEATURE_LAST_SEEN_TPMS\x10\x0c\x12%\n!MOBILE_APP_FEATURE_UI_CHARGE_PORT\x10\r\x12/\n+MOBILE_APP_FEATURE_MONITOR_AND_CHARGE_ROLES\x10\x0e\x12#\n\x1fMOBILE_APP_FEATURE_PROTO_FLOATS\x10\x0f\x12(\n$MOBILE_APP_FEATURE_BLUETOOTH_PAIRING\x10\x10\x12*\n&MOBILE_APP_FEATURE_HMAC_AUTHENTICATION\x10\x11\x12 \n\x1cMOBILE_APP_COP_USER_SET_TEMP\x10\x12\x12$\n MOBILE_APP_FEATURE_MEDIA_DETAILS\x10\x13\x12%\n!MOBILE_APP_FEATURE_RESPONSE_CACHE\x10\x14\x12\x1a\n\x16MOBILE_APP_FEATURE_SCC\x10\x16\x12/\n+MOBILE_APP_FEATURE_SENTRY_CAM_WITH_DOG_MODE\x10\x17\x12/\n+MOBILE_APP_FEATURE_AUTO_STEERING_WHEEL_HEAT\x10\x18\x12\'\n#MOBILE_APP_FEATURE_MANAGED_CHARGING\x10\x19\x12G\nCMOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND_DECPRECATED\x10\x1a\x12;\n7MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND\x10\x1b\x12,\n(MOBILE_APP_FEATURE_SEND_NAVIGATION_ROUTE\x10\x1c\x12,\n(MOBILE_APP_FEATURE_RED_BRAKE_CALIPER_FIX\x10\x1d\x12#\n\x1fMOBILE_APP_FEATURE_PIN_TO_DRIVE\x10\x1e\x12%\n!MOBILE_APP_COP_NOT_RUNNING_REASON\x10\x1f\x12\'\n#MOBILE_APP_FEATURE_SET_VEHICLE_NAME\x10 \x12*\n&MOBILE_APP_FEATURE_VEHICLE_DATA_PII_V2\x10!\x12!\n\x1dMOBILE_APP_FEATURE_BOOMBOX_V2\x10\"\x12\x34\n0MOBILE_APP_FEATURE_UWB_STABLE_FOR_SUPPORTED_CARS\x10#\x12;\n7MOBILE_APP_FEATURE_SPEED_LIMIT_PIN_RESET_SIGNED_COMMAND\x10$\x12+\n\'MOBILE_APP_FEATURE_PRECISE_LOCATION_TAG\x10%\x12+\n\'MOBILE_APP_FEATURE_IMU_ALERT_IS_VISIBLE\x10&\x12&\n\"MOBILE_APP_FEATURE_CT_SUPPORTS_COP\x10*\x12*\n&MOBILE_APP_FEATURE_WAYPOINTS_SUPPORTED\x10+\x12 \n\x1cMOBILE_APP_FEATURE_OCTA_VIEW\x10,\x12$\n MOBILE_APP_FEATURE_BT_GTW_UNLOCK\x10-\x12@\n\n:MOBILE_APP_FEATURE_SEND_NAVIGATION_REQUEST_GPS_DESTINATION\x10:\x12$\n MOBILE_APP_FEATURE_SUMMON_WEBCAM\x10;\x12\'\n#MOBILE_APP_FEATURE_BLE_REMOTE_START\x10=\x12(\n$MOBILE_APP_FEATURE_SOH_TEST_OBSOLETE\x10>\x12\x36\n2MOBILE_APP_FEATURE_SET_ARRIVAL_PERCENTAGE_OBSOLETE\x10@\x12-\n)MOBILE_APP_FEATURE_REMOTE_THEATER_CONTROL\x10\x42\x12$\n MOBILE_APP_FEATURE_CT_SUSPENSION\x10\x43\x12\"\n\x1eMOBILE_APP_FEATURE_SOH_TEST_V2\x10\x44\x12*\n&MOBILE_APP_FEATURE_ANDROID_UWB_ENABLED\x10\x45\x12%\n!MOBILE_APP_FEATURE_LOW_POWER_MODE\x10\x46\x12#\n\x1fMOBILE_APP_FEATURE_ROBOTAXI_UWB\x10G\x12\x30\n,MOBILE_APP_FEATURE_KEEP_ACCESSORY_POWER_MODE\x10H\x12+\n\'MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS\x10I\x12\x39\n5MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS_WITH_DELETION\x10M\x12\x34\n0MOBILE_APP_FEATURE_FETCH_KEY_METADATA_DEPRECATED\x10N\x12)\n%MOBILE_APP_FEATURE_FETCH_KEY_METADATA\x10O\x12)\n%MOBILE_APP_FEATURE_TRAILER_LIGHT_TEST\x10P\x12:\n6MOBILE_APP_FEATURE_DELETE_DASHCAM_CLIPS_AND_FORMAT_USB\x10Q\x12\x35\n1MOBILE_APP_FEATURE_SOFTWARE_UPDATE_AUTO_SCHEDULED\x10R\x12*\n&MOBILE_APP_FEATURE_BLE_MESSAGE_FRAMING\x10S\x12<\n8MOBILE_APP_FEATURE_WAYPOINTS_REQUEST_ACCEPTS_COORDINATES\x10T\x12\x35\n1MOBILE_APP_FEATURE_PHONE_SETTING_PREFERENCES_SYNC\x10U\x12&\n\"MOBILE_APP_FEATURE_UPLOAD_CAR_WRAP\x10Z\x12#\n\x1fMOBILE_APP_FEATURE_SHARE_URLS_X\x10[\x12)\n%MOBILE_APP_FEATURE_DISPLAY_BRIGHTNESS\x10]\x12*\n&MOBILE_APP_FEATURE_ANDROID_BLE_BONDING\x10_\x12\'\n#MOBILE_APP_FEATURE_APVIZ_WHEEL_CAPS\x10\x61\x42x\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$tesla_protocol/command/vehicle.proto\x12\x18tesla_protocol.CarServer\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"tesla_protocol/command/vcsec.proto\x1a#tesla_protocol/command/common.proto\x1a-tesla_protocol/command/managed_charging.proto\"\xca\x10\n\x0bVehicleData\x12;\n\x0cgui_settings\x18\x02 \x01(\x0b\x32%.tesla_protocol.CarServer.GuiSettings\x12;\n\x0c\x63harge_state\x18\x03 \x01(\x0b\x32%.tesla_protocol.CarServer.ChargeState\x12=\n\rclimate_state\x18\x04 \x01(\x0b\x32&.tesla_protocol.CarServer.ClimateState\x12\x39\n\x0b\x64rive_state\x18\x05 \x01(\x0b\x32$.tesla_protocol.CarServer.DriveState\x12\x44\n\x14legacy_vehicle_state\x18\x06 \x01(\x0b\x32&.tesla_protocol.CarServer.VehicleState\x12?\n\x0evehicle_config\x18\x07 \x01(\x0b\x32\'.tesla_protocol.CarServer.VehicleConfig\x12?\n\x0elocation_state\x18\x08 \x01(\x0b\x32\'.tesla_protocol.CarServer.LocationState\x12?\n\x0e\x63losures_state\x18\t \x01(\x0b\x32\'.tesla_protocol.CarServer.ClosuresState\x12\x1c\n\x12proto_json_version\x18\n \x01(\x05H\x00\x12\x16\n\x0e\x65ncrypted_data\x18\x0b \x03(\x0c\x12\x17\n\rupload_reason\x18\x0c \x01(\tH\x01\x12N\n\x16parked_accessory_state\x18\x0e \x01(\x0b\x32..tesla_protocol.CarServer.ParkedAccessoryState\x12L\n\x15\x63harge_schedule_state\x18\x0f \x01(\x0b\x32-.tesla_protocol.CarServer.ChargeScheduleState\x12^\n\x1epreconditioning_schedule_state\x18\x10 \x01(\x0b\x32\x36.tesla_protocol.CarServer.PreconditioningScheduleState\x12\x35\n\tsoh_state\x18\x11 \x01(\x0b\x32\".tesla_protocol.CarServer.SohState\x12\x44\n\rvehicle_state\x18\x12 \x01(\x0b\x32-.tesla_protocol.CarServer.CurrentVehicleState\x12H\n\x13tire_pressure_state\x18\x13 \x01(\x0b\x32+.tesla_protocol.CarServer.TirePressureState\x12\x39\n\x0bmedia_state\x18\x14 \x01(\x0b\x32$.tesla_protocol.CarServer.MediaState\x12\x46\n\x12media_detail_state\x18\x15 \x01(\x0b\x32*.tesla_protocol.CarServer.MediaDetailState\x12J\n\x14vehicle_detail_state\x18\x16 \x01(\x0b\x32,.tesla_protocol.CarServer.VehicleDetailState\x12L\n\x15software_update_state\x18\x17 \x01(\x0b\x32-.tesla_protocol.CarServer.SoftwareUpdateState\x12P\n\x17parental_controls_state\x18\x18 \x01(\x0b\x32/.tesla_protocol.CarServer.ParentalControlsState\x12\x39\n\x0b\x61lert_state\x18\x19 \x01(\x0b\x32$.tesla_protocol.CarServer.AlertState\x12\x42\n\x10light_show_state\x18\x1a \x01(\x0b\x32(.tesla_protocol.CarServer.LightShowState\x12H\n\x13vehicle_image_state\x18\x1b \x01(\x0b\x32+.tesla_protocol.CarServer.VehicleImageState\x12\x43\n\x10suspension_state\x18\x1d \x01(\x0b\x32).tesla_protocol.CarServer.SuspensionState\x12]\n\x1e\x63hild_presence_detection_state\x18\x1e \x01(\x0b\x32\x35.tesla_protocol.CarServer.ChildPresenceDetectionState\x12=\n\rdisplay_state\x18$ \x01(\x0b\x32&.tesla_protocol.CarServer.DisplayState\x12Z\n\x1dkeep_on_accessory_ports_state\x18\' \x01(\x0b\x32\x33.tesla_protocol.CarServer.KeepOnAccessoryPortsState\x12\x1a\n\x11pii_key_responses\x18\x84\x07 \x03(\x0c\x12\x14\n\x0bwrapped_key\x18\x85\x07 \x01(\x0c\x12#\n\x18supports_optional_fields\x18\xe7\x07 \x01(\x08H\x02\x42\x1d\n\x1boptional_proto_json_versionB\x18\n\x16optional_upload_reasonB#\n!optional_supports_optional_fields\"\xec\x18\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\x12L\n\x0esun_roof_state\x18\x0b \x01(\x0b\x32\x34.tesla_protocol.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\x12R\n\x14\x63\x65nter_display_state\x18\x0f \x01(\x0b\x32\x34.tesla_protocol.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\x12R\n\x11sentry_mode_state\x18\x13 \x01(\x0b\x32\x37.tesla_protocol.CarServer.ClosuresState.SentryModeState\x12\x1f\n\x15sentry_mode_available\x18x \x01(\x08H\x10\x12\x42\n\x10speed_limit_mode\x18\x16 \x01(\x0b\x32(.tesla_protocol.CarServer.SpeedLimitMode\x12=\n\rtonneau_state\x18\x17 \x01(\x0e\x32$.tesla_protocol.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\x1f\n\x15has_automatic_tonneau\x18\x1a \x01(\x08H\x14\x12 \n\x16has_side_storage_doors\x18\x1b \x01(\x08H\x15\x12%\n\x1b\x64oor_open_side_storage_left\x18\x1c \x01(\x08H\x16\x12&\n\x1c\x64oor_open_side_storage_right\x18\x1d \x01(\x08H\x17\x12\x1e\n\x16\x63ruise_speed_limit_mph\x18\x1e \x01(\x01\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xc4\x02\n\x0cSunRoofState\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x61librating\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x43losed\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Open\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Moving\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Vent\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x88\x04\n\x0c\x44isplayState\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44im\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tAccessory\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02On\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x44riving\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43harging\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Lock\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Sentry\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44og\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rEntertainment\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xbc\x02\n\x0fSentryModeState\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Idle\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x41rmed\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x41ware\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Panic\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Quiet\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.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_motionB \n\x1eoptional_has_automatic_tonneauB!\n\x1foptional_has_side_storage_doorsB&\n$optional_door_open_side_storage_leftB\'\n%optional_door_open_side_storage_right\"\xf8\x03\n\x13\x43hargeScheduleState\x12\x42\n\x10\x63harge_schedules\x18\x01 \x03(\x0b\x32(.tesla_protocol.CarServer.ChargeSchedule\x12J\n\x16\x63harge_schedule_window\x18\x02 \x01(\x0b\x32(.tesla_protocol.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\"\xad\x03\n\x1cPreconditioningScheduleState\x12N\n\x16precondition_schedules\x18\x01 \x03(\x0b\x32..tesla_protocol.CarServer.PreconditionSchedule\x12Y\n\x1fpreconditioning_schedule_window\x18\x02 \x01(\x0b\x32..tesla_protocol.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\"\xe8\x05\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\x12\x19\n\x0f\x62rowser_blocked\x18\n \x01(\x08H\t\x12\x19\n\x0ftheater_blocked\x18\x0b \x01(\x08H\n\x12\x18\n\x0e\x61rcade_blocked\x18\x0c \x01(\x08H\x0b\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_timeB\x1a\n\x18optional_browser_blockedB\x1a\n\x18optional_theater_blockedB\x19\n\x17optional_arcade_blocked\"\xb2\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\x12V\n\x1aparental_controls_settings\x18\x04 \x01(\x0b\x32\x32.tesla_protocol.CarServer.ParentalControlsSettingsB#\n!optional_parental_controls_activeB$\n\"optional_parental_controls_pin_set\"\x8b\x07\n\x13SoftwareUpdateState\x12R\n\x06status\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.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\x12\x18\n\x0e\x61uto_scheduled\x18m \x01(\x08H\x06\x1a\xe7\x02\n\x14SoftwareUpdateStatus\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nInstalling\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tScheduled\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tAvailable\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13\x44ownloadingWifiWait\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x44ownloading\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.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_versionB\x19\n\x17optional_auto_scheduled\"\x9c\x0e\n\nDriveState\x12\x39\n\x0bshift_state\x18\x01 \x01(\x0b\x32$.tesla_protocol.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\x43\n\x18\x61\x63tive_route_coordinates\x18\x0c \x01(\x0b\x32!.tesla_protocol.CarServer.LatLong\x12(\n\x1e\x66sd_user_total_miles_travelled\x18\x10 \x01(\x02H\n\x12\x1e\n\x14\x66sd_user_total_miles\x18\x11 \x01(\x02H\x0b\x12+\n!fsd_user_miles_hands_free_current\x18\x12 \x01(\x02H\x0c\x12\'\n\x1d\x66sd_user_miles_hands_free_max\x18\x13 \x01(\x02H\r\x12$\n\x1a\x66sd_total_miles_this_month\x18\x14 \x01(\x02H\x0e\x12S\n\x13\x66sd_monthly_history\x18\x15 \x03(\x0b\x32\x36.tesla_protocol.CarServer.DriveState.FsdMonthlyMileage\x12\x19\n\x0f\x66sd_streak_days\x18\x16 \x01(\x05H\x0f\x12U\n\x15\x66sd_last_7_days_usage\x18\x17 \x01(\x0b\x32\x36.tesla_protocol.CarServer.DriveState.FsdLast7DaysUsage\x12\x1e\n\x14rainbow_road_enabled\x18\x18 \x01(\x08H\x10\x12\x14\n\nfsd_active\x18\x19 \x01(\x08H\x11\x1aO\n\x11\x46sdMonthlyMileage\x12\x12\n\nyear_month\x18\x01 \x01(\t\x12\x11\n\tfsd_miles\x18\x02 \x01(\x02\x12\x13\n\x0btotal_miles\x18\x03 \x01(\x02\x1a\x45\n\x11\x46sdLast7DaysUsage\x12\x1d\n\x15week_starts_on_sunday\x18\x01 \x01(\x08\x12\x11\n\tday_usage\x18\x02 \x03(\x08\x42\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_updateB)\n\'optional_fsd_user_total_miles_travelledB\x1f\n\x1doptional_fsd_user_total_milesB,\n*optional_fsd_user_miles_hands_free_currentB(\n&optional_fsd_user_miles_hands_free_maxB%\n#optional_fsd_total_miles_this_monthB\x1a\n\x18optional_fsd_streak_daysB\x1f\n\x1doptional_rainbow_road_enabledB\x15\n\x13optional_fsd_active\"\x93L\n\x0b\x43hargeState\x12K\n\x0e\x63harging_state\x18\x01 \x01(\x0b\x32\x33.tesla_protocol.CarServer.ChargeState.ChargingState\x12L\n\x11\x66\x61st_charger_type\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargeState.ChargerType\x12N\n\x12\x66\x61st_charger_brand\x18\x03 \x01(\x0b\x32\x32.tesla_protocol.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\x12J\n\x11\x63onn_charge_cable\x18\x1c \x01(\x0b\x32/.tesla_protocol.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\x12I\n\x11\x63harge_port_latch\x18# \x01(\x0b\x32..tesla_protocol.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\x12M\n\x15preconditioning_times\x18- \x01(\x0b\x32..tesla_protocol.CarServer.PreconditioningTimes\x12O\n\x17off_peak_charging_times\x18. \x01(\x0b\x32..tesla_protocol.CarServer.OffPeakChargingTimes\x12\"\n\x17off_peak_hours_end_time\x18\x93\x01 \x01(\rH\"\x12_\n\x17scheduled_charging_mode\x18\x94\x01 \x01(\x0e\x32;.tesla_protocol.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)\x12U\n\x11\x63harge_port_color\x18\x9b\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.ChargeState.ChargePortColor_EH*\x12 \n\x15\x63harge_rate_mph_float\x18\x9c\x01 \x01(\x02H+\x12W\n\x13\x63harge_limit_reason\x18\x9d\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.ChargeState.ChargeLimitReasonH,\x12O\n\x16managed_charging_state\x18\x9e\x01 \x01(\x0b\x32..tesla_protocol.CarServer.ManagedChargingState\x12!\n\x16\x63harge_cable_unlatched\x18\x9f\x01 \x01(\x08H-\x12J\n\x0coutlet_state\x18\xa0\x01 \x01(\x0e\x32\x31.tesla_protocol.CarServer.ChargeState.OutletStateH.\x12Q\n\x10power_feed_state\x18\xa1\x01 \x01(\x0e\x32\x34.tesla_protocol.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\x12P\n\x0fpowershare_type\x18\xa9\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.ChargeState.PowershareTypeH7\x12T\n\x11powershare_status\x18\xaa\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.ChargeState.PowershareStatusH8\x12]\n\x16powershare_stop_reason\x18\xab\x01 \x01(\x0e\x32:.tesla_protocol.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!.tesla_protocol.CarServer.LatLongH>\x12;\n\rwork_location\x18\xb1\x01 \x01(\x0b\x32!.tesla_protocol.CarServer.LatLongH?\x12#\n\x18outlet_max_timer_minutes\x18\xb2\x01 \x01(\x05H@\x12(\n\x1d\x62\x61tt_heat_min_to_start_charge\x18\xb3\x01 \x01(\x05HA\x12\x34\n)batt_heat_min_to_start_charge_calculating\x18\xb4\x01 \x01(\x08HB\x12\x19\n\x0ehas_ac_outlets\x18\xb5\x01 \x01(\x08HC\x12\x1b\n\x10paid_session_fee\x18\xb7\x01 \x01(\x02HD\x12$\n\x19paid_session_fee_currency\x18\xb8\x01 \x01(\tHE\x12 \n\x15paid_session_kwh_rate\x18\xb9\x01 \x01(\x02HF\x12\x1e\n\x13\x64ischarge_limit_soe\x18\xba\x01 \x01(\x05HG\x12\x15\n\nis_roaming\x18\xbb\x01 \x01(\x08HH\x12%\n\x1apaid_session_location_guid\x18\xbc\x01 \x01(\tHI\x12&\n\x1bpaid_session_pricebook_guid\x18\xbd\x01 \x01(\tHJ\x12<\n\x17paid_session_start_time\x18\xbe\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x0elow_power_mode\x18\xbf\x01 \x01(\x08HK\x12#\n\x18low_power_mode_forced_on\x18\xc0\x01 \x01(\x08HL\x12\x1f\n\x14\x63onvenience_features\x18\xc1\x01 \x01(\rHM\x12$\n\x19keep_accessory_power_mode\x18\xc2\x01 \x01(\x08HN\x12!\n\x16should_hide_range_info\x18\xc6\x01 \x01(\x08HO\x1a\x82\x02\n\tCableType\x12-\n\x03SNA\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03IEC\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SAE\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05GB_AC\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05GB_DC\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xe6\x03\n\x0b\x43hargerType\x12-\n\x03SNA\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cSupercharger\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x43hademo\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02Gb\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x41\x43SingleWireCAN\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x43ombo\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fMCSingleWireCAN\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Other\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Tesla\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xbb\x03\n\rChargingState\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0c\x44isconnected\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07NoPower\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Starting\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43harging\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43omplete\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Stopped\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x61librating\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1av\n\x0c\x43hargerBrand\x12/\n\x05Tesla\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SNA\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xf3\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\x12.\n*ChargeLimitReasonEvseRelocationRecommended\x10\x06\"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\"\x8d\x01\n\x0ePowershareType\x12\x16\n\x12PowershareTypeNone\x10\x00\x12\x16\n\x12PowershareTypeLoad\x10\x01\x12\x16\n\x12PowershareTypeHome\x10\x02\x12\x16\n\x12PowershareTypeGrid\x10\x03\x12\x1b\n\x17PowershareTypePowerwall\x10\x04\"\xdf\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\x12\'\n#PowershareStopReasonAdapterUpdating\x10\x07\x12\x33\n/PowershareStopReasonAdapterInitializationFailed\x10\x08\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_minutesB(\n&optional_batt_heat_min_to_start_chargeB4\n2optional_batt_heat_min_to_start_charge_calculatingB\x19\n\x17optional_has_ac_outletsB\x1b\n\x19optional_paid_session_feeB$\n\"optional_paid_session_fee_currencyB \n\x1eoptional_paid_session_kwh_rateB\x1e\n\x1coptional_discharge_limit_soeB\x15\n\x13optional_is_roamingB%\n#optional_paid_session_location_guidB&\n$optional_paid_session_pricebook_guidB\x19\n\x17optional_low_power_modeB#\n!optional_low_power_mode_forced_onB\x1f\n\x1doptional_convenience_featuresB$\n\"optional_keep_accessory_power_modeB!\n\x1foptional_should_hide_range_infoJ\x04\x08\x08\x10\tJ\x04\x08*\x10+J\x04\x08+\x10,\"\xbe\x02\n\x14ManagedChargingState\x12K\n\x15\x63harge_on_solar_state\x18\x01 \x01(\x0b\x32,.tesla_protocol.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\"\xdf\x05\n\x12\x43hargeOnSolarState\x12M\n\x0bnot_allowed\x18\x01 \x01(\x0b\x32\x36.tesla_protocol.CarServer.ChargeOnSolarStateNotAllowedH\x00\x12`\n\x15no_charge_recommended\x18\x02 \x01(\x0b\x32?.tesla_protocol.CarServer.ChargeOnSolarStateNoChargeRecommendedH\x00\x12\x65\n\x18\x63harging_on_excess_solar\x18\x03 \x01(\x0b\x32\x41.tesla_protocol.CarServer.ChargeOnSolarStateChargingOnExcessSolarH\x00\x12^\n\x14\x63harging_on_anything\x18\x04 \x01(\x0b\x32>.tesla_protocol.CarServer.ChargeOnSolarStateChargingOnAnythingH\x00\x12Q\n\ruser_disabled\x18\x06 \x01(\x0b\x32\x38.tesla_protocol.CarServer.ChargeOnSolarStateUserDisabledH\x00\x12Z\n\x12waiting_for_server\x18\x07 \x01(\x0b\x32<.tesla_protocol.CarServer.ChargeOnSolarStateWaitingForServerH\x00\x12\x42\n\x05\x65rror\x18\x08 \x01(\x0b\x32\x31.tesla_protocol.CarServer.ChargeOnSolarStateErrorH\x00\x12O\n\x0cuser_stopped\x18\t \x01(\x0b\x32\x37.tesla_protocol.CarServer.ChargeOnSolarStateUserStoppedH\x00\x42\x07\n\x05stateJ\x04\x08\x05\x10\x06\"\x1e\n\x1c\x43hargeOnSolarStateNotAllowed\"t\n%ChargeOnSolarStateNoChargeRecommended\x12K\n\x06reason\x18\x01 \x01(\x0e\x32;.tesla_protocol.ManagedCharging.ChargeOnSolarNoChargeReason\")\n\'ChargeOnSolarStateChargingOnExcessSolar\"&\n$ChargeOnSolarStateChargingOnAnything\" \n\x1e\x43hargeOnSolarStateUserDisabled\"$\n\"ChargeOnSolarStateWaitingForServer\"\x19\n\x17\x43hargeOnSolarStateError\"\x1f\n\x1d\x43hargeOnSolarStateUserStopped\"\xca\r\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\x12N\n\x0bnative_type\x18\x08 \x01(\x0b\x32\x39.tesla_protocol.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\x12\x1d\n\x13supercharger_trt_id\x18y \x01(\x05H\x12\x12\x1b\n\x11native_latitude_d\x18z \x01(\x01H\x13\x12\x1c\n\x12native_longitude_d\x18{ \x01(\x01H\x14\x12\x18\n\x0egeo_latitude_d\x18| \x01(\x01H\x15\x12\x19\n\x0fgeo_longitude_d\x18} \x01(\x01H\x16\x12\x1f\n\x15geo_hw_raw_latitude_d\x18~ \x01(\x01H\x17\x12 \n\x16geo_hw_raw_longitude_d\x18\x7f \x01(\x01H\x18\x12\"\n\x17geo_horizontal_accuracy\x18\x80\x01 \x01(\x02H\x19\x1ay\n\x11GPSCoordinateType\x12-\n\x03GCJ\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03WGS\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.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_distanceB\x1e\n\x1coptional_supercharger_trt_idB\x1c\n\x1aoptional_native_latitude_dB\x1d\n\x1boptional_native_longitude_dB\x19\n\x17optional_geo_latitude_dB\x1a\n\x18optional_geo_longitude_dB \n\x1eoptional_geo_hw_raw_latitude_dB!\n\x1foptional_geo_hw_raw_longitude_dB\"\n optional_geo_horizontal_accuracyJ\x04\x08\x0c\x10\r\"\xa0)\n\x0cVehicleState\x12?\n\x0e\x61utopark_style\x18\" \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkStyle\x12\x44\n\x14\x61\x63tive_spoiler_state\x18% \x01(\x0b\x32&.tesla_protocol.CarServer.SpoilerState\x12L\n\x15software_update_state\x18& \x01(\x0b\x32-.tesla_protocol.CarServer.SoftwareUpdateState\x12\x46\n\x12legacy_media_state\x18\' \x01(\x0b\x32*.tesla_protocol.CarServer.LegacyMediaState\x12-\n\ttimestamp\x18+ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x10\x61utopark_version\x18. \x01(\x0b\x32).tesla_protocol.CarServer.AutoparkVersion\x12?\n\x0e\x61utopark_state\x18/ \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkState\x12\x17\n\x0f\x66\x65\x61ture_bitmask\x18\x37 \x03(\r\x12\x43\n\x1ftpms_last_seen_pressure_time_fl\x18: \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_fr\x18; \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rl\x18< \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1ftpms_last_seen_pressure_time_rr\x18= \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x44\n\x11legacy_media_info\x18H \x01(\x0b\x32).tesla_protocol.CarServer.LegacyMediaInfo\x12.\n$allow_authorized_mobile_devices_only\x18I \x01(\x08H\x00\x12\x43\n\tguestMode\x18J \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18K \x01(\x08H\x01\x12\x1e\n\x14pin_to_drive_enabled\x18L \x01(\x08H\x02\x12\x1e\n\x14pin_to_drive_pin_set\x18M \x01(\x08H\x03\x12\x1b\n\x11\x66rontfoglights_on\x18N \x01(\x08H\x04\x12\x1a\n\x10rearfoglights_on\x18O \x01(\x08H\x05\x12\x17\n\rheadlights_on\x18P \x01(\x08H\x06\x12\x1b\n\x11highbeamlights_on\x18Q \x01(\x08H\x07\x12\x19\n\x0ftrailer_mode_on\x18R \x01(\x08H\x08\x12&\n\x1ctrailer_light_test_available\x18S \x01(\x08H\t\x12&\n\x1ctrailer_light_test_requested\x18T \x01(\x08H\n\x12%\n\x1btruck_bed_lights_brightness\x18V \x01(\rH\x0b\x12!\n\x17signed_cmd_service_mode\x18W \x01(\x08H\x0c\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18X \x01(\x08H\r\x12\x18\n\x0etransport_mode\x18Y \x01(\x08H\x0e\x12*\n truck_bed_lights_auto_brightness\x18Z \x01(\rH\x0f\x12%\n\x1btruck_bed_lights_auto_state\x18[ \x01(\x08H\x10\x12,\n\"truck_bed_lights_controls_disabled\x18\\ \x01(\x08H\x11\x12\x1b\n\x11service_mode_auth\x18] \x01(\tH\x12\x12)\n\x1fservice_gtw_diag_session_active\x18^ \x01(\x08H\x13\x12\x16\n\x0c\x66\x61\x63tory_mode\x18_ \x01(\x08H\x14\x12\x1e\n\x14training_wheels_mode\x18` \x01(\x08H\x15\x12@\n\x0egtw_diag_level\x18\x61 \x01(\x0e\x32&.tesla_protocol.CarServer.GtwDiagLevelH\x16\x12\"\n\x18parental_controls_active\x18\x62 \x01(\x08H\x17\x12#\n\x19parental_controls_pin_set\x18\x63 \x01(\x08H\x18\x12V\n\x1aparental_controls_settings\x18\x64 \x01(\x0b\x32\x32.tesla_protocol.CarServer.ParentalControlsSettings\x12\x15\n\x0b\x61pi_version\x18\x65 \x01(\rH\x19\x12\x15\n\x0b\x63\x61r_version\x18l \x01(\tH\x1a\x12\x1a\n\x10\x64\x65tailed_version\x18m \x01(\tH\x1b\x12\x18\n\x0e\x61utopilot_hash\x18n \x01(\tH\x1c\x12\x16\n\x0cvehicle_name\x18v \x01(\tH\x1d\x12!\n\x17notifications_supported\x18x \x01(\x08H\x1e\x12 \n\x16remote_start_supported\x18y \x01(\x08H\x1f\x12\x1e\n\x14remote_start_enabled\x18z \x01(\x08H \x12\x1e\n\x13last_autopark_error\x18\x83\x01 \x01(\tH!\x12 \n\x15homelink_device_count\x18\x85\x01 \x01(\rH\"\x12!\n\x16smart_summon_available\x18\x87\x01 \x01(\x08H#\x12&\n\x1bsummon_standby_mode_enabled\x18\x88\x01 \x01(\x08H$\x12\x15\n\npatsy_mode\x18\x8d\x01 \x01(\x08H%\x12\x1b\n\x10webcam_available\x18\x8e\x01 \x01(\x08H&\x12&\n\x1bvehicle_self_test_requested\x18\x90\x01 \x01(\x08H\'\x12%\n\x1avehicle_self_test_progress\x18\x91\x01 \x01(\rH(\x12\x1d\n\x12\x63\x61lendar_supported\x18\x94\x01 \x01(\x08H)\x12&\n\x1b\x64\x61shcam_clip_save_available\x18\x95\x01 \x01(\x08H*\x12@\n\rdashcam_state\x18\x96\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.DashCamStateH+\x12\x1b\n\x10tpms_pressure_fl\x18\x97\x01 \x01(\x02H,\x12\x1b\n\x10tpms_pressure_fr\x18\x98\x01 \x01(\x02H-\x12\x1b\n\x10tpms_pressure_rl\x18\x99\x01 \x01(\x02H.\x12\x1b\n\x10tpms_pressure_rr\x18\x9a\x01 \x01(\x02H/\x12\x17\n\x0cservice_mode\x18\x9c\x01 \x01(\x08H0\x12\x1c\n\x11service_mode_plus\x18\x9d\x01 \x01(\x08H1\x12\x1f\n\x14tpms_hard_warning_fl\x18\xa2\x01 \x01(\x08H2\x12\x1f\n\x14tpms_hard_warning_fr\x18\xa3\x01 \x01(\x08H3\x12\x1f\n\x14tpms_hard_warning_rl\x18\xa4\x01 \x01(\x08H4\x12\x1f\n\x14tpms_hard_warning_rr\x18\xa5\x01 \x01(\x08H5\x12\x1f\n\x14tpms_soft_warning_fl\x18\xa6\x01 \x01(\x08H6\x12\x1f\n\x14tpms_soft_warning_fr\x18\xa7\x01 \x01(\x08H7\x12\x1f\n\x14tpms_soft_warning_rl\x18\xa8\x01 \x01(\x08H8\x12\x1f\n\x14tpms_soft_warning_rr\x18\xa9\x01 \x01(\x08H9\x12\x1f\n\x14tpms_rcp_front_value\x18\xaa\x01 \x01(\x02H:\x12\x1e\n\x13tpms_rcp_rear_value\x18\xab\x01 \x01(\x02H;\x12\x1f\n\x14\x66sd_software_version\x18\xac\x01 \x01(\tH<\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08\x42/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB\"\n optional_signed_cmd_service_modeB\'\n%optional_accessory_lightbar_middle_onB\x19\n\x17optional_transport_modeB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB#\n!optional_parental_controls_activeB$\n\"optional_parental_controls_pin_setB\x16\n\x14optional_api_versionB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x17\n\x15optional_vehicle_nameB\"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x1b\n\x19optional_tpms_pressure_flB\x1b\n\x19optional_tpms_pressure_frB\x1b\n\x19optional_tpms_pressure_rlB\x1b\n\x19optional_tpms_pressure_rrB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\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_valueB\x1f\n\x1doptional_fsd_software_versionJ\x04\x08\x43\x10\x44J\x04\x08\x44\x10\x45J\x04\x08\x45\x10\x46J\x06\x08\xc4\x01\x10\xc5\x01J\x06\x08\xc5\x01\x10\xc6\x01J\x06\x08\xc6\x01\x10\xc7\x01R\x0e\x64\x65\x63k_lights_onR\nhazards_onR\x13\x64\x65\x63k_lights_allowedR\x0e\x61utopilot_baseR\x18\x61utopilot_override_stateR\x1e\x61utopilot_override_expire_time\"\xe8\"\n\x13\x43urrentVehicleState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\x0b\x61pi_version\x18\x02 \x01(\rH\x00\x12!\n\x17notifications_supported\x18\x03 \x01(\x08H\x01\x12 \n\x16remote_start_supported\x18\x04 \x01(\x08H\x02\x12\x1e\n\x14remote_start_enabled\x18\x05 \x01(\x08H\x03\x12\x1d\n\x13last_autopark_error\x18\x06 \x01(\tH\x04\x12\x1f\n\x15homelink_device_count\x18\x07 \x01(\rH\x05\x12?\n\x0e\x61utopark_style\x18\x08 \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkStyle\x12 \n\x16smart_summon_available\x18\t \x01(\x08H\x06\x12%\n\x1bsummon_standby_mode_enabled\x18\n \x01(\x08H\x07\x12\x44\n\x14\x61\x63tive_spoiler_state\x18\x0c \x01(\x0b\x32&.tesla_protocol.CarServer.SpoilerState\x12\x14\n\npatsy_mode\x18\x0f \x01(\x08H\x08\x12\x1a\n\x10webcam_available\x18\x10 \x01(\x08H\t\x12%\n\x1bvehicle_self_test_requested\x18\x11 \x01(\x08H\n\x12$\n\x1avehicle_self_test_progress\x18\x12 \x01(\rH\x0b\x12\x43\n\x10\x61utopark_version\x18\x13 \x01(\x0b\x32).tesla_protocol.CarServer.AutoparkVersion\x12?\n\x0e\x61utopark_state\x18\x14 \x01(\x0b\x32\'.tesla_protocol.CarServer.AutoparkState\x12\x1c\n\x12\x63\x61lendar_supported\x18\x15 \x01(\x08H\x0c\x12%\n\x1b\x64\x61shcam_clip_save_available\x18\x16 \x01(\x08H\r\x12?\n\rdashcam_state\x18\x17 \x01(\x0e\x32&.tesla_protocol.CarServer.DashCamStateH\x0e\x12\x17\n\x0f\x66\x65\x61ture_bitmask\x18\x18 \x03(\r\x12\x16\n\x0cservice_mode\x18\x19 \x01(\x08H\x0f\x12\x1b\n\x11service_mode_plus\x18\x1a \x01(\x08H\x10\x12\x1b\n\x11service_mode_auth\x18\x1b \x01(\tH\x11\x12)\n\x1fservice_gtw_diag_session_active\x18\x1c \x01(\x08H\x12\x12.\n$allow_authorized_mobile_devices_only\x18\x1d \x01(\x08H\x13\x12\x44\n\nguest_mode\x18\x1e \x01(\x0b\x32\x30.tesla_protocol.CarServer.VehicleState.GuestMode\x12\x17\n\rdrive_rail_on\x18\x1f \x01(\x08H\x14\x12\x1e\n\x14pin_to_drive_enabled\x18 \x01(\x08H\x15\x12\x1e\n\x14pin_to_drive_pin_set\x18! \x01(\x08H\x16\x12\x1b\n\x11\x66rontfoglights_on\x18\" \x01(\x08H\x17\x12\x1a\n\x10rearfoglights_on\x18# \x01(\x08H\x18\x12\x17\n\rheadlights_on\x18$ \x01(\x08H\x19\x12\x1b\n\x11highbeamlights_on\x18% \x01(\x08H\x1a\x12\x19\n\x0ftrailer_mode_on\x18& \x01(\x08H\x1b\x12!\n\x17signed_cmd_service_mode\x18\' \x01(\x08H\x1c\x12\x18\n\x0etransport_mode\x18( \x01(\x08H\x1d\x12\x16\n\x0c\x66\x61\x63tory_mode\x18) \x01(\x08H\x1e\x12\x1e\n\x14training_wheels_mode\x18* \x01(\x08H\x1f\x12@\n\x0egtw_diag_level\x18+ \x01(\x0e\x32&.tesla_protocol.CarServer.GtwDiagLevelH \x12&\n\x1ctrailer_light_test_available\x18, \x01(\x08H!\x12&\n\x1ctrailer_light_test_requested\x18- \x01(\x08H\"\x12%\n\x1btruck_bed_lights_brightness\x18. \x01(\rH#\x12*\n truck_bed_lights_auto_brightness\x18/ \x01(\rH$\x12%\n\x1btruck_bed_lights_auto_state\x18\x30 \x01(\x08H%\x12,\n\"truck_bed_lights_controls_disabled\x18\x31 \x01(\x08H&\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18\x32 \x01(\x08H\'\x12\x19\n\x0finlet_heater_on\x18\x33 \x01(\x08H(\x12 \n\x16inlet_heater_supported\x18\x34 \x01(\x08H)\x12\x12\n\x08\x66ield_53\x18\x35 \x01(\x04H*\x12\'\n\x1dmobile_dashcam_viewer_enabled\x18\x36 \x01(\x08H+\x12\x1a\n\x10\x63\x61r_wrap_enabled\x18\x37 \x01(\x08H,\x12!\n\x17\x64\x61shcam_last_save_epoch\x18\x38 \x01(\x04H-\x12\x1f\n\x15wiper_service_request\x18: \x01(\x08H.\x12%\n\x1bremote_photobooth_available\x18; \x01(\x08H/\x12$\n\x1a\x64og_mode_live_activity_key\x18< \x01(\tH0\x12$\n\x1aphotobooth_last_save_epoch\x18= \x01(\x04H1\x12&\n\x1cphotobooth_last_update_epoch\x18> \x01(\x04H2\x12\x1d\n\x13\x66sd_stats_supported\x18? \x01(\x08H3\x12=\n\rdashcam_utils\x18\x41 \x01(\x0b\x32&.tesla_protocol.CarServer.DashcamUtils\x12$\n\x1aremote_sketchpad_available\x18\x42 \x01(\x08H4\x12\x18\n\x0e\x64\x65\x63k_lights_on\x18\x43 \x01(\x08H5\x12\x14\n\nhazards_on\x18\x44 \x01(\x08H6\x12\x1d\n\x13\x64\x65\x63k_lights_allowed\x18\x45 \x01(\x08H7\x12\x12\n\x08\x66ield_70\x18\x46 \x01(\x04H8\x12\x18\n\x0ehalloween_mode\x18G \x01(\x08H9\x12\x1d\n\x13trick_or_treat_mode\x18H \x01(\x08H:B\x16\n\x14optional_api_versionB\"\n optional_notifications_supportedB!\n\x1foptional_remote_start_supportedB\x1f\n\x1doptional_remote_start_enabledB\x1e\n\x1coptional_last_autopark_errorB \n\x1eoptional_homelink_device_countB!\n\x1foptional_smart_summon_availableB&\n$optional_summon_standby_mode_enabledB\x15\n\x13optional_patsy_modeB\x1b\n\x19optional_webcam_availableB&\n$optional_vehicle_self_test_requestedB%\n#optional_vehicle_self_test_progressB\x1d\n\x1boptional_calendar_supportedB&\n$optional_dashcam_clip_save_availableB\x18\n\x16optional_dashcam_stateB\x17\n\x15optional_service_modeB\x1c\n\x1aoptional_service_mode_plusB\x1c\n\x1aoptional_service_mode_authB*\n(optional_service_gtw_diag_session_activeB/\n-optional_allow_authorized_mobile_devices_onlyB\x18\n\x16optional_drive_rail_onB\x1f\n\x1doptional_pin_to_drive_enabledB\x1f\n\x1doptional_pin_to_drive_pin_setB\x1c\n\x1aoptional_frontfoglights_onB\x1b\n\x19optional_rearfoglights_onB\x18\n\x16optional_headlights_onB\x1c\n\x1aoptional_highbeamlights_onB\x1a\n\x18optional_trailer_mode_onB\"\n optional_signed_cmd_service_modeB\x19\n\x17optional_transport_modeB\x17\n\x15optional_factory_modeB\x1f\n\x1doptional_training_wheels_modeB\x19\n\x17optional_gtw_diag_levelB\'\n%optional_trailer_light_test_availableB\'\n%optional_trailer_light_test_requestedB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB\x1a\n\x18optional_inlet_heater_onB!\n\x1foptional_inlet_heater_supportedB\x13\n\x11optional_field_53B(\n&optional_mobile_dashcam_viewer_enabledB\x1b\n\x19optional_car_wrap_enabledB\"\n optional_dashcam_last_save_epochB \n\x1eoptional_wiper_service_requestB&\n$optional_remote_photobooth_availableB%\n#optional_dog_mode_live_activity_keyB%\n#optional_photobooth_last_save_epochB\'\n%optional_photobooth_last_update_epochB\x1e\n\x1coptional_fsd_stats_supportedB%\n#optional_remote_sketchpad_availableB\x19\n\x17optional_deck_lights_onB\x15\n\x13optional_hazards_onB\x1e\n\x1coptional_deck_lights_allowedB\x13\n\x11optional_field_70B\x19\n\x17optional_halloween_modeB\x1e\n\x1coptional_trick_or_treat_mode\"\xa4\x01\n\x0c\x44\x61shcamUtils\x12(\n\x1e\x64\x65lete_dashcam_clips_available\x18\x01 \x01(\x08H\x00\x12\x1e\n\x14\x66ormat_usb_available\x18\x02 \x01(\x08H\x01\x42)\n\'optional_delete_dashcam_clips_availableB\x1f\n\x1doptional_format_usb_available\"~\n\rAutoparkStyle\x12\x31\n\x07\x44\x65\x61\x64man\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Standard\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xb5\x01\n\x0f\x41utoparkVersion\x12\x32\n\x08Version2\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Version3\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Version4\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\x8f\x05\n\rAutoparkState\x12\x31\n\x07Standby\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bUnavailable\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Ready\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rActiveForward\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rActiveReverse\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x44isabled\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Panic\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tPreparing\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x41\x62orting\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Paused\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Resuming\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bOpeningGate\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xe3\x01\n\x0cSpoilerState\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tRetracted\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x45xtended\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x46\x61ult\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"W\n\x10LegacyMediaState\x12 \n\x16remote_control_enabled\x18\x65 \x01(\x08H\x00\x42!\n\x1foptional_remote_control_enabled\"\xdd\x03\n\x0fLegacyMediaInfo\x12L\n\x15media_playback_status\x18\x01 \x01(\x0e\x32-.tesla_protocol.CarServer.MediaPlaybackStatus\x12\x14\n\x0c\x61udio_volume\x18\x02 \x01(\x02\x12\x1c\n\x14now_playing_duration\x18\x03 \x01(\x05\x12\x1b\n\x13now_playing_elapsed\x18\x04 \x01(\x05\x12\x45\n\x12now_playing_source\x18\x05 \x01(\x0e\x32).tesla_protocol.CarServer.MediaSourceType\x12!\n\x19now_playing_source_string\x18\x06 \x01(\t\x12\x1a\n\x12now_playing_artist\x18\x07 \x01(\t\x12\x19\n\x11now_playing_title\x18\x08 \x01(\t\x12\x19\n\x11now_playing_album\x18\t \x01(\t\x12\x1b\n\x13now_playing_station\x18\n \x01(\t\x12\x1e\n\x16\x61udio_volume_increment\x18\x0b \x01(\x02\x12\x18\n\x10\x61udio_volume_max\x18\x0c \x01(\x02\x12\x18\n\x10\x61\x32\x64p_source_name\x18\x0f \x01(\t\"\xac)\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\x12U\n\x13\x63limate_keeper_mode\x18\x1e \x01(\x0b\x32\x38.tesla_protocol.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\x12H\n\x0c\x64\x65\x66rost_mode\x18# \x01(\x0b\x32\x32.tesla_protocol.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#\x12\x66\n\x19\x63\x61\x62in_overheat_protection\x18\x8f\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.ClimateState.CabinOverheatProtection_EH$\x12\x35\n*cabin_overheat_protection_actively_cooling\x18\x90\x01 \x01(\x08H%\x12_\n\x1a\x63op_activation_temperature\x18\x92\x01 \x01(\x0e\x32\x38.tesla_protocol.CarServer.ClimateState.CopActivationTempH&\x12#\n\x18\x61uto_steering_wheel_heat\x18\x93\x01 \x01(\x08H\'\x12L\n\x19steering_wheel_heat_level\x18\x94\x01 \x01(\x0e\x32&.tesla_protocol.CarServer.StwHeatLevelH(\x12T\n\x11hvac_auto_request\x18\x96\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.ClimateState.HvacAutoRequestH)\x12]\n\x16\x63op_not_running_reason\x18\x97\x01 \x01(\x0e\x32:.tesla_protocol.CarServer.ClimateState.COPNotRunningReasonH*\x12#\n\x18seat_fan_second_row_left\x18\x98\x01 \x01(\x05H+\x12$\n\x19seat_fan_second_row_right\x18\x99\x01 \x01(\x05H,\x12N\n\x0e\x64og_mode_state\x18\x9a\x01 \x01(\x0e\x32\x33.tesla_protocol.CarServer.ClimateState.DogModeStateH-\x1a\x8b\x02\n\x11\x43limateKeeperMode\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03Off\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02On\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x44og\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Party\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xa5\x01\n\x0b\x44\x65\x66rostMode\x12-\n\x03Off\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Normal\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03Max\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.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\"\xdb\x01\n\x0c\x44ogModeState\x12 \n\x1c\x44ogModeStateUnavailableFault\x10\x00\x12!\n\x1d\x44ogModeStateUnavailableTooHot\x10\x01\x12\x19\n\x15\x44ogModeStateAvailable\x10\x02\x12\x1e\n\x1a\x44ogModeStateRunningNominal\x10\x03\x12\x1c\n\x18\x44ogModeStateRunningFault\x10\x04\x12-\n)DogModeStateRunningTemperatureMonitorTrip\x10\x05\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_reasonB#\n!optional_seat_fan_second_row_leftB$\n\"optional_seat_fan_second_row_rightB\x19\n\x17optional_dog_mode_stateJ\x06\x08\x91\x01\x10\x92\x01\"\xae\x33\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\r\x12\x1e\n\x14tpms_pressure_re1_l0\x18\x14 \x01(\x02H\x0e\x12\x1e\n\x14tpms_pressure_re1_l1\x18\x15 \x01(\x02H\x0f\x12\x1e\n\x14tpms_pressure_re1_r0\x18\x16 \x01(\x02H\x10\x12\x1e\n\x14tpms_pressure_re1_r1\x18\x17 \x01(\x02H\x11\x12\x1e\n\x14tpms_pressure_re2_l0\x18\x18 \x01(\x02H\x12\x12\x1e\n\x14tpms_pressure_re2_l1\x18\x19 \x01(\x02H\x13\x12\x1e\n\x14tpms_pressure_re2_r0\x18\x1a \x01(\x02H\x14\x12\x1e\n\x14tpms_pressure_re2_r1\x18\x1b \x01(\x02H\x15\x12G\n#tpms_last_seen_pressure_time_re1_l0\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_l1\x18\x1d \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r0\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re1_r1\x18\x1f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l0\x18 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_l1\x18! \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r0\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n#tpms_last_seen_pressure_time_re2_r1\x18# \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x18tpms_hard_warning_re1_l0\x18$ \x01(\x08H\x16\x12\"\n\x18tpms_hard_warning_re1_l1\x18% \x01(\x08H\x17\x12\"\n\x18tpms_hard_warning_re1_r0\x18& \x01(\x08H\x18\x12\"\n\x18tpms_hard_warning_re1_r1\x18\' \x01(\x08H\x19\x12\"\n\x18tpms_hard_warning_re2_l0\x18( \x01(\x08H\x1a\x12\"\n\x18tpms_hard_warning_re2_l1\x18) \x01(\x08H\x1b\x12\"\n\x18tpms_hard_warning_re2_r0\x18* \x01(\x08H\x1c\x12\"\n\x18tpms_hard_warning_re2_r1\x18+ \x01(\x08H\x1d\x12\"\n\x18tpms_soft_warning_re1_l0\x18, \x01(\x08H\x1e\x12\"\n\x18tpms_soft_warning_re1_l1\x18- \x01(\x08H\x1f\x12\"\n\x18tpms_soft_warning_re1_r0\x18. \x01(\x08H \x12\"\n\x18tpms_soft_warning_re1_r1\x18/ \x01(\x08H!\x12\"\n\x18tpms_soft_warning_re2_l0\x18\x30 \x01(\x08H\"\x12\"\n\x18tpms_soft_warning_re2_l1\x18\x31 \x01(\x08H#\x12\"\n\x18tpms_soft_warning_re2_r0\x18\x32 \x01(\x08H$\x12\"\n\x18tpms_soft_warning_re2_r1\x18\x33 \x01(\x08H%\x12\x1d\n\x13tpms_temperature_fl\x18\x34 \x01(\x02H&\x12\x1d\n\x13tpms_temperature_fr\x18\x35 \x01(\x02H\'\x12\x1d\n\x13tpms_temperature_rl\x18\x36 \x01(\x02H(\x12\x1d\n\x13tpms_temperature_rr\x18\x37 \x01(\x02H)\x12!\n\x17tpms_temperature_re1_l0\x18\x38 \x01(\x02H*\x12!\n\x17tpms_temperature_re1_l1\x18\x39 \x01(\x02H+\x12!\n\x17tpms_temperature_re1_r0\x18: \x01(\x02H,\x12!\n\x17tpms_temperature_re1_r1\x18; \x01(\x02H-\x12!\n\x17tpms_temperature_re2_l0\x18< \x01(\x02H.\x12!\n\x17tpms_temperature_re2_l1\x18= \x01(\x02H/\x12!\n\x17tpms_temperature_re2_r0\x18> \x01(\x02H0\x12!\n\x17tpms_temperature_re2_r1\x18? \x01(\x02H1\x12*\n tpms_temperature_hard_warning_fl\x18@ \x01(\x08H2\x12*\n tpms_temperature_hard_warning_fr\x18\x41 \x01(\x08H3\x12*\n tpms_temperature_hard_warning_rl\x18\x42 \x01(\x08H4\x12*\n tpms_temperature_hard_warning_rr\x18\x43 \x01(\x08H5\x12.\n$tpms_temperature_hard_warning_re1_l0\x18\x44 \x01(\x08H6\x12.\n$tpms_temperature_hard_warning_re1_l1\x18\x45 \x01(\x08H7\x12.\n$tpms_temperature_hard_warning_re1_r0\x18\x46 \x01(\x08H8\x12.\n$tpms_temperature_hard_warning_re1_r1\x18G \x01(\x08H9\x12.\n$tpms_temperature_hard_warning_re2_l0\x18H \x01(\x08H:\x12.\n$tpms_temperature_hard_warning_re2_l1\x18I \x01(\x08H;\x12.\n$tpms_temperature_hard_warning_re2_r0\x18J \x01(\x08H<\x12.\n$tpms_temperature_hard_warning_re2_r1\x18K \x01(\x08H=\x12*\n tpms_temperature_soft_warning_fl\x18L \x01(\x08H>\x12*\n tpms_temperature_soft_warning_fr\x18M \x01(\x08H?\x12*\n tpms_temperature_soft_warning_rl\x18N \x01(\x08H@\x12*\n tpms_temperature_soft_warning_rr\x18O \x01(\x08HA\x12.\n$tpms_temperature_soft_warning_re1_l0\x18P \x01(\x08HB\x12.\n$tpms_temperature_soft_warning_re1_l1\x18Q \x01(\x08HC\x12.\n$tpms_temperature_soft_warning_re1_r0\x18R \x01(\x08HD\x12.\n$tpms_temperature_soft_warning_re1_r1\x18S \x01(\x08HE\x12.\n$tpms_temperature_soft_warning_re2_l0\x18T \x01(\x08HF\x12.\n$tpms_temperature_soft_warning_re2_l1\x18U \x01(\x08HG\x12.\n$tpms_temperature_soft_warning_re2_r0\x18V \x01(\x08HH\x12.\n$tpms_temperature_soft_warning_re2_r1\x18W \x01(\x08HIB\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_valueB\x1f\n\x1doptional_tpms_pressure_re1_l0B\x1f\n\x1doptional_tpms_pressure_re1_l1B\x1f\n\x1doptional_tpms_pressure_re1_r0B\x1f\n\x1doptional_tpms_pressure_re1_r1B\x1f\n\x1doptional_tpms_pressure_re2_l0B\x1f\n\x1doptional_tpms_pressure_re2_l1B\x1f\n\x1doptional_tpms_pressure_re2_r0B\x1f\n\x1doptional_tpms_pressure_re2_r1B#\n!optional_tpms_hard_warning_re1_l0B#\n!optional_tpms_hard_warning_re1_l1B#\n!optional_tpms_hard_warning_re1_r0B#\n!optional_tpms_hard_warning_re1_r1B#\n!optional_tpms_hard_warning_re2_l0B#\n!optional_tpms_hard_warning_re2_l1B#\n!optional_tpms_hard_warning_re2_r0B#\n!optional_tpms_hard_warning_re2_r1B#\n!optional_tpms_soft_warning_re1_l0B#\n!optional_tpms_soft_warning_re1_l1B#\n!optional_tpms_soft_warning_re1_r0B#\n!optional_tpms_soft_warning_re1_r1B#\n!optional_tpms_soft_warning_re2_l0B#\n!optional_tpms_soft_warning_re2_l1B#\n!optional_tpms_soft_warning_re2_r0B#\n!optional_tpms_soft_warning_re2_r1B\x1e\n\x1coptional_tpms_temperature_flB\x1e\n\x1coptional_tpms_temperature_frB\x1e\n\x1coptional_tpms_temperature_rlB\x1e\n\x1coptional_tpms_temperature_rrB\"\n optional_tpms_temperature_re1_l0B\"\n optional_tpms_temperature_re1_l1B\"\n optional_tpms_temperature_re1_r0B\"\n optional_tpms_temperature_re1_r1B\"\n optional_tpms_temperature_re2_l0B\"\n optional_tpms_temperature_re2_l1B\"\n optional_tpms_temperature_re2_r0B\"\n optional_tpms_temperature_re2_r1B+\n)optional_tpms_temperature_hard_warning_flB+\n)optional_tpms_temperature_hard_warning_frB+\n)optional_tpms_temperature_hard_warning_rlB+\n)optional_tpms_temperature_hard_warning_rrB/\n-optional_tpms_temperature_hard_warning_re1_l0B/\n-optional_tpms_temperature_hard_warning_re1_l1B/\n-optional_tpms_temperature_hard_warning_re1_r0B/\n-optional_tpms_temperature_hard_warning_re1_r1B/\n-optional_tpms_temperature_hard_warning_re2_l0B/\n-optional_tpms_temperature_hard_warning_re2_l1B/\n-optional_tpms_temperature_hard_warning_re2_r0B/\n-optional_tpms_temperature_hard_warning_re2_r1B+\n)optional_tpms_temperature_soft_warning_flB+\n)optional_tpms_temperature_soft_warning_frB+\n)optional_tpms_temperature_soft_warning_rlB+\n)optional_tpms_temperature_soft_warning_rrB/\n-optional_tpms_temperature_soft_warning_re1_l0B/\n-optional_tpms_temperature_soft_warning_re1_l1B/\n-optional_tpms_temperature_soft_warning_re1_r0B/\n-optional_tpms_temperature_soft_warning_re1_r1B/\n-optional_tpms_temperature_soft_warning_re2_l0B/\n-optional_tpms_temperature_soft_warning_re2_l1B/\n-optional_tpms_temperature_soft_warning_re2_r0B/\n-optional_tpms_temperature_soft_warning_re2_r1\"\x81\x05\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\x12G\n\x12now_playing_source\x18\x08 \x01(\x0e\x32).tesla_protocol.CarServer.MediaSourceTypeH\x06\x12N\n\x15media_playback_status\x18\t \x01(\x0e\x32-.tesla_protocol.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\"\xc7\x05\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\x12H\n\x15recent_theater_source\x18\x08 \x01(\x0e\x32\'.tesla_protocol.CarServer.TheaterSourceH\x06\x12&\n\x1crecent_theater_source_string\x18\t \x01(\tH\x07\x12#\n\x19theater_source_is_playing\x18\n \x01(\x08H\x08\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_nameB \n\x1eoptional_recent_theater_sourceB\'\n%optional_recent_theater_source_stringB$\n\"optional_theater_source_is_playing\"\xaa\x02\n\nShiftState\x12\x31\n\x07Invalid\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01P\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01R\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01N\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12+\n\x01\x44\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03SNA\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xda\x02\n\x0eVehicleBadging\x12.\n\x04\x42\x61se\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x46ounder\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tSignature\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bPerformance\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cLaunchSeries\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fSignatureSeries\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xfd\r\n\x07\x43\x61rTrim\x12\x30\n\x06Trim40\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eOBSOLETETrim50\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fOBSOLETETrim50D\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim60\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim60D\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim70\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim70D\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim75\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim75D\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TrimP75D\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim85\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07TrimP85\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bTrimP85Plus\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim85D\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TrimP85D\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim90\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07TrimP90\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bTrimP90Plus\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim90D\x18\x13 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TrimP90D\x18\x14 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim100\x18\x15 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TrimP100\x18\x16 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Trim100D\x18\x17 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tTrimP100D\x18\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim50\x18\x19 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim50D\x18\x1a \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim62\x18\x1b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim62D\x18\x1c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Trim74\x18\x1d \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Trim74D\x18\x1e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TrimP74D\x18\x1f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bTrimDefault\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eTrimCyberbeast\x18\" \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0bTrimInvalid\x18\xff\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xa6\x01\n\x0bSunRoofType\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Gen1\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Gen2\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\x9e\x1f\n\tWheelType\x12\x31\n\x07Unknown\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10ZeroG20Gunpowder\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nPinwheel18\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10Pinwheel18CapKit\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nStiletto19\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nStiletto20\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x41\n\x17Stiletto20DarkStaggered\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12>\n\x14Stiletto20DarkSquare\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eGemini19Square\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11Gemini19Staggered\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10Induction20Black\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12UberTurbine21Black\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x41pollo19\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0e\x41pollo19CapKit\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10ZeroG19Gunpowder\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nCardenio19\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x44\x65\x66\x61ult\x18\x13 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11NewTurbine22Black\x18\x14 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43yberstream\x18\x15 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nArachnid21\x18\x16 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x42\x61se19\x18\x17 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Silver21\x18\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nCharcoal21\x18\x19 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cSilver21Euro\x18\x1a \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x41\x65ro19\x18\x1b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0e\x43harcoal21Euro\x18\x1c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bSuper21Gray\x18\x1d \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rSuper21Silver\x18\x1e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tTurbine19\x18\x1f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rTurbine19Dark\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rAeroTurbine19\x18! \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12\x41\x65roTurbine19Black\x18\" \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Helix20\x18# \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rAeroTurbine20\x18$ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tTurbine22\x18% \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCyclone19Dark\x18& \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11\x41\x65roTurbine20Dark\x18\' \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rTurbine22Dark\x18( \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10\x41rachnid21Silver\x18) \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x41rachnid21Black\x18* \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0e\x41rachnid21Grey\x18+ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12Slipstream20Carbon\x18, \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10Slipstream20Dark\x18- \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12Slipstream19Carbon\x18. \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13TwinTurbine21Silver\x18/ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13TwinTurbine21Carbon\x18\x30 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12>\n\x14Tempest19SonicSilver\x18\x31 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11PinwheelRefresh18\x18\x32 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11StilettoRefresh19\x18\x33 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12@\n\x16UberTurbine20Gunpowder\x18\x34 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Glider18\x18\x35 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Helix19\x18\x36 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13Wishbone20Staggered\x18\x38 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43tBase20\x18\x39 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43tPremium20\x18: \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x43tBase18\x18; \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12@\n\x16\x41pollo19MetallicShadow\x18< \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13Wishbone19Staggered\x18= \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43rossflow19\x18> \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tHelixV220\x18? \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nStandard19\x18@ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Halo22\x18\x41 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tRiptide20\x18\x42 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tCypress21\x18\x43 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bMachinaV219\x18\x44 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0c\x41rachnidV221\x18\x45 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x45\x34\x31\x31\x38\x18\x46 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x44\x35\x30\x31\x38\x18G \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rHelixV220Dark\x18H \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bUberHelix20\x18I \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xab\x01\n\x0bSpoilerType\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07Passive\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x41\x63tive\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xd9\x01\n\tRoofColor\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Glass\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x42lack\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07\x43olored\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xad\x0e\n\rExteriorColor\x12\x31\n\x07Unknown\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cRedMulticoat\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nSolidBlack\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eSilverMetallic\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eMidnightSilver\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x44\x65\x65pBlue\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nPearlWhite\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0c\x44\x65\x66\x61ultColor\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x42lack\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05White\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Silver\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Grey\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04\x42lue\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Green\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x42rown\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Pearl\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06SigRed\x18\x13 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03Red\x18\x14 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tSteelGrey\x18\x15 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rMetallicBlack\x18\x16 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eTitaniumCopper\x18\x17 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rSignatureBlue\x18\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11MidnightCherryRed\x18\x19 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bQuicksilver\x18\x1a \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08UltraRed\x18\x1b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bStealthGrey\x18\x1c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bLunarSilver\x18\x1d \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bGlacierBlue\x18\x1e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0c\x44iamondBlack\x18\x1f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tFrostBlue\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eSilkRoadSilver\x18! \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nMarineBlue\x18\" \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tGarnetRed\x18# \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43oastalBlue\x18$ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\x99\x02\n\x0fRearSeatHeaters\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04\x42\x61se\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tExecutive\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Gentherm\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nBaseModelX\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xab\x01\n\x08SeatType\x12.\n\x04\x42\x61se\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Recaro\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bTeslaMsGen1\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xc6\x04\n\x0cRearSeatType\x12.\n\x04\x42\x61se\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06Recaro\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tExecutive\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07TwoSeat\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x46oldFlat\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11\x46oldFlatMotorized\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eTwoSeatConsole\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10\x46oldFlatTwoMotor\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12>\n\x14\x46oldFlatTwoMotorHall\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13\x46oldFlatHallBuckles\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xf7\x01\n\x10ThirdRowSeatType\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x46uturisFoldFlat\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11\x46uturisNoFoldFlat\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x46latFold\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xd1\x01\n\x0e\x43hargePortType\x12,\n\x02US\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02\x45U\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02GB\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12-\n\x03\x43\x43S\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\x86\x04\n\rRearDriveUnit\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tLargeRear\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tSmallRear\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bPM216MOSFET\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tPM216IGBT\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x43orianderSingle\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCorianderDual\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fPermanentMagnet\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rInductionDual\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xc0\x12\n\x11\x45\x66\x66iciencyPackage\x12\x31\n\x07\x44\x65\x66\x61ult\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cM3SRPlus2020\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08M3LR2020\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12=\n\x13M3LRPerformance2020\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12M3SRPlus2020Q4GFSH\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MY2020\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06M32021\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MY2021\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06SX2020\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02S2\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08SX2020H2\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12M3SRPlus2021Q3GFSH\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12?\n\x15M3SRPlus2021Q3Fremont\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12MYSRPlus2021Q3GFSH\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10MYSRPlus2022Q1TX\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bMYRWDEU2022\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fM3Poppyseed2024\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10M32023GFSHExport\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10MY2023GFSHExport\x18\x13 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MY2024\x18\x14 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MS2024\x18\x16 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MX2024\x18\x17 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bMY2023SRRWD\x18\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07MY2024C\x18\x1b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12?\n\x15MY2024GFSHExportSRRWD\x18\x1c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10M3Poppyseed2024C\x18\x1d \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06M32025\x18\x1e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MY2025\x18\x1f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07M32025B\x18 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07MY2025B\x18! \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MS2025\x18\" \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MX2025\x18# \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10MYRefresh2025ROW\x18$ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eMYStandard2025\x18% \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fMYRefresh2025CN\x18& \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MS2026\x18\' \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06MX2026\x18( \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tMY2025M53\x18) \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x33\n\tM32025M53\x18* \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cMY2025CNPlus\x18+ \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07MS2026B\x18, \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07M32026B\x18- \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08MY2026US\x18. \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"\xba\n\n\x0bGuiSettings\x12K\n\x12gui_distance_units\x18\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.GuiSettings.SpeedUnit\x12T\n\x15gui_temperature_units\x18\x02 \x01(\x0b\x32\x35.tesla_protocol.CarServer.GuiSettings.TemperatureUnit\x12S\n\x15gui_charge_rate_units\x18\x03 \x01(\x0b\x32\x34.tesla_protocol.CarServer.GuiSettings.ChargeRateUnit\x12M\n\x11gui_range_display\x18\x05 \x01(\x0b\x32\x32.tesla_protocol.CarServer.GuiSettings.RangeDisplay\x12-\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x10gui_24_hour_time\x18h \x01(\x08H\x00\x12\x1a\n\x10show_range_units\x18j \x01(\x08H\x01\x12X\n\x16gui_tirepressure_units\x18l \x01(\x0e\x32\x36.tesla_protocol.CarServer.GuiSettings.TirePressureUnitH\x02\x1a\x88\x01\n\tSpeedUnit\x12;\n\x11KilometersPerHour\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cMilesPerHour\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x89\x01\n\x0fTemperatureUnit\x12\x36\n\x0cTemperatureF\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cTemperatureC\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xee\x01\n\x0e\x43hargeRateUnit\x12\x31\n\x07Invalid\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11KilometersPerHour\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cMilesPerHour\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12,\n\x02KW\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1ax\n\x0cRangeDisplay\x12/\n\x05Ideal\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Rated\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"D\n\x10TirePressureUnit\x12\x17\n\x13TirePressureUnitPsi\x10\x00\x12\x17\n\x13TirePressureUnitBar\x10\x01\x42\x1b\n\x19optional_gui_24_hour_timeB\x1b\n\x19optional_show_range_unitsB!\n\x1foptional_gui_tirepressure_units\"\x93V\n\rVehicleConfig\x12\x42\n\x10\x63\x61r_special_type\x18\x01 \x01(\x0b\x32(.tesla_protocol.CarServer.VehicleBadging\x12\x33\n\x08\x63\x61r_trim\x18\x02 \x01(\x0b\x32!.tesla_protocol.CarServer.CarTrim\x12\x41\n\x08\x63\x61r_type\x18\x07 \x01(\x0b\x32/.tesla_protocol.CarServer.VehicleConfig.CarType\x12\x41\n\x12sun_roof_installed\x18\x08 \x01(\x0b\x32%.tesla_protocol.CarServer.SunRoofType\x12\x37\n\nwheel_type\x18\t \x01(\x0b\x32#.tesla_protocol.CarServer.WheelType\x12;\n\x0cspoiler_type\x18\x0b \x01(\x0b\x32%.tesla_protocol.CarServer.SpoilerType\x12\x37\n\nroof_color\x18\x0c \x01(\x0b\x32#.tesla_protocol.CarServer.RoofColor\x12?\n\x0e\x65xterior_color\x18\r \x01(\x0b\x32\'.tesla_protocol.CarServer.ExteriorColor\x12\x44\n\x11rear_seat_heaters\x18\x10 \x01(\x0b\x32).tesla_protocol.CarServer.RearSeatHeaters\x12\x35\n\tseat_type\x18\x11 \x01(\x0b\x32\".tesla_protocol.CarServer.SeatType\x12>\n\x0erear_seat_type\x18\x12 \x01(\x0b\x32&.tesla_protocol.CarServer.RearSeatType\x12G\n\x13third_row_seat_type\x18\x13 \x01(\x0b\x32*.tesla_protocol.CarServer.ThirdRowSeatType\x12\x42\n\x10\x63harge_port_type\x18\x17 \x01(\x0b\x32(.tesla_protocol.CarServer.ChargePortType\x12-\n\ttimestamp\x18\x1b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12T\n\x12interior_trim_type\x18\x1c \x01(\x0b\x32\x38.tesla_protocol.CarServer.VehicleConfig.InteriorTrimType\x12K\n\rdriver_assist\x18\x1d \x01(\x0b\x32\x34.tesla_protocol.CarServer.VehicleConfig.DriverAssist\x12W\n\x13performance_package\x18\x1e \x01(\x0b\x32:.tesla_protocol.CarServer.VehicleConfig.PerformancePackage\x12P\n\x10\x66ront_drive_unit\x18\x1f \x01(\x0b\x32\x36.tesla_protocol.CarServer.VehicleConfig.FrontDriveUnit\x12@\n\x0frear_drive_unit\x18 \x01(\x0b\x32\'.tesla_protocol.CarServer.RearDriveUnit\x12G\n\x12\x65\x66\x66iciency_package\x18! \x01(\x0b\x32+.tesla_protocol.CarServer.EfficiencyPackage\x12T\n\x12\x65xterior_trim_type\x18# \x01(\x0b\x32\x38.tesla_protocol.CarServer.VehicleConfig.ExteriorTrimType\x12V\n\x13steering_wheel_type\x18( \x01(\x0b\x32\x39.tesla_protocol.CarServer.VehicleConfig.SteeringWheelType\x12\x1c\n\x12red_brake_calipers\x18= \x01(\x08H\x00\x12\x1b\n\x11use_range_badging\x18g \x01(\x08H\x01\x12\x1c\n\x12range_plus_badging\x18h \x01(\x08H\x02\x12\x1c\n\x12has_ludicrous_mode\x18i \x01(\x08H\x03\x12\x1c\n\x12\x63\x61n_actuate_trunks\x18j \x01(\x08H\x04\x12\x1c\n\x12has_air_suspension\x18n \x01(\x08H\x05\x12\r\n\x03rhd\x18r \x01(\x08H\x06\x12\r\n\x03plg\x18s \x01(\x08H\x07\x12\x1a\n\x10\x65\x63\x65_restrictions\x18x \x01(\x08H\x08\x12\x14\n\neu_vehicle\x18y \x01(\x08H\t\x12\x1f\n\x15motorized_charge_port\x18z \x01(\x08H\n\x12(\n\x1e\x63\x61n_accept_navigation_requests\x18| \x01(\x08H\x0b\x12\x15\n\x0bkey_version\x18} \x01(\rH\x0c\x12\x18\n\x0emobile_enabled\x18~ \x01(\x08H\r\x12 \n\x15\x64\x65\x66\x61ult_charge_to_max\x18\x86\x01 \x01(\x08H\x0e\x12*\n\x1fsteering_wheel_heater_installed\x18\x88\x01 \x01(\x08H\x0f\x12 \n\x15sentry_mode_supported\x18\x89\x01 \x01(\x08H\x10\x12\x1d\n\x12homelink_supported\x18\x8a\x01 \x01(\x08H\x11\x12\x1b\n\x10webcam_supported\x18\x8b\x01 \x01(\x08H\x12\x12#\n\x18\x62ioweapon_mode_supported\x18\x8d\x01 \x01(\x08H\x13\x12&\n\x1b\x64\x61shcam_clip_save_supported\x18\x8e\x01 \x01(\x08H\x14\x12\x12\n\x07has_pws\x18\x8f\x01 \x01(\x08H\x15\x12\x15\n\nutc_offset\x18\x90\x01 \x01(\x11H\x16\x12\x1b\n\x10has_seat_cooling\x18\x91\x01 \x01(\x08H\x17\x12\x1f\n\x14paint_color_override\x18\x92\x01 \x01(\tH\x18\x12#\n\x18tpms_pressures_supported\x18\x93\x01 \x01(\x08H\x19\x12\x1a\n\x0fvehicle_badging\x18\x94\x01 \x01(\rH\x1a\x12!\n\x16\x65xterior_trim_override\x18\x95\x01 \x01(\tH\x1b\x12P\n\rheadlamp_type\x18\x96\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.HeadlampType_EH\x1c\x12Q\n\x0e\x61ux_park_lamps\x18\x9a\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.AuxParkLamps_EH\x1d\x12\x13\n\x08is_raven\x18\x9b\x01 \x01(\x08H\x1e\x12 \n\x15has_auto_seat_climate\x18\x9c\x01 \x01(\x08H\x1f\x12%\n\x1ahas_front_row_seat_heaters\x18\x9d\x01 \x01(\x08H \x12%\n\x1ahas_third_row_seat_heaters\x18\x9e\x01 \x01(\x08H!\x12\x1e\n\x13supports_qr_pairing\x18\x9f\x01 \x01(\x08H\"\x12\x0e\n\x03vin\x18\xa0\x01 \x01(\tH#\x12$\n\x19\x64isable_window_vent_close\x18\xa1\x01 \x01(\x08H$\x12\"\n\x17webcam_selfie_supported\x18\xa2\x01 \x01(\x08H%\x12&\n\x1b\x63op_user_set_temp_supported\x18\xa3\x01 \x01(\x08H&\x12\x1c\n\x11has_auto_stw_heat\x18\xa4\x01 \x01(\x08H\'\x12P\n\x0erearlight_type\x18\xa5\x01 \x01(\x0e\x32\x35.tesla_protocol.CarServer.VehicleConfig.RearLightTypeH(\x12N\n\x15rear_seat_heater_type\x18\xa6\x01 \x01(\x0e\x32,.tesla_protocol.CarServer.RearSeatHeaterTypeH)\x12 \n\x15webcam_grid_supported\x18\xa7\x01 \x01(\x08H*\x12\x1a\n\x0fhas_tesla_badge\x18\xa8\x01 \x01(\x08H+\x12\x1d\n\x12has_tesla_wordmark\x18\xa9\x01 \x01(\x08H,\x12<\n\x0b\x66\x61scia_type\x18\xaa\x01 \x01(\x0e\x32$.tesla_protocol.CarServer.FasciaTypeH-\x12S\n\x17\x61\x63\x63\x65ssory_lightbar_type\x18\xab\x01 \x01(\x0e\x32/.tesla_protocol.CarServer.AccessoryLightbarTypeH.\x12#\n\x18sentry_preview_supported\x18\xac\x01 \x01(\x08H/\x12O\n\x0eseat_trim_type\x18\xad\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.VehicleConfig.SeatTrimTypeH0\x12R\n\x0f\x64rivetrain_type\x18\xae\x01 \x01(\x0e\x32\x36.tesla_protocol.CarServer.VehicleConfig.DrivetrainTypeH1\x12\x1e\n\x13lightshow_supported\x18\xaf\x01 \x01(\x08H2\x12(\n\x1dmobile_dashcam_viewer_version\x18\xb0\x01 \x01(\rH3\x12#\n\x18has_premium_connectivity\x18\xb1\x01 \x01(\x08H4\x12\x1b\n\x10\x63\x61r_wrap_enabled\x18\xb2\x01 \x01(\x08H5\x12\x1f\n\x14supports_ride_height\x18\xb3\x01 \x01(\x08H6\x12&\n\x1bsupports_set_arrival_energy\x18\xb4\x01 \x01(\x08H7\x12*\n\x1fsupports_pillar_camera_metadata\x18\xb5\x01 \x01(\x08H8\x12>\n\x0c\x63hassis_type\x18\xb6\x01 \x01(\x0e\x32%.tesla_protocol.CarServer.ChassisTypeH9\x12\x1b\n\x10is_china_vehicle\x18\xb7\x01 \x01(\x08H:\x12 \n\x15is_using_unreal_apviz\x18\xb8\x01 \x01(\x08H;\x12,\n!supports_flexible_dashcam_bitrate\x18\xb9\x01 \x01(\x08H<\x12\x62\n\x18\x66ront_fascia_camera_type\x18\xba\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.VehicleConfig.FrontFasciaCameraTypeH=\x12h\n\x1bturn_indicator_control_type\x18\xbb\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.VehicleConfig.TurnIndicatorControlTypeH>\x12\x1b\n\x10has_rear_display\x18\xbc\x01 \x01(\x08H?\x12\x1c\n\x11window_tint_color\x18\xbd\x01 \x01(\tH@\x12\x62\n\x18interior_upper_trim_type\x18\xbe\x01 \x01(\x0e\x32=.tesla_protocol.CarServer.VehicleConfig.InteriorUpperTrimTypeHA\x12]\n\x15\x62\x61\x64ging_material_type\x18\xbf\x01 \x01(\x0e\x32;.tesla_protocol.CarServer.VehicleConfig.BadgingMaterialTypeHB\x12\x1f\n\x14webcam_interior_only\x18\xc0\x01 \x01(\x08HC\x12\x17\n\x0c\x63ountry_code\x18\xc1\x01 \x01(\tHD\x12U\n\x11\x62\x65\x64_lighting_type\x18\xc2\x01 \x01(\x0e\x32\x37.tesla_protocol.CarServer.VehicleConfig.BedLightingTypeHE\x12h\n\x1brear_light_hardware_variant\x18\xc3\x01 \x01(\x0e\x32@.tesla_protocol.CarServer.VehicleConfig.RearLightHardwareVariantHF\x12@\n\x0e\x61utopilot_base\x18\xc4\x01 \x01(\x0e\x32\'.tesla_protocol.CarServer.AutopilotBase\x12S\n\x18\x61utopilot_override_state\x18\xc5\x01 \x01(\x0e\x32\x30.tesla_protocol.CarServer.AutopilotOverrideState\x12)\n\x1e\x61utopilot_override_expire_time\x18\xc6\x01 \x01(\x03HG\x12(\n\x1dsupports_dynamic_environments\x18\xc7\x01 \x01(\x08HH\x12\x18\n\rwheel_caps_on\x18\xc8\x01 \x01(\x08HI\x1a\xda\x04\n\x07\x43\x61rType\x12\x37\n\rCarTypeModelS\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCarTypeModelX\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0e\x43\x61rTypeModelS2\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCarTypeModel3\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCarTypeModelY\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12:\n\x10\x43\x61rTypeSemiTruck\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rCarTypeLychee\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0f\x43\x61rTypeTamarind\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12;\n\x11\x43\x61rTypeCybertruck\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12<\n\x12\x43\x61rTypeSemiTruckV2\x18\x0b \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xa0\x02\n\x0c\x44riverAssist\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x31\n\x07MonoCam\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cParkerPascal\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eParkerPascal25\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08TeslaAP3\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xe8\x01\n\x12PerformancePackage\x12/\n\x05None_\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04\x42\x61se\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bPerformance\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x42\x61sePlus\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\x8a\x01\n\x0e\x46rontDriveUnit\x12\x35\n\x0bNoneOrSmall\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x39\n\x0fPermanentMagnet\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xe3\x01\n\x11SteeringWheelType\x12\x31\n\x07Unknown\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05Round\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12.\n\x04Yoke\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08Squircle\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xc0\x06\n\x10InteriorTrimType\x12\x31\n\x07UNKNOWN\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x42LACK\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05WHITE\x18\x05 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rBLACKCONSOLE2\x18\x06 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rWHITECONSOLE2\x18\x07 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x32\n\x08\x41LLBLACK\x18\x08 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rBLACKANDWHITE\x18\t \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12/\n\x05\x43REAM\x18\n \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bWALNUTCREAM\x18\x0c \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0bWALNUTWHITE\x18\r \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nEBONYBLACK\x18\x0e \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONCREAM\x18\x0f \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONWHITE\x18\x10 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x35\n\x0b\x43\x41RBONBLACK\x18\x11 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x36\n\x0cTACTICALGREY\x18\x12 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xbd\x01\n\x10\x45xteriorTrimType\x12\x31\n\x07UNKNOWN\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x38\n\x0eSTANDARDCHROME\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nSATINBLACK\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\"m\n\x0e\x41uxParkLamps_E\x12\x16\n\x12\x41uxParkLampsNaBase\x10\x00\x12\x19\n\x15\x41uxParkLampsNaPremium\x10\x01\x12\x12\n\x0e\x41uxParkLampsEu\x10\x02\x12\x14\n\x10\x41uxParkLampsNone\x10\x03\"]\n\x13\x42\x61\x64gingMaterialType\x12#\n\x1f\x42\x61\x64gingMaterialTypeChromeSilver\x10\x00\x12!\n\x1d\x42\x61\x64gingMaterialTypeBlackMatte\x10\x01\"F\n\x0f\x42\x65\x64LightingType\x12\x17\n\x13\x42\x65\x64LightingTypeBase\x10\x00\x12\x1a\n\x16\x42\x65\x64LightingTypePremium\x10\x01\"]\n\x0e\x44rivetrainType\x12\x15\n\x11\x44rivetrainTypeRWD\x10\x00\x12\x15\n\x11\x44rivetrainTypeAWD\x10\x01\x12\x1d\n\x19\x44rivetrainTypeAWDTriMotor\x10\x02\"x\n\x15\x46rontFasciaCameraType\x12\x1d\n\x19\x46rontFasciaCameraTypeNone\x10\x00\x12\x1f\n\x1b\x46rontFasciaCameraTypeIMX963\x10\x01\x12\x1f\n\x1b\x46rontFasciaCameraTypeIMX00N\x10\x02\"\x9a\x01\n\x0eHeadlampType_E\x12\x17\n\x13HeadlampTypePremium\x10\x00\x12\x16\n\x12HeadlampTypeGlobal\x10\x01\x12\x17\n\x13HeadlampTypeHalogen\x10\x02\x12\x13\n\x0fHeadlampTypeHid\x10\x03\x12\x13\n\x0fHeadlampTypeLed\x10\x04\x12\x14\n\x10HeadlampTypeBase\x10\x05\"b\n\x15InteriorUpperTrimType\x12\"\n\x1eInteriorUpperTrimTypePolarGrey\x10\x00\x12%\n!InteriorUpperTrimTypeMammothBlack\x10\x01\"\xaf\x01\n\x18RearLightHardwareVariant\x12#\n\x1fRearLightHardwareVariantUnknown\x10\x00\x12 \n\x1cRearLightHardwareVariantBase\x10\x01\x12%\n!RearLightHardwareVariantPremiumV1\x10\x02\x12%\n!RearLightHardwareVariantPremiumV2\x10\x03\"T\n\rRearLightType\x12\x13\n\x0fRearLightTypeNA\x10\x00\x12\x15\n\x11RearLightTypeEuCn\x10\x01\x12\x17\n\x13RearLightTypeGlobal\x10\x02\"X\n\x0cSeatTrimType\x12\x14\n\x10SeatTrimTypeBase\x10\x00\x12\x15\n\x11SeatTrimTypeSport\x10\x01\x12\x1b\n\x17SeatTrimTypeBaseTextile\x10\x02\"\x95\x01\n\x18TurnIndicatorControlType\x12#\n\x1fTurnIndicatorControlTypeUnknown\x10\x00\x12-\n)TurnIndicatorControlTypeSingleDetentStalk\x10\x01\x12%\n!TurnIndicatorControlTypeSWSButton\x10\x02\x42\x1d\n\x1boptional_red_brake_calipersB\x1c\n\x1aoptional_use_range_badgingB\x1d\n\x1boptional_range_plus_badgingB\x1d\n\x1boptional_has_ludicrous_modeB\x1d\n\x1boptional_can_actuate_trunksB\x1d\n\x1boptional_has_air_suspensionB\x0e\n\x0coptional_rhdB\x0e\n\x0coptional_plgB\x1b\n\x19optional_ece_restrictionsB\x15\n\x13optional_eu_vehicleB \n\x1eoptional_motorized_charge_portB)\n\'optional_can_accept_navigation_requestsB\x16\n\x14optional_key_versionB\x19\n\x17optional_mobile_enabledB \n\x1eoptional_default_charge_to_maxB*\n(optional_steering_wheel_heater_installedB \n\x1eoptional_sentry_mode_supportedB\x1d\n\x1boptional_homelink_supportedB\x1b\n\x19optional_webcam_supportedB#\n!optional_bioweapon_mode_supportedB&\n$optional_dashcam_clip_save_supportedB\x12\n\x10optional_has_pwsB\x15\n\x13optional_utc_offsetB\x1b\n\x19optional_has_seat_coolingB\x1f\n\x1doptional_paint_color_overrideB#\n!optional_tpms_pressures_supportedB\x1a\n\x18optional_vehicle_badgingB!\n\x1foptional_exterior_trim_overrideB\x18\n\x16optional_headlamp_typeB\x19\n\x17optional_aux_park_lampsB\x13\n\x11optional_is_ravenB \n\x1eoptional_has_auto_seat_climateB%\n#optional_has_front_row_seat_heatersB%\n#optional_has_third_row_seat_heatersB\x1e\n\x1coptional_supports_qr_pairingB\x0e\n\x0coptional_vinB$\n\"optional_disable_window_vent_closeB\"\n optional_webcam_selfie_supportedB&\n$optional_cop_user_set_temp_supportedB\x1c\n\x1aoptional_has_auto_stw_heatB\x19\n\x17optional_rearlight_typeB \n\x1eoptional_rear_seat_heater_typeB \n\x1eoptional_webcam_grid_supportedB\x1a\n\x18optional_has_tesla_badgeB\x1d\n\x1boptional_has_tesla_wordmarkB\x16\n\x14optional_fascia_typeB\"\n optional_accessory_lightbar_typeB#\n!optional_sentry_preview_supportedB\x19\n\x17optional_seat_trim_typeB\x1a\n\x18optional_drivetrain_typeB\x1e\n\x1coptional_lightshow_supportedB(\n&optional_mobile_dashcam_viewer_versionB#\n!optional_has_premium_connectivityB\x1b\n\x19optional_car_wrap_enabledB\x1f\n\x1doptional_supports_ride_heightB&\n$optional_supports_set_arrival_energyB*\n(optional_supports_pillar_camera_metadataB\x17\n\x15optional_chassis_typeB\x1b\n\x19optional_is_china_vehicleB \n\x1eoptional_is_using_unreal_apvizB,\n*optional_supports_flexible_dashcam_bitrateB#\n!optional_front_fascia_camera_typeB&\n$optional_turn_indicator_control_typeB\x1b\n\x19optional_has_rear_displayB\x1c\n\x1aoptional_window_tint_colorB#\n!optional_interior_upper_trim_typeB \n\x1eoptional_badging_material_typeB\x1f\n\x1doptional_webcam_interior_onlyB\x17\n\x15optional_country_codeB\x1c\n\x1aoptional_bed_lighting_typeB&\n$optional_rear_light_hardware_variantB)\n\'optional_autopilot_override_expire_timeB(\n&optional_supports_dynamic_environmentsB\x18\n\x16optional_wheel_caps_on\"\xf9\t\n\x14ParkedAccessoryState\x12\x1b\n\x11tent_mode_request\x18\x01 \x01(\x08H\x00\x12 \n\x16horizon_leveling_state\x18\x02 \x01(\x08H\x01\x12N\n\x18\x66ront_zone_light_request\x18\x03 \x01(\x0e\x32*.tesla_protocol.CarServer.ZoneLightRequestH\x02\x12M\n\x17rear_zone_light_request\x18\x04 \x01(\x0e\x32*.tesla_protocol.CarServer.ZoneLightRequestH\x03\x12%\n\x1btruck_bed_lights_brightness\x18\x05 \x01(\rH\x04\x12*\n truck_bed_lights_auto_brightness\x18\x06 \x01(\rH\x05\x12%\n\x1btruck_bed_lights_auto_state\x18\x07 \x01(\x08H\x06\x12,\n\"truck_bed_lights_controls_disabled\x18\x08 \x01(\x08H\x07\x12&\n\x1c\x61\x63\x63\x65ssory_lightbar_middle_on\x18\t \x01(\x08H\x08\x12%\n\x1b\x61\x63\x63\x65ssory_lightbar_ditch_on\x18\n \x01(\x08H\t\x12\'\n\x1d\x61\x63\x63\x65ssory_lightbar_brightness\x18\x0b \x01(\rH\n\x12 \n\x16\x61\x63\x63\x65ssory_lightbar_low\x18\x0c \x01(\rH\x0b\x12 \n\x16\x61\x63\x63\x65ssory_lightbar_med\x18\r \x01(\rH\x0c\x12!\n\x17\x61\x63\x63\x65ssory_lightbar_high\x18\x0e \x01(\rH\r\x12\x17\n\rhas_tent_mode\x18\x0f \x01(\x08H\x0e\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x1c\n\x1aoptional_tent_mode_requestB!\n\x1foptional_horizon_leveling_stateB#\n!optional_front_zone_light_requestB\"\n optional_rear_zone_light_requestB&\n$optional_truck_bed_lights_brightnessB+\n)optional_truck_bed_lights_auto_brightnessB&\n$optional_truck_bed_lights_auto_stateB-\n+optional_truck_bed_lights_controls_disabledB\'\n%optional_accessory_lightbar_middle_onB&\n$optional_accessory_lightbar_ditch_onB(\n&optional_accessory_lightbar_brightnessB!\n\x1foptional_accessory_lightbar_lowB!\n\x1foptional_accessory_lightbar_medB\"\n optional_accessory_lightbar_highB\x18\n\x16optional_has_tent_mode\"\xc5\n\n\x08SohState\x12G\n\x0esoh_test_state\x18\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SohState.SohTestState\x12L\n\x11soh_test_end_mode\x18\x02 \x01(\x0b\x32\x31.tesla_protocol.CarServer.SohState.SohTestEndMode\x12@\n\nsoh_result\x18\x03 \x01(\x0b\x32,.tesla_protocol.CarServer.SohState.SohResult\x12-\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xec\x01\n\x0cSohTestPhase\x12\x33\n\tDischarge\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x37\n\rDischargeRest\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x43harge\x18\x03 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x34\n\nChargeRest\x18\x04 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a~\n\x0eSohTestEndMode\x12\x32\n\x08\x43omplete\x18\x01 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x12\x30\n\x06\x46\x61iled\x18\x02 \x01(\x0b\x32\x1e.tesla_protocol.CarServer.VoidH\x00\x42\x06\n\x04type\x1a\xcf\x01\n\x0cSohTestState\x12G\n\x0esoh_test_phase\x18\x01 \x01(\x0b\x32/.tesla_protocol.CarServer.SohState.SohTestPhase\x12\x1b\n\x11soh_time_estimate\x18\x02 \x01(\x02H\x00\x12\x1c\n\x12soh_time_remaining\x18\x03 \x01(\x02H\x01\x42\x1c\n\x1aoptional_soh_time_estimateB\x1d\n\x1boptional_soh_time_remaining\x1a\x93\x03\n\tSohResult\x12\r\n\x03soh\x18\x03 \x01(\x02H\x00\x12\x18\n\x0esoh_calibrated\x18\x04 \x01(\x08H\x01\x12\x1c\n\x12soh_last_test_time\x18\x05 \x01(\rH\x02\x12U\n\x11soh_health_result\x18\x06 \x01(\x0e\x32\x38.tesla_protocol.CarServer.SohState.WarrantyServiceResultH\x03\x12%\n\x1bsoh_distance_since_soh_test\x18\x07 \x01(\rH\x04\x12\x17\n\rsoh_regulated\x18\x08 \x01(\x08H\x05\x42\x0e\n\x0coptional_sohB\x19\n\x17optional_soh_calibratedB\x1d\n\x1boptional_soh_last_test_timeB\x1c\n\x1aoptional_soh_health_resultB&\n$optional_soh_distance_since_soh_testB\x18\n\x16optional_soh_regulated\"Z\n\x15WarrantyServiceResult\x12\n\n\x06SOH_OK\x10\x00\x12\x0f\n\x0bSOH_REDUCED\x10\x01\x12\x13\n\x0fSOH_NO_INTERNET\x10\x02\x12\x0f\n\x0bSOH_UNKNOWN\x10\x03\"~\n\nAlertState\x12@\n\x0f\x63harging_alerts\x18\x01 \x03(\x0b\x32\'.tesla_protocol.CarServer.ChargingAlert\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"G\n\x0fLightShowOption\x12\x17\n\x0flight_show_name\x18\x01 \x01(\t\x12\x1b\n\x13light_show_duration\x18\x02 \x01(\t\"\xdb\x01\n\x11LightShowSettings\x12\x1d\n\x15light_show_volume_min\x18\x01 \x01(\x02\x12\x1d\n\x15light_show_volume_max\x18\x02 \x01(\x02\x12\x1e\n\x16light_show_volume_step\x18\x03 \x01(\x02\x12\x45\n\x12light_show_options\x18\x04 \x03(\x0b\x32).tesla_protocol.CarServer.LightShowOption\x12!\n\x19light_show_schedule_times\x18\x05 \x03(\x04\"\xd0\x02\n\x0eLightShowState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x11light_show_active\x18\x02 \x01(\x08H\x00\x12\"\n\x18light_show_selected_name\x18\x03 \x01(\tH\x01\x12\x1f\n\x15light_show_start_time\x18\x04 \x01(\x04H\x02\x12H\n\x13light_show_settings\x18\x05 \x01(\x0b\x32+.tesla_protocol.CarServer.LightShowSettingsB\x1c\n\x1aoptional_light_show_activeB#\n!optional_light_show_selected_nameB \n\x1eoptional_light_show_start_time\"a\n\x10VehicleImageData\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x17\n\x0f\x64\x61ta_chunk_size\x18\x03 \x01(\r\x12\x14\n\x0cstart_offset\x18\x04 \x01(\r\"\xd7\x01\n\x0cVehicleImage\x12\x10\n\x08image_id\x18\x01 \x01(\x0c\x12>\n\nasset_data\x18\x02 \x01(\x0b\x32*.tesla_protocol.CarServer.VehicleImageData\x12\x43\n\nimage_type\x18\x03 \x01(\x0e\x32/.tesla_protocol.CarServer.VehicleImageStateType\x12\x16\n\x0eis_local_image\x18\x04 \x01(\x08\x12\x18\n\x10total_image_size\x18\x05 \x01(\r\"\x82\x01\n\x11VehicleImageState\x12>\n\x0evehicle_images\x18\x01 \x03(\x0b\x32&.tesla_protocol.CarServer.VehicleImage\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd3\x04\n\x0fSuspensionState\x12\x44\n\x0e\x61llowed_levels\x18\x01 \x03(\x0b\x32,.tesla_protocol.CarServer.SuspensionLevelObj\x12\x42\n\rcurrent_level\x18\x02 \x01(\x0e\x32).tesla_protocol.CarServer.SuspensionLevelH\x00\x12\x41\n\x0ctarget_level\x18\x03 \x01(\x0e\x32).tesla_protocol.CarServer.SuspensionLevelH\x01\x12L\n\x0emovement_state\x18\x04 \x01(\x0e\x32\x32.tesla_protocol.CarServer.SuspensionActuationStateH\x02\x12\x14\n\noffroad_on\x18\x05 \x01(\x08H\x03\x12\x19\n\x0f\x64isabled_reason\x18\x06 \x01(\tH\x04\x12\x43\n\rlevel_options\x18\x07 \x03(\x0b\x32,.tesla_protocol.CarServer.SuspensionLevelObj\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x18\n\x16optional_current_levelB\x17\n\x15optional_target_levelB\x19\n\x17optional_movement_stateB\x15\n\x13optional_offroad_onB\x1a\n\x18optional_disabled_reason\"\xb0\x02\n\x1b\x43hildPresenceDetectionState\x12+\n!cpd_disable_notification_required\x18\x01 \x01(\x08H\x00\x12\x19\n\x0f\x63pd_hvac_active\x18\x02 \x01(\x08H\x01\x12&\n\x1c\x63pd_supports_critical_alerts\x18\x03 \x01(\x08H\x02\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB,\n*optional_cpd_disable_notification_requiredB\x1a\n\x18optional_cpd_hvac_activeB\'\n%optional_cpd_supports_critical_alerts\"\x87\x01\n\x0c\x44isplayState\x12\x1d\n\x15\x64isplayBrightnessAuto\x18\x01 \x01(\x08\x12(\n displayBrightnessScalePreference\x18\x02 \x01(\r\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xab\x04\n\x12VehicleDetailState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\x0cvehicle_name\x18\x02 \x01(\tH\x00\x12\x15\n\x0b\x63\x61r_version\x18\x03 \x01(\tH\x01\x12\x1a\n\x10\x64\x65tailed_version\x18\x04 \x01(\tH\x02\x12\x18\n\x0e\x61utopilot_hash\x18\x05 \x01(\tH\x03\x12\x1e\n\x14\x66sd_software_version\x18\x06 \x01(\tH\x04\x12\x1e\n\x14\x63urrent_profile_name\x18\x07 \x01(\tH\x05\x12*\n china_autopilot_software_version\x18\x08 \x01(\tH\x06\x12\x1d\n\x13is_fsd_v14_or_above\x18\t \x01(\x08H\x07\x42\x17\n\x15optional_vehicle_nameB\x16\n\x14optional_car_versionB\x1b\n\x19optional_detailed_versionB\x19\n\x17optional_autopilot_hashB\x1f\n\x1doptional_fsd_software_versionB\x1f\n\x1doptional_current_profile_nameB+\n)optional_china_autopilot_software_versionB\x1e\n\x1coptional_is_fsd_v14_or_above\"\xe1\x02\n\x19KeepOnAccessoryPortsState\x12^\n\x1ekeep_on_cabin_12v_port_request\x18\x01 \x01(\x0e\x32\x34.tesla_protocol.CarServer.KeepOnAccessoryPortRequestH\x00\x12^\n\x1ekeep_on_cabin_48v_port_request\x18\x02 \x01(\x0e\x32\x34.tesla_protocol.CarServer.KeepOnAccessoryPortRequestH\x01\x12.\n\ttimestamp\x18\xd0\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB)\n\'optional_keep_on_cabin_12v_port_requestB)\n\'optional_keep_on_cabin_48v_port_request*\x97\x01\n\rAutopilotBase\x12\x16\n\x12\x41utopilotBase_NONE\x10\x00\x12\x19\n\x15\x41utopilotBase_HIGHWAY\x10\x01\x12\x1a\n\x16\x41utopilotBase_ENHANCED\x10\x02\x12\x1e\n\x1a\x41utopilotBase_SELF_DRIVING\x10\x03\x12\x17\n\x13\x41utopilotBase_BASIC\x10\x04*\x87\x03\n\x16\x41utopilotOverrideState\x12\x1f\n\x1b\x41utopilotOverrideState_BASE\x10\x00\x12\'\n#AutopilotOverrideState_SUBSCRIPTION\x10\x01\x12 \n\x1c\x41utopilotOverrideState_TRIAL\x10\x02\x12\x31\n-AutopilotOverrideState_TIMEBOUND_SUBSCRIPTION\x10\x03\x12*\n&AutopilotOverrideState_TIMEBOUND_TRIAL\x10\x04\x12&\n\"AutopilotOverrideState_OPTION_CODE\x10\x05\x12*\n&AutopilotOverrideState_OPTION_OVERRIDE\x10\x06\x12*\n&AutopilotOverrideState_VEHICLE_MANAGED\x10\x07\x12\"\n\x1e\x41utopilotOverrideState_UNKNOWN\x10\x08*\xe5\x01\n\x0c\x44\x61shCamState\x12\x1c\n\x18\x44\x61shCamState_UNAVAILABLE\x10\x00\x12\x1a\n\x16\x44\x61shCamState_AVAILABLE\x10\x01\x12\x1a\n\x16\x44\x61shCamState_RECORDING\x10\x02\x12\x16\n\x12\x44\x61shCamState_SAVED\x10\x03\x12\x1a\n\x16\x44\x61shCamState_STREAMING\x10\x04\x12\x19\n\x15\x44\x61shCamState_NO_SPACE\x10\x05\x12\x17\n\x13\x44\x61shCamState_SAVING\x10\x06\x12\x17\n\x13\x44\x61shCamState_PAUSED\x10\x07*\xde\x03\n\rTheaterSource\x12\x16\n\x12TheaterSource_None\x10\x00\x12\x19\n\x15TheaterSource_YouTube\x10\x01\x12 \n\x1cTheaterSource_TeslaTutorials\x10\x02\x12\x19\n\x15TheaterSource_Netflix\x10\x03\x12\x18\n\x14TheaterSource_Twitch\x10\x04\x12\x18\n\x14TheaterSource_TikTok\x10\x05\x12\x16\n\x12TheaterSource_Hulu\x10\x07\x12\x1a\n\x16TheaterSource_BiliBili\x10\n\x12\x18\n\x14TheaterSource_Disney\x10\r\x12\x18\n\x14TheaterSource_Douyin\x10\x0e\x12\x1d\n\x19TheaterSource_MontyPython\x10\x13\x12\x19\n\x15TheaterSource_Tencent\x10\x1c\x12\x17\n\x13TheaterSource_Youku\x10 \x12\x17\n\x13TheaterSource_iQiyi\x10!\x12\x1e\n\x1aTheaterSource_ThunderStone\x10\"\x12\x19\n\x15TheaterSource_MangoTV\x10#\x12\x1a\n\x16TheaterSource_Kuaishou\x10$*\x83\n\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\x1e\n\x1aMediaSourceType_AppleMusic\x10\x1b\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#\x12!\n\x1dMediaSourceType_ApplePodcasts\x10$\x12\x1b\n\x17MediaSourceType_Audible\x10%\x12\x1f\n\x1bMediaSourceType_AmazonMusic\x10&\x12 \n\x1cMediaSourceType_YouTubeMusic\x10\'\x12\x1f\n\x1bMediaSourceType_SiriusXmWeb\x10(\x12\x1b\n\x17MediaSourceType_Yunting\x10)\x12\x1d\n\x19MediaSourceType_TuneInWeb\x10*\x12\x19\n\x15MediaSourceType_Kugou\x10+\x12\x1a\n\x16MediaSourceType_Vohico\x10,*S\n\x15VehicleImageStateType\x12\x11\n\rAPVIZ_INVALID\x10\x00\x12\x0e\n\nAPVIZ_WRAP\x10\x01\x12\x17\n\x13\x41PVIZ_LICENSE_PLATE\x10\x02*c\n\x1aKeepOnAccessoryPortRequest\x12\"\n\x1eKeepOnAccessoryPortRequest_Off\x10\x00\x12!\n\x1dKeepOnAccessoryPortRequest_On\x10\x01*\xa0\x1c\n\x10MobileAppFeature\x12\x1d\n\x19MOBILE_APP_FEATURE_ACTIVE\x10\x00\x12%\n!MOBILE_APP_FEATURE_CLIMATE_KEEPER\x10\x01\x12)\n%MOBILE_APP_FEATURE_UNLOCK_STOP_CHARGE\x10\x02\x12&\n\"MOBILE_APP_FEATURE_SET_RATE_TARIFF\x10\x03\x12&\n\"MOBILE_APP_FEATURE_GET_RATE_TARIFF\x10\x04\x12 \n\x1cMOBILE_APP_FEATURE_DRIVENOTE\x10\x05\x12.\n*MOBILE_APP_FEATURE_CLIMATE_KEEPER_OVERRIDE\x10\x06\x12+\n\'MOBILE_APP_FEATURE_SIGNED_VIDEO_REQUEST\x10\x07\x12.\n*MOBILE_APP_FEATURE_SENTRY_CAM_FLASH_LIGHTS\x10\x08\x12\x1e\n\x1aMOBILE_APP_FEATURE_BOOMBOX\x10\t\x12#\n\x1fMOBILE_APP_FEATURE_DOOR_UNLATCH\x10\n\x12-\n)MOBILE_APP_FEATURE_SEAT_HEATERS_INSTALLED\x10\x0b\x12%\n!MOBILE_APP_FEATURE_LAST_SEEN_TPMS\x10\x0c\x12%\n!MOBILE_APP_FEATURE_UI_CHARGE_PORT\x10\r\x12/\n+MOBILE_APP_FEATURE_MONITOR_AND_CHARGE_ROLES\x10\x0e\x12#\n\x1fMOBILE_APP_FEATURE_PROTO_FLOATS\x10\x0f\x12(\n$MOBILE_APP_FEATURE_BLUETOOTH_PAIRING\x10\x10\x12*\n&MOBILE_APP_FEATURE_HMAC_AUTHENTICATION\x10\x11\x12 \n\x1cMOBILE_APP_COP_USER_SET_TEMP\x10\x12\x12$\n MOBILE_APP_FEATURE_MEDIA_DETAILS\x10\x13\x12%\n!MOBILE_APP_FEATURE_RESPONSE_CACHE\x10\x14\x12\x1a\n\x16MOBILE_APP_FEATURE_SCC\x10\x16\x12/\n+MOBILE_APP_FEATURE_SENTRY_CAM_WITH_DOG_MODE\x10\x17\x12/\n+MOBILE_APP_FEATURE_AUTO_STEERING_WHEEL_HEAT\x10\x18\x12\'\n#MOBILE_APP_FEATURE_MANAGED_CHARGING\x10\x19\x12G\nCMOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND_DECPRECATED\x10\x1a\x12;\n7MOBILE_APP_FEATURE_TOGGLE_REMOTE_SERVICE_ACCESS_COMMAND\x10\x1b\x12,\n(MOBILE_APP_FEATURE_SEND_NAVIGATION_ROUTE\x10\x1c\x12,\n(MOBILE_APP_FEATURE_RED_BRAKE_CALIPER_FIX\x10\x1d\x12#\n\x1fMOBILE_APP_FEATURE_PIN_TO_DRIVE\x10\x1e\x12%\n!MOBILE_APP_COP_NOT_RUNNING_REASON\x10\x1f\x12\'\n#MOBILE_APP_FEATURE_SET_VEHICLE_NAME\x10 \x12*\n&MOBILE_APP_FEATURE_VEHICLE_DATA_PII_V2\x10!\x12!\n\x1dMOBILE_APP_FEATURE_BOOMBOX_V2\x10\"\x12\x34\n0MOBILE_APP_FEATURE_UWB_STABLE_FOR_SUPPORTED_CARS\x10#\x12;\n7MOBILE_APP_FEATURE_SPEED_LIMIT_PIN_RESET_SIGNED_COMMAND\x10$\x12+\n\'MOBILE_APP_FEATURE_PRECISE_LOCATION_TAG\x10%\x12+\n\'MOBILE_APP_FEATURE_IMU_ALERT_IS_VISIBLE\x10&\x12&\n\"MOBILE_APP_FEATURE_CT_SUPPORTS_COP\x10*\x12*\n&MOBILE_APP_FEATURE_WAYPOINTS_SUPPORTED\x10+\x12 \n\x1cMOBILE_APP_FEATURE_OCTA_VIEW\x10,\x12$\n MOBILE_APP_FEATURE_BT_GTW_UNLOCK\x10-\x12@\n\n:MOBILE_APP_FEATURE_SEND_NAVIGATION_REQUEST_GPS_DESTINATION\x10:\x12$\n MOBILE_APP_FEATURE_SUMMON_WEBCAM\x10;\x12\'\n#MOBILE_APP_FEATURE_BLE_REMOTE_START\x10=\x12(\n$MOBILE_APP_FEATURE_SOH_TEST_OBSOLETE\x10>\x12\x36\n2MOBILE_APP_FEATURE_SET_ARRIVAL_PERCENTAGE_OBSOLETE\x10@\x12-\n)MOBILE_APP_FEATURE_REMOTE_THEATER_CONTROL\x10\x42\x12$\n MOBILE_APP_FEATURE_CT_SUSPENSION\x10\x43\x12\"\n\x1eMOBILE_APP_FEATURE_SOH_TEST_V2\x10\x44\x12*\n&MOBILE_APP_FEATURE_ANDROID_UWB_ENABLED\x10\x45\x12%\n!MOBILE_APP_FEATURE_LOW_POWER_MODE\x10\x46\x12#\n\x1fMOBILE_APP_FEATURE_ROBOTAXI_UWB\x10G\x12\x30\n,MOBILE_APP_FEATURE_KEEP_ACCESSORY_POWER_MODE\x10H\x12+\n\'MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS\x10I\x12\x39\n5MOBILE_APP_FEATURE_SETUP_CLOUD_ACCOUNTS_WITH_DELETION\x10M\x12\x34\n0MOBILE_APP_FEATURE_FETCH_KEY_METADATA_DEPRECATED\x10N\x12)\n%MOBILE_APP_FEATURE_FETCH_KEY_METADATA\x10O\x12)\n%MOBILE_APP_FEATURE_TRAILER_LIGHT_TEST\x10P\x12:\n6MOBILE_APP_FEATURE_DELETE_DASHCAM_CLIPS_AND_FORMAT_USB\x10Q\x12\x35\n1MOBILE_APP_FEATURE_SOFTWARE_UPDATE_AUTO_SCHEDULED\x10R\x12*\n&MOBILE_APP_FEATURE_BLE_MESSAGE_FRAMING\x10S\x12<\n8MOBILE_APP_FEATURE_WAYPOINTS_REQUEST_ACCEPTS_COORDINATES\x10T\x12\x35\n1MOBILE_APP_FEATURE_PHONE_SETTING_PREFERENCES_SYNC\x10U\x12&\n\"MOBILE_APP_FEATURE_UPLOAD_CAR_WRAP\x10Z\x12#\n\x1fMOBILE_APP_FEATURE_SHARE_URLS_X\x10[\x12)\n%MOBILE_APP_FEATURE_DISPLAY_BRIGHTNESS\x10]\x12*\n&MOBILE_APP_FEATURE_ANDROID_BLE_BONDING\x10_\x12\'\n#MOBILE_APP_FEATURE_APVIZ_WHEEL_CAPS\x10\x61\x42x\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,214 +36,264 @@ if not _descriptor._USE_C_DESCRIPTORS: _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['_AUTOPILOTBASE']._serialized_start=60460 - _globals['_AUTOPILOTBASE']._serialized_end=60611 - _globals['_AUTOPILOTOVERRIDESTATE']._serialized_start=60614 - _globals['_AUTOPILOTOVERRIDESTATE']._serialized_end=61005 - _globals['_DASHCAMSTATE']._serialized_start=61008 - _globals['_DASHCAMSTATE']._serialized_end=61237 - _globals['_THEATERSOURCE']._serialized_start=61240 - _globals['_THEATERSOURCE']._serialized_end=61718 - _globals['_MEDIASOURCETYPE']._serialized_start=61721 - _globals['_MEDIASOURCETYPE']._serialized_end=63004 - _globals['_VEHICLEIMAGESTATETYPE']._serialized_start=63006 - _globals['_VEHICLEIMAGESTATETYPE']._serialized_end=63089 - _globals['_MOBILEAPPFEATURE']._serialized_start=63092 - _globals['_MOBILEAPPFEATURE']._serialized_end=66708 + _globals['_AUTOPILOTBASE']._serialized_start=79756 + _globals['_AUTOPILOTBASE']._serialized_end=79907 + _globals['_AUTOPILOTOVERRIDESTATE']._serialized_start=79910 + _globals['_AUTOPILOTOVERRIDESTATE']._serialized_end=80301 + _globals['_DASHCAMSTATE']._serialized_start=80304 + _globals['_DASHCAMSTATE']._serialized_end=80533 + _globals['_THEATERSOURCE']._serialized_start=80536 + _globals['_THEATERSOURCE']._serialized_end=81014 + _globals['_MEDIASOURCETYPE']._serialized_start=81017 + _globals['_MEDIASOURCETYPE']._serialized_end=82300 + _globals['_VEHICLEIMAGESTATETYPE']._serialized_start=82302 + _globals['_VEHICLEIMAGESTATETYPE']._serialized_end=82385 + _globals['_KEEPONACCESSORYPORTREQUEST']._serialized_start=82387 + _globals['_KEEPONACCESSORYPORTREQUEST']._serialized_end=82486 + _globals['_MOBILEAPPFEATURE']._serialized_start=82489 + _globals['_MOBILEAPPFEATURE']._serialized_end=86105 _globals['_VEHICLEDATA']._serialized_start=220 - _globals['_VEHICLEDATA']._serialized_end=2250 - _globals['_CLOSURESSTATE']._serialized_start=2253 - _globals['_CLOSURESSTATE']._serialized_end=5433 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start=3473 - _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end=3797 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start=3800 - _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end=4320 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start=4323 - _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end=4639 - _globals['_CHARGESCHEDULESTATE']._serialized_start=5436 - _globals['_CHARGESCHEDULESTATE']._serialized_end=5940 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start=5943 - _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end=6372 - _globals['_SPEEDLIMITMODE']._serialized_start=6375 - _globals['_SPEEDLIMITMODE']._serialized_end=6638 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_start=6641 - _globals['_PARENTALCONTROLSSETTINGS']._serialized_end=7385 - _globals['_PARENTALCONTROLSSTATE']._serialized_start=7388 - _globals['_PARENTALCONTROLSSTATE']._serialized_end=7694 - _globals['_SOFTWAREUPDATESTATE']._serialized_start=7697 - _globals['_SOFTWAREUPDATESTATE']._serialized_end=8604 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start=8045 - _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end=8404 - _globals['_DRIVESTATE']._serialized_start=8607 - _globals['_DRIVESTATE']._serialized_end=10427 - _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_start=9642 - _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_end=9721 - _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_start=9723 - _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_end=9792 - _globals['_CHARGESTATE']._serialized_start=10430 - _globals['_CHARGESTATE']._serialized_end=20177 - _globals['_CHARGESTATE_CABLETYPE']._serialized_start=14505 - _globals['_CHARGESTATE_CABLETYPE']._serialized_end=14763 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start=14766 - _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end=15252 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start=15255 - _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end=15698 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start=15700 - _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end=15818 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start=15820 - _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end=15942 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start=15945 - _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end=16267 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start=16270 - _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end=16513 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start=16515 - _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end=16598 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start=16600 - _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end=16695 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start=16698 - _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end=16906 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start=16909 - _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end=17050 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start=17053 - _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end=17404 - _globals['_MANAGEDCHARGINGSTATE']._serialized_start=20180 - _globals['_MANAGEDCHARGINGSTATE']._serialized_end=20498 - _globals['_CHARGEONSOLARSTATE']._serialized_start=20501 - _globals['_CHARGEONSOLARSTATE']._serialized_end=21236 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start=21238 - _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end=21268 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start=21270 - _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end=21386 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start=21388 - _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end=21429 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start=21431 - _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end=21469 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start=21471 - _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end=21503 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start=21505 - _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end=21541 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_start=21543 - _globals['_CHARGEONSOLARSTATEERROR']._serialized_end=21568 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start=21570 - _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end=21601 - _globals['_LOCATIONSTATE']._serialized_start=21604 - _globals['_LOCATIONSTATE']._serialized_end=23342 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start=22469 - _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end=22590 - _globals['_VEHICLESTATE']._serialized_start=23345 - _globals['_VEHICLESTATE']._serialized_end=28356 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_start=26144 - _globals['_VEHICLESTATE_GUESTMODE']._serialized_end=26180 - _globals['_CURRENTVEHICLESTATE']._serialized_start=28359 - _globals['_CURRENTVEHICLESTATE']._serialized_end=32699 - _globals['_DASHCAMUTILS']._serialized_start=32702 - _globals['_DASHCAMUTILS']._serialized_end=32866 - _globals['_AUTOPARKSTYLE']._serialized_start=32868 - _globals['_AUTOPARKSTYLE']._serialized_end=32895 - _globals['_AUTOPARKVERSION']._serialized_start=32897 - _globals['_AUTOPARKVERSION']._serialized_end=32932 - _globals['_AUTOPARKSTATE']._serialized_start=32934 - _globals['_AUTOPARKSTATE']._serialized_end=32955 - _globals['_SPOILERSTATE']._serialized_start=32957 - _globals['_SPOILERSTATE']._serialized_end=32995 - _globals['_LEGACYMEDIASTATE']._serialized_start=32997 - _globals['_LEGACYMEDIASTATE']._serialized_end=33084 - _globals['_LEGACYMEDIAINFO']._serialized_start=33087 - _globals['_LEGACYMEDIAINFO']._serialized_end=33564 - _globals['_CLIMATESTATE']._serialized_start=33567 - _globals['_CLIMATESTATE']._serialized_end=38859 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start=35713 - _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end=35980 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start=35983 - _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end=36148 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start=36150 - _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end=36219 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start=36221 - _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end=36347 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start=36349 - _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end=36465 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start=36467 - _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end=36588 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start=36591 - _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end=36726 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start=36729 - _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end=37015 - _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_start=37018 - _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_end=37237 - _globals['_TIREPRESSURESTATE']._serialized_start=38862 - _globals['_TIREPRESSURESTATE']._serialized_end=45436 - _globals['_MEDIASTATE']._serialized_start=45439 - _globals['_MEDIASTATE']._serialized_end=46080 - _globals['_MEDIADETAILSTATE']._serialized_start=46083 - _globals['_MEDIADETAILSTATE']._serialized_end=46794 - _globals['_SHIFTSTATE']._serialized_start=46797 - _globals['_SHIFTSTATE']._serialized_end=47095 - _globals['_GUISETTINGS']._serialized_start=47098 - _globals['_GUISETTINGS']._serialized_end=47467 - _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_start=47306 - _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_end=47374 - _globals['_VEHICLECONFIG']._serialized_start=47470 - _globals['_VEHICLECONFIG']._serialized_end=55305 - _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_start=50948 - _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_end=51582 - _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_start=51585 - _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_end=51723 - _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_start=51725 - _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_end=51834 - _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_start=51836 - _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_end=51929 - _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_start=51931 - _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_end=52001 - _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_start=52003 - _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_end=52096 - _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_start=52098 - _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_end=52218 - _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_start=52221 - _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_end=52375 - _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_start=52377 - _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_end=52475 - _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_start=52478 - _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_end=52653 - _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_start=52655 - _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_end=52739 - _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_start=52741 - _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_end=52829 - _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_start=52832 - _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_end=52981 - _globals['_PARKEDACCESSORYSTATE']._serialized_start=55308 - _globals['_PARKEDACCESSORYSTATE']._serialized_end=56581 - _globals['_SOHSTATE']._serialized_start=56584 - _globals['_SOHSTATE']._serialized_end=57644 - _globals['_SOHSTATE_SOHTESTPHASE']._serialized_start=56860 - _globals['_SOHSTATE_SOHTESTPHASE']._serialized_end=56898 - _globals['_SOHSTATE_SOHTESTENDMODE']._serialized_start=56900 - _globals['_SOHSTATE_SOHTESTENDMODE']._serialized_end=56928 - _globals['_SOHSTATE_SOHTESTSTATE']._serialized_start=56931 - _globals['_SOHSTATE_SOHTESTSTATE']._serialized_end=57138 - _globals['_SOHSTATE_SOHRESULT']._serialized_start=57141 - _globals['_SOHSTATE_SOHRESULT']._serialized_end=57552 - _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_start=57554 - _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_end=57644 - _globals['_ALERTSTATE']._serialized_start=57646 - _globals['_ALERTSTATE']._serialized_end=57772 - _globals['_LIGHTSHOWOPTION']._serialized_start=57774 - _globals['_LIGHTSHOWOPTION']._serialized_end=57845 - _globals['_LIGHTSHOWSETTINGS']._serialized_start=57848 - _globals['_LIGHTSHOWSETTINGS']._serialized_end=58067 - _globals['_LIGHTSHOWSTATE']._serialized_start=58070 - _globals['_LIGHTSHOWSTATE']._serialized_end=58406 - _globals['_VEHICLEIMAGEDATA']._serialized_start=58408 - _globals['_VEHICLEIMAGEDATA']._serialized_end=58505 - _globals['_VEHICLEIMAGE']._serialized_start=58508 - _globals['_VEHICLEIMAGE']._serialized_end=58723 - _globals['_VEHICLEIMAGESTATE']._serialized_start=58726 - _globals['_VEHICLEIMAGESTATE']._serialized_end=58856 - _globals['_SUSPENSIONSTATE']._serialized_start=58859 - _globals['_SUSPENSIONSTATE']._serialized_end=59454 - _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_start=59457 - _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_end=59761 - _globals['_DISPLAYSTATE']._serialized_start=59764 - _globals['_DISPLAYSTATE']._serialized_end=59899 - _globals['_VEHICLEDETAILSTATE']._serialized_start=59902 - _globals['_VEHICLEDETAILSTATE']._serialized_end=60457 + _globals['_VEHICLEDATA']._serialized_end=2342 + _globals['_CLOSURESSTATE']._serialized_start=2345 + _globals['_CLOSURESSTATE']._serialized_end=5525 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_start=3565 + _globals['_CLOSURESSTATE_SUNROOFSTATE']._serialized_end=3889 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_start=3892 + _globals['_CLOSURESSTATE_DISPLAYSTATE']._serialized_end=4412 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_start=4415 + _globals['_CLOSURESSTATE_SENTRYMODESTATE']._serialized_end=4731 + _globals['_CHARGESCHEDULESTATE']._serialized_start=5528 + _globals['_CHARGESCHEDULESTATE']._serialized_end=6032 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_start=6035 + _globals['_PRECONDITIONINGSCHEDULESTATE']._serialized_end=6464 + _globals['_SPEEDLIMITMODE']._serialized_start=6467 + _globals['_SPEEDLIMITMODE']._serialized_end=6730 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_start=6733 + _globals['_PARENTALCONTROLSSETTINGS']._serialized_end=7477 + _globals['_PARENTALCONTROLSSTATE']._serialized_start=7480 + _globals['_PARENTALCONTROLSSTATE']._serialized_end=7786 + _globals['_SOFTWAREUPDATESTATE']._serialized_start=7789 + _globals['_SOFTWAREUPDATESTATE']._serialized_end=8696 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_start=8137 + _globals['_SOFTWAREUPDATESTATE_SOFTWAREUPDATESTATUS']._serialized_end=8496 + _globals['_DRIVESTATE']._serialized_start=8699 + _globals['_DRIVESTATE']._serialized_end=10519 + _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_start=9734 + _globals['_DRIVESTATE_FSDMONTHLYMILEAGE']._serialized_end=9813 + _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_start=9815 + _globals['_DRIVESTATE_FSDLAST7DAYSUSAGE']._serialized_end=9884 + _globals['_CHARGESTATE']._serialized_start=10522 + _globals['_CHARGESTATE']._serialized_end=20269 + _globals['_CHARGESTATE_CABLETYPE']._serialized_start=14597 + _globals['_CHARGESTATE_CABLETYPE']._serialized_end=14855 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_start=14858 + _globals['_CHARGESTATE_CHARGERTYPE']._serialized_end=15344 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_start=15347 + _globals['_CHARGESTATE_CHARGINGSTATE']._serialized_end=15790 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_start=15792 + _globals['_CHARGESTATE_CHARGERBRAND']._serialized_end=15910 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_start=15912 + _globals['_CHARGESTATE_SCHEDULEDCHARGINGMODE']._serialized_end=16034 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_start=16037 + _globals['_CHARGESTATE_CHARGEPORTCOLOR_E']._serialized_end=16359 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_start=16362 + _globals['_CHARGESTATE_CHARGELIMITREASON']._serialized_end=16605 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_start=16607 + _globals['_CHARGESTATE_OUTLETSTATE']._serialized_end=16690 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_start=16692 + _globals['_CHARGESTATE_POWERFEEDSTATE']._serialized_end=16787 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_start=16790 + _globals['_CHARGESTATE_POWERSHARESTATUS']._serialized_end=16998 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_start=17001 + _globals['_CHARGESTATE_POWERSHARETYPE']._serialized_end=17142 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_start=17145 + _globals['_CHARGESTATE_POWERSHARESTOPREASON']._serialized_end=17496 + _globals['_MANAGEDCHARGINGSTATE']._serialized_start=20272 + _globals['_MANAGEDCHARGINGSTATE']._serialized_end=20590 + _globals['_CHARGEONSOLARSTATE']._serialized_start=20593 + _globals['_CHARGEONSOLARSTATE']._serialized_end=21328 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_start=21330 + _globals['_CHARGEONSOLARSTATENOTALLOWED']._serialized_end=21360 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_start=21362 + _globals['_CHARGEONSOLARSTATENOCHARGERECOMMENDED']._serialized_end=21478 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_start=21480 + _globals['_CHARGEONSOLARSTATECHARGINGONEXCESSSOLAR']._serialized_end=21521 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_start=21523 + _globals['_CHARGEONSOLARSTATECHARGINGONANYTHING']._serialized_end=21561 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_start=21563 + _globals['_CHARGEONSOLARSTATEUSERDISABLED']._serialized_end=21595 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_start=21597 + _globals['_CHARGEONSOLARSTATEWAITINGFORSERVER']._serialized_end=21633 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_start=21635 + _globals['_CHARGEONSOLARSTATEERROR']._serialized_end=21660 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_start=21662 + _globals['_CHARGEONSOLARSTATEUSERSTOPPED']._serialized_end=21693 + _globals['_LOCATIONSTATE']._serialized_start=21696 + _globals['_LOCATIONSTATE']._serialized_end=23434 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_start=22561 + _globals['_LOCATIONSTATE_GPSCOORDINATETYPE']._serialized_end=22682 + _globals['_VEHICLESTATE']._serialized_start=23437 + _globals['_VEHICLESTATE']._serialized_end=28717 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_start=26505 + _globals['_VEHICLESTATE_GUESTMODE']._serialized_end=26541 + _globals['_CURRENTVEHICLESTATE']._serialized_start=28720 + _globals['_CURRENTVEHICLESTATE']._serialized_end=33176 + _globals['_DASHCAMUTILS']._serialized_start=33179 + _globals['_DASHCAMUTILS']._serialized_end=33343 + _globals['_AUTOPARKSTYLE']._serialized_start=33345 + _globals['_AUTOPARKSTYLE']._serialized_end=33471 + _globals['_AUTOPARKVERSION']._serialized_start=33474 + _globals['_AUTOPARKVERSION']._serialized_end=33655 + _globals['_AUTOPARKSTATE']._serialized_start=33658 + _globals['_AUTOPARKSTATE']._serialized_end=34313 + _globals['_SPOILERSTATE']._serialized_start=34316 + _globals['_SPOILERSTATE']._serialized_end=34543 + _globals['_LEGACYMEDIASTATE']._serialized_start=34545 + _globals['_LEGACYMEDIASTATE']._serialized_end=34632 + _globals['_LEGACYMEDIAINFO']._serialized_start=34635 + _globals['_LEGACYMEDIAINFO']._serialized_end=35112 + _globals['_CLIMATESTATE']._serialized_start=35115 + _globals['_CLIMATESTATE']._serialized_end=40407 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_start=37261 + _globals['_CLIMATESTATE_CLIMATEKEEPERMODE']._serialized_end=37528 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_start=37531 + _globals['_CLIMATESTATE_DEFROSTMODE']._serialized_end=37696 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_start=37698 + _globals['_CLIMATESTATE_HVACAUTOREQUEST']._serialized_end=37767 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_start=37769 + _globals['_CLIMATESTATE_CABINOVERHEATPROTECTION_E']._serialized_end=37895 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_start=37897 + _globals['_CLIMATESTATE_SEATHEATERLEVEL_E']._serialized_end=38013 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_start=38015 + _globals['_CLIMATESTATE_SEATCOOLINGLEVEL_E']._serialized_end=38136 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_start=38139 + _globals['_CLIMATESTATE_COPACTIVATIONTEMP']._serialized_end=38274 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_start=38277 + _globals['_CLIMATESTATE_COPNOTRUNNINGREASON']._serialized_end=38563 + _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_start=38566 + _globals['_CLIMATESTATE_DOGMODESTATE']._serialized_end=38785 + _globals['_TIREPRESSURESTATE']._serialized_start=40410 + _globals['_TIREPRESSURESTATE']._serialized_end=46984 + _globals['_MEDIASTATE']._serialized_start=46987 + _globals['_MEDIASTATE']._serialized_end=47628 + _globals['_MEDIADETAILSTATE']._serialized_start=47631 + _globals['_MEDIADETAILSTATE']._serialized_end=48342 + _globals['_SHIFTSTATE']._serialized_start=48345 + _globals['_SHIFTSTATE']._serialized_end=48643 + _globals['_VEHICLEBADGING']._serialized_start=48646 + _globals['_VEHICLEBADGING']._serialized_end=48992 + _globals['_CARTRIM']._serialized_start=48995 + _globals['_CARTRIM']._serialized_end=50784 + _globals['_SUNROOFTYPE']._serialized_start=50787 + _globals['_SUNROOFTYPE']._serialized_end=50953 + _globals['_WHEELTYPE']._serialized_start=50956 + _globals['_WHEELTYPE']._serialized_end=54954 + _globals['_SPOILERTYPE']._serialized_start=54957 + _globals['_SPOILERTYPE']._serialized_end=55128 + _globals['_ROOFCOLOR']._serialized_start=55131 + _globals['_ROOFCOLOR']._serialized_end=55348 + _globals['_EXTERIORCOLOR']._serialized_start=55351 + _globals['_EXTERIORCOLOR']._serialized_end=57188 + _globals['_REARSEATHEATERS']._serialized_start=57191 + _globals['_REARSEATHEATERS']._serialized_end=57472 + _globals['_SEATTYPE']._serialized_start=57475 + _globals['_SEATTYPE']._serialized_end=57646 + _globals['_REARSEATTYPE']._serialized_start=57649 + _globals['_REARSEATTYPE']._serialized_end=58231 + _globals['_THIRDROWSEATTYPE']._serialized_start=58234 + _globals['_THIRDROWSEATTYPE']._serialized_end=58481 + _globals['_CHARGEPORTTYPE']._serialized_start=58484 + _globals['_CHARGEPORTTYPE']._serialized_end=58693 + _globals['_REARDRIVEUNIT']._serialized_start=58696 + _globals['_REARDRIVEUNIT']._serialized_end=59214 + _globals['_EFFICIENCYPACKAGE']._serialized_start=59217 + _globals['_EFFICIENCYPACKAGE']._serialized_end=61585 + _globals['_GUISETTINGS']._serialized_start=61588 + _globals['_GUISETTINGS']._serialized_end=62926 + _globals['_GUISETTINGS_SPEEDUNIT']._serialized_start=62124 + _globals['_GUISETTINGS_SPEEDUNIT']._serialized_end=62260 + _globals['_GUISETTINGS_TEMPERATUREUNIT']._serialized_start=62263 + _globals['_GUISETTINGS_TEMPERATUREUNIT']._serialized_end=62400 + _globals['_GUISETTINGS_CHARGERATEUNIT']._serialized_start=62403 + _globals['_GUISETTINGS_CHARGERATEUNIT']._serialized_end=62641 + _globals['_GUISETTINGS_RANGEDISPLAY']._serialized_start=62643 + _globals['_GUISETTINGS_RANGEDISPLAY']._serialized_end=62763 + _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_start=62765 + _globals['_GUISETTINGS_TIREPRESSUREUNIT']._serialized_end=62833 + _globals['_VEHICLECONFIG']._serialized_start=62929 + _globals['_VEHICLECONFIG']._serialized_end=73956 + _globals['_VEHICLECONFIG_CARTYPE']._serialized_start=67800 + _globals['_VEHICLECONFIG_CARTYPE']._serialized_end=68402 + _globals['_VEHICLECONFIG_DRIVERASSIST']._serialized_start=68405 + _globals['_VEHICLECONFIG_DRIVERASSIST']._serialized_end=68693 + _globals['_VEHICLECONFIG_PERFORMANCEPACKAGE']._serialized_start=68696 + _globals['_VEHICLECONFIG_PERFORMANCEPACKAGE']._serialized_end=68928 + _globals['_VEHICLECONFIG_FRONTDRIVEUNIT']._serialized_start=68931 + _globals['_VEHICLECONFIG_FRONTDRIVEUNIT']._serialized_end=69069 + _globals['_VEHICLECONFIG_STEERINGWHEELTYPE']._serialized_start=69072 + _globals['_VEHICLECONFIG_STEERINGWHEELTYPE']._serialized_end=69299 + _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_start=69302 + _globals['_VEHICLECONFIG_INTERIORTRIMTYPE']._serialized_end=70134 + _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_start=70137 + _globals['_VEHICLECONFIG_EXTERIORTRIMTYPE']._serialized_end=70326 + _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_start=70328 + _globals['_VEHICLECONFIG_AUXPARKLAMPS_E']._serialized_end=70437 + _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_start=70439 + _globals['_VEHICLECONFIG_BADGINGMATERIALTYPE']._serialized_end=70532 + _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_start=70534 + _globals['_VEHICLECONFIG_BEDLIGHTINGTYPE']._serialized_end=70604 + _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_start=70606 + _globals['_VEHICLECONFIG_DRIVETRAINTYPE']._serialized_end=70699 + _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_start=70701 + _globals['_VEHICLECONFIG_FRONTFASCIACAMERATYPE']._serialized_end=70821 + _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_start=70824 + _globals['_VEHICLECONFIG_HEADLAMPTYPE_E']._serialized_end=70978 + _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_start=70980 + _globals['_VEHICLECONFIG_INTERIORUPPERTRIMTYPE']._serialized_end=71078 + _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_start=71081 + _globals['_VEHICLECONFIG_REARLIGHTHARDWAREVARIANT']._serialized_end=71256 + _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_start=71258 + _globals['_VEHICLECONFIG_REARLIGHTTYPE']._serialized_end=71342 + _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_start=71344 + _globals['_VEHICLECONFIG_SEATTRIMTYPE']._serialized_end=71432 + _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_start=71435 + _globals['_VEHICLECONFIG_TURNINDICATORCONTROLTYPE']._serialized_end=71584 + _globals['_PARKEDACCESSORYSTATE']._serialized_start=73959 + _globals['_PARKEDACCESSORYSTATE']._serialized_end=75232 + _globals['_SOHSTATE']._serialized_start=75235 + _globals['_SOHSTATE']._serialized_end=76584 + _globals['_SOHSTATE_SOHTESTPHASE']._serialized_start=75512 + _globals['_SOHSTATE_SOHTESTPHASE']._serialized_end=75748 + _globals['_SOHSTATE_SOHTESTENDMODE']._serialized_start=75750 + _globals['_SOHSTATE_SOHTESTENDMODE']._serialized_end=75876 + _globals['_SOHSTATE_SOHTESTSTATE']._serialized_start=75879 + _globals['_SOHSTATE_SOHTESTSTATE']._serialized_end=76086 + _globals['_SOHSTATE_SOHRESULT']._serialized_start=76089 + _globals['_SOHSTATE_SOHRESULT']._serialized_end=76492 + _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_start=76494 + _globals['_SOHSTATE_WARRANTYSERVICERESULT']._serialized_end=76584 + _globals['_ALERTSTATE']._serialized_start=76586 + _globals['_ALERTSTATE']._serialized_end=76712 + _globals['_LIGHTSHOWOPTION']._serialized_start=76714 + _globals['_LIGHTSHOWOPTION']._serialized_end=76785 + _globals['_LIGHTSHOWSETTINGS']._serialized_start=76788 + _globals['_LIGHTSHOWSETTINGS']._serialized_end=77007 + _globals['_LIGHTSHOWSTATE']._serialized_start=77010 + _globals['_LIGHTSHOWSTATE']._serialized_end=77346 + _globals['_VEHICLEIMAGEDATA']._serialized_start=77348 + _globals['_VEHICLEIMAGEDATA']._serialized_end=77445 + _globals['_VEHICLEIMAGE']._serialized_start=77448 + _globals['_VEHICLEIMAGE']._serialized_end=77663 + _globals['_VEHICLEIMAGESTATE']._serialized_start=77666 + _globals['_VEHICLEIMAGESTATE']._serialized_end=77796 + _globals['_SUSPENSIONSTATE']._serialized_start=77799 + _globals['_SUSPENSIONSTATE']._serialized_end=78394 + _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_start=78397 + _globals['_CHILDPRESENCEDETECTIONSTATE']._serialized_end=78701 + _globals['_DISPLAYSTATE']._serialized_start=78704 + _globals['_DISPLAYSTATE']._serialized_end=78839 + _globals['_VEHICLEDETAILSTATE']._serialized_start=78842 + _globals['_VEHICLEDETAILSTATE']._serialized_end=79397 + _globals['_KEEPONACCESSORYPORTSSTATE']._serialized_start=79400 + _globals['_KEEPONACCESSORYPORTSSTATE']._serialized_end=79753 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/command/vehicle_pb2.pyi b/packages/python/tesla_protocol/command/vehicle_pb2.pyi index 4438336..6df8fbd 100644 --- a/packages/python/tesla_protocol/command/vehicle_pb2.pyi +++ b/packages/python/tesla_protocol/command/vehicle_pb2.pyi @@ -116,6 +116,11 @@ class VehicleImageStateType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): APVIZ_WRAP: _ClassVar[VehicleImageStateType] APVIZ_LICENSE_PLATE: _ClassVar[VehicleImageStateType] +class KeepOnAccessoryPortRequest(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + KeepOnAccessoryPortRequest_Off: _ClassVar[KeepOnAccessoryPortRequest] + KeepOnAccessoryPortRequest_On: _ClassVar[KeepOnAccessoryPortRequest] + class MobileAppFeature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () MOBILE_APP_FEATURE_ACTIVE: _ClassVar[MobileAppFeature] @@ -283,6 +288,8 @@ MediaSourceType_Vohico: MediaSourceType APVIZ_INVALID: VehicleImageStateType APVIZ_WRAP: VehicleImageStateType APVIZ_LICENSE_PLATE: VehicleImageStateType +KeepOnAccessoryPortRequest_Off: KeepOnAccessoryPortRequest +KeepOnAccessoryPortRequest_On: KeepOnAccessoryPortRequest MOBILE_APP_FEATURE_ACTIVE: MobileAppFeature MOBILE_APP_FEATURE_CLIMATE_KEEPER: MobileAppFeature MOBILE_APP_FEATURE_UNLOCK_STOP_CHARGE: MobileAppFeature @@ -365,7 +372,7 @@ MOBILE_APP_FEATURE_ANDROID_BLE_BONDING: MobileAppFeature MOBILE_APP_FEATURE_APVIZ_WHEEL_CAPS: MobileAppFeature class VehicleData(_message.Message): - __slots__ = ("gui_settings", "charge_state", "climate_state", "drive_state", "legacy_vehicle_state", "vehicle_config", "location_state", "closures_state", "proto_json_version", "encrypted_data", "upload_reason", "parked_accessory_state", "charge_schedule_state", "preconditioning_schedule_state", "soh_state", "vehicle_state", "tire_pressure_state", "media_state", "media_detail_state", "vehicle_detail_state", "software_update_state", "parental_controls_state", "alert_state", "light_show_state", "vehicle_image_state", "suspension_state", "child_presence_detection_state", "display_state", "pii_key_responses", "wrapped_key", "supports_optional_fields") + __slots__ = ("gui_settings", "charge_state", "climate_state", "drive_state", "legacy_vehicle_state", "vehicle_config", "location_state", "closures_state", "proto_json_version", "encrypted_data", "upload_reason", "parked_accessory_state", "charge_schedule_state", "preconditioning_schedule_state", "soh_state", "vehicle_state", "tire_pressure_state", "media_state", "media_detail_state", "vehicle_detail_state", "software_update_state", "parental_controls_state", "alert_state", "light_show_state", "vehicle_image_state", "suspension_state", "child_presence_detection_state", "display_state", "keep_on_accessory_ports_state", "pii_key_responses", "wrapped_key", "supports_optional_fields") GUI_SETTINGS_FIELD_NUMBER: _ClassVar[int] CHARGE_STATE_FIELD_NUMBER: _ClassVar[int] CLIMATE_STATE_FIELD_NUMBER: _ClassVar[int] @@ -394,6 +401,7 @@ class VehicleData(_message.Message): SUSPENSION_STATE_FIELD_NUMBER: _ClassVar[int] CHILD_PRESENCE_DETECTION_STATE_FIELD_NUMBER: _ClassVar[int] DISPLAY_STATE_FIELD_NUMBER: _ClassVar[int] + KEEP_ON_ACCESSORY_PORTS_STATE_FIELD_NUMBER: _ClassVar[int] PII_KEY_RESPONSES_FIELD_NUMBER: _ClassVar[int] WRAPPED_KEY_FIELD_NUMBER: _ClassVar[int] SUPPORTS_OPTIONAL_FIELDS_FIELD_NUMBER: _ClassVar[int] @@ -425,10 +433,11 @@ class VehicleData(_message.Message): suspension_state: SuspensionState child_presence_detection_state: ChildPresenceDetectionState display_state: DisplayState + keep_on_accessory_ports_state: KeepOnAccessoryPortsState pii_key_responses: _containers.RepeatedScalarFieldContainer[bytes] wrapped_key: bytes supports_optional_fields: bool - def __init__(self, gui_settings: _Optional[_Union[GuiSettings, _Mapping]] = ..., charge_state: _Optional[_Union[ChargeState, _Mapping]] = ..., climate_state: _Optional[_Union[ClimateState, _Mapping]] = ..., drive_state: _Optional[_Union[DriveState, _Mapping]] = ..., legacy_vehicle_state: _Optional[_Union[VehicleState, _Mapping]] = ..., vehicle_config: _Optional[_Union[VehicleConfig, _Mapping]] = ..., location_state: _Optional[_Union[LocationState, _Mapping]] = ..., closures_state: _Optional[_Union[ClosuresState, _Mapping]] = ..., proto_json_version: _Optional[int] = ..., encrypted_data: _Optional[_Iterable[bytes]] = ..., upload_reason: _Optional[str] = ..., parked_accessory_state: _Optional[_Union[ParkedAccessoryState, _Mapping]] = ..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]] = ..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]] = ..., soh_state: _Optional[_Union[SohState, _Mapping]] = ..., vehicle_state: _Optional[_Union[CurrentVehicleState, _Mapping]] = ..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]] = ..., media_state: _Optional[_Union[MediaState, _Mapping]] = ..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]] = ..., vehicle_detail_state: _Optional[_Union[VehicleDetailState, _Mapping]] = ..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]] = ..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]] = ..., alert_state: _Optional[_Union[AlertState, _Mapping]] = ..., light_show_state: _Optional[_Union[LightShowState, _Mapping]] = ..., vehicle_image_state: _Optional[_Union[VehicleImageState, _Mapping]] = ..., suspension_state: _Optional[_Union[SuspensionState, _Mapping]] = ..., child_presence_detection_state: _Optional[_Union[ChildPresenceDetectionState, _Mapping]] = ..., display_state: _Optional[_Union[DisplayState, _Mapping]] = ..., pii_key_responses: _Optional[_Iterable[bytes]] = ..., wrapped_key: _Optional[bytes] = ..., supports_optional_fields: _Optional[bool] = ...) -> None: ... + def __init__(self, gui_settings: _Optional[_Union[GuiSettings, _Mapping]] = ..., charge_state: _Optional[_Union[ChargeState, _Mapping]] = ..., climate_state: _Optional[_Union[ClimateState, _Mapping]] = ..., drive_state: _Optional[_Union[DriveState, _Mapping]] = ..., legacy_vehicle_state: _Optional[_Union[VehicleState, _Mapping]] = ..., vehicle_config: _Optional[_Union[VehicleConfig, _Mapping]] = ..., location_state: _Optional[_Union[LocationState, _Mapping]] = ..., closures_state: _Optional[_Union[ClosuresState, _Mapping]] = ..., proto_json_version: _Optional[int] = ..., encrypted_data: _Optional[_Iterable[bytes]] = ..., upload_reason: _Optional[str] = ..., parked_accessory_state: _Optional[_Union[ParkedAccessoryState, _Mapping]] = ..., charge_schedule_state: _Optional[_Union[ChargeScheduleState, _Mapping]] = ..., preconditioning_schedule_state: _Optional[_Union[PreconditioningScheduleState, _Mapping]] = ..., soh_state: _Optional[_Union[SohState, _Mapping]] = ..., vehicle_state: _Optional[_Union[CurrentVehicleState, _Mapping]] = ..., tire_pressure_state: _Optional[_Union[TirePressureState, _Mapping]] = ..., media_state: _Optional[_Union[MediaState, _Mapping]] = ..., media_detail_state: _Optional[_Union[MediaDetailState, _Mapping]] = ..., vehicle_detail_state: _Optional[_Union[VehicleDetailState, _Mapping]] = ..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]] = ..., parental_controls_state: _Optional[_Union[ParentalControlsState, _Mapping]] = ..., alert_state: _Optional[_Union[AlertState, _Mapping]] = ..., light_show_state: _Optional[_Union[LightShowState, _Mapping]] = ..., vehicle_image_state: _Optional[_Union[VehicleImageState, _Mapping]] = ..., suspension_state: _Optional[_Union[SuspensionState, _Mapping]] = ..., child_presence_detection_state: _Optional[_Union[ChildPresenceDetectionState, _Mapping]] = ..., display_state: _Optional[_Union[DisplayState, _Mapping]] = ..., keep_on_accessory_ports_state: _Optional[_Union[KeepOnAccessoryPortsState, _Mapping]] = ..., pii_key_responses: _Optional[_Iterable[bytes]] = ..., wrapped_key: _Optional[bytes] = ..., supports_optional_fields: _Optional[bool] = ...) -> 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", "has_automatic_tonneau", "has_side_storage_doors", "door_open_side_storage_left", "door_open_side_storage_right", "cruise_speed_limit_mph", "timestamp") @@ -1228,15 +1237,19 @@ class LocationState(_message.Message): 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] = ..., supercharger_trt_id: _Optional[int] = ..., native_latitude_d: _Optional[float] = ..., native_longitude_d: _Optional[float] = ..., geo_latitude_d: _Optional[float] = ..., geo_longitude_d: _Optional[float] = ..., geo_hw_raw_latitude_d: _Optional[float] = ..., geo_hw_raw_longitude_d: _Optional[float] = ..., geo_horizontal_accuracy: _Optional[float] = ...) -> None: ... class VehicleState(_message.Message): - __slots__ = ("software_update_state", "legacy_media_state", "timestamp", "feature_bitmask", "tpms_last_seen_pressure_time_fl", "tpms_last_seen_pressure_time_fr", "tpms_last_seen_pressure_time_rl", "tpms_last_seen_pressure_time_rr", "legacy_media_info", "allow_authorized_mobile_devices_only", "guestMode", "drive_rail_on", "pin_to_drive_enabled", "pin_to_drive_pin_set", "frontfoglights_on", "rearfoglights_on", "headlights_on", "highbeamlights_on", "trailer_mode_on", "trailer_light_test_available", "trailer_light_test_requested", "truck_bed_lights_brightness", "signed_cmd_service_mode", "accessory_lightbar_middle_on", "transport_mode", "truck_bed_lights_auto_brightness", "truck_bed_lights_auto_state", "truck_bed_lights_controls_disabled", "service_mode_auth", "service_gtw_diag_session_active", "factory_mode", "training_wheels_mode", "gtw_diag_level", "parental_controls_active", "parental_controls_pin_set", "parental_controls_settings", "api_version", "car_version", "detailed_version", "autopilot_hash", "vehicle_name", "notifications_supported", "remote_start_supported", "remote_start_enabled", "last_autopark_error", "homelink_device_count", "smart_summon_available", "summon_standby_mode_enabled", "patsy_mode", "webcam_available", "vehicle_self_test_requested", "vehicle_self_test_progress", "calendar_supported", "dashcam_clip_save_available", "dashcam_state", "tpms_pressure_fl", "tpms_pressure_fr", "tpms_pressure_rl", "tpms_pressure_rr", "service_mode", "service_mode_plus", "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", "fsd_software_version") + __slots__ = ("autopark_style", "active_spoiler_state", "software_update_state", "legacy_media_state", "timestamp", "autopark_version", "autopark_state", "feature_bitmask", "tpms_last_seen_pressure_time_fl", "tpms_last_seen_pressure_time_fr", "tpms_last_seen_pressure_time_rl", "tpms_last_seen_pressure_time_rr", "legacy_media_info", "allow_authorized_mobile_devices_only", "guestMode", "drive_rail_on", "pin_to_drive_enabled", "pin_to_drive_pin_set", "frontfoglights_on", "rearfoglights_on", "headlights_on", "highbeamlights_on", "trailer_mode_on", "trailer_light_test_available", "trailer_light_test_requested", "truck_bed_lights_brightness", "signed_cmd_service_mode", "accessory_lightbar_middle_on", "transport_mode", "truck_bed_lights_auto_brightness", "truck_bed_lights_auto_state", "truck_bed_lights_controls_disabled", "service_mode_auth", "service_gtw_diag_session_active", "factory_mode", "training_wheels_mode", "gtw_diag_level", "parental_controls_active", "parental_controls_pin_set", "parental_controls_settings", "api_version", "car_version", "detailed_version", "autopilot_hash", "vehicle_name", "notifications_supported", "remote_start_supported", "remote_start_enabled", "last_autopark_error", "homelink_device_count", "smart_summon_available", "summon_standby_mode_enabled", "patsy_mode", "webcam_available", "vehicle_self_test_requested", "vehicle_self_test_progress", "calendar_supported", "dashcam_clip_save_available", "dashcam_state", "tpms_pressure_fl", "tpms_pressure_fr", "tpms_pressure_rl", "tpms_pressure_rr", "service_mode", "service_mode_plus", "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", "fsd_software_version") class GuestMode(_message.Message): __slots__ = ("GuestModeActive",) GUESTMODEACTIVE_FIELD_NUMBER: _ClassVar[int] GuestModeActive: bool def __init__(self, GuestModeActive: _Optional[bool] = ...) -> None: ... + AUTOPARK_STYLE_FIELD_NUMBER: _ClassVar[int] + ACTIVE_SPOILER_STATE_FIELD_NUMBER: _ClassVar[int] SOFTWARE_UPDATE_STATE_FIELD_NUMBER: _ClassVar[int] LEGACY_MEDIA_STATE_FIELD_NUMBER: _ClassVar[int] TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + AUTOPARK_VERSION_FIELD_NUMBER: _ClassVar[int] + AUTOPARK_STATE_FIELD_NUMBER: _ClassVar[int] FEATURE_BITMASK_FIELD_NUMBER: _ClassVar[int] TPMS_LAST_SEEN_PRESSURE_TIME_FL_FIELD_NUMBER: _ClassVar[int] TPMS_LAST_SEEN_PRESSURE_TIME_FR_FIELD_NUMBER: _ClassVar[int] @@ -1306,9 +1319,13 @@ class VehicleState(_message.Message): TPMS_RCP_FRONT_VALUE_FIELD_NUMBER: _ClassVar[int] TPMS_RCP_REAR_VALUE_FIELD_NUMBER: _ClassVar[int] FSD_SOFTWARE_VERSION_FIELD_NUMBER: _ClassVar[int] + autopark_style: AutoparkStyle + active_spoiler_state: SpoilerState software_update_state: SoftwareUpdateState legacy_media_state: LegacyMediaState timestamp: _timestamp_pb2.Timestamp + autopark_version: AutoparkVersion + autopark_state: AutoparkState feature_bitmask: _containers.RepeatedScalarFieldContainer[int] tpms_last_seen_pressure_time_fl: _timestamp_pb2.Timestamp tpms_last_seen_pressure_time_fr: _timestamp_pb2.Timestamp @@ -1378,10 +1395,10 @@ class VehicleState(_message.Message): tpms_rcp_front_value: float tpms_rcp_rear_value: float fsd_software_version: str - def __init__(self, software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]] = ..., legacy_media_state: _Optional[_Union[LegacyMediaState, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., feature_bitmask: _Optional[_Iterable[int]] = ..., 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]] = ..., legacy_media_info: _Optional[_Union[LegacyMediaInfo, _Mapping]] = ..., allow_authorized_mobile_devices_only: _Optional[bool] = ..., guestMode: _Optional[_Union[VehicleState.GuestMode, _Mapping]] = ..., drive_rail_on: _Optional[bool] = ..., pin_to_drive_enabled: _Optional[bool] = ..., pin_to_drive_pin_set: _Optional[bool] = ..., frontfoglights_on: _Optional[bool] = ..., rearfoglights_on: _Optional[bool] = ..., headlights_on: _Optional[bool] = ..., highbeamlights_on: _Optional[bool] = ..., trailer_mode_on: _Optional[bool] = ..., trailer_light_test_available: _Optional[bool] = ..., trailer_light_test_requested: _Optional[bool] = ..., truck_bed_lights_brightness: _Optional[int] = ..., signed_cmd_service_mode: _Optional[bool] = ..., accessory_lightbar_middle_on: _Optional[bool] = ..., transport_mode: _Optional[bool] = ..., truck_bed_lights_auto_brightness: _Optional[int] = ..., truck_bed_lights_auto_state: _Optional[bool] = ..., truck_bed_lights_controls_disabled: _Optional[bool] = ..., service_mode_auth: _Optional[str] = ..., service_gtw_diag_session_active: _Optional[bool] = ..., factory_mode: _Optional[bool] = ..., training_wheels_mode: _Optional[bool] = ..., gtw_diag_level: _Optional[_Union[_common_pb2.GtwDiagLevel, str]] = ..., parental_controls_active: _Optional[bool] = ..., parental_controls_pin_set: _Optional[bool] = ..., parental_controls_settings: _Optional[_Union[ParentalControlsSettings, _Mapping]] = ..., api_version: _Optional[int] = ..., car_version: _Optional[str] = ..., detailed_version: _Optional[str] = ..., autopilot_hash: _Optional[str] = ..., vehicle_name: _Optional[str] = ..., notifications_supported: _Optional[bool] = ..., remote_start_supported: _Optional[bool] = ..., remote_start_enabled: _Optional[bool] = ..., last_autopark_error: _Optional[str] = ..., homelink_device_count: _Optional[int] = ..., smart_summon_available: _Optional[bool] = ..., summon_standby_mode_enabled: _Optional[bool] = ..., patsy_mode: _Optional[bool] = ..., webcam_available: _Optional[bool] = ..., vehicle_self_test_requested: _Optional[bool] = ..., vehicle_self_test_progress: _Optional[int] = ..., calendar_supported: _Optional[bool] = ..., dashcam_clip_save_available: _Optional[bool] = ..., dashcam_state: _Optional[_Union[DashCamState, str]] = ..., tpms_pressure_fl: _Optional[float] = ..., tpms_pressure_fr: _Optional[float] = ..., tpms_pressure_rl: _Optional[float] = ..., tpms_pressure_rr: _Optional[float] = ..., service_mode: _Optional[bool] = ..., service_mode_plus: _Optional[bool] = ..., 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] = ..., fsd_software_version: _Optional[str] = ...) -> None: ... + def __init__(self, autopark_style: _Optional[_Union[AutoparkStyle, _Mapping]] = ..., active_spoiler_state: _Optional[_Union[SpoilerState, _Mapping]] = ..., software_update_state: _Optional[_Union[SoftwareUpdateState, _Mapping]] = ..., legacy_media_state: _Optional[_Union[LegacyMediaState, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., autopark_version: _Optional[_Union[AutoparkVersion, _Mapping]] = ..., autopark_state: _Optional[_Union[AutoparkState, _Mapping]] = ..., feature_bitmask: _Optional[_Iterable[int]] = ..., 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]] = ..., legacy_media_info: _Optional[_Union[LegacyMediaInfo, _Mapping]] = ..., allow_authorized_mobile_devices_only: _Optional[bool] = ..., guestMode: _Optional[_Union[VehicleState.GuestMode, _Mapping]] = ..., drive_rail_on: _Optional[bool] = ..., pin_to_drive_enabled: _Optional[bool] = ..., pin_to_drive_pin_set: _Optional[bool] = ..., frontfoglights_on: _Optional[bool] = ..., rearfoglights_on: _Optional[bool] = ..., headlights_on: _Optional[bool] = ..., highbeamlights_on: _Optional[bool] = ..., trailer_mode_on: _Optional[bool] = ..., trailer_light_test_available: _Optional[bool] = ..., trailer_light_test_requested: _Optional[bool] = ..., truck_bed_lights_brightness: _Optional[int] = ..., signed_cmd_service_mode: _Optional[bool] = ..., accessory_lightbar_middle_on: _Optional[bool] = ..., transport_mode: _Optional[bool] = ..., truck_bed_lights_auto_brightness: _Optional[int] = ..., truck_bed_lights_auto_state: _Optional[bool] = ..., truck_bed_lights_controls_disabled: _Optional[bool] = ..., service_mode_auth: _Optional[str] = ..., service_gtw_diag_session_active: _Optional[bool] = ..., factory_mode: _Optional[bool] = ..., training_wheels_mode: _Optional[bool] = ..., gtw_diag_level: _Optional[_Union[_common_pb2.GtwDiagLevel, str]] = ..., parental_controls_active: _Optional[bool] = ..., parental_controls_pin_set: _Optional[bool] = ..., parental_controls_settings: _Optional[_Union[ParentalControlsSettings, _Mapping]] = ..., api_version: _Optional[int] = ..., car_version: _Optional[str] = ..., detailed_version: _Optional[str] = ..., autopilot_hash: _Optional[str] = ..., vehicle_name: _Optional[str] = ..., notifications_supported: _Optional[bool] = ..., remote_start_supported: _Optional[bool] = ..., remote_start_enabled: _Optional[bool] = ..., last_autopark_error: _Optional[str] = ..., homelink_device_count: _Optional[int] = ..., smart_summon_available: _Optional[bool] = ..., summon_standby_mode_enabled: _Optional[bool] = ..., patsy_mode: _Optional[bool] = ..., webcam_available: _Optional[bool] = ..., vehicle_self_test_requested: _Optional[bool] = ..., vehicle_self_test_progress: _Optional[int] = ..., calendar_supported: _Optional[bool] = ..., dashcam_clip_save_available: _Optional[bool] = ..., dashcam_state: _Optional[_Union[DashCamState, str]] = ..., tpms_pressure_fl: _Optional[float] = ..., tpms_pressure_fr: _Optional[float] = ..., tpms_pressure_rl: _Optional[float] = ..., tpms_pressure_rr: _Optional[float] = ..., service_mode: _Optional[bool] = ..., service_mode_plus: _Optional[bool] = ..., 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] = ..., fsd_software_version: _Optional[str] = ...) -> None: ... class CurrentVehicleState(_message.Message): - __slots__ = ("timestamp", "api_version", "notifications_supported", "remote_start_supported", "remote_start_enabled", "last_autopark_error", "homelink_device_count", "autopark_style", "smart_summon_available", "summon_standby_mode_enabled", "active_spoiler_state", "patsy_mode", "webcam_available", "vehicle_self_test_requested", "vehicle_self_test_progress", "autopark_version", "autopark_state", "calendar_supported", "dashcam_clip_save_available", "dashcam_state", "feature_bitmask", "service_mode", "service_mode_plus", "service_mode_auth", "service_gtw_diag_session_active", "allow_authorized_mobile_devices_only", "guest_mode", "drive_rail_on", "pin_to_drive_enabled", "pin_to_drive_pin_set", "frontfoglights_on", "rearfoglights_on", "headlights_on", "highbeamlights_on", "trailer_mode_on", "signed_cmd_service_mode", "transport_mode", "factory_mode", "training_wheels_mode", "gtw_diag_level", "trailer_light_test_available", "trailer_light_test_requested", "truck_bed_lights_brightness", "truck_bed_lights_auto_brightness", "truck_bed_lights_auto_state", "truck_bed_lights_controls_disabled", "accessory_lightbar_middle_on", "inlet_heater_on", "inlet_heater_supported", "field_53", "mobile_dashcam_viewer_enabled", "car_wrap_enabled", "dashcam_last_save_epoch", "wiper_service_request", "remote_photobooth_available", "dog_mode_live_activity_key", "photobooth_last_save_epoch", "photobooth_last_update_epoch", "fsd_stats_supported", "dashcam_utils", "remote_sketchpad_available", "deck_lights_on", "hazards_on", "deck_lights_allowed", "field_70") + __slots__ = ("timestamp", "api_version", "notifications_supported", "remote_start_supported", "remote_start_enabled", "last_autopark_error", "homelink_device_count", "autopark_style", "smart_summon_available", "summon_standby_mode_enabled", "active_spoiler_state", "patsy_mode", "webcam_available", "vehicle_self_test_requested", "vehicle_self_test_progress", "autopark_version", "autopark_state", "calendar_supported", "dashcam_clip_save_available", "dashcam_state", "feature_bitmask", "service_mode", "service_mode_plus", "service_mode_auth", "service_gtw_diag_session_active", "allow_authorized_mobile_devices_only", "guest_mode", "drive_rail_on", "pin_to_drive_enabled", "pin_to_drive_pin_set", "frontfoglights_on", "rearfoglights_on", "headlights_on", "highbeamlights_on", "trailer_mode_on", "signed_cmd_service_mode", "transport_mode", "factory_mode", "training_wheels_mode", "gtw_diag_level", "trailer_light_test_available", "trailer_light_test_requested", "truck_bed_lights_brightness", "truck_bed_lights_auto_brightness", "truck_bed_lights_auto_state", "truck_bed_lights_controls_disabled", "accessory_lightbar_middle_on", "inlet_heater_on", "inlet_heater_supported", "field_53", "mobile_dashcam_viewer_enabled", "car_wrap_enabled", "dashcam_last_save_epoch", "wiper_service_request", "remote_photobooth_available", "dog_mode_live_activity_key", "photobooth_last_save_epoch", "photobooth_last_update_epoch", "fsd_stats_supported", "dashcam_utils", "remote_sketchpad_available", "deck_lights_on", "hazards_on", "deck_lights_allowed", "field_70", "halloween_mode", "trick_or_treat_mode") TIMESTAMP_FIELD_NUMBER: _ClassVar[int] API_VERSION_FIELD_NUMBER: _ClassVar[int] NOTIFICATIONS_SUPPORTED_FIELD_NUMBER: _ClassVar[int] @@ -1447,6 +1464,8 @@ class CurrentVehicleState(_message.Message): HAZARDS_ON_FIELD_NUMBER: _ClassVar[int] DECK_LIGHTS_ALLOWED_FIELD_NUMBER: _ClassVar[int] FIELD_70_FIELD_NUMBER: _ClassVar[int] + HALLOWEEN_MODE_FIELD_NUMBER: _ClassVar[int] + TRICK_OR_TREAT_MODE_FIELD_NUMBER: _ClassVar[int] timestamp: _timestamp_pb2.Timestamp api_version: int notifications_supported: bool @@ -1512,7 +1531,9 @@ class CurrentVehicleState(_message.Message): hazards_on: bool deck_lights_allowed: bool field_70: int - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., api_version: _Optional[int] = ..., notifications_supported: _Optional[bool] = ..., remote_start_supported: _Optional[bool] = ..., remote_start_enabled: _Optional[bool] = ..., last_autopark_error: _Optional[str] = ..., homelink_device_count: _Optional[int] = ..., autopark_style: _Optional[_Union[AutoparkStyle, _Mapping]] = ..., smart_summon_available: _Optional[bool] = ..., summon_standby_mode_enabled: _Optional[bool] = ..., active_spoiler_state: _Optional[_Union[SpoilerState, _Mapping]] = ..., patsy_mode: _Optional[bool] = ..., webcam_available: _Optional[bool] = ..., vehicle_self_test_requested: _Optional[bool] = ..., vehicle_self_test_progress: _Optional[int] = ..., autopark_version: _Optional[_Union[AutoparkVersion, _Mapping]] = ..., autopark_state: _Optional[_Union[AutoparkState, _Mapping]] = ..., calendar_supported: _Optional[bool] = ..., dashcam_clip_save_available: _Optional[bool] = ..., dashcam_state: _Optional[_Union[DashCamState, str]] = ..., feature_bitmask: _Optional[_Iterable[int]] = ..., service_mode: _Optional[bool] = ..., service_mode_plus: _Optional[bool] = ..., service_mode_auth: _Optional[str] = ..., service_gtw_diag_session_active: _Optional[bool] = ..., allow_authorized_mobile_devices_only: _Optional[bool] = ..., guest_mode: _Optional[_Union[VehicleState.GuestMode, _Mapping]] = ..., drive_rail_on: _Optional[bool] = ..., pin_to_drive_enabled: _Optional[bool] = ..., pin_to_drive_pin_set: _Optional[bool] = ..., frontfoglights_on: _Optional[bool] = ..., rearfoglights_on: _Optional[bool] = ..., headlights_on: _Optional[bool] = ..., highbeamlights_on: _Optional[bool] = ..., trailer_mode_on: _Optional[bool] = ..., signed_cmd_service_mode: _Optional[bool] = ..., transport_mode: _Optional[bool] = ..., factory_mode: _Optional[bool] = ..., training_wheels_mode: _Optional[bool] = ..., gtw_diag_level: _Optional[_Union[_common_pb2.GtwDiagLevel, str]] = ..., trailer_light_test_available: _Optional[bool] = ..., trailer_light_test_requested: _Optional[bool] = ..., truck_bed_lights_brightness: _Optional[int] = ..., truck_bed_lights_auto_brightness: _Optional[int] = ..., truck_bed_lights_auto_state: _Optional[bool] = ..., truck_bed_lights_controls_disabled: _Optional[bool] = ..., accessory_lightbar_middle_on: _Optional[bool] = ..., inlet_heater_on: _Optional[bool] = ..., inlet_heater_supported: _Optional[bool] = ..., field_53: _Optional[int] = ..., mobile_dashcam_viewer_enabled: _Optional[bool] = ..., car_wrap_enabled: _Optional[bool] = ..., dashcam_last_save_epoch: _Optional[int] = ..., wiper_service_request: _Optional[bool] = ..., remote_photobooth_available: _Optional[bool] = ..., dog_mode_live_activity_key: _Optional[str] = ..., photobooth_last_save_epoch: _Optional[int] = ..., photobooth_last_update_epoch: _Optional[int] = ..., fsd_stats_supported: _Optional[bool] = ..., dashcam_utils: _Optional[_Union[DashcamUtils, _Mapping]] = ..., remote_sketchpad_available: _Optional[bool] = ..., deck_lights_on: _Optional[bool] = ..., hazards_on: _Optional[bool] = ..., deck_lights_allowed: _Optional[bool] = ..., field_70: _Optional[int] = ...) -> None: ... + halloween_mode: bool + trick_or_treat_mode: bool + def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., api_version: _Optional[int] = ..., notifications_supported: _Optional[bool] = ..., remote_start_supported: _Optional[bool] = ..., remote_start_enabled: _Optional[bool] = ..., last_autopark_error: _Optional[str] = ..., homelink_device_count: _Optional[int] = ..., autopark_style: _Optional[_Union[AutoparkStyle, _Mapping]] = ..., smart_summon_available: _Optional[bool] = ..., summon_standby_mode_enabled: _Optional[bool] = ..., active_spoiler_state: _Optional[_Union[SpoilerState, _Mapping]] = ..., patsy_mode: _Optional[bool] = ..., webcam_available: _Optional[bool] = ..., vehicle_self_test_requested: _Optional[bool] = ..., vehicle_self_test_progress: _Optional[int] = ..., autopark_version: _Optional[_Union[AutoparkVersion, _Mapping]] = ..., autopark_state: _Optional[_Union[AutoparkState, _Mapping]] = ..., calendar_supported: _Optional[bool] = ..., dashcam_clip_save_available: _Optional[bool] = ..., dashcam_state: _Optional[_Union[DashCamState, str]] = ..., feature_bitmask: _Optional[_Iterable[int]] = ..., service_mode: _Optional[bool] = ..., service_mode_plus: _Optional[bool] = ..., service_mode_auth: _Optional[str] = ..., service_gtw_diag_session_active: _Optional[bool] = ..., allow_authorized_mobile_devices_only: _Optional[bool] = ..., guest_mode: _Optional[_Union[VehicleState.GuestMode, _Mapping]] = ..., drive_rail_on: _Optional[bool] = ..., pin_to_drive_enabled: _Optional[bool] = ..., pin_to_drive_pin_set: _Optional[bool] = ..., frontfoglights_on: _Optional[bool] = ..., rearfoglights_on: _Optional[bool] = ..., headlights_on: _Optional[bool] = ..., highbeamlights_on: _Optional[bool] = ..., trailer_mode_on: _Optional[bool] = ..., signed_cmd_service_mode: _Optional[bool] = ..., transport_mode: _Optional[bool] = ..., factory_mode: _Optional[bool] = ..., training_wheels_mode: _Optional[bool] = ..., gtw_diag_level: _Optional[_Union[_common_pb2.GtwDiagLevel, str]] = ..., trailer_light_test_available: _Optional[bool] = ..., trailer_light_test_requested: _Optional[bool] = ..., truck_bed_lights_brightness: _Optional[int] = ..., truck_bed_lights_auto_brightness: _Optional[int] = ..., truck_bed_lights_auto_state: _Optional[bool] = ..., truck_bed_lights_controls_disabled: _Optional[bool] = ..., accessory_lightbar_middle_on: _Optional[bool] = ..., inlet_heater_on: _Optional[bool] = ..., inlet_heater_supported: _Optional[bool] = ..., field_53: _Optional[int] = ..., mobile_dashcam_viewer_enabled: _Optional[bool] = ..., car_wrap_enabled: _Optional[bool] = ..., dashcam_last_save_epoch: _Optional[int] = ..., wiper_service_request: _Optional[bool] = ..., remote_photobooth_available: _Optional[bool] = ..., dog_mode_live_activity_key: _Optional[str] = ..., photobooth_last_save_epoch: _Optional[int] = ..., photobooth_last_update_epoch: _Optional[int] = ..., fsd_stats_supported: _Optional[bool] = ..., dashcam_utils: _Optional[_Union[DashcamUtils, _Mapping]] = ..., remote_sketchpad_available: _Optional[bool] = ..., deck_lights_on: _Optional[bool] = ..., hazards_on: _Optional[bool] = ..., deck_lights_allowed: _Optional[bool] = ..., field_70: _Optional[int] = ..., halloween_mode: _Optional[bool] = ..., trick_or_treat_mode: _Optional[bool] = ...) -> None: ... class DashcamUtils(_message.Message): __slots__ = ("delete_dashcam_clips_available", "format_usb_available") @@ -1523,20 +1544,62 @@ class DashcamUtils(_message.Message): def __init__(self, delete_dashcam_clips_available: _Optional[bool] = ..., format_usb_available: _Optional[bool] = ...) -> None: ... class AutoparkStyle(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Deadman", "Standard") + DEADMAN_FIELD_NUMBER: _ClassVar[int] + STANDARD_FIELD_NUMBER: _ClassVar[int] + Deadman: _common_pb2.Void + Standard: _common_pb2.Void + def __init__(self, Deadman: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Standard: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class AutoparkVersion(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Version2", "Version3", "Version4") + VERSION2_FIELD_NUMBER: _ClassVar[int] + VERSION3_FIELD_NUMBER: _ClassVar[int] + VERSION4_FIELD_NUMBER: _ClassVar[int] + Version2: _common_pb2.Void + Version3: _common_pb2.Void + Version4: _common_pb2.Void + def __init__(self, Version2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Version3: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Version4: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class AutoparkState(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Standby", "Unavailable", "Ready", "ActiveForward", "ActiveReverse", "Disabled", "Panic", "Preparing", "Aborting", "Paused", "Resuming", "OpeningGate") + STANDBY_FIELD_NUMBER: _ClassVar[int] + UNAVAILABLE_FIELD_NUMBER: _ClassVar[int] + READY_FIELD_NUMBER: _ClassVar[int] + ACTIVEFORWARD_FIELD_NUMBER: _ClassVar[int] + ACTIVEREVERSE_FIELD_NUMBER: _ClassVar[int] + DISABLED_FIELD_NUMBER: _ClassVar[int] + PANIC_FIELD_NUMBER: _ClassVar[int] + PREPARING_FIELD_NUMBER: _ClassVar[int] + ABORTING_FIELD_NUMBER: _ClassVar[int] + PAUSED_FIELD_NUMBER: _ClassVar[int] + RESUMING_FIELD_NUMBER: _ClassVar[int] + OPENINGGATE_FIELD_NUMBER: _ClassVar[int] + Standby: _common_pb2.Void + Unavailable: _common_pb2.Void + Ready: _common_pb2.Void + ActiveForward: _common_pb2.Void + ActiveReverse: _common_pb2.Void + Disabled: _common_pb2.Void + Panic: _common_pb2.Void + Preparing: _common_pb2.Void + Aborting: _common_pb2.Void + Paused: _common_pb2.Void + Resuming: _common_pb2.Void + OpeningGate: _common_pb2.Void + def __init__(self, Standby: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Unavailable: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Ready: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ActiveForward: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ActiveReverse: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Disabled: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Panic: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Preparing: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Aborting: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Paused: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Resuming: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., OpeningGate: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class SpoilerState(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Unknown", "Retracted", "Extended", "Fault") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + RETRACTED_FIELD_NUMBER: _ClassVar[int] + EXTENDED_FIELD_NUMBER: _ClassVar[int] + FAULT_FIELD_NUMBER: _ClassVar[int] + Unknown: _common_pb2.Void + Retracted: _common_pb2.Void + Extended: _common_pb2.Void + Fault: _common_pb2.Void + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Retracted: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Extended: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Fault: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class LegacyMediaState(_message.Message): __slots__ = ("remote_control_enabled",) @@ -2012,26 +2075,586 @@ class ShiftState(_message.Message): 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: ... +class VehicleBadging(_message.Message): + __slots__ = ("Base", "Founder", "Signature", "Performance", "LaunchSeries", "SignatureSeries") + BASE_FIELD_NUMBER: _ClassVar[int] + FOUNDER_FIELD_NUMBER: _ClassVar[int] + SIGNATURE_FIELD_NUMBER: _ClassVar[int] + PERFORMANCE_FIELD_NUMBER: _ClassVar[int] + LAUNCHSERIES_FIELD_NUMBER: _ClassVar[int] + SIGNATURESERIES_FIELD_NUMBER: _ClassVar[int] + Base: _common_pb2.Void + Founder: _common_pb2.Void + Signature: _common_pb2.Void + Performance: _common_pb2.Void + LaunchSeries: _common_pb2.Void + SignatureSeries: _common_pb2.Void + def __init__(self, Base: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Founder: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Signature: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Performance: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., LaunchSeries: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SignatureSeries: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class CarTrim(_message.Message): + __slots__ = ("Trim40", "OBSOLETETrim50", "OBSOLETETrim50D", "Trim60", "Trim60D", "Trim70", "Trim70D", "Trim75", "Trim75D", "TrimP75D", "Trim85", "TrimP85", "TrimP85Plus", "Trim85D", "TrimP85D", "Trim90", "TrimP90", "TrimP90Plus", "Trim90D", "TrimP90D", "Trim100", "TrimP100", "Trim100D", "TrimP100D", "Trim50", "Trim50D", "Trim62", "Trim62D", "Trim74", "Trim74D", "TrimP74D", "TrimDefault", "TrimCyberbeast", "TrimInvalid") + TRIM40_FIELD_NUMBER: _ClassVar[int] + OBSOLETETRIM50_FIELD_NUMBER: _ClassVar[int] + OBSOLETETRIM50D_FIELD_NUMBER: _ClassVar[int] + TRIM60_FIELD_NUMBER: _ClassVar[int] + TRIM60D_FIELD_NUMBER: _ClassVar[int] + TRIM70_FIELD_NUMBER: _ClassVar[int] + TRIM70D_FIELD_NUMBER: _ClassVar[int] + TRIM75_FIELD_NUMBER: _ClassVar[int] + TRIM75D_FIELD_NUMBER: _ClassVar[int] + TRIMP75D_FIELD_NUMBER: _ClassVar[int] + TRIM85_FIELD_NUMBER: _ClassVar[int] + TRIMP85_FIELD_NUMBER: _ClassVar[int] + TRIMP85PLUS_FIELD_NUMBER: _ClassVar[int] + TRIM85D_FIELD_NUMBER: _ClassVar[int] + TRIMP85D_FIELD_NUMBER: _ClassVar[int] + TRIM90_FIELD_NUMBER: _ClassVar[int] + TRIMP90_FIELD_NUMBER: _ClassVar[int] + TRIMP90PLUS_FIELD_NUMBER: _ClassVar[int] + TRIM90D_FIELD_NUMBER: _ClassVar[int] + TRIMP90D_FIELD_NUMBER: _ClassVar[int] + TRIM100_FIELD_NUMBER: _ClassVar[int] + TRIMP100_FIELD_NUMBER: _ClassVar[int] + TRIM100D_FIELD_NUMBER: _ClassVar[int] + TRIMP100D_FIELD_NUMBER: _ClassVar[int] + TRIM50_FIELD_NUMBER: _ClassVar[int] + TRIM50D_FIELD_NUMBER: _ClassVar[int] + TRIM62_FIELD_NUMBER: _ClassVar[int] + TRIM62D_FIELD_NUMBER: _ClassVar[int] + TRIM74_FIELD_NUMBER: _ClassVar[int] + TRIM74D_FIELD_NUMBER: _ClassVar[int] + TRIMP74D_FIELD_NUMBER: _ClassVar[int] + TRIMDEFAULT_FIELD_NUMBER: _ClassVar[int] + TRIMCYBERBEAST_FIELD_NUMBER: _ClassVar[int] + TRIMINVALID_FIELD_NUMBER: _ClassVar[int] + Trim40: _common_pb2.Void + OBSOLETETrim50: _common_pb2.Void + OBSOLETETrim50D: _common_pb2.Void + Trim60: _common_pb2.Void + Trim60D: _common_pb2.Void + Trim70: _common_pb2.Void + Trim70D: _common_pb2.Void + Trim75: _common_pb2.Void + Trim75D: _common_pb2.Void + TrimP75D: _common_pb2.Void + Trim85: _common_pb2.Void + TrimP85: _common_pb2.Void + TrimP85Plus: _common_pb2.Void + Trim85D: _common_pb2.Void + TrimP85D: _common_pb2.Void + Trim90: _common_pb2.Void + TrimP90: _common_pb2.Void + TrimP90Plus: _common_pb2.Void + Trim90D: _common_pb2.Void + TrimP90D: _common_pb2.Void + Trim100: _common_pb2.Void + TrimP100: _common_pb2.Void + Trim100D: _common_pb2.Void + TrimP100D: _common_pb2.Void + Trim50: _common_pb2.Void + Trim50D: _common_pb2.Void + Trim62: _common_pb2.Void + Trim62D: _common_pb2.Void + Trim74: _common_pb2.Void + Trim74D: _common_pb2.Void + TrimP74D: _common_pb2.Void + TrimDefault: _common_pb2.Void + TrimCyberbeast: _common_pb2.Void + TrimInvalid: _common_pb2.Void + def __init__(self, Trim40: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., OBSOLETETrim50: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., OBSOLETETrim50D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim60: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim60D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim70: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim70D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim75: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim75D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP75D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim85: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP85: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP85Plus: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim85D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP85D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim90: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP90: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP90Plus: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim90D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP90D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim100: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP100: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim100D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP100D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim50: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim50D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim62: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim62D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim74: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Trim74D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimP74D: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimDefault: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimCyberbeast: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TrimInvalid: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class SunRoofType(_message.Message): + __slots__ = ("None_", "Gen1", "Gen2") + NONE__FIELD_NUMBER: _ClassVar[int] + GEN1_FIELD_NUMBER: _ClassVar[int] + GEN2_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + Gen1: _common_pb2.Void + Gen2: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gen1: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gen2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class WheelType(_message.Message): + __slots__ = ("Unknown", "ZeroG20Gunpowder", "Pinwheel18", "Pinwheel18CapKit", "Stiletto19", "Stiletto20", "Stiletto20DarkStaggered", "Stiletto20DarkSquare", "Gemini19Square", "Gemini19Staggered", "Induction20Black", "UberTurbine21Black", "Apollo19", "Apollo19CapKit", "ZeroG19Gunpowder", "Cardenio19", "Default", "NewTurbine22Black", "Cyberstream", "Arachnid21", "Base19", "Silver21", "Charcoal21", "Silver21Euro", "Aero19", "Charcoal21Euro", "Super21Gray", "Super21Silver", "Turbine19", "Turbine19Dark", "AeroTurbine19", "AeroTurbine19Black", "Helix20", "AeroTurbine20", "Turbine22", "Cyclone19Dark", "AeroTurbine20Dark", "Turbine22Dark", "Arachnid21Silver", "Arachnid21Black", "Arachnid21Grey", "Slipstream20Carbon", "Slipstream20Dark", "Slipstream19Carbon", "TwinTurbine21Silver", "TwinTurbine21Carbon", "Tempest19SonicSilver", "PinwheelRefresh18", "StilettoRefresh19", "UberTurbine20Gunpowder", "Glider18", "Helix19", "Wishbone20Staggered", "CtBase20", "CtPremium20", "CtBase18", "Apollo19MetallicShadow", "Wishbone19Staggered", "Crossflow19", "HelixV220", "Standard19", "Halo22", "Riptide20", "Cypress21", "MachinaV219", "ArachnidV221", "E4118", "D5018", "HelixV220Dark", "UberHelix20") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + ZEROG20GUNPOWDER_FIELD_NUMBER: _ClassVar[int] + PINWHEEL18_FIELD_NUMBER: _ClassVar[int] + PINWHEEL18CAPKIT_FIELD_NUMBER: _ClassVar[int] + STILETTO19_FIELD_NUMBER: _ClassVar[int] + STILETTO20_FIELD_NUMBER: _ClassVar[int] + STILETTO20DARKSTAGGERED_FIELD_NUMBER: _ClassVar[int] + STILETTO20DARKSQUARE_FIELD_NUMBER: _ClassVar[int] + GEMINI19SQUARE_FIELD_NUMBER: _ClassVar[int] + GEMINI19STAGGERED_FIELD_NUMBER: _ClassVar[int] + INDUCTION20BLACK_FIELD_NUMBER: _ClassVar[int] + UBERTURBINE21BLACK_FIELD_NUMBER: _ClassVar[int] + APOLLO19_FIELD_NUMBER: _ClassVar[int] + APOLLO19CAPKIT_FIELD_NUMBER: _ClassVar[int] + ZEROG19GUNPOWDER_FIELD_NUMBER: _ClassVar[int] + CARDENIO19_FIELD_NUMBER: _ClassVar[int] + DEFAULT_FIELD_NUMBER: _ClassVar[int] + NEWTURBINE22BLACK_FIELD_NUMBER: _ClassVar[int] + CYBERSTREAM_FIELD_NUMBER: _ClassVar[int] + ARACHNID21_FIELD_NUMBER: _ClassVar[int] + BASE19_FIELD_NUMBER: _ClassVar[int] + SILVER21_FIELD_NUMBER: _ClassVar[int] + CHARCOAL21_FIELD_NUMBER: _ClassVar[int] + SILVER21EURO_FIELD_NUMBER: _ClassVar[int] + AERO19_FIELD_NUMBER: _ClassVar[int] + CHARCOAL21EURO_FIELD_NUMBER: _ClassVar[int] + SUPER21GRAY_FIELD_NUMBER: _ClassVar[int] + SUPER21SILVER_FIELD_NUMBER: _ClassVar[int] + TURBINE19_FIELD_NUMBER: _ClassVar[int] + TURBINE19DARK_FIELD_NUMBER: _ClassVar[int] + AEROTURBINE19_FIELD_NUMBER: _ClassVar[int] + AEROTURBINE19BLACK_FIELD_NUMBER: _ClassVar[int] + HELIX20_FIELD_NUMBER: _ClassVar[int] + AEROTURBINE20_FIELD_NUMBER: _ClassVar[int] + TURBINE22_FIELD_NUMBER: _ClassVar[int] + CYCLONE19DARK_FIELD_NUMBER: _ClassVar[int] + AEROTURBINE20DARK_FIELD_NUMBER: _ClassVar[int] + TURBINE22DARK_FIELD_NUMBER: _ClassVar[int] + ARACHNID21SILVER_FIELD_NUMBER: _ClassVar[int] + ARACHNID21BLACK_FIELD_NUMBER: _ClassVar[int] + ARACHNID21GREY_FIELD_NUMBER: _ClassVar[int] + SLIPSTREAM20CARBON_FIELD_NUMBER: _ClassVar[int] + SLIPSTREAM20DARK_FIELD_NUMBER: _ClassVar[int] + SLIPSTREAM19CARBON_FIELD_NUMBER: _ClassVar[int] + TWINTURBINE21SILVER_FIELD_NUMBER: _ClassVar[int] + TWINTURBINE21CARBON_FIELD_NUMBER: _ClassVar[int] + TEMPEST19SONICSILVER_FIELD_NUMBER: _ClassVar[int] + PINWHEELREFRESH18_FIELD_NUMBER: _ClassVar[int] + STILETTOREFRESH19_FIELD_NUMBER: _ClassVar[int] + UBERTURBINE20GUNPOWDER_FIELD_NUMBER: _ClassVar[int] + GLIDER18_FIELD_NUMBER: _ClassVar[int] + HELIX19_FIELD_NUMBER: _ClassVar[int] + WISHBONE20STAGGERED_FIELD_NUMBER: _ClassVar[int] + CTBASE20_FIELD_NUMBER: _ClassVar[int] + CTPREMIUM20_FIELD_NUMBER: _ClassVar[int] + CTBASE18_FIELD_NUMBER: _ClassVar[int] + APOLLO19METALLICSHADOW_FIELD_NUMBER: _ClassVar[int] + WISHBONE19STAGGERED_FIELD_NUMBER: _ClassVar[int] + CROSSFLOW19_FIELD_NUMBER: _ClassVar[int] + HELIXV220_FIELD_NUMBER: _ClassVar[int] + STANDARD19_FIELD_NUMBER: _ClassVar[int] + HALO22_FIELD_NUMBER: _ClassVar[int] + RIPTIDE20_FIELD_NUMBER: _ClassVar[int] + CYPRESS21_FIELD_NUMBER: _ClassVar[int] + MACHINAV219_FIELD_NUMBER: _ClassVar[int] + ARACHNIDV221_FIELD_NUMBER: _ClassVar[int] + E4118_FIELD_NUMBER: _ClassVar[int] + D5018_FIELD_NUMBER: _ClassVar[int] + HELIXV220DARK_FIELD_NUMBER: _ClassVar[int] + UBERHELIX20_FIELD_NUMBER: _ClassVar[int] + Unknown: _common_pb2.Void + ZeroG20Gunpowder: _common_pb2.Void + Pinwheel18: _common_pb2.Void + Pinwheel18CapKit: _common_pb2.Void + Stiletto19: _common_pb2.Void + Stiletto20: _common_pb2.Void + Stiletto20DarkStaggered: _common_pb2.Void + Stiletto20DarkSquare: _common_pb2.Void + Gemini19Square: _common_pb2.Void + Gemini19Staggered: _common_pb2.Void + Induction20Black: _common_pb2.Void + UberTurbine21Black: _common_pb2.Void + Apollo19: _common_pb2.Void + Apollo19CapKit: _common_pb2.Void + ZeroG19Gunpowder: _common_pb2.Void + Cardenio19: _common_pb2.Void + Default: _common_pb2.Void + NewTurbine22Black: _common_pb2.Void + Cyberstream: _common_pb2.Void + Arachnid21: _common_pb2.Void + Base19: _common_pb2.Void + Silver21: _common_pb2.Void + Charcoal21: _common_pb2.Void + Silver21Euro: _common_pb2.Void + Aero19: _common_pb2.Void + Charcoal21Euro: _common_pb2.Void + Super21Gray: _common_pb2.Void + Super21Silver: _common_pb2.Void + Turbine19: _common_pb2.Void + Turbine19Dark: _common_pb2.Void + AeroTurbine19: _common_pb2.Void + AeroTurbine19Black: _common_pb2.Void + Helix20: _common_pb2.Void + AeroTurbine20: _common_pb2.Void + Turbine22: _common_pb2.Void + Cyclone19Dark: _common_pb2.Void + AeroTurbine20Dark: _common_pb2.Void + Turbine22Dark: _common_pb2.Void + Arachnid21Silver: _common_pb2.Void + Arachnid21Black: _common_pb2.Void + Arachnid21Grey: _common_pb2.Void + Slipstream20Carbon: _common_pb2.Void + Slipstream20Dark: _common_pb2.Void + Slipstream19Carbon: _common_pb2.Void + TwinTurbine21Silver: _common_pb2.Void + TwinTurbine21Carbon: _common_pb2.Void + Tempest19SonicSilver: _common_pb2.Void + PinwheelRefresh18: _common_pb2.Void + StilettoRefresh19: _common_pb2.Void + UberTurbine20Gunpowder: _common_pb2.Void + Glider18: _common_pb2.Void + Helix19: _common_pb2.Void + Wishbone20Staggered: _common_pb2.Void + CtBase20: _common_pb2.Void + CtPremium20: _common_pb2.Void + CtBase18: _common_pb2.Void + Apollo19MetallicShadow: _common_pb2.Void + Wishbone19Staggered: _common_pb2.Void + Crossflow19: _common_pb2.Void + HelixV220: _common_pb2.Void + Standard19: _common_pb2.Void + Halo22: _common_pb2.Void + Riptide20: _common_pb2.Void + Cypress21: _common_pb2.Void + MachinaV219: _common_pb2.Void + ArachnidV221: _common_pb2.Void + E4118: _common_pb2.Void + D5018: _common_pb2.Void + HelixV220Dark: _common_pb2.Void + UberHelix20: _common_pb2.Void + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ZeroG20Gunpowder: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Pinwheel18: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Pinwheel18CapKit: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Stiletto19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Stiletto20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Stiletto20DarkStaggered: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Stiletto20DarkSquare: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gemini19Square: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gemini19Staggered: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Induction20Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., UberTurbine21Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Apollo19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Apollo19CapKit: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ZeroG19Gunpowder: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Cardenio19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Default: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., NewTurbine22Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Cyberstream: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Arachnid21: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Base19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Silver21: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Charcoal21: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Silver21Euro: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Aero19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Charcoal21Euro: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Super21Gray: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Super21Silver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Turbine19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Turbine19Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., AeroTurbine19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., AeroTurbine19Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Helix20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., AeroTurbine20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Turbine22: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Cyclone19Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., AeroTurbine20Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Turbine22Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Arachnid21Silver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Arachnid21Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Arachnid21Grey: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Slipstream20Carbon: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Slipstream20Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Slipstream19Carbon: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TwinTurbine21Silver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TwinTurbine21Carbon: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Tempest19SonicSilver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PinwheelRefresh18: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., StilettoRefresh19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., UberTurbine20Gunpowder: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Glider18: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Helix19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Wishbone20Staggered: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CtBase20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CtPremium20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CtBase18: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Apollo19MetallicShadow: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Wishbone19Staggered: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Crossflow19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., HelixV220: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Standard19: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Halo22: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Riptide20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Cypress21: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MachinaV219: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ArachnidV221: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., E4118: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., D5018: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., HelixV220Dark: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., UberHelix20: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class SpoilerType(_message.Message): + __slots__ = ("None_", "Passive", "Active") + NONE__FIELD_NUMBER: _ClassVar[int] + PASSIVE_FIELD_NUMBER: _ClassVar[int] + ACTIVE_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + Passive: _common_pb2.Void + Active: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Passive: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Active: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class RoofColor(_message.Message): + __slots__ = ("None_", "Glass", "Black", "Colored") + NONE__FIELD_NUMBER: _ClassVar[int] + GLASS_FIELD_NUMBER: _ClassVar[int] + BLACK_FIELD_NUMBER: _ClassVar[int] + COLORED_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + Glass: _common_pb2.Void + Black: _common_pb2.Void + Colored: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Glass: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Colored: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class ExteriorColor(_message.Message): + __slots__ = ("Unknown", "RedMulticoat", "SolidBlack", "SilverMetallic", "MidnightSilver", "DeepBlue", "PearlWhite", "DefaultColor", "Black", "White", "Silver", "Grey", "Blue", "Green", "Brown", "Pearl", "SigRed", "Red", "SteelGrey", "MetallicBlack", "TitaniumCopper", "SignatureBlue", "MidnightCherryRed", "Quicksilver", "UltraRed", "StealthGrey", "LunarSilver", "GlacierBlue", "DiamondBlack", "FrostBlue", "SilkRoadSilver", "MarineBlue", "GarnetRed", "CoastalBlue") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + REDMULTICOAT_FIELD_NUMBER: _ClassVar[int] + SOLIDBLACK_FIELD_NUMBER: _ClassVar[int] + SILVERMETALLIC_FIELD_NUMBER: _ClassVar[int] + MIDNIGHTSILVER_FIELD_NUMBER: _ClassVar[int] + DEEPBLUE_FIELD_NUMBER: _ClassVar[int] + PEARLWHITE_FIELD_NUMBER: _ClassVar[int] + DEFAULTCOLOR_FIELD_NUMBER: _ClassVar[int] + BLACK_FIELD_NUMBER: _ClassVar[int] + WHITE_FIELD_NUMBER: _ClassVar[int] + SILVER_FIELD_NUMBER: _ClassVar[int] + GREY_FIELD_NUMBER: _ClassVar[int] + BLUE_FIELD_NUMBER: _ClassVar[int] + GREEN_FIELD_NUMBER: _ClassVar[int] + BROWN_FIELD_NUMBER: _ClassVar[int] + PEARL_FIELD_NUMBER: _ClassVar[int] + SIGRED_FIELD_NUMBER: _ClassVar[int] + RED_FIELD_NUMBER: _ClassVar[int] + STEELGREY_FIELD_NUMBER: _ClassVar[int] + METALLICBLACK_FIELD_NUMBER: _ClassVar[int] + TITANIUMCOPPER_FIELD_NUMBER: _ClassVar[int] + SIGNATUREBLUE_FIELD_NUMBER: _ClassVar[int] + MIDNIGHTCHERRYRED_FIELD_NUMBER: _ClassVar[int] + QUICKSILVER_FIELD_NUMBER: _ClassVar[int] + ULTRARED_FIELD_NUMBER: _ClassVar[int] + STEALTHGREY_FIELD_NUMBER: _ClassVar[int] + LUNARSILVER_FIELD_NUMBER: _ClassVar[int] + GLACIERBLUE_FIELD_NUMBER: _ClassVar[int] + DIAMONDBLACK_FIELD_NUMBER: _ClassVar[int] + FROSTBLUE_FIELD_NUMBER: _ClassVar[int] + SILKROADSILVER_FIELD_NUMBER: _ClassVar[int] + MARINEBLUE_FIELD_NUMBER: _ClassVar[int] + GARNETRED_FIELD_NUMBER: _ClassVar[int] + COASTALBLUE_FIELD_NUMBER: _ClassVar[int] + Unknown: _common_pb2.Void + RedMulticoat: _common_pb2.Void + SolidBlack: _common_pb2.Void + SilverMetallic: _common_pb2.Void + MidnightSilver: _common_pb2.Void + DeepBlue: _common_pb2.Void + PearlWhite: _common_pb2.Void + DefaultColor: _common_pb2.Void + Black: _common_pb2.Void + White: _common_pb2.Void + Silver: _common_pb2.Void + Grey: _common_pb2.Void + Blue: _common_pb2.Void + Green: _common_pb2.Void + Brown: _common_pb2.Void + Pearl: _common_pb2.Void + SigRed: _common_pb2.Void + Red: _common_pb2.Void + SteelGrey: _common_pb2.Void + MetallicBlack: _common_pb2.Void + TitaniumCopper: _common_pb2.Void + SignatureBlue: _common_pb2.Void + MidnightCherryRed: _common_pb2.Void + Quicksilver: _common_pb2.Void + UltraRed: _common_pb2.Void + StealthGrey: _common_pb2.Void + LunarSilver: _common_pb2.Void + GlacierBlue: _common_pb2.Void + DiamondBlack: _common_pb2.Void + FrostBlue: _common_pb2.Void + SilkRoadSilver: _common_pb2.Void + MarineBlue: _common_pb2.Void + GarnetRed: _common_pb2.Void + CoastalBlue: _common_pb2.Void + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., RedMulticoat: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SolidBlack: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SilverMetallic: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MidnightSilver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., DeepBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PearlWhite: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., DefaultColor: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Black: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., White: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Silver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Grey: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Blue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Green: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Brown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Pearl: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SigRed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Red: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SteelGrey: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MetallicBlack: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TitaniumCopper: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SignatureBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MidnightCherryRed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Quicksilver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., UltraRed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., StealthGrey: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., LunarSilver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., GlacierBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., DiamondBlack: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FrostBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SilkRoadSilver: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MarineBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., GarnetRed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CoastalBlue: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class RearSeatHeaters(_message.Message): + __slots__ = ("None_", "Base", "Executive", "Gentherm", "BaseModelX") + NONE__FIELD_NUMBER: _ClassVar[int] + BASE_FIELD_NUMBER: _ClassVar[int] + EXECUTIVE_FIELD_NUMBER: _ClassVar[int] + GENTHERM_FIELD_NUMBER: _ClassVar[int] + BASEMODELX_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + Base: _common_pb2.Void + Executive: _common_pb2.Void + Gentherm: _common_pb2.Void + BaseModelX: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Base: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Executive: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Gentherm: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BaseModelX: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class SeatType(_message.Message): + __slots__ = ("Base", "Recaro", "TeslaMsGen1") + BASE_FIELD_NUMBER: _ClassVar[int] + RECARO_FIELD_NUMBER: _ClassVar[int] + TESLAMSGEN1_FIELD_NUMBER: _ClassVar[int] + Base: _common_pb2.Void + Recaro: _common_pb2.Void + TeslaMsGen1: _common_pb2.Void + def __init__(self, Base: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Recaro: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TeslaMsGen1: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class RearSeatType(_message.Message): + __slots__ = ("Base", "Recaro", "Executive", "TwoSeat", "FoldFlat", "FoldFlatMotorized", "TwoSeatConsole", "FoldFlatTwoMotor", "FoldFlatTwoMotorHall", "FoldFlatHallBuckles") + BASE_FIELD_NUMBER: _ClassVar[int] + RECARO_FIELD_NUMBER: _ClassVar[int] + EXECUTIVE_FIELD_NUMBER: _ClassVar[int] + TWOSEAT_FIELD_NUMBER: _ClassVar[int] + FOLDFLAT_FIELD_NUMBER: _ClassVar[int] + FOLDFLATMOTORIZED_FIELD_NUMBER: _ClassVar[int] + TWOSEATCONSOLE_FIELD_NUMBER: _ClassVar[int] + FOLDFLATTWOMOTOR_FIELD_NUMBER: _ClassVar[int] + FOLDFLATTWOMOTORHALL_FIELD_NUMBER: _ClassVar[int] + FOLDFLATHALLBUCKLES_FIELD_NUMBER: _ClassVar[int] + Base: _common_pb2.Void + Recaro: _common_pb2.Void + Executive: _common_pb2.Void + TwoSeat: _common_pb2.Void + FoldFlat: _common_pb2.Void + FoldFlatMotorized: _common_pb2.Void + TwoSeatConsole: _common_pb2.Void + FoldFlatTwoMotor: _common_pb2.Void + FoldFlatTwoMotorHall: _common_pb2.Void + FoldFlatHallBuckles: _common_pb2.Void + def __init__(self, Base: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Recaro: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Executive: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TwoSeat: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FoldFlat: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FoldFlatMotorized: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TwoSeatConsole: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FoldFlatTwoMotor: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FoldFlatTwoMotorHall: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FoldFlatHallBuckles: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class ThirdRowSeatType(_message.Message): + __slots__ = ("None_", "FuturisFoldFlat", "FuturisNoFoldFlat", "FlatFold") + NONE__FIELD_NUMBER: _ClassVar[int] + FUTURISFOLDFLAT_FIELD_NUMBER: _ClassVar[int] + FUTURISNOFOLDFLAT_FIELD_NUMBER: _ClassVar[int] + FLATFOLD_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + FuturisFoldFlat: _common_pb2.Void + FuturisNoFoldFlat: _common_pb2.Void + FlatFold: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FuturisFoldFlat: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FuturisNoFoldFlat: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., FlatFold: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class ChargePortType(_message.Message): + __slots__ = ("US", "EU", "GB", "CCS") + US_FIELD_NUMBER: _ClassVar[int] + EU_FIELD_NUMBER: _ClassVar[int] + GB_FIELD_NUMBER: _ClassVar[int] + CCS_FIELD_NUMBER: _ClassVar[int] + US: _common_pb2.Void + EU: _common_pb2.Void + GB: _common_pb2.Void + CCS: _common_pb2.Void + def __init__(self, US: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., EU: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., GB: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CCS: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class RearDriveUnit(_message.Message): + __slots__ = ("None_", "LargeRear", "SmallRear", "PM216MOSFET", "PM216IGBT", "CorianderSingle", "CorianderDual", "PermanentMagnet", "InductionDual") + NONE__FIELD_NUMBER: _ClassVar[int] + LARGEREAR_FIELD_NUMBER: _ClassVar[int] + SMALLREAR_FIELD_NUMBER: _ClassVar[int] + PM216MOSFET_FIELD_NUMBER: _ClassVar[int] + PM216IGBT_FIELD_NUMBER: _ClassVar[int] + CORIANDERSINGLE_FIELD_NUMBER: _ClassVar[int] + CORIANDERDUAL_FIELD_NUMBER: _ClassVar[int] + PERMANENTMAGNET_FIELD_NUMBER: _ClassVar[int] + INDUCTIONDUAL_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + LargeRear: _common_pb2.Void + SmallRear: _common_pb2.Void + PM216MOSFET: _common_pb2.Void + PM216IGBT: _common_pb2.Void + CorianderSingle: _common_pb2.Void + CorianderDual: _common_pb2.Void + PermanentMagnet: _common_pb2.Void + InductionDual: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., LargeRear: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SmallRear: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PM216MOSFET: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PM216IGBT: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CorianderSingle: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CorianderDual: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PermanentMagnet: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., InductionDual: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + +class EfficiencyPackage(_message.Message): + __slots__ = ("Default", "M3SRPlus2020", "M3LR2020", "M3LRPerformance2020", "M3SRPlus2020Q4GFSH", "MY2020", "M32021", "MY2021", "SX2020", "S2", "SX2020H2", "M3SRPlus2021Q3GFSH", "M3SRPlus2021Q3Fremont", "MYSRPlus2021Q3GFSH", "MYSRPlus2022Q1TX", "MYRWDEU2022", "M3Poppyseed2024", "M32023GFSHExport", "MY2023GFSHExport", "MY2024", "MS2024", "MX2024", "MY2023SRRWD", "MY2024C", "MY2024GFSHExportSRRWD", "M3Poppyseed2024C", "M32025", "MY2025", "M32025B", "MY2025B", "MS2025", "MX2025", "MYRefresh2025ROW", "MYStandard2025", "MYRefresh2025CN", "MS2026", "MX2026", "MY2025M53", "M32025M53", "MY2025CNPlus", "MS2026B", "M32026B", "MY2026US") + DEFAULT_FIELD_NUMBER: _ClassVar[int] + M3SRPLUS2020_FIELD_NUMBER: _ClassVar[int] + M3LR2020_FIELD_NUMBER: _ClassVar[int] + M3LRPERFORMANCE2020_FIELD_NUMBER: _ClassVar[int] + M3SRPLUS2020Q4GFSH_FIELD_NUMBER: _ClassVar[int] + MY2020_FIELD_NUMBER: _ClassVar[int] + M32021_FIELD_NUMBER: _ClassVar[int] + MY2021_FIELD_NUMBER: _ClassVar[int] + SX2020_FIELD_NUMBER: _ClassVar[int] + S2_FIELD_NUMBER: _ClassVar[int] + SX2020H2_FIELD_NUMBER: _ClassVar[int] + M3SRPLUS2021Q3GFSH_FIELD_NUMBER: _ClassVar[int] + M3SRPLUS2021Q3FREMONT_FIELD_NUMBER: _ClassVar[int] + MYSRPLUS2021Q3GFSH_FIELD_NUMBER: _ClassVar[int] + MYSRPLUS2022Q1TX_FIELD_NUMBER: _ClassVar[int] + MYRWDEU2022_FIELD_NUMBER: _ClassVar[int] + M3POPPYSEED2024_FIELD_NUMBER: _ClassVar[int] + M32023GFSHEXPORT_FIELD_NUMBER: _ClassVar[int] + MY2023GFSHEXPORT_FIELD_NUMBER: _ClassVar[int] + MY2024_FIELD_NUMBER: _ClassVar[int] + MS2024_FIELD_NUMBER: _ClassVar[int] + MX2024_FIELD_NUMBER: _ClassVar[int] + MY2023SRRWD_FIELD_NUMBER: _ClassVar[int] + MY2024C_FIELD_NUMBER: _ClassVar[int] + MY2024GFSHEXPORTSRRWD_FIELD_NUMBER: _ClassVar[int] + M3POPPYSEED2024C_FIELD_NUMBER: _ClassVar[int] + M32025_FIELD_NUMBER: _ClassVar[int] + MY2025_FIELD_NUMBER: _ClassVar[int] + M32025B_FIELD_NUMBER: _ClassVar[int] + MY2025B_FIELD_NUMBER: _ClassVar[int] + MS2025_FIELD_NUMBER: _ClassVar[int] + MX2025_FIELD_NUMBER: _ClassVar[int] + MYREFRESH2025ROW_FIELD_NUMBER: _ClassVar[int] + MYSTANDARD2025_FIELD_NUMBER: _ClassVar[int] + MYREFRESH2025CN_FIELD_NUMBER: _ClassVar[int] + MS2026_FIELD_NUMBER: _ClassVar[int] + MX2026_FIELD_NUMBER: _ClassVar[int] + MY2025M53_FIELD_NUMBER: _ClassVar[int] + M32025M53_FIELD_NUMBER: _ClassVar[int] + MY2025CNPLUS_FIELD_NUMBER: _ClassVar[int] + MS2026B_FIELD_NUMBER: _ClassVar[int] + M32026B_FIELD_NUMBER: _ClassVar[int] + MY2026US_FIELD_NUMBER: _ClassVar[int] + Default: _common_pb2.Void + M3SRPlus2020: _common_pb2.Void + M3LR2020: _common_pb2.Void + M3LRPerformance2020: _common_pb2.Void + M3SRPlus2020Q4GFSH: _common_pb2.Void + MY2020: _common_pb2.Void + M32021: _common_pb2.Void + MY2021: _common_pb2.Void + SX2020: _common_pb2.Void + S2: _common_pb2.Void + SX2020H2: _common_pb2.Void + M3SRPlus2021Q3GFSH: _common_pb2.Void + M3SRPlus2021Q3Fremont: _common_pb2.Void + MYSRPlus2021Q3GFSH: _common_pb2.Void + MYSRPlus2022Q1TX: _common_pb2.Void + MYRWDEU2022: _common_pb2.Void + M3Poppyseed2024: _common_pb2.Void + M32023GFSHExport: _common_pb2.Void + MY2023GFSHExport: _common_pb2.Void + MY2024: _common_pb2.Void + MS2024: _common_pb2.Void + MX2024: _common_pb2.Void + MY2023SRRWD: _common_pb2.Void + MY2024C: _common_pb2.Void + MY2024GFSHExportSRRWD: _common_pb2.Void + M3Poppyseed2024C: _common_pb2.Void + M32025: _common_pb2.Void + MY2025: _common_pb2.Void + M32025B: _common_pb2.Void + MY2025B: _common_pb2.Void + MS2025: _common_pb2.Void + MX2025: _common_pb2.Void + MYRefresh2025ROW: _common_pb2.Void + MYStandard2025: _common_pb2.Void + MYRefresh2025CN: _common_pb2.Void + MS2026: _common_pb2.Void + MX2026: _common_pb2.Void + MY2025M53: _common_pb2.Void + M32025M53: _common_pb2.Void + MY2025CNPlus: _common_pb2.Void + MS2026B: _common_pb2.Void + M32026B: _common_pb2.Void + MY2026US: _common_pb2.Void + def __init__(self, Default: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3SRPlus2020: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3LR2020: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3LRPerformance2020: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3SRPlus2020Q4GFSH: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2020: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32021: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2021: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SX2020: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., S2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SX2020H2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3SRPlus2021Q3GFSH: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3SRPlus2021Q3Fremont: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYSRPlus2021Q3GFSH: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYSRPlus2022Q1TX: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYRWDEU2022: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3Poppyseed2024: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32023GFSHExport: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2023GFSHExport: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2024: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MS2024: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MX2024: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2023SRRWD: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2024C: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2024GFSHExportSRRWD: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M3Poppyseed2024C: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32025: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2025: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32025B: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2025B: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MS2025: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MX2025: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYRefresh2025ROW: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYStandard2025: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MYRefresh2025CN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MS2026: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MX2026: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2025M53: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32025M53: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2025CNPlus: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MS2026B: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., M32026B: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MY2026US: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class GuiSettings(_message.Message): - __slots__ = ("timestamp", "gui_24_hour_time", "show_range_units", "gui_tirepressure_units") + __slots__ = ("gui_distance_units", "gui_temperature_units", "gui_charge_rate_units", "gui_range_display", "timestamp", "gui_24_hour_time", "show_range_units", "gui_tirepressure_units") class TirePressureUnit(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () TirePressureUnitPsi: _ClassVar[GuiSettings.TirePressureUnit] TirePressureUnitBar: _ClassVar[GuiSettings.TirePressureUnit] TirePressureUnitPsi: GuiSettings.TirePressureUnit TirePressureUnitBar: GuiSettings.TirePressureUnit + class SpeedUnit(_message.Message): + __slots__ = ("KilometersPerHour", "MilesPerHour") + KILOMETERSPERHOUR_FIELD_NUMBER: _ClassVar[int] + MILESPERHOUR_FIELD_NUMBER: _ClassVar[int] + KilometersPerHour: _common_pb2.Void + MilesPerHour: _common_pb2.Void + def __init__(self, KilometersPerHour: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MilesPerHour: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class TemperatureUnit(_message.Message): + __slots__ = ("TemperatureF", "TemperatureC") + TEMPERATUREF_FIELD_NUMBER: _ClassVar[int] + TEMPERATUREC_FIELD_NUMBER: _ClassVar[int] + TemperatureF: _common_pb2.Void + TemperatureC: _common_pb2.Void + def __init__(self, TemperatureF: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TemperatureC: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class ChargeRateUnit(_message.Message): + __slots__ = ("Invalid", "KilometersPerHour", "MilesPerHour", "KW") + INVALID_FIELD_NUMBER: _ClassVar[int] + KILOMETERSPERHOUR_FIELD_NUMBER: _ClassVar[int] + MILESPERHOUR_FIELD_NUMBER: _ClassVar[int] + KW_FIELD_NUMBER: _ClassVar[int] + Invalid: _common_pb2.Void + KilometersPerHour: _common_pb2.Void + MilesPerHour: _common_pb2.Void + KW: _common_pb2.Void + def __init__(self, Invalid: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., KilometersPerHour: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MilesPerHour: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., KW: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class RangeDisplay(_message.Message): + __slots__ = ("Ideal", "Rated") + IDEAL_FIELD_NUMBER: _ClassVar[int] + RATED_FIELD_NUMBER: _ClassVar[int] + Ideal: _common_pb2.Void + Rated: _common_pb2.Void + def __init__(self, Ideal: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Rated: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + GUI_DISTANCE_UNITS_FIELD_NUMBER: _ClassVar[int] + GUI_TEMPERATURE_UNITS_FIELD_NUMBER: _ClassVar[int] + GUI_CHARGE_RATE_UNITS_FIELD_NUMBER: _ClassVar[int] + GUI_RANGE_DISPLAY_FIELD_NUMBER: _ClassVar[int] TIMESTAMP_FIELD_NUMBER: _ClassVar[int] GUI_24_HOUR_TIME_FIELD_NUMBER: _ClassVar[int] SHOW_RANGE_UNITS_FIELD_NUMBER: _ClassVar[int] GUI_TIREPRESSURE_UNITS_FIELD_NUMBER: _ClassVar[int] + gui_distance_units: GuiSettings.SpeedUnit + gui_temperature_units: GuiSettings.TemperatureUnit + gui_charge_rate_units: GuiSettings.ChargeRateUnit + gui_range_display: GuiSettings.RangeDisplay timestamp: _timestamp_pb2.Timestamp gui_24_hour_time: bool show_range_units: bool gui_tirepressure_units: GuiSettings.TirePressureUnit - def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., gui_24_hour_time: _Optional[bool] = ..., show_range_units: _Optional[bool] = ..., gui_tirepressure_units: _Optional[_Union[GuiSettings.TirePressureUnit, str]] = ...) -> None: ... + def __init__(self, gui_distance_units: _Optional[_Union[GuiSettings.SpeedUnit, _Mapping]] = ..., gui_temperature_units: _Optional[_Union[GuiSettings.TemperatureUnit, _Mapping]] = ..., gui_charge_rate_units: _Optional[_Union[GuiSettings.ChargeRateUnit, _Mapping]] = ..., gui_range_display: _Optional[_Union[GuiSettings.RangeDisplay, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., gui_24_hour_time: _Optional[bool] = ..., show_range_units: _Optional[bool] = ..., gui_tirepressure_units: _Optional[_Union[GuiSettings.TirePressureUnit, str]] = ...) -> None: ... class VehicleConfig(_message.Message): - __slots__ = ("interior_trim_type", "exterior_trim_type", "red_brake_calipers", "use_range_badging", "range_plus_badging", "has_ludicrous_mode", "can_actuate_trunks", "has_air_suspension", "ece_restrictions", "eu_vehicle", "motorized_charge_port", "can_accept_navigation_requests", "key_version", "mobile_enabled", "default_charge_to_max", "steering_wheel_heater_installed", "sentry_mode_supported", "homelink_supported", "webcam_supported", "bioweapon_mode_supported", "dashcam_clip_save_supported", "has_pws", "utc_offset", "has_seat_cooling", "paint_color_override", "tpms_pressures_supported", "vehicle_badging", "exterior_trim_override", "headlamp_type", "aux_park_lamps", "is_raven", "has_auto_seat_climate", "has_front_row_seat_heaters", "has_third_row_seat_heaters", "supports_qr_pairing", "disable_window_vent_close", "webcam_selfie_supported", "cop_user_set_temp_supported", "has_auto_stw_heat", "rearlight_type", "rear_seat_heater_type", "webcam_grid_supported", "has_tesla_badge", "has_tesla_wordmark", "fascia_type", "accessory_lightbar_type", "sentry_preview_supported", "seat_trim_type", "drivetrain_type", "lightshow_supported", "mobile_dashcam_viewer_version", "has_premium_connectivity", "car_wrap_enabled", "supports_ride_height", "supports_set_arrival_energy", "supports_pillar_camera_metadata", "chassis_type", "is_china_vehicle", "is_using_unreal_apviz", "supports_flexible_dashcam_bitrate", "front_fascia_camera_type", "turn_indicator_control_type", "has_rear_display", "window_tint_color", "interior_upper_trim_type", "badging_material_type", "webcam_interior_only", "country_code", "bed_lighting_type", "rear_light_hardware_variant", "autopilot_base", "autopilot_override_state", "autopilot_override_expire_time", "supports_dynamic_environments", "wheel_caps_on") + __slots__ = ("car_special_type", "car_trim", "car_type", "sun_roof_installed", "wheel_type", "spoiler_type", "roof_color", "exterior_color", "rear_seat_heaters", "seat_type", "rear_seat_type", "third_row_seat_type", "charge_port_type", "timestamp", "interior_trim_type", "driver_assist", "performance_package", "front_drive_unit", "rear_drive_unit", "efficiency_package", "exterior_trim_type", "steering_wheel_type", "red_brake_calipers", "use_range_badging", "range_plus_badging", "has_ludicrous_mode", "can_actuate_trunks", "has_air_suspension", "rhd", "plg", "ece_restrictions", "eu_vehicle", "motorized_charge_port", "can_accept_navigation_requests", "key_version", "mobile_enabled", "default_charge_to_max", "steering_wheel_heater_installed", "sentry_mode_supported", "homelink_supported", "webcam_supported", "bioweapon_mode_supported", "dashcam_clip_save_supported", "has_pws", "utc_offset", "has_seat_cooling", "paint_color_override", "tpms_pressures_supported", "vehicle_badging", "exterior_trim_override", "headlamp_type", "aux_park_lamps", "is_raven", "has_auto_seat_climate", "has_front_row_seat_heaters", "has_third_row_seat_heaters", "supports_qr_pairing", "vin", "disable_window_vent_close", "webcam_selfie_supported", "cop_user_set_temp_supported", "has_auto_stw_heat", "rearlight_type", "rear_seat_heater_type", "webcam_grid_supported", "has_tesla_badge", "has_tesla_wordmark", "fascia_type", "accessory_lightbar_type", "sentry_preview_supported", "seat_trim_type", "drivetrain_type", "lightshow_supported", "mobile_dashcam_viewer_version", "has_premium_connectivity", "car_wrap_enabled", "supports_ride_height", "supports_set_arrival_energy", "supports_pillar_camera_metadata", "chassis_type", "is_china_vehicle", "is_using_unreal_apviz", "supports_flexible_dashcam_bitrate", "front_fascia_camera_type", "turn_indicator_control_type", "has_rear_display", "window_tint_color", "interior_upper_trim_type", "badging_material_type", "webcam_interior_only", "country_code", "bed_lighting_type", "rear_light_hardware_variant", "autopilot_base", "autopilot_override_state", "autopilot_override_expire_time", "supports_dynamic_environments", "wheel_caps_on") class AuxParkLamps_E(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () AuxParkLampsNaBase: _ClassVar[VehicleConfig.AuxParkLamps_E] @@ -2124,12 +2747,81 @@ class VehicleConfig(_message.Message): TurnIndicatorControlTypeUnknown: VehicleConfig.TurnIndicatorControlType TurnIndicatorControlTypeSingleDetentStalk: VehicleConfig.TurnIndicatorControlType TurnIndicatorControlTypeSWSButton: VehicleConfig.TurnIndicatorControlType + class CarType(_message.Message): + __slots__ = ("CarTypeModelS", "CarTypeModelX", "CarTypeModelS2", "CarTypeModel3", "CarTypeModelY", "CarTypeSemiTruck", "CarTypeLychee", "CarTypeTamarind", "CarTypeCybertruck", "CarTypeSemiTruckV2") + CARTYPEMODELS_FIELD_NUMBER: _ClassVar[int] + CARTYPEMODELX_FIELD_NUMBER: _ClassVar[int] + CARTYPEMODELS2_FIELD_NUMBER: _ClassVar[int] + CARTYPEMODEL3_FIELD_NUMBER: _ClassVar[int] + CARTYPEMODELY_FIELD_NUMBER: _ClassVar[int] + CARTYPESEMITRUCK_FIELD_NUMBER: _ClassVar[int] + CARTYPELYCHEE_FIELD_NUMBER: _ClassVar[int] + CARTYPETAMARIND_FIELD_NUMBER: _ClassVar[int] + CARTYPECYBERTRUCK_FIELD_NUMBER: _ClassVar[int] + CARTYPESEMITRUCKV2_FIELD_NUMBER: _ClassVar[int] + CarTypeModelS: _common_pb2.Void + CarTypeModelX: _common_pb2.Void + CarTypeModelS2: _common_pb2.Void + CarTypeModel3: _common_pb2.Void + CarTypeModelY: _common_pb2.Void + CarTypeSemiTruck: _common_pb2.Void + CarTypeLychee: _common_pb2.Void + CarTypeTamarind: _common_pb2.Void + CarTypeCybertruck: _common_pb2.Void + CarTypeSemiTruckV2: _common_pb2.Void + def __init__(self, CarTypeModelS: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeModelX: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeModelS2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeModel3: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeModelY: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeSemiTruck: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeLychee: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeTamarind: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeCybertruck: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CarTypeSemiTruckV2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class DriverAssist(_message.Message): + __slots__ = ("None_", "MonoCam", "ParkerPascal", "ParkerPascal25", "TeslaAP3") + NONE__FIELD_NUMBER: _ClassVar[int] + MONOCAM_FIELD_NUMBER: _ClassVar[int] + PARKERPASCAL_FIELD_NUMBER: _ClassVar[int] + PARKERPASCAL25_FIELD_NUMBER: _ClassVar[int] + TESLAAP3_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + MonoCam: _common_pb2.Void + ParkerPascal: _common_pb2.Void + ParkerPascal25: _common_pb2.Void + TeslaAP3: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., MonoCam: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ParkerPascal: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ParkerPascal25: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TeslaAP3: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class PerformancePackage(_message.Message): + __slots__ = ("None_", "Base", "Performance", "BasePlus") + NONE__FIELD_NUMBER: _ClassVar[int] + BASE_FIELD_NUMBER: _ClassVar[int] + PERFORMANCE_FIELD_NUMBER: _ClassVar[int] + BASEPLUS_FIELD_NUMBER: _ClassVar[int] + None_: _common_pb2.Void + Base: _common_pb2.Void + Performance: _common_pb2.Void + BasePlus: _common_pb2.Void + def __init__(self, None_: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Base: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Performance: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BasePlus: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class FrontDriveUnit(_message.Message): + __slots__ = ("NoneOrSmall", "PermanentMagnet") + NONEORSMALL_FIELD_NUMBER: _ClassVar[int] + PERMANENTMAGNET_FIELD_NUMBER: _ClassVar[int] + NoneOrSmall: _common_pb2.Void + PermanentMagnet: _common_pb2.Void + def __init__(self, NoneOrSmall: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., PermanentMagnet: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + class SteeringWheelType(_message.Message): + __slots__ = ("Unknown", "Round", "Yoke", "Squircle") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + ROUND_FIELD_NUMBER: _ClassVar[int] + YOKE_FIELD_NUMBER: _ClassVar[int] + SQUIRCLE_FIELD_NUMBER: _ClassVar[int] + Unknown: _common_pb2.Void + Round: _common_pb2.Void + Yoke: _common_pb2.Void + Squircle: _common_pb2.Void + def __init__(self, Unknown: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Round: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Yoke: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Squircle: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class InteriorTrimType(_message.Message): - __slots__ = ("BLACKCONSOLE2", "WHITECONSOLE2", "ALLBLACK", "BLACKANDWHITE", "WALNUTCREAM", "WALNUTWHITE", "EBONYBLACK", "CARBONCREAM", "CARBONWHITE", "CARBONBLACK", "TACTICALGREY") + __slots__ = ("UNKNOWN", "BLACK", "WHITE", "BLACKCONSOLE2", "WHITECONSOLE2", "ALLBLACK", "BLACKANDWHITE", "CREAM", "WALNUTCREAM", "WALNUTWHITE", "EBONYBLACK", "CARBONCREAM", "CARBONWHITE", "CARBONBLACK", "TACTICALGREY") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + BLACK_FIELD_NUMBER: _ClassVar[int] + WHITE_FIELD_NUMBER: _ClassVar[int] BLACKCONSOLE2_FIELD_NUMBER: _ClassVar[int] WHITECONSOLE2_FIELD_NUMBER: _ClassVar[int] ALLBLACK_FIELD_NUMBER: _ClassVar[int] BLACKANDWHITE_FIELD_NUMBER: _ClassVar[int] + CREAM_FIELD_NUMBER: _ClassVar[int] WALNUTCREAM_FIELD_NUMBER: _ClassVar[int] WALNUTWHITE_FIELD_NUMBER: _ClassVar[int] EBONYBLACK_FIELD_NUMBER: _ClassVar[int] @@ -2137,10 +2829,14 @@ class VehicleConfig(_message.Message): CARBONWHITE_FIELD_NUMBER: _ClassVar[int] CARBONBLACK_FIELD_NUMBER: _ClassVar[int] TACTICALGREY_FIELD_NUMBER: _ClassVar[int] + UNKNOWN: _common_pb2.Void + BLACK: _common_pb2.Void + WHITE: _common_pb2.Void BLACKCONSOLE2: _common_pb2.Void WHITECONSOLE2: _common_pb2.Void ALLBLACK: _common_pb2.Void BLACKANDWHITE: _common_pb2.Void + CREAM: _common_pb2.Void WALNUTCREAM: _common_pb2.Void WALNUTWHITE: _common_pb2.Void EBONYBLACK: _common_pb2.Void @@ -2148,22 +2844,46 @@ class VehicleConfig(_message.Message): CARBONWHITE: _common_pb2.Void CARBONBLACK: _common_pb2.Void TACTICALGREY: _common_pb2.Void - def __init__(self, BLACKCONSOLE2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WHITECONSOLE2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ALLBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BLACKANDWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WALNUTCREAM: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WALNUTWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., EBONYBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONCREAM: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TACTICALGREY: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + def __init__(self, UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BLACKCONSOLE2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WHITECONSOLE2: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ALLBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., BLACKANDWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CREAM: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WALNUTCREAM: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., WALNUTWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., EBONYBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONCREAM: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONWHITE: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., CARBONBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., TACTICALGREY: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class ExteriorTrimType(_message.Message): - __slots__ = ("STANDARDCHROME", "SATINBLACK") + __slots__ = ("UNKNOWN", "STANDARDCHROME", "SATINBLACK") + UNKNOWN_FIELD_NUMBER: _ClassVar[int] STANDARDCHROME_FIELD_NUMBER: _ClassVar[int] SATINBLACK_FIELD_NUMBER: _ClassVar[int] + UNKNOWN: _common_pb2.Void STANDARDCHROME: _common_pb2.Void SATINBLACK: _common_pb2.Void - def __init__(self, STANDARDCHROME: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SATINBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + def __init__(self, UNKNOWN: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., STANDARDCHROME: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., SATINBLACK: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... + CAR_SPECIAL_TYPE_FIELD_NUMBER: _ClassVar[int] + CAR_TRIM_FIELD_NUMBER: _ClassVar[int] + CAR_TYPE_FIELD_NUMBER: _ClassVar[int] + SUN_ROOF_INSTALLED_FIELD_NUMBER: _ClassVar[int] + WHEEL_TYPE_FIELD_NUMBER: _ClassVar[int] + SPOILER_TYPE_FIELD_NUMBER: _ClassVar[int] + ROOF_COLOR_FIELD_NUMBER: _ClassVar[int] + EXTERIOR_COLOR_FIELD_NUMBER: _ClassVar[int] + REAR_SEAT_HEATERS_FIELD_NUMBER: _ClassVar[int] + SEAT_TYPE_FIELD_NUMBER: _ClassVar[int] + REAR_SEAT_TYPE_FIELD_NUMBER: _ClassVar[int] + THIRD_ROW_SEAT_TYPE_FIELD_NUMBER: _ClassVar[int] + CHARGE_PORT_TYPE_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] INTERIOR_TRIM_TYPE_FIELD_NUMBER: _ClassVar[int] + DRIVER_ASSIST_FIELD_NUMBER: _ClassVar[int] + PERFORMANCE_PACKAGE_FIELD_NUMBER: _ClassVar[int] + FRONT_DRIVE_UNIT_FIELD_NUMBER: _ClassVar[int] + REAR_DRIVE_UNIT_FIELD_NUMBER: _ClassVar[int] + EFFICIENCY_PACKAGE_FIELD_NUMBER: _ClassVar[int] EXTERIOR_TRIM_TYPE_FIELD_NUMBER: _ClassVar[int] + STEERING_WHEEL_TYPE_FIELD_NUMBER: _ClassVar[int] RED_BRAKE_CALIPERS_FIELD_NUMBER: _ClassVar[int] USE_RANGE_BADGING_FIELD_NUMBER: _ClassVar[int] RANGE_PLUS_BADGING_FIELD_NUMBER: _ClassVar[int] HAS_LUDICROUS_MODE_FIELD_NUMBER: _ClassVar[int] CAN_ACTUATE_TRUNKS_FIELD_NUMBER: _ClassVar[int] HAS_AIR_SUSPENSION_FIELD_NUMBER: _ClassVar[int] + RHD_FIELD_NUMBER: _ClassVar[int] + PLG_FIELD_NUMBER: _ClassVar[int] ECE_RESTRICTIONS_FIELD_NUMBER: _ClassVar[int] EU_VEHICLE_FIELD_NUMBER: _ClassVar[int] MOTORIZED_CHARGE_PORT_FIELD_NUMBER: _ClassVar[int] @@ -2191,6 +2911,7 @@ class VehicleConfig(_message.Message): HAS_FRONT_ROW_SEAT_HEATERS_FIELD_NUMBER: _ClassVar[int] HAS_THIRD_ROW_SEAT_HEATERS_FIELD_NUMBER: _ClassVar[int] SUPPORTS_QR_PAIRING_FIELD_NUMBER: _ClassVar[int] + VIN_FIELD_NUMBER: _ClassVar[int] DISABLE_WINDOW_VENT_CLOSE_FIELD_NUMBER: _ClassVar[int] WEBCAM_SELFIE_SUPPORTED_FIELD_NUMBER: _ClassVar[int] COP_USER_SET_TEMP_SUPPORTED_FIELD_NUMBER: _ClassVar[int] @@ -2231,14 +2952,36 @@ class VehicleConfig(_message.Message): AUTOPILOT_OVERRIDE_EXPIRE_TIME_FIELD_NUMBER: _ClassVar[int] SUPPORTS_DYNAMIC_ENVIRONMENTS_FIELD_NUMBER: _ClassVar[int] WHEEL_CAPS_ON_FIELD_NUMBER: _ClassVar[int] + car_special_type: VehicleBadging + car_trim: CarTrim + car_type: VehicleConfig.CarType + sun_roof_installed: SunRoofType + wheel_type: WheelType + spoiler_type: SpoilerType + roof_color: RoofColor + exterior_color: ExteriorColor + rear_seat_heaters: RearSeatHeaters + seat_type: SeatType + rear_seat_type: RearSeatType + third_row_seat_type: ThirdRowSeatType + charge_port_type: ChargePortType + timestamp: _timestamp_pb2.Timestamp interior_trim_type: VehicleConfig.InteriorTrimType + driver_assist: VehicleConfig.DriverAssist + performance_package: VehicleConfig.PerformancePackage + front_drive_unit: VehicleConfig.FrontDriveUnit + rear_drive_unit: RearDriveUnit + efficiency_package: EfficiencyPackage exterior_trim_type: VehicleConfig.ExteriorTrimType + steering_wheel_type: VehicleConfig.SteeringWheelType red_brake_calipers: bool use_range_badging: bool range_plus_badging: bool has_ludicrous_mode: bool can_actuate_trunks: bool has_air_suspension: bool + rhd: bool + plg: bool ece_restrictions: bool eu_vehicle: bool motorized_charge_port: bool @@ -2266,6 +3009,7 @@ class VehicleConfig(_message.Message): has_front_row_seat_heaters: bool has_third_row_seat_heaters: bool supports_qr_pairing: bool + vin: str disable_window_vent_close: bool webcam_selfie_supported: bool cop_user_set_temp_supported: bool @@ -2306,7 +3050,7 @@ class VehicleConfig(_message.Message): autopilot_override_expire_time: int supports_dynamic_environments: bool wheel_caps_on: bool - def __init__(self, interior_trim_type: _Optional[_Union[VehicleConfig.InteriorTrimType, _Mapping]] = ..., exterior_trim_type: _Optional[_Union[VehicleConfig.ExteriorTrimType, _Mapping]] = ..., red_brake_calipers: _Optional[bool] = ..., use_range_badging: _Optional[bool] = ..., range_plus_badging: _Optional[bool] = ..., has_ludicrous_mode: _Optional[bool] = ..., can_actuate_trunks: _Optional[bool] = ..., has_air_suspension: _Optional[bool] = ..., ece_restrictions: _Optional[bool] = ..., eu_vehicle: _Optional[bool] = ..., motorized_charge_port: _Optional[bool] = ..., can_accept_navigation_requests: _Optional[bool] = ..., key_version: _Optional[int] = ..., mobile_enabled: _Optional[bool] = ..., default_charge_to_max: _Optional[bool] = ..., steering_wheel_heater_installed: _Optional[bool] = ..., sentry_mode_supported: _Optional[bool] = ..., homelink_supported: _Optional[bool] = ..., webcam_supported: _Optional[bool] = ..., bioweapon_mode_supported: _Optional[bool] = ..., dashcam_clip_save_supported: _Optional[bool] = ..., has_pws: _Optional[bool] = ..., utc_offset: _Optional[int] = ..., has_seat_cooling: _Optional[bool] = ..., paint_color_override: _Optional[str] = ..., tpms_pressures_supported: _Optional[bool] = ..., vehicle_badging: _Optional[int] = ..., exterior_trim_override: _Optional[str] = ..., headlamp_type: _Optional[_Union[VehicleConfig.HeadlampType_E, str]] = ..., aux_park_lamps: _Optional[_Union[VehicleConfig.AuxParkLamps_E, str]] = ..., is_raven: _Optional[bool] = ..., has_auto_seat_climate: _Optional[bool] = ..., has_front_row_seat_heaters: _Optional[bool] = ..., has_third_row_seat_heaters: _Optional[bool] = ..., supports_qr_pairing: _Optional[bool] = ..., disable_window_vent_close: _Optional[bool] = ..., webcam_selfie_supported: _Optional[bool] = ..., cop_user_set_temp_supported: _Optional[bool] = ..., has_auto_stw_heat: _Optional[bool] = ..., rearlight_type: _Optional[_Union[VehicleConfig.RearLightType, str]] = ..., rear_seat_heater_type: _Optional[_Union[_common_pb2.RearSeatHeaterType, str]] = ..., webcam_grid_supported: _Optional[bool] = ..., has_tesla_badge: _Optional[bool] = ..., has_tesla_wordmark: _Optional[bool] = ..., fascia_type: _Optional[_Union[_common_pb2.FasciaType, str]] = ..., accessory_lightbar_type: _Optional[_Union[_common_pb2.AccessoryLightbarType, str]] = ..., sentry_preview_supported: _Optional[bool] = ..., seat_trim_type: _Optional[_Union[VehicleConfig.SeatTrimType, str]] = ..., drivetrain_type: _Optional[_Union[VehicleConfig.DrivetrainType, str]] = ..., lightshow_supported: _Optional[bool] = ..., mobile_dashcam_viewer_version: _Optional[int] = ..., has_premium_connectivity: _Optional[bool] = ..., car_wrap_enabled: _Optional[bool] = ..., supports_ride_height: _Optional[bool] = ..., supports_set_arrival_energy: _Optional[bool] = ..., supports_pillar_camera_metadata: _Optional[bool] = ..., chassis_type: _Optional[_Union[_common_pb2.ChassisType, str]] = ..., is_china_vehicle: _Optional[bool] = ..., is_using_unreal_apviz: _Optional[bool] = ..., supports_flexible_dashcam_bitrate: _Optional[bool] = ..., front_fascia_camera_type: _Optional[_Union[VehicleConfig.FrontFasciaCameraType, str]] = ..., turn_indicator_control_type: _Optional[_Union[VehicleConfig.TurnIndicatorControlType, str]] = ..., has_rear_display: _Optional[bool] = ..., window_tint_color: _Optional[str] = ..., interior_upper_trim_type: _Optional[_Union[VehicleConfig.InteriorUpperTrimType, str]] = ..., badging_material_type: _Optional[_Union[VehicleConfig.BadgingMaterialType, str]] = ..., webcam_interior_only: _Optional[bool] = ..., country_code: _Optional[str] = ..., bed_lighting_type: _Optional[_Union[VehicleConfig.BedLightingType, str]] = ..., rear_light_hardware_variant: _Optional[_Union[VehicleConfig.RearLightHardwareVariant, str]] = ..., autopilot_base: _Optional[_Union[AutopilotBase, str]] = ..., autopilot_override_state: _Optional[_Union[AutopilotOverrideState, str]] = ..., autopilot_override_expire_time: _Optional[int] = ..., supports_dynamic_environments: _Optional[bool] = ..., wheel_caps_on: _Optional[bool] = ...) -> None: ... + def __init__(self, car_special_type: _Optional[_Union[VehicleBadging, _Mapping]] = ..., car_trim: _Optional[_Union[CarTrim, _Mapping]] = ..., car_type: _Optional[_Union[VehicleConfig.CarType, _Mapping]] = ..., sun_roof_installed: _Optional[_Union[SunRoofType, _Mapping]] = ..., wheel_type: _Optional[_Union[WheelType, _Mapping]] = ..., spoiler_type: _Optional[_Union[SpoilerType, _Mapping]] = ..., roof_color: _Optional[_Union[RoofColor, _Mapping]] = ..., exterior_color: _Optional[_Union[ExteriorColor, _Mapping]] = ..., rear_seat_heaters: _Optional[_Union[RearSeatHeaters, _Mapping]] = ..., seat_type: _Optional[_Union[SeatType, _Mapping]] = ..., rear_seat_type: _Optional[_Union[RearSeatType, _Mapping]] = ..., third_row_seat_type: _Optional[_Union[ThirdRowSeatType, _Mapping]] = ..., charge_port_type: _Optional[_Union[ChargePortType, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., interior_trim_type: _Optional[_Union[VehicleConfig.InteriorTrimType, _Mapping]] = ..., driver_assist: _Optional[_Union[VehicleConfig.DriverAssist, _Mapping]] = ..., performance_package: _Optional[_Union[VehicleConfig.PerformancePackage, _Mapping]] = ..., front_drive_unit: _Optional[_Union[VehicleConfig.FrontDriveUnit, _Mapping]] = ..., rear_drive_unit: _Optional[_Union[RearDriveUnit, _Mapping]] = ..., efficiency_package: _Optional[_Union[EfficiencyPackage, _Mapping]] = ..., exterior_trim_type: _Optional[_Union[VehicleConfig.ExteriorTrimType, _Mapping]] = ..., steering_wheel_type: _Optional[_Union[VehicleConfig.SteeringWheelType, _Mapping]] = ..., red_brake_calipers: _Optional[bool] = ..., use_range_badging: _Optional[bool] = ..., range_plus_badging: _Optional[bool] = ..., has_ludicrous_mode: _Optional[bool] = ..., can_actuate_trunks: _Optional[bool] = ..., has_air_suspension: _Optional[bool] = ..., rhd: _Optional[bool] = ..., plg: _Optional[bool] = ..., ece_restrictions: _Optional[bool] = ..., eu_vehicle: _Optional[bool] = ..., motorized_charge_port: _Optional[bool] = ..., can_accept_navigation_requests: _Optional[bool] = ..., key_version: _Optional[int] = ..., mobile_enabled: _Optional[bool] = ..., default_charge_to_max: _Optional[bool] = ..., steering_wheel_heater_installed: _Optional[bool] = ..., sentry_mode_supported: _Optional[bool] = ..., homelink_supported: _Optional[bool] = ..., webcam_supported: _Optional[bool] = ..., bioweapon_mode_supported: _Optional[bool] = ..., dashcam_clip_save_supported: _Optional[bool] = ..., has_pws: _Optional[bool] = ..., utc_offset: _Optional[int] = ..., has_seat_cooling: _Optional[bool] = ..., paint_color_override: _Optional[str] = ..., tpms_pressures_supported: _Optional[bool] = ..., vehicle_badging: _Optional[int] = ..., exterior_trim_override: _Optional[str] = ..., headlamp_type: _Optional[_Union[VehicleConfig.HeadlampType_E, str]] = ..., aux_park_lamps: _Optional[_Union[VehicleConfig.AuxParkLamps_E, str]] = ..., is_raven: _Optional[bool] = ..., has_auto_seat_climate: _Optional[bool] = ..., has_front_row_seat_heaters: _Optional[bool] = ..., has_third_row_seat_heaters: _Optional[bool] = ..., supports_qr_pairing: _Optional[bool] = ..., vin: _Optional[str] = ..., disable_window_vent_close: _Optional[bool] = ..., webcam_selfie_supported: _Optional[bool] = ..., cop_user_set_temp_supported: _Optional[bool] = ..., has_auto_stw_heat: _Optional[bool] = ..., rearlight_type: _Optional[_Union[VehicleConfig.RearLightType, str]] = ..., rear_seat_heater_type: _Optional[_Union[_common_pb2.RearSeatHeaterType, str]] = ..., webcam_grid_supported: _Optional[bool] = ..., has_tesla_badge: _Optional[bool] = ..., has_tesla_wordmark: _Optional[bool] = ..., fascia_type: _Optional[_Union[_common_pb2.FasciaType, str]] = ..., accessory_lightbar_type: _Optional[_Union[_common_pb2.AccessoryLightbarType, str]] = ..., sentry_preview_supported: _Optional[bool] = ..., seat_trim_type: _Optional[_Union[VehicleConfig.SeatTrimType, str]] = ..., drivetrain_type: _Optional[_Union[VehicleConfig.DrivetrainType, str]] = ..., lightshow_supported: _Optional[bool] = ..., mobile_dashcam_viewer_version: _Optional[int] = ..., has_premium_connectivity: _Optional[bool] = ..., car_wrap_enabled: _Optional[bool] = ..., supports_ride_height: _Optional[bool] = ..., supports_set_arrival_energy: _Optional[bool] = ..., supports_pillar_camera_metadata: _Optional[bool] = ..., chassis_type: _Optional[_Union[_common_pb2.ChassisType, str]] = ..., is_china_vehicle: _Optional[bool] = ..., is_using_unreal_apviz: _Optional[bool] = ..., supports_flexible_dashcam_bitrate: _Optional[bool] = ..., front_fascia_camera_type: _Optional[_Union[VehicleConfig.FrontFasciaCameraType, str]] = ..., turn_indicator_control_type: _Optional[_Union[VehicleConfig.TurnIndicatorControlType, str]] = ..., has_rear_display: _Optional[bool] = ..., window_tint_color: _Optional[str] = ..., interior_upper_trim_type: _Optional[_Union[VehicleConfig.InteriorUpperTrimType, str]] = ..., badging_material_type: _Optional[_Union[VehicleConfig.BadgingMaterialType, str]] = ..., webcam_interior_only: _Optional[bool] = ..., country_code: _Optional[str] = ..., bed_lighting_type: _Optional[_Union[VehicleConfig.BedLightingType, str]] = ..., rear_light_hardware_variant: _Optional[_Union[VehicleConfig.RearLightHardwareVariant, str]] = ..., autopilot_base: _Optional[_Union[AutopilotBase, str]] = ..., autopilot_override_state: _Optional[_Union[AutopilotOverrideState, str]] = ..., autopilot_override_expire_time: _Optional[int] = ..., supports_dynamic_environments: _Optional[bool] = ..., wheel_caps_on: _Optional[bool] = ...) -> None: ... class ParkedAccessoryState(_message.Message): __slots__ = ("tent_mode_request", "horizon_leveling_state", "front_zone_light_request", "rear_zone_light_request", "truck_bed_lights_brightness", "truck_bed_lights_auto_brightness", "truck_bed_lights_auto_state", "truck_bed_lights_controls_disabled", "accessory_lightbar_middle_on", "accessory_lightbar_ditch_on", "accessory_lightbar_brightness", "accessory_lightbar_low", "accessory_lightbar_med", "accessory_lightbar_high", "has_tent_mode", "timestamp") @@ -2357,11 +3101,23 @@ class SohState(_message.Message): SOH_NO_INTERNET: SohState.WarrantyServiceResult SOH_UNKNOWN: SohState.WarrantyServiceResult class SohTestPhase(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Discharge", "DischargeRest", "Charge", "ChargeRest") + DISCHARGE_FIELD_NUMBER: _ClassVar[int] + DISCHARGEREST_FIELD_NUMBER: _ClassVar[int] + CHARGE_FIELD_NUMBER: _ClassVar[int] + CHARGEREST_FIELD_NUMBER: _ClassVar[int] + Discharge: _common_pb2.Void + DischargeRest: _common_pb2.Void + Charge: _common_pb2.Void + ChargeRest: _common_pb2.Void + def __init__(self, Discharge: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., DischargeRest: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Charge: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., ChargeRest: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class SohTestEndMode(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("Complete", "Failed") + COMPLETE_FIELD_NUMBER: _ClassVar[int] + FAILED_FIELD_NUMBER: _ClassVar[int] + Complete: _common_pb2.Void + Failed: _common_pb2.Void + def __init__(self, Complete: _Optional[_Union[_common_pb2.Void, _Mapping]] = ..., Failed: _Optional[_Union[_common_pb2.Void, _Mapping]] = ...) -> None: ... class SohTestState(_message.Message): __slots__ = ("soh_test_phase", "soh_time_estimate", "soh_time_remaining") SOH_TEST_PHASE_FIELD_NUMBER: _ClassVar[int] @@ -2372,20 +3128,20 @@ class SohState(_message.Message): soh_time_remaining: float def __init__(self, soh_test_phase: _Optional[_Union[SohState.SohTestPhase, _Mapping]] = ..., soh_time_estimate: _Optional[float] = ..., soh_time_remaining: _Optional[float] = ...) -> None: ... class SohResult(_message.Message): - __slots__ = ("field_3", "soh_calibrated", "soh_last_test_time", "soh_health_result", "soh_distance_since_soh_test", "soh_regulated") - FIELD_3_FIELD_NUMBER: _ClassVar[int] + __slots__ = ("soh", "soh_calibrated", "soh_last_test_time", "soh_health_result", "soh_distance_since_soh_test", "soh_regulated") + SOH_FIELD_NUMBER: _ClassVar[int] SOH_CALIBRATED_FIELD_NUMBER: _ClassVar[int] SOH_LAST_TEST_TIME_FIELD_NUMBER: _ClassVar[int] SOH_HEALTH_RESULT_FIELD_NUMBER: _ClassVar[int] SOH_DISTANCE_SINCE_SOH_TEST_FIELD_NUMBER: _ClassVar[int] SOH_REGULATED_FIELD_NUMBER: _ClassVar[int] - field_3: float + soh: float soh_calibrated: bool soh_last_test_time: int soh_health_result: SohState.WarrantyServiceResult soh_distance_since_soh_test: int soh_regulated: bool - def __init__(self, field_3: _Optional[float] = ..., soh_calibrated: _Optional[bool] = ..., soh_last_test_time: _Optional[int] = ..., soh_health_result: _Optional[_Union[SohState.WarrantyServiceResult, str]] = ..., soh_distance_since_soh_test: _Optional[int] = ..., soh_regulated: _Optional[bool] = ...) -> None: ... + def __init__(self, soh: _Optional[float] = ..., soh_calibrated: _Optional[bool] = ..., soh_last_test_time: _Optional[int] = ..., soh_health_result: _Optional[_Union[SohState.WarrantyServiceResult, str]] = ..., soh_distance_since_soh_test: _Optional[int] = ..., soh_regulated: _Optional[bool] = ...) -> None: ... SOH_TEST_STATE_FIELD_NUMBER: _ClassVar[int] SOH_TEST_END_MODE_FIELD_NUMBER: _ClassVar[int] SOH_RESULT_FIELD_NUMBER: _ClassVar[int] @@ -2537,3 +3293,13 @@ class VehicleDetailState(_message.Message): china_autopilot_software_version: str is_fsd_v14_or_above: bool def __init__(self, timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., vehicle_name: _Optional[str] = ..., car_version: _Optional[str] = ..., detailed_version: _Optional[str] = ..., autopilot_hash: _Optional[str] = ..., fsd_software_version: _Optional[str] = ..., current_profile_name: _Optional[str] = ..., china_autopilot_software_version: _Optional[str] = ..., is_fsd_v14_or_above: _Optional[bool] = ...) -> None: ... + +class KeepOnAccessoryPortsState(_message.Message): + __slots__ = ("keep_on_cabin_12v_port_request", "keep_on_cabin_48v_port_request", "timestamp") + KEEP_ON_CABIN_12V_PORT_REQUEST_FIELD_NUMBER: _ClassVar[int] + KEEP_ON_CABIN_48V_PORT_REQUEST_FIELD_NUMBER: _ClassVar[int] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + keep_on_cabin_12v_port_request: KeepOnAccessoryPortRequest + keep_on_cabin_48v_port_request: KeepOnAccessoryPortRequest + timestamp: _timestamp_pb2.Timestamp + def __init__(self, keep_on_cabin_12v_port_request: _Optional[_Union[KeepOnAccessoryPortRequest, str]] = ..., keep_on_cabin_48v_port_request: _Optional[_Union[KeepOnAccessoryPortRequest, str]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/energy_device/__init__.pyi b/packages/python/tesla_protocol/energy_device/__init__.pyi index bf21d7a..6e7bd58 100644 --- a/packages/python/tesla_protocol/energy_device/__init__.pyi +++ b/packages/python/tesla_protocol/energy_device/__init__.pyi @@ -12,7 +12,9 @@ from . import local_auth_api_pb2 from . import networking_pb2 from . import neurio_meter_api_pb2 from . import pvi_api_pb2 +from . import registration_api_pb2 from . import signed_message_pb2 +from . import supercharger_api_pb2 from . import teg_api_pb2 from . import transport_pb2 from . import update_pb2 diff --git a/packages/python/tesla_protocol/energy_device/common_api_pb2.py b/packages/python/tesla_protocol/energy_device/common_api_pb2.py index 74d77bd..8095d5b 100644 --- a/packages/python/tesla_protocol/energy_device/common_api_pb2.py +++ b/packages/python/tesla_protocol/energy_device/common_api_pb2.py @@ -28,9 +28,10 @@ from tesla_protocol.energy_device import device_pb2 as tesla__protocol_dot_energy__device_dot_device__pb2 from tesla_protocol.energy_device import update_pb2 as tesla__protocol_dot_energy__device_dot_update__pb2 from tesla_protocol.energy_device import error_pb2 as tesla__protocol_dot_energy__device_dot_error__pb2 +from tesla_protocol.energy_device import registration_api_pb2 as tesla__protocol_dot_energy__device_dot_registration__api__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-tesla_protocol/energy_device/common_api.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a-tesla_protocol/energy_device/networking.proto\x1a)tesla_protocol/energy_device/device.proto\x1a)tesla_protocol/energy_device/update.proto\x1a(tesla_protocol/energy_device/error.proto\"\x1f\n\x1d\x43ommonAPIGetSystemInfoRequest\"\xd3\x01\n\x15RadioLegalInformation\x12\x32\n\x0cmanufacturer\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05model\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x66\x63\x63_id\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05ic_id\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"|\n\x15\x43omplianceInformation\x12\x63\n\x17radio_legal_information\x18\x01 \x03(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.RadioLegalInformation\"\xd6\x03\n\x1e\x43ommonAPIGetSystemInfoResponse\x12\x45\n\tdevice_id\x18\x01 \x01(\x0b\x32\x32.tesla_protocol.tesla.proto.energy_device.v1.EcuId\x12\x0b\n\x03\x64in\x18\x02 \x01(\t\x12V\n\x10\x66irmware_version\x18\x03 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\x12P\n\rsystem_update\x18\x05 \x01(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.SystemUpdate\x12L\n\x0b\x64\x65vice_type\x18\x06 \x01(\x0e\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.DeviceType\x12\x62\n\x16\x63ompliance_information\x18\x07 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.ComplianceInformationJ\x04\x08\x04\x10\x05\"$\n\"CommonAPISetLocalSiteConfigRequest\"%\n#CommonAPISetLocalSiteConfigResponse\"\x1f\n\x1d\x43ommonAPIPerformUpdateRequest\" \n\x1e\x43ommonAPIPerformUpdateResponse\"\x1e\n\x1c\x43ommonAPIFactoryResetRequest\"\x1f\n\x1d\x43ommonAPIFactoryResetResponse\"\xb8\x01\n\x18\x43ommonAPIWifiScanRequest\x12\x1b\n\x13max_scan_duration_s\x18\x01 \x01(\r\x12\x64\n\x16\x64\x65sired_security_types\x18\x02 \x03(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WifiNetworkSecurityType\x12\x19\n\x11maximum_total_aps\x18\x03 \x01(\r\"l\n\x19\x43ommonAPIWifiScanResponse\x12O\n\rwifi_networks\x18\x01 \x03(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WifiNetwork\"~\n\x1d\x43ommonAPIConfigureWifiRequest\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\"\xbb\x01\n\x1e\x43ommonAPIConfigureWifiResponse\x12L\n\x0bwifi_config\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\"\xee\x01\n2CommonAPIConfigureWifiWithEncryptedPasswordRequest\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12Y\n\x12\x65ncrypted_password\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.EncryptedMessage\"\xe0\x01\n3CommonAPIConfigureWifiWithEncryptedPasswordResponse\x12L\n\x0bwifi_config\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12\x0e\n\x06result\x18\x03 \x01(\x05\"?\n\x1e\x43ommonAPICheckForUpdateRequest\x12\x1d\n\x15\x64ownload_if_available\x18\x01 \x01(\x08\"!\n\x1f\x43ommonAPICheckForUpdateResponse\"\'\n%CommonAPICheckForUpdateUrgencyRequest\"(\n&CommonAPICheckForUpdateUrgencyResponse\"\x1d\n\x1b\x43ommonAPIClearUpdateRequest\"\x1e\n\x1c\x43ommonAPIClearUpdateResponse\"\x1c\n\x1a\x43ommonAPIDeviceCertRequest\"\x81\x01\n\x1b\x43ommonAPIDeviceCertResponse\x12M\n\x06\x66ormat\x18\x01 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.DeviceCertFormat\x12\x13\n\x0b\x64\x65vice_cert\x18\x02 \x01(\x0c\"%\n#CommonAPIGetNetworkingStatusRequest\"\xd9\x02\n$CommonAPIGetNetworkingStatusResponse\x12L\n\x0bwifi_config\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03\x65th\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03gsm\x18\x04 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\"!\n\x1f\x43ommonAPIGetCellularInfoRequest\"\x85\x01\n CommonAPIGetCellularInfoResponse\x12\x45\n\x03\x65id\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.CellularEID\x12\x1a\n\x12supported_profiles\x18\x02 \x03(\x05\"\x81\x01\n!CommonAPIConfigureEthernetRequest\x12\\\n\x0bipv4_config\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterfaceIPv4Config\"p\n\"CommonAPIConfigureEthernetResponse\x12J\n\x03\x65th\x18\x01 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\"1\n!CommonAPIForgetWifiNetworkRequest\x12\x0c\n\x04ssid\x18\x01 \x01(\t\"$\n\"CommonAPIForgetWifiNetworkResponse\"\x1f\n\x1d\x43ommonAPICheckInternetRequest\"\x85\x02\n\x1e\x43ommonAPICheckInternetResponse\x12K\n\x04wifi\x18\x01 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03\x65th\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03gsm\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\"\xa7\x01\n;CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest\x12h\n\x1alocally_available_packages\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.LocallyAvailablePackage\"\x97\x01\n None: ... class CommonAPIGetSystemInfoResponse(_message.Message): - __slots__ = ("device_id", "din", "firmware_version", "system_update", "device_type", "compliance_information") + __slots__ = ("device_id", "din", "firmware_version", "system_update", "device_type", "compliance_information", "installed_firmware_signature", "offline_firmware_signature") DEVICE_ID_FIELD_NUMBER: _ClassVar[int] DIN_FIELD_NUMBER: _ClassVar[int] FIRMWARE_VERSION_FIELD_NUMBER: _ClassVar[int] SYSTEM_UPDATE_FIELD_NUMBER: _ClassVar[int] DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] COMPLIANCE_INFORMATION_FIELD_NUMBER: _ClassVar[int] + INSTALLED_FIRMWARE_SIGNATURE_FIELD_NUMBER: _ClassVar[int] + OFFLINE_FIRMWARE_SIGNATURE_FIELD_NUMBER: _ClassVar[int] device_id: _device_pb2.EcuId din: str firmware_version: _update_pb2.FirmwareVersion system_update: _update_pb2.SystemUpdate device_type: _device_pb2.DeviceType compliance_information: ComplianceInformation - def __init__(self, device_id: _Optional[_Union[_device_pb2.EcuId, _Mapping]] = ..., din: _Optional[str] = ..., firmware_version: _Optional[_Union[_update_pb2.FirmwareVersion, _Mapping]] = ..., system_update: _Optional[_Union[_update_pb2.SystemUpdate, _Mapping]] = ..., device_type: _Optional[_Union[_device_pb2.DeviceType, str]] = ..., compliance_information: _Optional[_Union[ComplianceInformation, _Mapping]] = ...) -> None: ... + installed_firmware_signature: bytes + offline_firmware_signature: bytes + def __init__(self, device_id: _Optional[_Union[_device_pb2.EcuId, _Mapping]] = ..., din: _Optional[str] = ..., firmware_version: _Optional[_Union[_update_pb2.FirmwareVersion, _Mapping]] = ..., system_update: _Optional[_Union[_update_pb2.SystemUpdate, _Mapping]] = ..., device_type: _Optional[_Union[_device_pb2.DeviceType, str]] = ..., compliance_information: _Optional[_Union[ComplianceInformation, _Mapping]] = ..., installed_firmware_signature: _Optional[bytes] = ..., offline_firmware_signature: _Optional[bytes] = ...) -> None: ... class CommonAPISetLocalSiteConfigRequest(_message.Message): __slots__ = () @@ -328,8 +333,44 @@ class CommonAPIGetTcpdumpInfoResponse(_message.Message): disk_quota: int def __init__(self, list: _Optional[_Iterable[_Union[TcpdumpInfo, _Mapping]]] = ..., disk_quota: _Optional[int] = ...) -> None: ... +class CommonAPIRegisterRequest(_message.Message): + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: _registration_api_pb2.RegistrationRequest + def __init__(self, request: _Optional[_Union[_registration_api_pb2.RegistrationRequest, _Mapping]] = ...) -> None: ... + +class CommonAPIRegisterResponse(_message.Message): + __slots__ = ("failure", "response") + FAILURE_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + failure: int + response: _registration_api_pb2.RegistrationResponse + def __init__(self, failure: _Optional[int] = ..., response: _Optional[_Union[_registration_api_pb2.RegistrationResponse, _Mapping]] = ...) -> None: ... + +class CommonAPIRetrieveSiteUuidRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class CommonAPIRetrieveSiteUuidResponse(_message.Message): + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: _registration_api_pb2.AssetSiteUuidOfDeviceResponse + def __init__(self, response: _Optional[_Union[_registration_api_pb2.AssetSiteUuidOfDeviceResponse, _Mapping]] = ...) -> None: ... + +class CommonAPIRetrieveSiteSuggestionRequest(_message.Message): + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: _registration_api_pb2.SiteSuggestionRequest + def __init__(self, request: _Optional[_Union[_registration_api_pb2.SiteSuggestionRequest, _Mapping]] = ...) -> None: ... + +class CommonAPIRetrieveSiteSuggestionResponse(_message.Message): + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: _registration_api_pb2.SiteSuggestionResponse + def __init__(self, response: _Optional[_Union[_registration_api_pb2.SiteSuggestionResponse, _Mapping]] = ...) -> None: ... + class CommonMessages(_message.Message): - __slots__ = ("error_response", "get_system_info_request", "get_system_info_response", "set_local_site_config_request", "set_local_site_config_response", "perform_update_request", "perform_update_response", "factory_reset_request", "factory_reset_response", "wifi_scan_request", "wifi_scan_response", "configure_wifi_request", "configure_wifi_response", "check_for_update_request", "check_for_update_response", "clear_update_request", "clear_update_response", "device_cert_request", "device_cert_response", "configure_wifi_with_encrypted_password_request", "configure_wifi_with_encrypted_password_response", "get_networking_status_request", "get_networking_status_response", "get_cellular_info_request", "get_cellular_info_response", "configure_ethernet_request", "configure_ethernet_response", "forget_wifi_network_request", "forget_wifi_network_response", "check_internet_request", "check_internet_response", "check_for_update_urgency_request", "check_for_update_urgency_response", "negotiate_update_with_locally_available_packages_request", "negotiate_update_with_locally_available_packages_response", "prepare_registration_payload_request", "prepare_registration_payload_response", "perform_update_from_locally_available_packages_request", "perform_update_from_locally_available_packages_response", "start_tcpdump_request", "start_tcpdump_response", "stop_tcpdump_request", "stop_tcpdump_response", "get_tcpdump_info_request", "get_tcpdump_info_response") + __slots__ = ("error_response", "get_system_info_request", "get_system_info_response", "set_local_site_config_request", "set_local_site_config_response", "perform_update_request", "perform_update_response", "factory_reset_request", "factory_reset_response", "wifi_scan_request", "wifi_scan_response", "configure_wifi_request", "configure_wifi_response", "check_for_update_request", "check_for_update_response", "clear_update_request", "clear_update_response", "device_cert_request", "device_cert_response", "configure_wifi_with_encrypted_password_request", "configure_wifi_with_encrypted_password_response", "get_networking_status_request", "get_networking_status_response", "get_cellular_info_request", "get_cellular_info_response", "configure_ethernet_request", "configure_ethernet_response", "forget_wifi_network_request", "forget_wifi_network_response", "check_internet_request", "check_internet_response", "check_for_update_urgency_request", "check_for_update_urgency_response", "negotiate_update_with_locally_available_packages_request", "negotiate_update_with_locally_available_packages_response", "prepare_registration_payload_request", "prepare_registration_payload_response", "perform_update_from_locally_available_packages_request", "perform_update_from_locally_available_packages_response", "register_request", "register_response", "retrieve_site_uuid_request", "retrieve_site_uuid_response", "retrieve_site_suggestion_request", "retrieve_site_suggestion_response", "start_tcpdump_request", "start_tcpdump_response", "stop_tcpdump_request", "stop_tcpdump_response", "get_tcpdump_info_request", "get_tcpdump_info_response") ERROR_RESPONSE_FIELD_NUMBER: _ClassVar[int] GET_SYSTEM_INFO_REQUEST_FIELD_NUMBER: _ClassVar[int] GET_SYSTEM_INFO_RESPONSE_FIELD_NUMBER: _ClassVar[int] @@ -369,6 +410,12 @@ class CommonMessages(_message.Message): PREPARE_REGISTRATION_PAYLOAD_RESPONSE_FIELD_NUMBER: _ClassVar[int] PERFORM_UPDATE_FROM_LOCALLY_AVAILABLE_PACKAGES_REQUEST_FIELD_NUMBER: _ClassVar[int] PERFORM_UPDATE_FROM_LOCALLY_AVAILABLE_PACKAGES_RESPONSE_FIELD_NUMBER: _ClassVar[int] + REGISTER_REQUEST_FIELD_NUMBER: _ClassVar[int] + REGISTER_RESPONSE_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_UUID_REQUEST_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_UUID_RESPONSE_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_SUGGESTION_REQUEST_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_SUGGESTION_RESPONSE_FIELD_NUMBER: _ClassVar[int] START_TCPDUMP_REQUEST_FIELD_NUMBER: _ClassVar[int] START_TCPDUMP_RESPONSE_FIELD_NUMBER: _ClassVar[int] STOP_TCPDUMP_REQUEST_FIELD_NUMBER: _ClassVar[int] @@ -414,10 +461,16 @@ class CommonMessages(_message.Message): prepare_registration_payload_response: CommonAPIPrepareRegistrationPayloadResponse perform_update_from_locally_available_packages_request: CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest perform_update_from_locally_available_packages_response: CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse + register_request: CommonAPIRegisterRequest + register_response: CommonAPIRegisterResponse + retrieve_site_uuid_request: CommonAPIRetrieveSiteUuidRequest + retrieve_site_uuid_response: CommonAPIRetrieveSiteUuidResponse + retrieve_site_suggestion_request: CommonAPIRetrieveSiteSuggestionRequest + retrieve_site_suggestion_response: CommonAPIRetrieveSiteSuggestionResponse start_tcpdump_request: CommonAPIStartTcpdumpRequest start_tcpdump_response: CommonAPIStartTcpdumpResponse stop_tcpdump_request: CommonAPIStopTcpdumpRequest stop_tcpdump_response: CommonAPIStopTcpdumpResponse get_tcpdump_info_request: CommonAPIGetTcpdumpInfoRequest get_tcpdump_info_response: CommonAPIGetTcpdumpInfoResponse - def __init__(self, error_response: _Optional[_Union[_error_pb2.ErrorResponse, _Mapping]] = ..., get_system_info_request: _Optional[_Union[CommonAPIGetSystemInfoRequest, _Mapping]] = ..., get_system_info_response: _Optional[_Union[CommonAPIGetSystemInfoResponse, _Mapping]] = ..., set_local_site_config_request: _Optional[_Union[CommonAPISetLocalSiteConfigRequest, _Mapping]] = ..., set_local_site_config_response: _Optional[_Union[CommonAPISetLocalSiteConfigResponse, _Mapping]] = ..., perform_update_request: _Optional[_Union[CommonAPIPerformUpdateRequest, _Mapping]] = ..., perform_update_response: _Optional[_Union[CommonAPIPerformUpdateResponse, _Mapping]] = ..., factory_reset_request: _Optional[_Union[CommonAPIFactoryResetRequest, _Mapping]] = ..., factory_reset_response: _Optional[_Union[CommonAPIFactoryResetResponse, _Mapping]] = ..., wifi_scan_request: _Optional[_Union[CommonAPIWifiScanRequest, _Mapping]] = ..., wifi_scan_response: _Optional[_Union[CommonAPIWifiScanResponse, _Mapping]] = ..., configure_wifi_request: _Optional[_Union[CommonAPIConfigureWifiRequest, _Mapping]] = ..., configure_wifi_response: _Optional[_Union[CommonAPIConfigureWifiResponse, _Mapping]] = ..., check_for_update_request: _Optional[_Union[CommonAPICheckForUpdateRequest, _Mapping]] = ..., check_for_update_response: _Optional[_Union[CommonAPICheckForUpdateResponse, _Mapping]] = ..., clear_update_request: _Optional[_Union[CommonAPIClearUpdateRequest, _Mapping]] = ..., clear_update_response: _Optional[_Union[CommonAPIClearUpdateResponse, _Mapping]] = ..., device_cert_request: _Optional[_Union[CommonAPIDeviceCertRequest, _Mapping]] = ..., device_cert_response: _Optional[_Union[CommonAPIDeviceCertResponse, _Mapping]] = ..., configure_wifi_with_encrypted_password_request: _Optional[_Union[CommonAPIConfigureWifiWithEncryptedPasswordRequest, _Mapping]] = ..., configure_wifi_with_encrypted_password_response: _Optional[_Union[CommonAPIConfigureWifiWithEncryptedPasswordResponse, _Mapping]] = ..., get_networking_status_request: _Optional[_Union[CommonAPIGetNetworkingStatusRequest, _Mapping]] = ..., get_networking_status_response: _Optional[_Union[CommonAPIGetNetworkingStatusResponse, _Mapping]] = ..., get_cellular_info_request: _Optional[_Union[CommonAPIGetCellularInfoRequest, _Mapping]] = ..., get_cellular_info_response: _Optional[_Union[CommonAPIGetCellularInfoResponse, _Mapping]] = ..., configure_ethernet_request: _Optional[_Union[CommonAPIConfigureEthernetRequest, _Mapping]] = ..., configure_ethernet_response: _Optional[_Union[CommonAPIConfigureEthernetResponse, _Mapping]] = ..., forget_wifi_network_request: _Optional[_Union[CommonAPIForgetWifiNetworkRequest, _Mapping]] = ..., forget_wifi_network_response: _Optional[_Union[CommonAPIForgetWifiNetworkResponse, _Mapping]] = ..., check_internet_request: _Optional[_Union[CommonAPICheckInternetRequest, _Mapping]] = ..., check_internet_response: _Optional[_Union[CommonAPICheckInternetResponse, _Mapping]] = ..., check_for_update_urgency_request: _Optional[_Union[CommonAPICheckForUpdateUrgencyRequest, _Mapping]] = ..., check_for_update_urgency_response: _Optional[_Union[CommonAPICheckForUpdateUrgencyResponse, _Mapping]] = ..., negotiate_update_with_locally_available_packages_request: _Optional[_Union[CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest, _Mapping]] = ..., negotiate_update_with_locally_available_packages_response: _Optional[_Union[CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse, _Mapping]] = ..., prepare_registration_payload_request: _Optional[_Union[CommonAPIPrepareRegistrationPayloadRequest, _Mapping]] = ..., prepare_registration_payload_response: _Optional[_Union[CommonAPIPrepareRegistrationPayloadResponse, _Mapping]] = ..., perform_update_from_locally_available_packages_request: _Optional[_Union[CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest, _Mapping]] = ..., perform_update_from_locally_available_packages_response: _Optional[_Union[CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse, _Mapping]] = ..., start_tcpdump_request: _Optional[_Union[CommonAPIStartTcpdumpRequest, _Mapping]] = ..., start_tcpdump_response: _Optional[_Union[CommonAPIStartTcpdumpResponse, _Mapping]] = ..., stop_tcpdump_request: _Optional[_Union[CommonAPIStopTcpdumpRequest, _Mapping]] = ..., stop_tcpdump_response: _Optional[_Union[CommonAPIStopTcpdumpResponse, _Mapping]] = ..., get_tcpdump_info_request: _Optional[_Union[CommonAPIGetTcpdumpInfoRequest, _Mapping]] = ..., get_tcpdump_info_response: _Optional[_Union[CommonAPIGetTcpdumpInfoResponse, _Mapping]] = ...) -> None: ... + def __init__(self, error_response: _Optional[_Union[_error_pb2.ErrorResponse, _Mapping]] = ..., get_system_info_request: _Optional[_Union[CommonAPIGetSystemInfoRequest, _Mapping]] = ..., get_system_info_response: _Optional[_Union[CommonAPIGetSystemInfoResponse, _Mapping]] = ..., set_local_site_config_request: _Optional[_Union[CommonAPISetLocalSiteConfigRequest, _Mapping]] = ..., set_local_site_config_response: _Optional[_Union[CommonAPISetLocalSiteConfigResponse, _Mapping]] = ..., perform_update_request: _Optional[_Union[CommonAPIPerformUpdateRequest, _Mapping]] = ..., perform_update_response: _Optional[_Union[CommonAPIPerformUpdateResponse, _Mapping]] = ..., factory_reset_request: _Optional[_Union[CommonAPIFactoryResetRequest, _Mapping]] = ..., factory_reset_response: _Optional[_Union[CommonAPIFactoryResetResponse, _Mapping]] = ..., wifi_scan_request: _Optional[_Union[CommonAPIWifiScanRequest, _Mapping]] = ..., wifi_scan_response: _Optional[_Union[CommonAPIWifiScanResponse, _Mapping]] = ..., configure_wifi_request: _Optional[_Union[CommonAPIConfigureWifiRequest, _Mapping]] = ..., configure_wifi_response: _Optional[_Union[CommonAPIConfigureWifiResponse, _Mapping]] = ..., check_for_update_request: _Optional[_Union[CommonAPICheckForUpdateRequest, _Mapping]] = ..., check_for_update_response: _Optional[_Union[CommonAPICheckForUpdateResponse, _Mapping]] = ..., clear_update_request: _Optional[_Union[CommonAPIClearUpdateRequest, _Mapping]] = ..., clear_update_response: _Optional[_Union[CommonAPIClearUpdateResponse, _Mapping]] = ..., device_cert_request: _Optional[_Union[CommonAPIDeviceCertRequest, _Mapping]] = ..., device_cert_response: _Optional[_Union[CommonAPIDeviceCertResponse, _Mapping]] = ..., configure_wifi_with_encrypted_password_request: _Optional[_Union[CommonAPIConfigureWifiWithEncryptedPasswordRequest, _Mapping]] = ..., configure_wifi_with_encrypted_password_response: _Optional[_Union[CommonAPIConfigureWifiWithEncryptedPasswordResponse, _Mapping]] = ..., get_networking_status_request: _Optional[_Union[CommonAPIGetNetworkingStatusRequest, _Mapping]] = ..., get_networking_status_response: _Optional[_Union[CommonAPIGetNetworkingStatusResponse, _Mapping]] = ..., get_cellular_info_request: _Optional[_Union[CommonAPIGetCellularInfoRequest, _Mapping]] = ..., get_cellular_info_response: _Optional[_Union[CommonAPIGetCellularInfoResponse, _Mapping]] = ..., configure_ethernet_request: _Optional[_Union[CommonAPIConfigureEthernetRequest, _Mapping]] = ..., configure_ethernet_response: _Optional[_Union[CommonAPIConfigureEthernetResponse, _Mapping]] = ..., forget_wifi_network_request: _Optional[_Union[CommonAPIForgetWifiNetworkRequest, _Mapping]] = ..., forget_wifi_network_response: _Optional[_Union[CommonAPIForgetWifiNetworkResponse, _Mapping]] = ..., check_internet_request: _Optional[_Union[CommonAPICheckInternetRequest, _Mapping]] = ..., check_internet_response: _Optional[_Union[CommonAPICheckInternetResponse, _Mapping]] = ..., check_for_update_urgency_request: _Optional[_Union[CommonAPICheckForUpdateUrgencyRequest, _Mapping]] = ..., check_for_update_urgency_response: _Optional[_Union[CommonAPICheckForUpdateUrgencyResponse, _Mapping]] = ..., negotiate_update_with_locally_available_packages_request: _Optional[_Union[CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest, _Mapping]] = ..., negotiate_update_with_locally_available_packages_response: _Optional[_Union[CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse, _Mapping]] = ..., prepare_registration_payload_request: _Optional[_Union[CommonAPIPrepareRegistrationPayloadRequest, _Mapping]] = ..., prepare_registration_payload_response: _Optional[_Union[CommonAPIPrepareRegistrationPayloadResponse, _Mapping]] = ..., perform_update_from_locally_available_packages_request: _Optional[_Union[CommonAPIPerformUpdateFromLocallyAvailablePackagesRequest, _Mapping]] = ..., perform_update_from_locally_available_packages_response: _Optional[_Union[CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse, _Mapping]] = ..., register_request: _Optional[_Union[CommonAPIRegisterRequest, _Mapping]] = ..., register_response: _Optional[_Union[CommonAPIRegisterResponse, _Mapping]] = ..., retrieve_site_uuid_request: _Optional[_Union[CommonAPIRetrieveSiteUuidRequest, _Mapping]] = ..., retrieve_site_uuid_response: _Optional[_Union[CommonAPIRetrieveSiteUuidResponse, _Mapping]] = ..., retrieve_site_suggestion_request: _Optional[_Union[CommonAPIRetrieveSiteSuggestionRequest, _Mapping]] = ..., retrieve_site_suggestion_response: _Optional[_Union[CommonAPIRetrieveSiteSuggestionResponse, _Mapping]] = ..., start_tcpdump_request: _Optional[_Union[CommonAPIStartTcpdumpRequest, _Mapping]] = ..., start_tcpdump_response: _Optional[_Union[CommonAPIStartTcpdumpResponse, _Mapping]] = ..., stop_tcpdump_request: _Optional[_Union[CommonAPIStopTcpdumpRequest, _Mapping]] = ..., stop_tcpdump_response: _Optional[_Union[CommonAPIStopTcpdumpResponse, _Mapping]] = ..., get_tcpdump_info_request: _Optional[_Union[CommonAPIGetTcpdumpInfoRequest, _Mapping]] = ..., get_tcpdump_info_response: _Optional[_Union[CommonAPIGetTcpdumpInfoResponse, _Mapping]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/energy_device/registration_api_pb2.py b/packages/python/tesla_protocol/energy_device/registration_api_pb2.py new file mode 100644 index 0000000..59a6543 --- /dev/null +++ b/packages/python/tesla_protocol/energy_device/registration_api_pb2.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla_protocol/energy_device/registration_api.proto +# Protobuf Python Version: 6.33.5 +"""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, + 33, + 5, + '', + 'tesla_protocol/energy_device/registration_api.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 +from tesla_protocol.energy_device import device_pb2 as tesla__protocol_dot_energy__device_dot_device__pb2 +from tesla_protocol.energy_device import update_pb2 as tesla__protocol_dot_energy__device_dot_update__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tesla_protocol/energy_device/registration_api.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a)tesla_protocol/energy_device/device.proto\x1a)tesla_protocol/energy_device/update.proto\"\xc1\x01\n\x15\x41nonymizedSiteDetails\x12Q\n\x0e\x64\x65vice_details\x18\x01 \x03(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.DeviceDetail\x12*\n\x04\x63ity\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12)\n\x03zip\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"f\n\x18\x41ssetSiteDetailsResponse\x12J\n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.DeviceDetail\"V\n\x1d\x41ssetSiteUuidOfDeviceResponse\x12\x35\n\x0f\x61sset_site_uuid\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xc5\x02\n\x19\x43ommercialChargingDetails\x12P\n\rproperty_type\x18\x01 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.PropertyType\x12[\n\x13project_access_type\x18\x02 \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.ProjectAccessType\x12>\n\x18\x64\x65stination_phone_number\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x39\n\x13\x64\x65stination_website\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xbf\x03\n\"CommercialChargingDeviceProperties\x12\x19\n\x11main_service_size\x18\x01 \x01(\x05\x12\x17\n\x0fnominal_voltage\x18\x02 \x01(\x05\x12\x14\n\x0cload_sharing\x18\x03 \x01(\x08\x12\x12\n\nmax_output\x18\x04 \x01(\x05\x12-\n\x08latitude\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12.\n\tlongitude\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12*\n\x05label\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12)\n\x04rssi\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x12\n\npower_type\x18\t \x01(\x05\x12\x16\n\x0e\x63onnector_type\x18\n \x01(\x05\x12Y\n\x11load_sharing_type\x18\x0b \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingType\"\xb1\x02\n\x1a\x43ommercialChargingSiteInfo\x12V\n\x0csite_address\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.CustomerSiteAddress\x12\x34\n\x0ewarp_site_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12k\n\x1b\x63ommercial_charging_details\x18\x03 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.CommercialChargingDetails\x12\x18\n\x10site_owner_email\x18\x04 \x01(\t\"\x8b\x01\n\x0c\x43ustomerInfo\x12\x43\n\x06sso_id\x18\x01 \x01(\x0b\x32\x33.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x12\n\ngiven_name\x18\x03 \x01(\t\x12\x13\n\x0b\x66\x61mily_name\x18\x04 \x01(\t\"\xe2\x01\n\x14\x43ustomerLegalConsent\x12\x32\n\x0eprivacy_notice\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x34\n\x10limited_warranty\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x31\n\rgrid_services\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12-\n\tmarketing\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"o\n\x13\x43ustomerSiteAddress\x12\x0e\n\x06street\x18\x01 \x01(\t\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x0b\n\x03zip\x18\x04 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x05 \x01(\t\x12\r\n\x05phone\x18\x06 \x01(\t\"R\n\x17\x44\x65\x61\x63tivateDeviceRequest\x12\x0c\n\x04\x64ins\x18\x01 \x03(\t\x12)\n!installer_tesla_auth_bearer_token\x18\x02 \x01(\t\"\x93\x01\n\x0c\x44\x65viceDetail\x12X\n\x0b\x64\x65vice_type\x18\x01 \x01(\x0e\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.RegistrationDeviceType\x12\x1c\n\x14\x66\x61llback_description\x18\x02 \x01(\t\x12\x0b\n\x03\x64in\x18\x03 \x01(\t\"-\n\x10InstallationInfo\x12\x19\n\x11installation_guid\x18\x01 \x01(\t\"\xcf\x01\n\rInstallerInfo\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12N\n\x11\x61\x63\x63ount_master_id\x18\x02 \x01(\x0b\x32\x33.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4\x12\x32\n\x0c\x63ompany_name\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05phone\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"8\n\x11InstallerLocation\x12\x10\n\x08latitude\x18\x01 \x01(\x02\x12\x11\n\tlongitude\x18\x02 \x01(\x02\"\x7f\n\nPartDetail\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x11\n\tpart_type\x18\x03 \x01(\t\x12\x32\n\x0cmanufacturer\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\xcc\x01\n\x0bPartnerInfo\x12N\n\x11\x61\x63\x63ount_master_id\x18\x01 \x01(\x0b\x32\x33.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4\x12m\n\x16site_relationship_type\x18\x02 \x01(\x0e\x32M.tesla_protocol.tesla.proto.energy_device.v1.RegistrationSiteRelationshipType\"\x7f\n&RegistrationAPIDeactivateDeviceRequest\x12U\n\x07request\x18\x01 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.DeactivateDeviceRequest\")\n\'RegistrationAPIDeactivateDeviceResponse\"V\n0RegistrationAPIPrepareRegistrationPayloadRequest\x12\"\n\x1a\x63ustomer_registration_info\x18\x01 \x01(\x0c\"\x9a\x01\n1RegistrationAPIPrepareRegistrationPayloadResponse\x12\x65\n\x1bsigned_registration_payload\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.DeviceSignedPayload\"s\n\x1eRegistrationAPIRegisterRequest\x12Q\n\x07request\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.RegistrationRequest\"\x87\x01\n\x1fRegistrationAPIRegisterResponse\x12\x0f\n\x07\x66\x61ilure\x18\x01 \x01(\x05\x12S\n\x08response\x18\x02 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.RegistrationResponse\"0\n.RegistrationAPIRetrieveAssetSiteDetailsRequest\"\x8a\x01\n/RegistrationAPIRetrieveAssetSiteDetailsResponse\x12W\n\x08response\x18\x01 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.AssetSiteDetailsResponse\"\x83\x01\n,RegistrationAPIRetrieveSiteSuggestionRequest\x12S\n\x07request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.SiteSuggestionRequest\"\x86\x01\n-RegistrationAPIRetrieveSiteSuggestionResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.SiteSuggestionResponse\"(\n&RegistrationAPIRetrieveSiteUuidRequest\"\x87\x01\n\'RegistrationAPIRetrieveSiteUuidResponse\x12\\\n\x08response\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse\"\xb3\x0c\n\x14RegistrationMessages\x12\x8d\x01\n$prepare_registration_payload_request\x18\x01 \x01(\x0b\x32].tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadRequestH\x00\x12\x8f\x01\n%prepare_registration_payload_response\x18\x02 \x01(\x0b\x32^.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIPrepareRegistrationPayloadResponseH\x00\x12g\n\x10register_request\x18\x03 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRegisterRequestH\x00\x12i\n\x11register_response\x18\x04 \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRegisterResponseH\x00\x12y\n\x1aretrieve_site_uuid_request\x18\x05 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidRequestH\x00\x12{\n\x1bretrieve_site_uuid_response\x18\x06 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteUuidResponseH\x00\x12\x85\x01\n retrieve_site_suggestion_request\x18\x07 \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionRequestH\x00\x12\x87\x01\n!retrieve_site_suggestion_response\x18\x08 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveSiteSuggestionResponseH\x00\x12\x8a\x01\n#retrieve_asset_site_details_request\x18\t \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsRequestH\x00\x12\x8c\x01\n$retrieve_asset_site_details_response\x18\n \x01(\x0b\x32\\.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIRetrieveAssetSiteDetailsResponseH\x00\x12x\n\x19\x64\x65\x61\x63tivate_device_request\x18\x0b \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceRequestH\x00\x12z\n\x1a\x64\x65\x61\x63tivate_device_response\x18\x0c \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.RegistrationAPIDeactivateDeviceResponseH\x00\x42\t\n\x07message\"\xd6\x06\n\x13RegistrationRequest\x12M\n\x07version\x18\x01 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\x12M\n\x0cpart_details\x18\x02 \x03(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.PartDetail\x12\x0f\n\x07\x61ttempt\x18\x03 \x01(\r\x12\\\n\x13registration_source\x18\x04 \x01(\x0e\x32?.tesla_protocol.tesla.proto.energy_device.v1.RegistrationSource\x12M\n\tinstaller\x18\x05 \x01(\x0b\x32:.tesla_protocol.tesla.proto.energy_device.v1.InstallerInfo\x12K\n\x08\x63ustomer\x18\x06 \x01(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.CustomerInfo\x12V\n\x0csite_address\x18\x07 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.CustomerSiteAddress\x12X\n\rlegal_consent\x18\x08 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.CustomerLegalConsent\x12X\n\x11installation_info\x18\t \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.InstallationInfo\x12\x33\n\rasset_site_id\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12U\n\x13\x61\x64\x64itional_partners\x18\x0b \x03(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.PartnerInfo\"\xe4\x01\n\x14RegistrationResponse\x12O\n\x06status\x18\x01 \x01(\x0e\x32?.tesla_protocol.tesla.proto.energy_device.v1.RegistrationStatus\x12\x15\n\rretry_delay_s\x18\x02 \x01(\r\x12/\n\x0bstatus_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\rasset_site_id\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x8e\x01\n\x0eSiteSuggestion\x12\x17\n\x0f\x61sset_site_uuid\x18\x01 \x01(\t\x12\x63\n\x17\x61nonymized_site_details\x18\x02 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.AnonymizedSiteDetails\"\xae\x01\n\x15SiteSuggestionRequest\x12\x0e\n\x06lookup\x18\x01 \x01(\t\x12Z\n\x12installer_location\x18\x02 \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.InstallerLocation\x12)\n!installer_tesla_auth_bearer_token\x18\x03 \x01(\t\"o\n\x16SiteSuggestionResponse\x12U\n\x10site_suggestions\x18\x01 \x03(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.SiteSuggestion\"\xe1\x03\n\x1fWCCommercialRegistrationRequest\x12j\n\x11\x64\x65vice_properties\x18\x01 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.CommercialChargingDeviceProperties\x12J\n\rasset_site_id\x18\x02 \x01(\x0b\x32\x33.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4\x12Z\n\tsite_info\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.CommercialChargingSiteInfo\x12R\n\x0einstaller_info\x18\x04 \x01(\x0b\x32:.tesla_protocol.tesla.proto.energy_device.v1.InstallerInfo\x12\x1e\n\x16installation_completed\x18\x05 \x01(\x08\x12\x36\n\x10site_owner_email\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue*\xe2\x01\n\x11ProjectAccessType\x12\x1f\n\x1bPROJECT_ACCESS_TYPE_INVALID\x10\x00\x12\x1f\n\x1bPROJECT_ACCESS_TYPE_SERVICE\x10\x01\x12%\n!PROJECT_ACCESS_TYPE_MANUFACTURING\x10\x02\x12#\n\x1fPROJECT_ACCESS_TYPE_ENGINEERING\x10\x03\x12\x1f\n\x1bPROJECT_ACCESS_TYPE_PRIVATE\x10\x04\x12\x1e\n\x1aPROJECT_ACCESS_TYPE_PUBLIC\x10\x05*\x9e\x06\n\x0cPropertyType\x12\x19\n\x15PROPERTY_TYPE_INVALID\x10\x00\x12&\n\"PROPERTY_TYPE_SHOPPING_MALL_CENTER\x10\x01\x12\x1c\n\x18PROPERTY_TYPE_RESTAURANT\x10\x02\x12\x1d\n\x19PROPERTY_TYPE_GAS_STATION\x10\x03\x12)\n%PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA\x10\x04\x12.\n*PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX\x10\x05\x12\x1f\n\x1bPROPERTY_TYPE_GROCERY_STORE\x10\x06\x12,\n(PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER\x10\x07\x12\x18\n\x14PROPERTY_TYPE_OFFICE\x10\x08\x12&\n\"PROPERTY_TYPE_RESIDENTIAL_BUILDING\x10\t\x12\x33\n/PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT\x10\n\x12\x16\n\x12PROPERTY_TYPE_BANK\x10\x0b\x12\x19\n\x15PROPERTY_TYPE_AIRPORT\x10\x0c\x12\x33\n/PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY\x10\r\x12-\n)PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION\x10\x0e\x12#\n\x1fPROPERTY_TYPE_UNIVERSITY_SCHOOL\x10\x0f\x12\x18\n\x14PROPERTY_TYPE_WINERY\x10\x10\x12\x1c\n\x18PROPERTY_TYPE_AUTOMOTIVE\x10\x11\x12\x1b\n\x17PROPERTY_TYPE_MIXED_USE\x10\x12\x12\x1c\n\x18PROPERTY_TYPE_RECREATION\x10\x13\x12!\n\x1dPROPERTY_TYPE_RENTAL_PROPERTY\x10\x14\x12\x1b\n\x17PROPERTY_TYPE_WORKPLACE\x10\x15*\xcd\x02\n\x16RegistrationDeviceType\x12$\n REGISTRATION_DEVICE_TYPE_INVALID\x10\x00\x12&\n\"REGISTRATION_DEVICE_TYPE_POWERWALL\x10\x01\x12\x30\n,REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION\x10\x02\x12(\n$REGISTRATION_DEVICE_TYPE_PV_INVERTER\x10\x03\x12+\n\'REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR\x10\x04\x12(\n$REGISTRATION_DEVICE_TYPE_POWERWALL_3\x10\x05\x12\x32\n.REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION\x10\x06*\x9a\x02\n RegistrationSiteRelationshipType\x12/\n+REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID\x10\x00\x12-\n)REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER\x10\x01\x12\x31\n-REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER\x10\x02\x12\x31\n-REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER\x10\x03\x12\x30\n,REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER\x10\x04*\x9e\x01\n\x12RegistrationSource\x12\x1f\n\x1bREGISTRATION_SOURCE_INVALID\x10\x00\x12\"\n\x1eREGISTRATION_SOURCE_AUTOCONFIG\x10\x01\x12!\n\x1dREGISTRATION_SOURCE_INSTALLER\x10\x02\x12 \n\x1cREGISTRATION_SOURCE_CUSTOMER\x10\x03*\xff\x01\n\x12RegistrationStatus\x12\x1f\n\x1bREGISTRATION_STATUS_INVALID\x10\x00\x12$\n REGISTRATION_STATUS_MISSING_INFO\x10\x01\x12 \n\x1cREGISTRATION_STATUS_UNDERWAY\x10\x02\x12*\n®ISTRATION_STATUS_ALREADY_REGISTERED\x10\x03\x12\x1e\n\x1aREGISTRATION_STATUS_FAILED\x10\x04\x12\x34\n0REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION\x10\x05*y\n\x11WCLoadSharingType\x12 \n\x1cWC_LOAD_SHARING_TYPE_INVALID\x10\x00\x12\x1f\n\x1bWC_LOAD_SHARING_TYPE_LEADER\x10\x01\x12!\n\x1dWC_LOAD_SHARING_TYPE_FOLLOWER\x10\x02\x42\x83\x01\n$com.tesla.generated.energy_device.v1B\x0fRegistrationApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla_protocol.energy_device.registration_api_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\017RegistrationApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' + _globals['_PROJECTACCESSTYPE']._serialized_start=8006 + _globals['_PROJECTACCESSTYPE']._serialized_end=8232 + _globals['_PROPERTYTYPE']._serialized_start=8235 + _globals['_PROPERTYTYPE']._serialized_end=9033 + _globals['_REGISTRATIONDEVICETYPE']._serialized_start=9036 + _globals['_REGISTRATIONDEVICETYPE']._serialized_end=9369 + _globals['_REGISTRATIONSITERELATIONSHIPTYPE']._serialized_start=9372 + _globals['_REGISTRATIONSITERELATIONSHIPTYPE']._serialized_end=9654 + _globals['_REGISTRATIONSOURCE']._serialized_start=9657 + _globals['_REGISTRATIONSOURCE']._serialized_end=9815 + _globals['_REGISTRATIONSTATUS']._serialized_start=9818 + _globals['_REGISTRATIONSTATUS']._serialized_end=10073 + _globals['_WCLOADSHARINGTYPE']._serialized_start=10075 + _globals['_WCLOADSHARINGTYPE']._serialized_end=10196 + _globals['_ANONYMIZEDSITEDETAILS']._serialized_start=252 + _globals['_ANONYMIZEDSITEDETAILS']._serialized_end=445 + _globals['_ASSETSITEDETAILSRESPONSE']._serialized_start=447 + _globals['_ASSETSITEDETAILSRESPONSE']._serialized_end=549 + _globals['_ASSETSITEUUIDOFDEVICERESPONSE']._serialized_start=551 + _globals['_ASSETSITEUUIDOFDEVICERESPONSE']._serialized_end=637 + _globals['_COMMERCIALCHARGINGDETAILS']._serialized_start=640 + _globals['_COMMERCIALCHARGINGDETAILS']._serialized_end=965 + _globals['_COMMERCIALCHARGINGDEVICEPROPERTIES']._serialized_start=968 + _globals['_COMMERCIALCHARGINGDEVICEPROPERTIES']._serialized_end=1415 + _globals['_COMMERCIALCHARGINGSITEINFO']._serialized_start=1418 + _globals['_COMMERCIALCHARGINGSITEINFO']._serialized_end=1723 + _globals['_CUSTOMERINFO']._serialized_start=1726 + _globals['_CUSTOMERINFO']._serialized_end=1865 + _globals['_CUSTOMERLEGALCONSENT']._serialized_start=1868 + _globals['_CUSTOMERLEGALCONSENT']._serialized_end=2094 + _globals['_CUSTOMERSITEADDRESS']._serialized_start=2096 + _globals['_CUSTOMERSITEADDRESS']._serialized_end=2207 + _globals['_DEACTIVATEDEVICEREQUEST']._serialized_start=2209 + _globals['_DEACTIVATEDEVICEREQUEST']._serialized_end=2291 + _globals['_DEVICEDETAIL']._serialized_start=2294 + _globals['_DEVICEDETAIL']._serialized_end=2441 + _globals['_INSTALLATIONINFO']._serialized_start=2443 + _globals['_INSTALLATIONINFO']._serialized_end=2488 + _globals['_INSTALLERINFO']._serialized_start=2491 + _globals['_INSTALLERINFO']._serialized_end=2698 + _globals['_INSTALLERLOCATION']._serialized_start=2700 + _globals['_INSTALLERLOCATION']._serialized_end=2756 + _globals['_PARTDETAIL']._serialized_start=2758 + _globals['_PARTDETAIL']._serialized_end=2885 + _globals['_PARTNERINFO']._serialized_start=2888 + _globals['_PARTNERINFO']._serialized_end=3092 + _globals['_REGISTRATIONAPIDEACTIVATEDEVICEREQUEST']._serialized_start=3094 + _globals['_REGISTRATIONAPIDEACTIVATEDEVICEREQUEST']._serialized_end=3221 + _globals['_REGISTRATIONAPIDEACTIVATEDEVICERESPONSE']._serialized_start=3223 + _globals['_REGISTRATIONAPIDEACTIVATEDEVICERESPONSE']._serialized_end=3264 + _globals['_REGISTRATIONAPIPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_start=3266 + _globals['_REGISTRATIONAPIPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_end=3352 + _globals['_REGISTRATIONAPIPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_start=3355 + _globals['_REGISTRATIONAPIPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_end=3509 + _globals['_REGISTRATIONAPIREGISTERREQUEST']._serialized_start=3511 + _globals['_REGISTRATIONAPIREGISTERREQUEST']._serialized_end=3626 + _globals['_REGISTRATIONAPIREGISTERRESPONSE']._serialized_start=3629 + _globals['_REGISTRATIONAPIREGISTERRESPONSE']._serialized_end=3764 + _globals['_REGISTRATIONAPIRETRIEVEASSETSITEDETAILSREQUEST']._serialized_start=3766 + _globals['_REGISTRATIONAPIRETRIEVEASSETSITEDETAILSREQUEST']._serialized_end=3814 + _globals['_REGISTRATIONAPIRETRIEVEASSETSITEDETAILSRESPONSE']._serialized_start=3817 + _globals['_REGISTRATIONAPIRETRIEVEASSETSITEDETAILSRESPONSE']._serialized_end=3955 + _globals['_REGISTRATIONAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_start=3958 + _globals['_REGISTRATIONAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_end=4089 + _globals['_REGISTRATIONAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_start=4092 + _globals['_REGISTRATIONAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_end=4226 + _globals['_REGISTRATIONAPIRETRIEVESITEUUIDREQUEST']._serialized_start=4228 + _globals['_REGISTRATIONAPIRETRIEVESITEUUIDREQUEST']._serialized_end=4268 + _globals['_REGISTRATIONAPIRETRIEVESITEUUIDRESPONSE']._serialized_start=4271 + _globals['_REGISTRATIONAPIRETRIEVESITEUUIDRESPONSE']._serialized_end=4406 + _globals['_REGISTRATIONMESSAGES']._serialized_start=4409 + _globals['_REGISTRATIONMESSAGES']._serialized_end=5996 + _globals['_REGISTRATIONREQUEST']._serialized_start=5999 + _globals['_REGISTRATIONREQUEST']._serialized_end=6853 + _globals['_REGISTRATIONRESPONSE']._serialized_start=6856 + _globals['_REGISTRATIONRESPONSE']._serialized_end=7084 + _globals['_SITESUGGESTION']._serialized_start=7087 + _globals['_SITESUGGESTION']._serialized_end=7229 + _globals['_SITESUGGESTIONREQUEST']._serialized_start=7232 + _globals['_SITESUGGESTIONREQUEST']._serialized_end=7406 + _globals['_SITESUGGESTIONRESPONSE']._serialized_start=7408 + _globals['_SITESUGGESTIONRESPONSE']._serialized_end=7519 + _globals['_WCCOMMERCIALREGISTRATIONREQUEST']._serialized_start=7522 + _globals['_WCCOMMERCIALREGISTRATIONREQUEST']._serialized_end=8003 +# @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/energy_device/registration_api_pb2.pyi b/packages/python/tesla_protocol/energy_device/registration_api_pb2.pyi new file mode 100644 index 0000000..e5df672 --- /dev/null +++ b/packages/python/tesla_protocol/energy_device/registration_api_pb2.pyi @@ -0,0 +1,491 @@ +import datetime + +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf import wrappers_pb2 as _wrappers_pb2 +from tesla_protocol.energy_device import device_pb2 as _device_pb2 +from tesla_protocol.energy_device import update_pb2 as _update_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 ProjectAccessType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PROJECT_ACCESS_TYPE_INVALID: _ClassVar[ProjectAccessType] + PROJECT_ACCESS_TYPE_SERVICE: _ClassVar[ProjectAccessType] + PROJECT_ACCESS_TYPE_MANUFACTURING: _ClassVar[ProjectAccessType] + PROJECT_ACCESS_TYPE_ENGINEERING: _ClassVar[ProjectAccessType] + PROJECT_ACCESS_TYPE_PRIVATE: _ClassVar[ProjectAccessType] + PROJECT_ACCESS_TYPE_PUBLIC: _ClassVar[ProjectAccessType] + +class PropertyType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PROPERTY_TYPE_INVALID: _ClassVar[PropertyType] + PROPERTY_TYPE_SHOPPING_MALL_CENTER: _ClassVar[PropertyType] + PROPERTY_TYPE_RESTAURANT: _ClassVar[PropertyType] + PROPERTY_TYPE_GAS_STATION: _ClassVar[PropertyType] + PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA: _ClassVar[PropertyType] + PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX: _ClassVar[PropertyType] + PROPERTY_TYPE_GROCERY_STORE: _ClassVar[PropertyType] + PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER: _ClassVar[PropertyType] + PROPERTY_TYPE_OFFICE: _ClassVar[PropertyType] + PROPERTY_TYPE_RESIDENTIAL_BUILDING: _ClassVar[PropertyType] + PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT: _ClassVar[PropertyType] + PROPERTY_TYPE_BANK: _ClassVar[PropertyType] + PROPERTY_TYPE_AIRPORT: _ClassVar[PropertyType] + PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY: _ClassVar[PropertyType] + PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION: _ClassVar[PropertyType] + PROPERTY_TYPE_UNIVERSITY_SCHOOL: _ClassVar[PropertyType] + PROPERTY_TYPE_WINERY: _ClassVar[PropertyType] + PROPERTY_TYPE_AUTOMOTIVE: _ClassVar[PropertyType] + PROPERTY_TYPE_MIXED_USE: _ClassVar[PropertyType] + PROPERTY_TYPE_RECREATION: _ClassVar[PropertyType] + PROPERTY_TYPE_RENTAL_PROPERTY: _ClassVar[PropertyType] + PROPERTY_TYPE_WORKPLACE: _ClassVar[PropertyType] + +class RegistrationDeviceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REGISTRATION_DEVICE_TYPE_INVALID: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_POWERWALL: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_PV_INVERTER: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_POWERWALL_3: _ClassVar[RegistrationDeviceType] + REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION: _ClassVar[RegistrationDeviceType] + +class RegistrationSiteRelationshipType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID: _ClassVar[RegistrationSiteRelationshipType] + REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER: _ClassVar[RegistrationSiteRelationshipType] + REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER: _ClassVar[RegistrationSiteRelationshipType] + REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER: _ClassVar[RegistrationSiteRelationshipType] + REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER: _ClassVar[RegistrationSiteRelationshipType] + +class RegistrationSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REGISTRATION_SOURCE_INVALID: _ClassVar[RegistrationSource] + REGISTRATION_SOURCE_AUTOCONFIG: _ClassVar[RegistrationSource] + REGISTRATION_SOURCE_INSTALLER: _ClassVar[RegistrationSource] + REGISTRATION_SOURCE_CUSTOMER: _ClassVar[RegistrationSource] + +class RegistrationStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + REGISTRATION_STATUS_INVALID: _ClassVar[RegistrationStatus] + REGISTRATION_STATUS_MISSING_INFO: _ClassVar[RegistrationStatus] + REGISTRATION_STATUS_UNDERWAY: _ClassVar[RegistrationStatus] + REGISTRATION_STATUS_ALREADY_REGISTERED: _ClassVar[RegistrationStatus] + REGISTRATION_STATUS_FAILED: _ClassVar[RegistrationStatus] + REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION: _ClassVar[RegistrationStatus] + +class WCLoadSharingType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + WC_LOAD_SHARING_TYPE_INVALID: _ClassVar[WCLoadSharingType] + WC_LOAD_SHARING_TYPE_LEADER: _ClassVar[WCLoadSharingType] + WC_LOAD_SHARING_TYPE_FOLLOWER: _ClassVar[WCLoadSharingType] +PROJECT_ACCESS_TYPE_INVALID: ProjectAccessType +PROJECT_ACCESS_TYPE_SERVICE: ProjectAccessType +PROJECT_ACCESS_TYPE_MANUFACTURING: ProjectAccessType +PROJECT_ACCESS_TYPE_ENGINEERING: ProjectAccessType +PROJECT_ACCESS_TYPE_PRIVATE: ProjectAccessType +PROJECT_ACCESS_TYPE_PUBLIC: ProjectAccessType +PROPERTY_TYPE_INVALID: PropertyType +PROPERTY_TYPE_SHOPPING_MALL_CENTER: PropertyType +PROPERTY_TYPE_RESTAURANT: PropertyType +PROPERTY_TYPE_GAS_STATION: PropertyType +PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA: PropertyType +PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX: PropertyType +PROPERTY_TYPE_GROCERY_STORE: PropertyType +PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER: PropertyType +PROPERTY_TYPE_OFFICE: PropertyType +PROPERTY_TYPE_RESIDENTIAL_BUILDING: PropertyType +PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT: PropertyType +PROPERTY_TYPE_BANK: PropertyType +PROPERTY_TYPE_AIRPORT: PropertyType +PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY: PropertyType +PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION: PropertyType +PROPERTY_TYPE_UNIVERSITY_SCHOOL: PropertyType +PROPERTY_TYPE_WINERY: PropertyType +PROPERTY_TYPE_AUTOMOTIVE: PropertyType +PROPERTY_TYPE_MIXED_USE: PropertyType +PROPERTY_TYPE_RECREATION: PropertyType +PROPERTY_TYPE_RENTAL_PROPERTY: PropertyType +PROPERTY_TYPE_WORKPLACE: PropertyType +REGISTRATION_DEVICE_TYPE_INVALID: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_POWERWALL: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_PV_INVERTER: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_POWERWALL_3: RegistrationDeviceType +REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION: RegistrationDeviceType +REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID: RegistrationSiteRelationshipType +REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER: RegistrationSiteRelationshipType +REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER: RegistrationSiteRelationshipType +REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER: RegistrationSiteRelationshipType +REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER: RegistrationSiteRelationshipType +REGISTRATION_SOURCE_INVALID: RegistrationSource +REGISTRATION_SOURCE_AUTOCONFIG: RegistrationSource +REGISTRATION_SOURCE_INSTALLER: RegistrationSource +REGISTRATION_SOURCE_CUSTOMER: RegistrationSource +REGISTRATION_STATUS_INVALID: RegistrationStatus +REGISTRATION_STATUS_MISSING_INFO: RegistrationStatus +REGISTRATION_STATUS_UNDERWAY: RegistrationStatus +REGISTRATION_STATUS_ALREADY_REGISTERED: RegistrationStatus +REGISTRATION_STATUS_FAILED: RegistrationStatus +REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION: RegistrationStatus +WC_LOAD_SHARING_TYPE_INVALID: WCLoadSharingType +WC_LOAD_SHARING_TYPE_LEADER: WCLoadSharingType +WC_LOAD_SHARING_TYPE_FOLLOWER: WCLoadSharingType + +class AnonymizedSiteDetails(_message.Message): + __slots__ = ("device_details", "city", "zip") + DEVICE_DETAILS_FIELD_NUMBER: _ClassVar[int] + CITY_FIELD_NUMBER: _ClassVar[int] + ZIP_FIELD_NUMBER: _ClassVar[int] + device_details: _containers.RepeatedCompositeFieldContainer[DeviceDetail] + city: _wrappers_pb2.StringValue + zip: _wrappers_pb2.StringValue + def __init__(self, device_details: _Optional[_Iterable[_Union[DeviceDetail, _Mapping]]] = ..., city: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., zip: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class AssetSiteDetailsResponse(_message.Message): + __slots__ = ("devices",) + DEVICES_FIELD_NUMBER: _ClassVar[int] + devices: _containers.RepeatedCompositeFieldContainer[DeviceDetail] + def __init__(self, devices: _Optional[_Iterable[_Union[DeviceDetail, _Mapping]]] = ...) -> None: ... + +class AssetSiteUuidOfDeviceResponse(_message.Message): + __slots__ = ("asset_site_uuid",) + ASSET_SITE_UUID_FIELD_NUMBER: _ClassVar[int] + asset_site_uuid: _wrappers_pb2.StringValue + def __init__(self, asset_site_uuid: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class CommercialChargingDetails(_message.Message): + __slots__ = ("property_type", "project_access_type", "destination_phone_number", "destination_website") + PROPERTY_TYPE_FIELD_NUMBER: _ClassVar[int] + PROJECT_ACCESS_TYPE_FIELD_NUMBER: _ClassVar[int] + DESTINATION_PHONE_NUMBER_FIELD_NUMBER: _ClassVar[int] + DESTINATION_WEBSITE_FIELD_NUMBER: _ClassVar[int] + property_type: PropertyType + project_access_type: ProjectAccessType + destination_phone_number: _wrappers_pb2.StringValue + destination_website: _wrappers_pb2.StringValue + def __init__(self, property_type: _Optional[_Union[PropertyType, str]] = ..., project_access_type: _Optional[_Union[ProjectAccessType, str]] = ..., destination_phone_number: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., destination_website: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class CommercialChargingDeviceProperties(_message.Message): + __slots__ = ("main_service_size", "nominal_voltage", "load_sharing", "max_output", "latitude", "longitude", "label", "rssi", "power_type", "connector_type", "load_sharing_type") + MAIN_SERVICE_SIZE_FIELD_NUMBER: _ClassVar[int] + NOMINAL_VOLTAGE_FIELD_NUMBER: _ClassVar[int] + LOAD_SHARING_FIELD_NUMBER: _ClassVar[int] + MAX_OUTPUT_FIELD_NUMBER: _ClassVar[int] + LATITUDE_FIELD_NUMBER: _ClassVar[int] + LONGITUDE_FIELD_NUMBER: _ClassVar[int] + LABEL_FIELD_NUMBER: _ClassVar[int] + RSSI_FIELD_NUMBER: _ClassVar[int] + POWER_TYPE_FIELD_NUMBER: _ClassVar[int] + CONNECTOR_TYPE_FIELD_NUMBER: _ClassVar[int] + LOAD_SHARING_TYPE_FIELD_NUMBER: _ClassVar[int] + main_service_size: int + nominal_voltage: int + load_sharing: bool + max_output: int + latitude: _wrappers_pb2.FloatValue + longitude: _wrappers_pb2.FloatValue + label: _wrappers_pb2.Int32Value + rssi: _wrappers_pb2.Int32Value + power_type: int + connector_type: int + load_sharing_type: WCLoadSharingType + def __init__(self, main_service_size: _Optional[int] = ..., nominal_voltage: _Optional[int] = ..., load_sharing: _Optional[bool] = ..., max_output: _Optional[int] = ..., latitude: _Optional[_Union[_wrappers_pb2.FloatValue, _Mapping]] = ..., longitude: _Optional[_Union[_wrappers_pb2.FloatValue, _Mapping]] = ..., label: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ..., rssi: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ..., power_type: _Optional[int] = ..., connector_type: _Optional[int] = ..., load_sharing_type: _Optional[_Union[WCLoadSharingType, str]] = ...) -> None: ... + +class CommercialChargingSiteInfo(_message.Message): + __slots__ = ("site_address", "warp_site_name", "commercial_charging_details", "site_owner_email") + SITE_ADDRESS_FIELD_NUMBER: _ClassVar[int] + WARP_SITE_NAME_FIELD_NUMBER: _ClassVar[int] + COMMERCIAL_CHARGING_DETAILS_FIELD_NUMBER: _ClassVar[int] + SITE_OWNER_EMAIL_FIELD_NUMBER: _ClassVar[int] + site_address: CustomerSiteAddress + warp_site_name: _wrappers_pb2.StringValue + commercial_charging_details: CommercialChargingDetails + site_owner_email: str + def __init__(self, site_address: _Optional[_Union[CustomerSiteAddress, _Mapping]] = ..., warp_site_name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., commercial_charging_details: _Optional[_Union[CommercialChargingDetails, _Mapping]] = ..., site_owner_email: _Optional[str] = ...) -> None: ... + +class CustomerInfo(_message.Message): + __slots__ = ("sso_id", "email", "given_name", "family_name") + SSO_ID_FIELD_NUMBER: _ClassVar[int] + EMAIL_FIELD_NUMBER: _ClassVar[int] + GIVEN_NAME_FIELD_NUMBER: _ClassVar[int] + FAMILY_NAME_FIELD_NUMBER: _ClassVar[int] + sso_id: _device_pb2.UUIDv4 + email: str + given_name: str + family_name: str + def __init__(self, sso_id: _Optional[_Union[_device_pb2.UUIDv4, _Mapping]] = ..., email: _Optional[str] = ..., given_name: _Optional[str] = ..., family_name: _Optional[str] = ...) -> None: ... + +class CustomerLegalConsent(_message.Message): + __slots__ = ("privacy_notice", "limited_warranty", "grid_services", "marketing") + PRIVACY_NOTICE_FIELD_NUMBER: _ClassVar[int] + LIMITED_WARRANTY_FIELD_NUMBER: _ClassVar[int] + GRID_SERVICES_FIELD_NUMBER: _ClassVar[int] + MARKETING_FIELD_NUMBER: _ClassVar[int] + privacy_notice: _wrappers_pb2.BoolValue + limited_warranty: _wrappers_pb2.BoolValue + grid_services: _wrappers_pb2.BoolValue + marketing: _wrappers_pb2.BoolValue + def __init__(self, privacy_notice: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., limited_warranty: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., grid_services: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., marketing: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ...) -> None: ... + +class CustomerSiteAddress(_message.Message): + __slots__ = ("street", "city", "state", "zip", "country", "phone") + STREET_FIELD_NUMBER: _ClassVar[int] + CITY_FIELD_NUMBER: _ClassVar[int] + STATE_FIELD_NUMBER: _ClassVar[int] + ZIP_FIELD_NUMBER: _ClassVar[int] + COUNTRY_FIELD_NUMBER: _ClassVar[int] + PHONE_FIELD_NUMBER: _ClassVar[int] + street: str + city: str + state: str + zip: str + country: str + phone: str + def __init__(self, street: _Optional[str] = ..., city: _Optional[str] = ..., state: _Optional[str] = ..., zip: _Optional[str] = ..., country: _Optional[str] = ..., phone: _Optional[str] = ...) -> None: ... + +class DeactivateDeviceRequest(_message.Message): + __slots__ = ("dins", "installer_tesla_auth_bearer_token") + DINS_FIELD_NUMBER: _ClassVar[int] + INSTALLER_TESLA_AUTH_BEARER_TOKEN_FIELD_NUMBER: _ClassVar[int] + dins: _containers.RepeatedScalarFieldContainer[str] + installer_tesla_auth_bearer_token: str + def __init__(self, dins: _Optional[_Iterable[str]] = ..., installer_tesla_auth_bearer_token: _Optional[str] = ...) -> None: ... + +class DeviceDetail(_message.Message): + __slots__ = ("device_type", "fallback_description", "din") + DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] + FALLBACK_DESCRIPTION_FIELD_NUMBER: _ClassVar[int] + DIN_FIELD_NUMBER: _ClassVar[int] + device_type: RegistrationDeviceType + fallback_description: str + din: str + def __init__(self, device_type: _Optional[_Union[RegistrationDeviceType, str]] = ..., fallback_description: _Optional[str] = ..., din: _Optional[str] = ...) -> None: ... + +class InstallationInfo(_message.Message): + __slots__ = ("installation_guid",) + INSTALLATION_GUID_FIELD_NUMBER: _ClassVar[int] + installation_guid: str + def __init__(self, installation_guid: _Optional[str] = ...) -> None: ... + +class InstallerInfo(_message.Message): + __slots__ = ("email", "account_master_id", "company_name", "phone") + EMAIL_FIELD_NUMBER: _ClassVar[int] + ACCOUNT_MASTER_ID_FIELD_NUMBER: _ClassVar[int] + COMPANY_NAME_FIELD_NUMBER: _ClassVar[int] + PHONE_FIELD_NUMBER: _ClassVar[int] + email: str + account_master_id: _device_pb2.UUIDv4 + company_name: _wrappers_pb2.StringValue + phone: _wrappers_pb2.StringValue + def __init__(self, email: _Optional[str] = ..., account_master_id: _Optional[_Union[_device_pb2.UUIDv4, _Mapping]] = ..., company_name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., phone: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class InstallerLocation(_message.Message): + __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: ... + +class PartDetail(_message.Message): + __slots__ = ("part_number", "serial_number", "part_type", "manufacturer") + PART_NUMBER_FIELD_NUMBER: _ClassVar[int] + SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int] + PART_TYPE_FIELD_NUMBER: _ClassVar[int] + MANUFACTURER_FIELD_NUMBER: _ClassVar[int] + part_number: str + serial_number: str + part_type: str + manufacturer: _wrappers_pb2.StringValue + def __init__(self, part_number: _Optional[str] = ..., serial_number: _Optional[str] = ..., part_type: _Optional[str] = ..., manufacturer: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class PartnerInfo(_message.Message): + __slots__ = ("account_master_id", "site_relationship_type") + ACCOUNT_MASTER_ID_FIELD_NUMBER: _ClassVar[int] + SITE_RELATIONSHIP_TYPE_FIELD_NUMBER: _ClassVar[int] + account_master_id: _device_pb2.UUIDv4 + site_relationship_type: RegistrationSiteRelationshipType + def __init__(self, account_master_id: _Optional[_Union[_device_pb2.UUIDv4, _Mapping]] = ..., site_relationship_type: _Optional[_Union[RegistrationSiteRelationshipType, str]] = ...) -> None: ... + +class RegistrationAPIDeactivateDeviceRequest(_message.Message): + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: DeactivateDeviceRequest + def __init__(self, request: _Optional[_Union[DeactivateDeviceRequest, _Mapping]] = ...) -> None: ... + +class RegistrationAPIDeactivateDeviceResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class RegistrationAPIPrepareRegistrationPayloadRequest(_message.Message): + __slots__ = ("customer_registration_info",) + CUSTOMER_REGISTRATION_INFO_FIELD_NUMBER: _ClassVar[int] + customer_registration_info: bytes + def __init__(self, customer_registration_info: _Optional[bytes] = ...) -> None: ... + +class RegistrationAPIPrepareRegistrationPayloadResponse(_message.Message): + __slots__ = ("signed_registration_payload",) + SIGNED_REGISTRATION_PAYLOAD_FIELD_NUMBER: _ClassVar[int] + signed_registration_payload: _device_pb2.DeviceSignedPayload + def __init__(self, signed_registration_payload: _Optional[_Union[_device_pb2.DeviceSignedPayload, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRegisterRequest(_message.Message): + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: RegistrationRequest + def __init__(self, request: _Optional[_Union[RegistrationRequest, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRegisterResponse(_message.Message): + __slots__ = ("failure", "response") + FAILURE_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + failure: int + response: RegistrationResponse + def __init__(self, failure: _Optional[int] = ..., response: _Optional[_Union[RegistrationResponse, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRetrieveAssetSiteDetailsRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class RegistrationAPIRetrieveAssetSiteDetailsResponse(_message.Message): + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: AssetSiteDetailsResponse + def __init__(self, response: _Optional[_Union[AssetSiteDetailsResponse, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRetrieveSiteSuggestionRequest(_message.Message): + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: SiteSuggestionRequest + def __init__(self, request: _Optional[_Union[SiteSuggestionRequest, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRetrieveSiteSuggestionResponse(_message.Message): + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: SiteSuggestionResponse + def __init__(self, response: _Optional[_Union[SiteSuggestionResponse, _Mapping]] = ...) -> None: ... + +class RegistrationAPIRetrieveSiteUuidRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class RegistrationAPIRetrieveSiteUuidResponse(_message.Message): + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: AssetSiteUuidOfDeviceResponse + def __init__(self, response: _Optional[_Union[AssetSiteUuidOfDeviceResponse, _Mapping]] = ...) -> None: ... + +class RegistrationMessages(_message.Message): + __slots__ = ("prepare_registration_payload_request", "prepare_registration_payload_response", "register_request", "register_response", "retrieve_site_uuid_request", "retrieve_site_uuid_response", "retrieve_site_suggestion_request", "retrieve_site_suggestion_response", "retrieve_asset_site_details_request", "retrieve_asset_site_details_response", "deactivate_device_request", "deactivate_device_response") + PREPARE_REGISTRATION_PAYLOAD_REQUEST_FIELD_NUMBER: _ClassVar[int] + PREPARE_REGISTRATION_PAYLOAD_RESPONSE_FIELD_NUMBER: _ClassVar[int] + REGISTER_REQUEST_FIELD_NUMBER: _ClassVar[int] + REGISTER_RESPONSE_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_UUID_REQUEST_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_UUID_RESPONSE_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_SUGGESTION_REQUEST_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_SITE_SUGGESTION_RESPONSE_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_ASSET_SITE_DETAILS_REQUEST_FIELD_NUMBER: _ClassVar[int] + RETRIEVE_ASSET_SITE_DETAILS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + DEACTIVATE_DEVICE_REQUEST_FIELD_NUMBER: _ClassVar[int] + DEACTIVATE_DEVICE_RESPONSE_FIELD_NUMBER: _ClassVar[int] + prepare_registration_payload_request: RegistrationAPIPrepareRegistrationPayloadRequest + prepare_registration_payload_response: RegistrationAPIPrepareRegistrationPayloadResponse + register_request: RegistrationAPIRegisterRequest + register_response: RegistrationAPIRegisterResponse + retrieve_site_uuid_request: RegistrationAPIRetrieveSiteUuidRequest + retrieve_site_uuid_response: RegistrationAPIRetrieveSiteUuidResponse + retrieve_site_suggestion_request: RegistrationAPIRetrieveSiteSuggestionRequest + retrieve_site_suggestion_response: RegistrationAPIRetrieveSiteSuggestionResponse + retrieve_asset_site_details_request: RegistrationAPIRetrieveAssetSiteDetailsRequest + retrieve_asset_site_details_response: RegistrationAPIRetrieveAssetSiteDetailsResponse + deactivate_device_request: RegistrationAPIDeactivateDeviceRequest + deactivate_device_response: RegistrationAPIDeactivateDeviceResponse + def __init__(self, prepare_registration_payload_request: _Optional[_Union[RegistrationAPIPrepareRegistrationPayloadRequest, _Mapping]] = ..., prepare_registration_payload_response: _Optional[_Union[RegistrationAPIPrepareRegistrationPayloadResponse, _Mapping]] = ..., register_request: _Optional[_Union[RegistrationAPIRegisterRequest, _Mapping]] = ..., register_response: _Optional[_Union[RegistrationAPIRegisterResponse, _Mapping]] = ..., retrieve_site_uuid_request: _Optional[_Union[RegistrationAPIRetrieveSiteUuidRequest, _Mapping]] = ..., retrieve_site_uuid_response: _Optional[_Union[RegistrationAPIRetrieveSiteUuidResponse, _Mapping]] = ..., retrieve_site_suggestion_request: _Optional[_Union[RegistrationAPIRetrieveSiteSuggestionRequest, _Mapping]] = ..., retrieve_site_suggestion_response: _Optional[_Union[RegistrationAPIRetrieveSiteSuggestionResponse, _Mapping]] = ..., retrieve_asset_site_details_request: _Optional[_Union[RegistrationAPIRetrieveAssetSiteDetailsRequest, _Mapping]] = ..., retrieve_asset_site_details_response: _Optional[_Union[RegistrationAPIRetrieveAssetSiteDetailsResponse, _Mapping]] = ..., deactivate_device_request: _Optional[_Union[RegistrationAPIDeactivateDeviceRequest, _Mapping]] = ..., deactivate_device_response: _Optional[_Union[RegistrationAPIDeactivateDeviceResponse, _Mapping]] = ...) -> None: ... + +class RegistrationRequest(_message.Message): + __slots__ = ("version", "part_details", "attempt", "registration_source", "installer", "customer", "site_address", "legal_consent", "installation_info", "asset_site_id", "additional_partners") + VERSION_FIELD_NUMBER: _ClassVar[int] + PART_DETAILS_FIELD_NUMBER: _ClassVar[int] + ATTEMPT_FIELD_NUMBER: _ClassVar[int] + REGISTRATION_SOURCE_FIELD_NUMBER: _ClassVar[int] + INSTALLER_FIELD_NUMBER: _ClassVar[int] + CUSTOMER_FIELD_NUMBER: _ClassVar[int] + SITE_ADDRESS_FIELD_NUMBER: _ClassVar[int] + LEGAL_CONSENT_FIELD_NUMBER: _ClassVar[int] + INSTALLATION_INFO_FIELD_NUMBER: _ClassVar[int] + ASSET_SITE_ID_FIELD_NUMBER: _ClassVar[int] + ADDITIONAL_PARTNERS_FIELD_NUMBER: _ClassVar[int] + version: _update_pb2.FirmwareVersion + part_details: _containers.RepeatedCompositeFieldContainer[PartDetail] + attempt: int + registration_source: RegistrationSource + installer: InstallerInfo + customer: CustomerInfo + site_address: CustomerSiteAddress + legal_consent: CustomerLegalConsent + installation_info: InstallationInfo + asset_site_id: _wrappers_pb2.StringValue + additional_partners: _containers.RepeatedCompositeFieldContainer[PartnerInfo] + def __init__(self, version: _Optional[_Union[_update_pb2.FirmwareVersion, _Mapping]] = ..., part_details: _Optional[_Iterable[_Union[PartDetail, _Mapping]]] = ..., attempt: _Optional[int] = ..., registration_source: _Optional[_Union[RegistrationSource, str]] = ..., installer: _Optional[_Union[InstallerInfo, _Mapping]] = ..., customer: _Optional[_Union[CustomerInfo, _Mapping]] = ..., site_address: _Optional[_Union[CustomerSiteAddress, _Mapping]] = ..., legal_consent: _Optional[_Union[CustomerLegalConsent, _Mapping]] = ..., installation_info: _Optional[_Union[InstallationInfo, _Mapping]] = ..., asset_site_id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., additional_partners: _Optional[_Iterable[_Union[PartnerInfo, _Mapping]]] = ...) -> None: ... + +class RegistrationResponse(_message.Message): + __slots__ = ("status", "retry_delay_s", "status_time", "asset_site_id") + STATUS_FIELD_NUMBER: _ClassVar[int] + RETRY_DELAY_S_FIELD_NUMBER: _ClassVar[int] + STATUS_TIME_FIELD_NUMBER: _ClassVar[int] + ASSET_SITE_ID_FIELD_NUMBER: _ClassVar[int] + status: RegistrationStatus + retry_delay_s: int + status_time: _timestamp_pb2.Timestamp + asset_site_id: _wrappers_pb2.StringValue + def __init__(self, status: _Optional[_Union[RegistrationStatus, str]] = ..., retry_delay_s: _Optional[int] = ..., status_time: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., asset_site_id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class SiteSuggestion(_message.Message): + __slots__ = ("asset_site_uuid", "anonymized_site_details") + ASSET_SITE_UUID_FIELD_NUMBER: _ClassVar[int] + ANONYMIZED_SITE_DETAILS_FIELD_NUMBER: _ClassVar[int] + asset_site_uuid: str + anonymized_site_details: AnonymizedSiteDetails + def __init__(self, asset_site_uuid: _Optional[str] = ..., anonymized_site_details: _Optional[_Union[AnonymizedSiteDetails, _Mapping]] = ...) -> None: ... + +class SiteSuggestionRequest(_message.Message): + __slots__ = ("lookup", "installer_location", "installer_tesla_auth_bearer_token") + LOOKUP_FIELD_NUMBER: _ClassVar[int] + INSTALLER_LOCATION_FIELD_NUMBER: _ClassVar[int] + INSTALLER_TESLA_AUTH_BEARER_TOKEN_FIELD_NUMBER: _ClassVar[int] + lookup: str + installer_location: InstallerLocation + installer_tesla_auth_bearer_token: str + def __init__(self, lookup: _Optional[str] = ..., installer_location: _Optional[_Union[InstallerLocation, _Mapping]] = ..., installer_tesla_auth_bearer_token: _Optional[str] = ...) -> None: ... + +class SiteSuggestionResponse(_message.Message): + __slots__ = ("site_suggestions",) + SITE_SUGGESTIONS_FIELD_NUMBER: _ClassVar[int] + site_suggestions: _containers.RepeatedCompositeFieldContainer[SiteSuggestion] + def __init__(self, site_suggestions: _Optional[_Iterable[_Union[SiteSuggestion, _Mapping]]] = ...) -> None: ... + +class WCCommercialRegistrationRequest(_message.Message): + __slots__ = ("device_properties", "asset_site_id", "site_info", "installer_info", "installation_completed", "site_owner_email") + DEVICE_PROPERTIES_FIELD_NUMBER: _ClassVar[int] + ASSET_SITE_ID_FIELD_NUMBER: _ClassVar[int] + SITE_INFO_FIELD_NUMBER: _ClassVar[int] + INSTALLER_INFO_FIELD_NUMBER: _ClassVar[int] + INSTALLATION_COMPLETED_FIELD_NUMBER: _ClassVar[int] + SITE_OWNER_EMAIL_FIELD_NUMBER: _ClassVar[int] + device_properties: CommercialChargingDeviceProperties + asset_site_id: _device_pb2.UUIDv4 + site_info: CommercialChargingSiteInfo + installer_info: InstallerInfo + installation_completed: bool + site_owner_email: _wrappers_pb2.StringValue + def __init__(self, device_properties: _Optional[_Union[CommercialChargingDeviceProperties, _Mapping]] = ..., asset_site_id: _Optional[_Union[_device_pb2.UUIDv4, _Mapping]] = ..., site_info: _Optional[_Union[CommercialChargingSiteInfo, _Mapping]] = ..., installer_info: _Optional[_Union[InstallerInfo, _Mapping]] = ..., installation_completed: _Optional[bool] = ..., site_owner_email: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.py b/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.py new file mode 100644 index 0000000..226ca38 --- /dev/null +++ b/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: tesla_protocol/energy_device/supercharger_api.proto +# Protobuf Python Version: 6.33.5 +"""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, + 33, + 5, + '', + 'tesla_protocol/energy_device/supercharger_api.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tesla_protocol/energy_device/supercharger_api.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1egoogle/protobuf/wrappers.proto\"d\n\x0e\x43onnectedKiosk\x12R\n\x0everifone_kiosk\x18\x01 \x01(\x0b\x32:.tesla_protocol.tesla.proto.energy_device.v1.VerifoneKiosk\"\x8e\x01\n\x1a\x44\x63MeterCommissioningStatus\x12\x0f\n\x07post_id\x18\x01 \x01(\r\x12-\n\tinstalled\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x30\n\x0c\x63ommissioned\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"C\n\x17\x44\x65viceIDAndSerialNumber\x12\x15\n\rserial_number\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\"\x9d\x01\n\x1d\x45\x63uFirmwareModuleUpdateResult\x12\x12\n\necu_module\x18\x01 \x01(\t\x12h\n\x14module_update_status\x18\x02 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatus\"\xc0\x02\n\x1d\x45\x63uFirmwareModuleUpdateStatus\x12]\n\x05pass_\x18\x01 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusPass\x12\\\n\x04\x66\x61il\x18\x02 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusFail\x12\x62\n\x07skipped\x18\x03 \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateStatusSkipped\"\xc6\x01\n!EcuFirmwareModuleUpdateStatusFail\x12,\n\x06reason\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x12pre_update_version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x39\n\x13post_update_version\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x98\x01\n!EcuFirmwareModuleUpdateStatusPass\x12\x38\n\x12pre_update_version\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x39\n\x13post_update_version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"T\n$EcuFirmwareModuleUpdateStatusSkipped\x12,\n\x06reason\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"v\n\x19\x45\x63uFirmwareUpdateAttempts\x12Y\n\x08\x61ttempts\x18\x01 \x03(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateEcuResult\"\x99\x01\n\x1a\x45\x63uFirmwareUpdateEcuResult\x12\x10\n\x08\x65\x63u_name\x18\x01 \x01(\t\x12i\n\x15module_update_results\x18\x02 \x03(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareModuleUpdateResult\"\x81\x02\n\x1b\x45\x63uFirmwareUpdateInProgress\x12\x66\n\x07\x64\x65\x66\x61ult\x18\x01 \x03(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress.DefaultEntry\x1az\n\x0c\x44\x65\x66\x61ultEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Y\n\x05value\x18\x02 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateNodeProgress:\x02\x38\x01\"\x97\x01\n\x1d\x45\x63uFirmwareUpdateNodeProgress\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12R\n\x05stage\x18\x02 \x01(\x0e\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateStage\x12\x0f\n\x07message\x18\x03 \x01(\t\"\xd9\x02\n\x17\x45\x63uFirmwareUpdateResult\x12\x62\n\x14system_update_status\x18\x01 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateStatus\x12\x62\n\x07\x64\x65\x66\x61ult\x18\x02 \x03(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateResult.DefaultEntry\x1av\n\x0c\x44\x65\x66\x61ultEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12U\n\x05value\x18\x02 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateAttempts:\x02\x38\x01\"\xca\x01\n\x17\x45\x63uFirmwareUpdateStatus\x12W\n\x05pass_\x18\x02 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusPass\x12V\n\x04\x66\x61il\x18\x03 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateStatusFail\"-\n\x1b\x45\x63uFirmwareUpdateStatusFail\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\x1d\n\x1b\x45\x63uFirmwareUpdateStatusPass\"P\n\x10PayterPostStatus\x12\x12\n\npost_index\x18\x01 \x01(\r\x12\x15\n\rserial_number\x18\x02 \x01(\t\x12\x11\n\tactivated\x18\x03 \x01(\x08\"*\n(SuperchargerAPIGetConnectedKiosksRequest\"\xd3\x01\n)SuperchargerAPIGetConnectedKiosksResponse\x12O\n\x05\x65rror\x18\x01 \x01(\x0e\x32@.tesla_protocol.tesla.proto.energy_device.v1.ConnectedKioskError\x12U\n\x10\x63onnected_kiosks\x18\x02 \x03(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.ConnectedKiosk\"0\n.SuperchargerAPIGetDcMetersCommissioningRequest\"\x9c\x01\n/SuperchargerAPIGetDcMetersCommissioningResponse\x12Z\n\tdc_meters\x18\x01 \x03(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.DcMeterCommissioningStatus\x12\r\n\x05\x65rror\x18\x02 \x01(\x05\"4\n2SuperchargerAPIGetEcuFirmwareUpdateProgressRequest\"\xec\x01\n3SuperchargerAPIGetEcuFirmwareUpdateProgressResponse\x12V\n\x08\x66inished\x18\x01 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateResult\x12]\n\x0bin_progress\x18\x02 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.EcuFirmwareUpdateInProgress\"+\n)SuperchargerAPIGetPayterPostStatusRequest\"\x83\x01\n*SuperchargerAPIGetPayterPostStatusResponse\x12U\n\x0epayter_devices\x18\x01 \x03(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.PayterPostStatus\"1\n/SuperchargerAPIGetVerifoneKioskDeviceIdsRequest\"\x8c\x01\n0SuperchargerAPIGetVerifoneKioskDeviceIdsResponse\x12X\n\ndevice_ids\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.DeviceIDAndSerialNumber\"B\n!SuperchargerAPIOdinCommandRequest\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x02 \x01(\x0c\"E\n\"SuperchargerAPIOdinCommandResponse\x12\x10\n\x08response\x18\x01 \x01(\x0c\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"?\n,SuperchargerAPISetDcMeterCommissionedRequest\x12\x0f\n\x07post_id\x18\x01 \x01(\r\"\xb0\x01\n-SuperchargerAPISetDcMeterCommissionedResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12W\n\x05\x65rror\x18\x02 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.SetDcMeterCommissionedError\x12\x15\n\rerror_message\x18\x03 \x01(\t\"L\n%SuperchargerAPIUnlockMagicDockRequest\x12\x12\n\ncabinet_id\x18\x01 \x01(\t\x12\x0f\n\x07post_id\x18\x02 \x01(\r\"(\n&SuperchargerAPIUnlockMagicDockResponse\"5\n%SuperchargerAPIUpdateFollowersRequest\x12\x0c\n\x04\x64ins\x18\x01 \x03(\t\"(\n&SuperchargerAPIUpdateFollowersResponse\"\xf1\x12\n\x14SuperchargerMessages\x12w\n\x19unlock_magic_dock_request\x18\x01 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockRequestH\x00\x12y\n\x1aunlock_magic_dock_response\x18\x02 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIUnlockMagicDockResponseH\x00\x12}\n\x1cget_connected_kiosks_request\x18\x03 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksRequestH\x00\x12\x7f\n\x1dget_connected_kiosks_response\x18\x04 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetConnectedKiosksResponseH\x00\x12\x8d\x01\n%get_verifone_kiosk_device_ids_request\x18\x05 \x01(\x0b\x32\\.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsRequestH\x00\x12\x8f\x01\n&get_verifone_kiosk_device_ids_response\x18\x06 \x01(\x0b\x32].tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetVerifoneKioskDeviceIdsResponseH\x00\x12v\n\x18update_followers_request\x18\x07 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersRequestH\x00\x12x\n\x19update_followers_response\x18\x08 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIUpdateFollowersResponseH\x00\x12\x8a\x01\n#get_dc_meters_commissioning_request\x18\t \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningRequestH\x00\x12\x8c\x01\n$get_dc_meters_commissioning_response\x18\n \x01(\x0b\x32\\.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetDcMetersCommissioningResponseH\x00\x12\x86\x01\n!set_dc_meter_commissioned_request\x18\x0b \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedRequestH\x00\x12\x88\x01\n\"set_dc_meter_commissioned_response\x18\x0c \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPISetDcMeterCommissionedResponseH\x00\x12n\n\x14odin_command_request\x18\r \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandRequestH\x00\x12p\n\x15odin_command_response\x18\x0e \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIOdinCommandResponseH\x00\x12\x80\x01\n\x1eget_payter_post_status_request\x18\x0f \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusRequestH\x00\x12\x82\x01\n\x1fget_payter_post_status_response\x18\x10 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetPayterPostStatusResponseH\x00\x12\x93\x01\n(get_ecu_firmware_update_progress_request\x18\x11 \x01(\x0b\x32_.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressRequestH\x00\x12\x95\x01\n)get_ecu_firmware_update_progress_response\x18\x12 \x01(\x0b\x32`.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerAPIGetEcuFirmwareUpdateProgressResponseH\x00\x42\t\n\x07message\"E\n\rVerifoneKiosk\x12\x15\n\rserial_number\x18\x01 \x01(\t\x12\x1d\n\x15subject_key_identifer\x18\x02 \x01(\t*\x93\x01\n\x13\x43onnectedKioskError\x12!\n\x1d\x43ONNECTED_KIOSK_ERROR_INVALID\x10\x00\x12-\n)CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED\x10\x01\x12*\n&CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR\x10\x02*\xd5\x03\n\x16\x45\x63uFirmwareUpdateStage\x12%\n!ECU_FIRMWARE_UPDATE_STAGE_INVALID\x10\x00\x12%\n!ECU_FIRMWARE_UPDATE_STAGE_WAITING\x10\x01\x12-\n)ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO\x10\x02\x12\x36\n2ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED\x10\x03\x12\'\n#ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL\x10\x04\x12\x37\n3ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED\x10\x05\x12(\n$ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP\x10\x06\x12\x32\n.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS\x10\x07\x12\"\n\x1e\x45\x43U_FIRMWARE_UPDATE_STAGE_PASS\x10\x08\x12\"\n\x1e\x45\x43U_FIRMWARE_UPDATE_STAGE_FAIL\x10\t*\xda\x02\n\x1bSetDcMeterCommissionedError\x12+\n\'SET_DC_METER_COMMISSIONED_ERROR_INVALID\x10\x00\x12\x33\n/SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID\x10\x01\x12:\n6SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED\x10\x02\x12/\n+SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE\x10\x03\x12:\n6SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED\x10\x04\x12\x30\n,SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED\x10\x05\x42\x83\x01\n$com.tesla.generated.energy_device.v1B\x0fSuperchargerApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tesla_protocol.energy_device.supercharger_api_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\017SuperchargerApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' + _globals['_ECUFIRMWAREUPDATEINPROGRESS_DEFAULTENTRY']._loaded_options = None + _globals['_ECUFIRMWAREUPDATEINPROGRESS_DEFAULTENTRY']._serialized_options = b'8\001' + _globals['_ECUFIRMWAREUPDATERESULT_DEFAULTENTRY']._loaded_options = None + _globals['_ECUFIRMWAREUPDATERESULT_DEFAULTENTRY']._serialized_options = b'8\001' + _globals['_CONNECTEDKIOSKERROR']._serialized_start=7001 + _globals['_CONNECTEDKIOSKERROR']._serialized_end=7148 + _globals['_ECUFIRMWAREUPDATESTAGE']._serialized_start=7151 + _globals['_ECUFIRMWAREUPDATESTAGE']._serialized_end=7620 + _globals['_SETDCMETERCOMMISSIONEDERROR']._serialized_start=7623 + _globals['_SETDCMETERCOMMISSIONEDERROR']._serialized_end=7969 + _globals['_CONNECTEDKIOSK']._serialized_start=132 + _globals['_CONNECTEDKIOSK']._serialized_end=232 + _globals['_DCMETERCOMMISSIONINGSTATUS']._serialized_start=235 + _globals['_DCMETERCOMMISSIONINGSTATUS']._serialized_end=377 + _globals['_DEVICEIDANDSERIALNUMBER']._serialized_start=379 + _globals['_DEVICEIDANDSERIALNUMBER']._serialized_end=446 + _globals['_ECUFIRMWAREMODULEUPDATERESULT']._serialized_start=449 + _globals['_ECUFIRMWAREMODULEUPDATERESULT']._serialized_end=606 + _globals['_ECUFIRMWAREMODULEUPDATESTATUS']._serialized_start=609 + _globals['_ECUFIRMWAREMODULEUPDATESTATUS']._serialized_end=929 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSFAIL']._serialized_start=932 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSFAIL']._serialized_end=1130 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSPASS']._serialized_start=1133 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSPASS']._serialized_end=1285 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSSKIPPED']._serialized_start=1287 + _globals['_ECUFIRMWAREMODULEUPDATESTATUSSKIPPED']._serialized_end=1371 + _globals['_ECUFIRMWAREUPDATEATTEMPTS']._serialized_start=1373 + _globals['_ECUFIRMWAREUPDATEATTEMPTS']._serialized_end=1491 + _globals['_ECUFIRMWAREUPDATEECURESULT']._serialized_start=1494 + _globals['_ECUFIRMWAREUPDATEECURESULT']._serialized_end=1647 + _globals['_ECUFIRMWAREUPDATEINPROGRESS']._serialized_start=1650 + _globals['_ECUFIRMWAREUPDATEINPROGRESS']._serialized_end=1907 + _globals['_ECUFIRMWAREUPDATEINPROGRESS_DEFAULTENTRY']._serialized_start=1785 + _globals['_ECUFIRMWAREUPDATEINPROGRESS_DEFAULTENTRY']._serialized_end=1907 + _globals['_ECUFIRMWAREUPDATENODEPROGRESS']._serialized_start=1910 + _globals['_ECUFIRMWAREUPDATENODEPROGRESS']._serialized_end=2061 + _globals['_ECUFIRMWAREUPDATERESULT']._serialized_start=2064 + _globals['_ECUFIRMWAREUPDATERESULT']._serialized_end=2409 + _globals['_ECUFIRMWAREUPDATERESULT_DEFAULTENTRY']._serialized_start=2291 + _globals['_ECUFIRMWAREUPDATERESULT_DEFAULTENTRY']._serialized_end=2409 + _globals['_ECUFIRMWAREUPDATESTATUS']._serialized_start=2412 + _globals['_ECUFIRMWAREUPDATESTATUS']._serialized_end=2614 + _globals['_ECUFIRMWAREUPDATESTATUSFAIL']._serialized_start=2616 + _globals['_ECUFIRMWAREUPDATESTATUSFAIL']._serialized_end=2661 + _globals['_ECUFIRMWAREUPDATESTATUSPASS']._serialized_start=2663 + _globals['_ECUFIRMWAREUPDATESTATUSPASS']._serialized_end=2692 + _globals['_PAYTERPOSTSTATUS']._serialized_start=2694 + _globals['_PAYTERPOSTSTATUS']._serialized_end=2774 + _globals['_SUPERCHARGERAPIGETCONNECTEDKIOSKSREQUEST']._serialized_start=2776 + _globals['_SUPERCHARGERAPIGETCONNECTEDKIOSKSREQUEST']._serialized_end=2818 + _globals['_SUPERCHARGERAPIGETCONNECTEDKIOSKSRESPONSE']._serialized_start=2821 + _globals['_SUPERCHARGERAPIGETCONNECTEDKIOSKSRESPONSE']._serialized_end=3032 + _globals['_SUPERCHARGERAPIGETDCMETERSCOMMISSIONINGREQUEST']._serialized_start=3034 + _globals['_SUPERCHARGERAPIGETDCMETERSCOMMISSIONINGREQUEST']._serialized_end=3082 + _globals['_SUPERCHARGERAPIGETDCMETERSCOMMISSIONINGRESPONSE']._serialized_start=3085 + _globals['_SUPERCHARGERAPIGETDCMETERSCOMMISSIONINGRESPONSE']._serialized_end=3241 + _globals['_SUPERCHARGERAPIGETECUFIRMWAREUPDATEPROGRESSREQUEST']._serialized_start=3243 + _globals['_SUPERCHARGERAPIGETECUFIRMWAREUPDATEPROGRESSREQUEST']._serialized_end=3295 + _globals['_SUPERCHARGERAPIGETECUFIRMWAREUPDATEPROGRESSRESPONSE']._serialized_start=3298 + _globals['_SUPERCHARGERAPIGETECUFIRMWAREUPDATEPROGRESSRESPONSE']._serialized_end=3534 + _globals['_SUPERCHARGERAPIGETPAYTERPOSTSTATUSREQUEST']._serialized_start=3536 + _globals['_SUPERCHARGERAPIGETPAYTERPOSTSTATUSREQUEST']._serialized_end=3579 + _globals['_SUPERCHARGERAPIGETPAYTERPOSTSTATUSRESPONSE']._serialized_start=3582 + _globals['_SUPERCHARGERAPIGETPAYTERPOSTSTATUSRESPONSE']._serialized_end=3713 + _globals['_SUPERCHARGERAPIGETVERIFONEKIOSKDEVICEIDSREQUEST']._serialized_start=3715 + _globals['_SUPERCHARGERAPIGETVERIFONEKIOSKDEVICEIDSREQUEST']._serialized_end=3764 + _globals['_SUPERCHARGERAPIGETVERIFONEKIOSKDEVICEIDSRESPONSE']._serialized_start=3767 + _globals['_SUPERCHARGERAPIGETVERIFONEKIOSKDEVICEIDSRESPONSE']._serialized_end=3907 + _globals['_SUPERCHARGERAPIODINCOMMANDREQUEST']._serialized_start=3909 + _globals['_SUPERCHARGERAPIODINCOMMANDREQUEST']._serialized_end=3975 + _globals['_SUPERCHARGERAPIODINCOMMANDRESPONSE']._serialized_start=3977 + _globals['_SUPERCHARGERAPIODINCOMMANDRESPONSE']._serialized_end=4046 + _globals['_SUPERCHARGERAPISETDCMETERCOMMISSIONEDREQUEST']._serialized_start=4048 + _globals['_SUPERCHARGERAPISETDCMETERCOMMISSIONEDREQUEST']._serialized_end=4111 + _globals['_SUPERCHARGERAPISETDCMETERCOMMISSIONEDRESPONSE']._serialized_start=4114 + _globals['_SUPERCHARGERAPISETDCMETERCOMMISSIONEDRESPONSE']._serialized_end=4290 + _globals['_SUPERCHARGERAPIUNLOCKMAGICDOCKREQUEST']._serialized_start=4292 + _globals['_SUPERCHARGERAPIUNLOCKMAGICDOCKREQUEST']._serialized_end=4368 + _globals['_SUPERCHARGERAPIUNLOCKMAGICDOCKRESPONSE']._serialized_start=4370 + _globals['_SUPERCHARGERAPIUNLOCKMAGICDOCKRESPONSE']._serialized_end=4410 + _globals['_SUPERCHARGERAPIUPDATEFOLLOWERSREQUEST']._serialized_start=4412 + _globals['_SUPERCHARGERAPIUPDATEFOLLOWERSREQUEST']._serialized_end=4465 + _globals['_SUPERCHARGERAPIUPDATEFOLLOWERSRESPONSE']._serialized_start=4467 + _globals['_SUPERCHARGERAPIUPDATEFOLLOWERSRESPONSE']._serialized_end=4507 + _globals['_SUPERCHARGERMESSAGES']._serialized_start=4510 + _globals['_SUPERCHARGERMESSAGES']._serialized_end=6927 + _globals['_VERIFONEKIOSK']._serialized_start=6929 + _globals['_VERIFONEKIOSK']._serialized_end=6998 +# @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.pyi b/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.pyi new file mode 100644 index 0000000..fa44145 --- /dev/null +++ b/packages/python/tesla_protocol/energy_device/supercharger_api_pb2.pyi @@ -0,0 +1,360 @@ +from google.protobuf import wrappers_pb2 as _wrappers_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 ConnectedKioskError(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + CONNECTED_KIOSK_ERROR_INVALID: _ClassVar[ConnectedKioskError] + CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED: _ClassVar[ConnectedKioskError] + CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR: _ClassVar[ConnectedKioskError] + +class EcuFirmwareUpdateStage(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ECU_FIRMWARE_UPDATE_STAGE_INVALID: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_WAITING: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_PASS: _ClassVar[EcuFirmwareUpdateStage] + ECU_FIRMWARE_UPDATE_STAGE_FAIL: _ClassVar[EcuFirmwareUpdateStage] + +class SetDcMeterCommissionedError(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SET_DC_METER_COMMISSIONED_ERROR_INVALID: _ClassVar[SetDcMeterCommissionedError] + SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID: _ClassVar[SetDcMeterCommissionedError] + SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED: _ClassVar[SetDcMeterCommissionedError] + SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE: _ClassVar[SetDcMeterCommissionedError] + SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED: _ClassVar[SetDcMeterCommissionedError] + SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED: _ClassVar[SetDcMeterCommissionedError] +CONNECTED_KIOSK_ERROR_INVALID: ConnectedKioskError +CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED: ConnectedKioskError +CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR: ConnectedKioskError +ECU_FIRMWARE_UPDATE_STAGE_INVALID: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_WAITING: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_PASS: EcuFirmwareUpdateStage +ECU_FIRMWARE_UPDATE_STAGE_FAIL: EcuFirmwareUpdateStage +SET_DC_METER_COMMISSIONED_ERROR_INVALID: SetDcMeterCommissionedError +SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID: SetDcMeterCommissionedError +SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED: SetDcMeterCommissionedError +SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE: SetDcMeterCommissionedError +SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED: SetDcMeterCommissionedError +SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED: SetDcMeterCommissionedError + +class ConnectedKiosk(_message.Message): + __slots__ = ("verifone_kiosk",) + VERIFONE_KIOSK_FIELD_NUMBER: _ClassVar[int] + verifone_kiosk: VerifoneKiosk + def __init__(self, verifone_kiosk: _Optional[_Union[VerifoneKiosk, _Mapping]] = ...) -> None: ... + +class DcMeterCommissioningStatus(_message.Message): + __slots__ = ("post_id", "installed", "commissioned") + POST_ID_FIELD_NUMBER: _ClassVar[int] + INSTALLED_FIELD_NUMBER: _ClassVar[int] + COMMISSIONED_FIELD_NUMBER: _ClassVar[int] + post_id: int + installed: _wrappers_pb2.BoolValue + commissioned: _wrappers_pb2.BoolValue + def __init__(self, post_id: _Optional[int] = ..., installed: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., commissioned: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ...) -> None: ... + +class DeviceIDAndSerialNumber(_message.Message): + __slots__ = ("serial_number", "device_id") + SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + serial_number: str + device_id: str + def __init__(self, serial_number: _Optional[str] = ..., device_id: _Optional[str] = ...) -> None: ... + +class EcuFirmwareModuleUpdateResult(_message.Message): + __slots__ = ("ecu_module", "module_update_status") + ECU_MODULE_FIELD_NUMBER: _ClassVar[int] + MODULE_UPDATE_STATUS_FIELD_NUMBER: _ClassVar[int] + ecu_module: str + module_update_status: EcuFirmwareModuleUpdateStatus + def __init__(self, ecu_module: _Optional[str] = ..., module_update_status: _Optional[_Union[EcuFirmwareModuleUpdateStatus, _Mapping]] = ...) -> None: ... + +class EcuFirmwareModuleUpdateStatus(_message.Message): + __slots__ = ("pass_", "fail", "skipped") + PASS__FIELD_NUMBER: _ClassVar[int] + FAIL_FIELD_NUMBER: _ClassVar[int] + SKIPPED_FIELD_NUMBER: _ClassVar[int] + pass_: EcuFirmwareModuleUpdateStatusPass + fail: EcuFirmwareModuleUpdateStatusFail + skipped: EcuFirmwareModuleUpdateStatusSkipped + def __init__(self, pass_: _Optional[_Union[EcuFirmwareModuleUpdateStatusPass, _Mapping]] = ..., fail: _Optional[_Union[EcuFirmwareModuleUpdateStatusFail, _Mapping]] = ..., skipped: _Optional[_Union[EcuFirmwareModuleUpdateStatusSkipped, _Mapping]] = ...) -> None: ... + +class EcuFirmwareModuleUpdateStatusFail(_message.Message): + __slots__ = ("reason", "pre_update_version", "post_update_version") + REASON_FIELD_NUMBER: _ClassVar[int] + PRE_UPDATE_VERSION_FIELD_NUMBER: _ClassVar[int] + POST_UPDATE_VERSION_FIELD_NUMBER: _ClassVar[int] + reason: _wrappers_pb2.StringValue + pre_update_version: _wrappers_pb2.StringValue + post_update_version: _wrappers_pb2.StringValue + def __init__(self, reason: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., pre_update_version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., post_update_version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class EcuFirmwareModuleUpdateStatusPass(_message.Message): + __slots__ = ("pre_update_version", "post_update_version") + PRE_UPDATE_VERSION_FIELD_NUMBER: _ClassVar[int] + POST_UPDATE_VERSION_FIELD_NUMBER: _ClassVar[int] + pre_update_version: _wrappers_pb2.StringValue + post_update_version: _wrappers_pb2.StringValue + def __init__(self, pre_update_version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., post_update_version: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class EcuFirmwareModuleUpdateStatusSkipped(_message.Message): + __slots__ = ("reason",) + REASON_FIELD_NUMBER: _ClassVar[int] + reason: _wrappers_pb2.StringValue + def __init__(self, reason: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ... + +class EcuFirmwareUpdateAttempts(_message.Message): + __slots__ = ("attempts",) + ATTEMPTS_FIELD_NUMBER: _ClassVar[int] + attempts: _containers.RepeatedCompositeFieldContainer[EcuFirmwareUpdateEcuResult] + def __init__(self, attempts: _Optional[_Iterable[_Union[EcuFirmwareUpdateEcuResult, _Mapping]]] = ...) -> None: ... + +class EcuFirmwareUpdateEcuResult(_message.Message): + __slots__ = ("ecu_name", "module_update_results") + ECU_NAME_FIELD_NUMBER: _ClassVar[int] + MODULE_UPDATE_RESULTS_FIELD_NUMBER: _ClassVar[int] + ecu_name: str + module_update_results: _containers.RepeatedCompositeFieldContainer[EcuFirmwareModuleUpdateResult] + def __init__(self, ecu_name: _Optional[str] = ..., module_update_results: _Optional[_Iterable[_Union[EcuFirmwareModuleUpdateResult, _Mapping]]] = ...) -> None: ... + +class EcuFirmwareUpdateInProgress(_message.Message): + __slots__ = ("default",) + class DefaultEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: EcuFirmwareUpdateNodeProgress + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[EcuFirmwareUpdateNodeProgress, _Mapping]] = ...) -> None: ... + DEFAULT_FIELD_NUMBER: _ClassVar[int] + default: _containers.MessageMap[str, EcuFirmwareUpdateNodeProgress] + def __init__(self, default: _Optional[_Mapping[str, EcuFirmwareUpdateNodeProgress]] = ...) -> None: ... + +class EcuFirmwareUpdateNodeProgress(_message.Message): + __slots__ = ("node_path", "stage", "message") + NODE_PATH_FIELD_NUMBER: _ClassVar[int] + STAGE_FIELD_NUMBER: _ClassVar[int] + MESSAGE_FIELD_NUMBER: _ClassVar[int] + node_path: str + stage: EcuFirmwareUpdateStage + message: str + def __init__(self, node_path: _Optional[str] = ..., stage: _Optional[_Union[EcuFirmwareUpdateStage, str]] = ..., message: _Optional[str] = ...) -> None: ... + +class EcuFirmwareUpdateResult(_message.Message): + __slots__ = ("system_update_status", "default") + class DefaultEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: EcuFirmwareUpdateAttempts + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[EcuFirmwareUpdateAttempts, _Mapping]] = ...) -> None: ... + SYSTEM_UPDATE_STATUS_FIELD_NUMBER: _ClassVar[int] + DEFAULT_FIELD_NUMBER: _ClassVar[int] + system_update_status: EcuFirmwareUpdateStatus + default: _containers.MessageMap[str, EcuFirmwareUpdateAttempts] + def __init__(self, system_update_status: _Optional[_Union[EcuFirmwareUpdateStatus, _Mapping]] = ..., default: _Optional[_Mapping[str, EcuFirmwareUpdateAttempts]] = ...) -> None: ... + +class EcuFirmwareUpdateStatus(_message.Message): + __slots__ = ("pass_", "fail") + PASS__FIELD_NUMBER: _ClassVar[int] + FAIL_FIELD_NUMBER: _ClassVar[int] + pass_: EcuFirmwareUpdateStatusPass + fail: EcuFirmwareUpdateStatusFail + def __init__(self, pass_: _Optional[_Union[EcuFirmwareUpdateStatusPass, _Mapping]] = ..., fail: _Optional[_Union[EcuFirmwareUpdateStatusFail, _Mapping]] = ...) -> None: ... + +class EcuFirmwareUpdateStatusFail(_message.Message): + __slots__ = ("reason",) + REASON_FIELD_NUMBER: _ClassVar[int] + reason: str + def __init__(self, reason: _Optional[str] = ...) -> None: ... + +class EcuFirmwareUpdateStatusPass(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class PayterPostStatus(_message.Message): + __slots__ = ("post_index", "serial_number", "activated") + POST_INDEX_FIELD_NUMBER: _ClassVar[int] + SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int] + ACTIVATED_FIELD_NUMBER: _ClassVar[int] + post_index: int + serial_number: str + activated: bool + def __init__(self, post_index: _Optional[int] = ..., serial_number: _Optional[str] = ..., activated: _Optional[bool] = ...) -> None: ... + +class SuperchargerAPIGetConnectedKiosksRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIGetConnectedKiosksResponse(_message.Message): + __slots__ = ("error", "connected_kiosks") + ERROR_FIELD_NUMBER: _ClassVar[int] + CONNECTED_KIOSKS_FIELD_NUMBER: _ClassVar[int] + error: ConnectedKioskError + connected_kiosks: _containers.RepeatedCompositeFieldContainer[ConnectedKiosk] + def __init__(self, error: _Optional[_Union[ConnectedKioskError, str]] = ..., connected_kiosks: _Optional[_Iterable[_Union[ConnectedKiosk, _Mapping]]] = ...) -> None: ... + +class SuperchargerAPIGetDcMetersCommissioningRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIGetDcMetersCommissioningResponse(_message.Message): + __slots__ = ("dc_meters", "error") + DC_METERS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + dc_meters: _containers.RepeatedCompositeFieldContainer[DcMeterCommissioningStatus] + error: int + def __init__(self, dc_meters: _Optional[_Iterable[_Union[DcMeterCommissioningStatus, _Mapping]]] = ..., error: _Optional[int] = ...) -> None: ... + +class SuperchargerAPIGetEcuFirmwareUpdateProgressRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIGetEcuFirmwareUpdateProgressResponse(_message.Message): + __slots__ = ("finished", "in_progress") + FINISHED_FIELD_NUMBER: _ClassVar[int] + IN_PROGRESS_FIELD_NUMBER: _ClassVar[int] + finished: EcuFirmwareUpdateResult + in_progress: EcuFirmwareUpdateInProgress + def __init__(self, finished: _Optional[_Union[EcuFirmwareUpdateResult, _Mapping]] = ..., in_progress: _Optional[_Union[EcuFirmwareUpdateInProgress, _Mapping]] = ...) -> None: ... + +class SuperchargerAPIGetPayterPostStatusRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIGetPayterPostStatusResponse(_message.Message): + __slots__ = ("payter_devices",) + PAYTER_DEVICES_FIELD_NUMBER: _ClassVar[int] + payter_devices: _containers.RepeatedCompositeFieldContainer[PayterPostStatus] + def __init__(self, payter_devices: _Optional[_Iterable[_Union[PayterPostStatus, _Mapping]]] = ...) -> None: ... + +class SuperchargerAPIGetVerifoneKioskDeviceIdsRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIGetVerifoneKioskDeviceIdsResponse(_message.Message): + __slots__ = ("device_ids",) + DEVICE_IDS_FIELD_NUMBER: _ClassVar[int] + device_ids: _containers.RepeatedCompositeFieldContainer[DeviceIDAndSerialNumber] + def __init__(self, device_ids: _Optional[_Iterable[_Union[DeviceIDAndSerialNumber, _Mapping]]] = ...) -> None: ... + +class SuperchargerAPIOdinCommandRequest(_message.Message): + __slots__ = ("command", "args") + COMMAND_FIELD_NUMBER: _ClassVar[int] + ARGS_FIELD_NUMBER: _ClassVar[int] + command: str + args: bytes + def __init__(self, command: _Optional[str] = ..., args: _Optional[bytes] = ...) -> None: ... + +class SuperchargerAPIOdinCommandResponse(_message.Message): + __slots__ = ("response", "error") + RESPONSE_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + response: bytes + error: str + def __init__(self, response: _Optional[bytes] = ..., error: _Optional[str] = ...) -> None: ... + +class SuperchargerAPISetDcMeterCommissionedRequest(_message.Message): + __slots__ = ("post_id",) + POST_ID_FIELD_NUMBER: _ClassVar[int] + post_id: int + def __init__(self, post_id: _Optional[int] = ...) -> None: ... + +class SuperchargerAPISetDcMeterCommissionedResponse(_message.Message): + __slots__ = ("success", "error", "error_message") + SUCCESS_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int] + success: bool + error: SetDcMeterCommissionedError + error_message: str + def __init__(self, success: _Optional[bool] = ..., error: _Optional[_Union[SetDcMeterCommissionedError, str]] = ..., error_message: _Optional[str] = ...) -> None: ... + +class SuperchargerAPIUnlockMagicDockRequest(_message.Message): + __slots__ = ("cabinet_id", "post_id") + CABINET_ID_FIELD_NUMBER: _ClassVar[int] + POST_ID_FIELD_NUMBER: _ClassVar[int] + cabinet_id: str + post_id: int + def __init__(self, cabinet_id: _Optional[str] = ..., post_id: _Optional[int] = ...) -> None: ... + +class SuperchargerAPIUnlockMagicDockResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerAPIUpdateFollowersRequest(_message.Message): + __slots__ = ("dins",) + DINS_FIELD_NUMBER: _ClassVar[int] + dins: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, dins: _Optional[_Iterable[str]] = ...) -> None: ... + +class SuperchargerAPIUpdateFollowersResponse(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class SuperchargerMessages(_message.Message): + __slots__ = ("unlock_magic_dock_request", "unlock_magic_dock_response", "get_connected_kiosks_request", "get_connected_kiosks_response", "get_verifone_kiosk_device_ids_request", "get_verifone_kiosk_device_ids_response", "update_followers_request", "update_followers_response", "get_dc_meters_commissioning_request", "get_dc_meters_commissioning_response", "set_dc_meter_commissioned_request", "set_dc_meter_commissioned_response", "odin_command_request", "odin_command_response", "get_payter_post_status_request", "get_payter_post_status_response", "get_ecu_firmware_update_progress_request", "get_ecu_firmware_update_progress_response") + UNLOCK_MAGIC_DOCK_REQUEST_FIELD_NUMBER: _ClassVar[int] + UNLOCK_MAGIC_DOCK_RESPONSE_FIELD_NUMBER: _ClassVar[int] + GET_CONNECTED_KIOSKS_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_CONNECTED_KIOSKS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + GET_VERIFONE_KIOSK_DEVICE_IDS_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_VERIFONE_KIOSK_DEVICE_IDS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + UPDATE_FOLLOWERS_REQUEST_FIELD_NUMBER: _ClassVar[int] + UPDATE_FOLLOWERS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + GET_DC_METERS_COMMISSIONING_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_DC_METERS_COMMISSIONING_RESPONSE_FIELD_NUMBER: _ClassVar[int] + SET_DC_METER_COMMISSIONED_REQUEST_FIELD_NUMBER: _ClassVar[int] + SET_DC_METER_COMMISSIONED_RESPONSE_FIELD_NUMBER: _ClassVar[int] + ODIN_COMMAND_REQUEST_FIELD_NUMBER: _ClassVar[int] + ODIN_COMMAND_RESPONSE_FIELD_NUMBER: _ClassVar[int] + GET_PAYTER_POST_STATUS_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_PAYTER_POST_STATUS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + GET_ECU_FIRMWARE_UPDATE_PROGRESS_REQUEST_FIELD_NUMBER: _ClassVar[int] + GET_ECU_FIRMWARE_UPDATE_PROGRESS_RESPONSE_FIELD_NUMBER: _ClassVar[int] + unlock_magic_dock_request: SuperchargerAPIUnlockMagicDockRequest + unlock_magic_dock_response: SuperchargerAPIUnlockMagicDockResponse + get_connected_kiosks_request: SuperchargerAPIGetConnectedKiosksRequest + get_connected_kiosks_response: SuperchargerAPIGetConnectedKiosksResponse + get_verifone_kiosk_device_ids_request: SuperchargerAPIGetVerifoneKioskDeviceIdsRequest + get_verifone_kiosk_device_ids_response: SuperchargerAPIGetVerifoneKioskDeviceIdsResponse + update_followers_request: SuperchargerAPIUpdateFollowersRequest + update_followers_response: SuperchargerAPIUpdateFollowersResponse + get_dc_meters_commissioning_request: SuperchargerAPIGetDcMetersCommissioningRequest + get_dc_meters_commissioning_response: SuperchargerAPIGetDcMetersCommissioningResponse + set_dc_meter_commissioned_request: SuperchargerAPISetDcMeterCommissionedRequest + set_dc_meter_commissioned_response: SuperchargerAPISetDcMeterCommissionedResponse + odin_command_request: SuperchargerAPIOdinCommandRequest + odin_command_response: SuperchargerAPIOdinCommandResponse + get_payter_post_status_request: SuperchargerAPIGetPayterPostStatusRequest + get_payter_post_status_response: SuperchargerAPIGetPayterPostStatusResponse + get_ecu_firmware_update_progress_request: SuperchargerAPIGetEcuFirmwareUpdateProgressRequest + get_ecu_firmware_update_progress_response: SuperchargerAPIGetEcuFirmwareUpdateProgressResponse + def __init__(self, unlock_magic_dock_request: _Optional[_Union[SuperchargerAPIUnlockMagicDockRequest, _Mapping]] = ..., unlock_magic_dock_response: _Optional[_Union[SuperchargerAPIUnlockMagicDockResponse, _Mapping]] = ..., get_connected_kiosks_request: _Optional[_Union[SuperchargerAPIGetConnectedKiosksRequest, _Mapping]] = ..., get_connected_kiosks_response: _Optional[_Union[SuperchargerAPIGetConnectedKiosksResponse, _Mapping]] = ..., get_verifone_kiosk_device_ids_request: _Optional[_Union[SuperchargerAPIGetVerifoneKioskDeviceIdsRequest, _Mapping]] = ..., get_verifone_kiosk_device_ids_response: _Optional[_Union[SuperchargerAPIGetVerifoneKioskDeviceIdsResponse, _Mapping]] = ..., update_followers_request: _Optional[_Union[SuperchargerAPIUpdateFollowersRequest, _Mapping]] = ..., update_followers_response: _Optional[_Union[SuperchargerAPIUpdateFollowersResponse, _Mapping]] = ..., get_dc_meters_commissioning_request: _Optional[_Union[SuperchargerAPIGetDcMetersCommissioningRequest, _Mapping]] = ..., get_dc_meters_commissioning_response: _Optional[_Union[SuperchargerAPIGetDcMetersCommissioningResponse, _Mapping]] = ..., set_dc_meter_commissioned_request: _Optional[_Union[SuperchargerAPISetDcMeterCommissionedRequest, _Mapping]] = ..., set_dc_meter_commissioned_response: _Optional[_Union[SuperchargerAPISetDcMeterCommissionedResponse, _Mapping]] = ..., odin_command_request: _Optional[_Union[SuperchargerAPIOdinCommandRequest, _Mapping]] = ..., odin_command_response: _Optional[_Union[SuperchargerAPIOdinCommandResponse, _Mapping]] = ..., get_payter_post_status_request: _Optional[_Union[SuperchargerAPIGetPayterPostStatusRequest, _Mapping]] = ..., get_payter_post_status_response: _Optional[_Union[SuperchargerAPIGetPayterPostStatusResponse, _Mapping]] = ..., get_ecu_firmware_update_progress_request: _Optional[_Union[SuperchargerAPIGetEcuFirmwareUpdateProgressRequest, _Mapping]] = ..., get_ecu_firmware_update_progress_response: _Optional[_Union[SuperchargerAPIGetEcuFirmwareUpdateProgressResponse, _Mapping]] = ...) -> None: ... + +class VerifoneKiosk(_message.Message): + __slots__ = ("serial_number", "subject_key_identifer") + SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int] + SUBJECT_KEY_IDENTIFER_FIELD_NUMBER: _ClassVar[int] + serial_number: str + subject_key_identifer: str + def __init__(self, serial_number: _Optional[str] = ..., subject_key_identifer: _Optional[str] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/energy_device/teg_api_pb2.py b/packages/python/tesla_protocol/energy_device/teg_api_pb2.py index 051954f..2eeddd5 100644 --- a/packages/python/tesla_protocol/energy_device/teg_api_pb2.py +++ b/packages/python/tesla_protocol/energy_device/teg_api_pb2.py @@ -26,9 +26,10 @@ from tesla_protocol.energy_device import device_pb2 as tesla__protocol_dot_energy__device_dot_device__pb2 from tesla_protocol.energy_device import networking_pb2 as tesla__protocol_dot_energy__device_dot_networking__pb2 from tesla_protocol.energy_device import common_api_pb2 as tesla__protocol_dot_energy__device_dot_common__api__pb2 +from tesla_protocol.energy_device import registration_api_pb2 as tesla__protocol_dot_energy__device_dot_registration__api__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*tesla_protocol/energy_device/teg_api.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a)tesla_protocol/energy_device/device.proto\x1a-tesla_protocol/energy_device/networking.proto\x1a-tesla_protocol/energy_device/common_api.proto\"\r\n\x0bTEGSettings\"1\n\"Powerwall2PhaseDetectionParameters\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"\x18\n\x16TEGAPIGetConfigRequest\"\xe6\x03\n\x17TEGAPIGetConfigResponse\x12J\n\x08settings\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.TEGSettings\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03\x65th\x18\x04 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03gsm\x18\x05 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12L\n\x0b\x64\x65vice_type\x18\x06 \x01(\x0e\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.DeviceType\"u\n\x1aTEGAPISetIslandModeRequest\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.tesla_protocol.tesla.proto.energy_device.v1.TEGIslandMode\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"r\n\x1bTEGAPISetIslandModeResponse\x12S\n\x06result\x18\x01 \x01(\x0e\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGSetIslandModeResult\")\n\'TEGAPITriggerIslandingBlackStartRequest\"*\n(TEGAPITriggerIslandingBlackStartResponse\")\n\'TEGAPITriggerAssetManifestUploadRequest\"*\n(TEGAPITriggerAssetManifestUploadResponse\"+\n)TEGAPITriggerPowerwall2EnumerationRequest\",\n*TEGAPITriggerPowerwall2EnumerationResponse\")\n\'TEGAPITriggerEsCanFirmwareUpdateRequest\"*\n(TEGAPITriggerEsCanFirmwareUpdateResponse\"*\n(TEGAPITriggerPW3CanFirmwareUpdateRequest\"+\n)TEGAPITriggerPW3CanFirmwareUpdateResponse\"+\n)TEGAPITriggerPowerwall3EnumerationRequest\",\n*TEGAPITriggerPowerwall3EnumerationResponse\"=\n;TEGAPIDispatchBatteryPowerRequest_ResumeDeviceOperatingMode\"c\n2TEGAPIDispatchBatteryPowerRequest_RealPowerCommand\x12\x13\n\x0bpower_watts\x18\x01 \x01(\x01\x12\x18\n\x10\x64uration_seconds\x18\x02 \x01(\r\"\x9f\x02\n!TEGAPIDispatchBatteryPowerRequest\x12\x84\x01\n\x12resume_device_mode\x18\x01 \x01(\x0b\x32h.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequest_ResumeDeviceOperatingMode\x12s\n\nreal_power\x18\x02 \x01(\x0b\x32_.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequest_RealPowerCommand\"$\n\"TEGAPIDispatchBatteryPowerResponse\" \n\x1eTEGAPIDetectWiredMetersRequest\"!\n\x1fTEGAPIDetectWiredMetersResponse\"\x17\n\x15TEGAPIRegisterRequest\")\n\x16TEGAPIRegisterResponse\x12\x0f\n\x07\x66\x61ilure\x18\x01 \x01(\x05\"\x93\x01\n,TEGAPITriggerPowerwall2PhaseDetectionRequest\x12\x63\n\npowerwalls\x18\x01 \x03(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.Powerwall2PhaseDetectionParameters\"/\n-TEGAPITriggerPowerwall2PhaseDetectionResponse\",\n*TEGAPIResetPowerwall2PhaseDetectionRequest\"-\n+TEGAPIResetPowerwall2PhaseDetectionResponse\"\x1c\n\x1aTEGAPIForceWifiScanRequest\"\x1d\n\x1bTEGAPIForceWifiScanResponse\"/\n-TEGAPIStartPowerwall2InverterSelfTestsRequest\"0\n.TEGAPIStartPowerwall2InverterSelfTestsResponse\".\n,TEGAPIStopPowerwall2InverterSelfTestsRequest\"/\n-TEGAPIStopPowerwall2InverterSelfTestsResponse\"(\n&TEGAPIStartPowerwall2BubbleShedRequest\")\n\'TEGAPIStartPowerwall2BubbleShedResponse\"4\n%TEGAPIClearSolarInverterAlertsRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"(\n&TEGAPIClearSolarInverterAlertsResponse\"+\n)TEGAPIGetWifiConfigWithCredentialsRequest\"z\n*TEGAPIGetWifiConfigWithCredentialsResponse\x12L\n\x0bwifi_config\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\"S\n3TEGAPIDisableBatteriesRequest_BatteryDisableRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\x12\x0f\n\x07\x64isable\x18\x02 \x01(\x08\"\xa4\x01\n\x1dTEGAPIDisableBatteriesRequest\x12\x82\x01\n\x18\x62\x61ttery_disable_requests\x18\x01 \x03(\x0b\x32`.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesRequest_BatteryDisableRequest\" \n\x1eTEGAPIDisableBatteriesResponse\"\\\n2TEGAPIBypassBatterySoeAdjustmentConstraintsRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x16\n\x0e\x64uration_hours\x18\x02 \x01(\r\"5\n3TEGAPIBypassBatterySoeAdjustmentConstraintsResponse\"@\n>TEGAPIEnsureCertificateRequest_CSIPSouthAustraliaPowerNetworks\"<\n:TEGAPIEnsureCertificateRequest_CSIPCitiPowerPowercorUnited\"+\n)TEGAPIEnsureCertificateRequest_CSIPAusNet\"+\n)TEGAPIEnsureCertificateRequest_CSIPJemena\":\n8TEGAPIEnsureCertificateRequest_CSIPEnergexErgonEnergyQLD\"8\n6TEGAPIEnsureCertificateRequest_CSIPWesternPowerSynergy\"\xd5\x06\n\x1eTEGAPIEnsureCertificateRequest\x12\x13\n\x0b\x66orce_renew\x18\x01 \x01(\x08\x12\x98\x01\n#csip_south_australia_power_networks\x18\x02 \x01(\x0b\x32k.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPSouthAustraliaPowerNetworks\x12\x8f\x01\n\x1e\x63sip_citipower_powercor_united\x18\x03 \x01(\x0b\x32g.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPCitiPowerPowercorUnited\x12k\n\x0b\x63sip_ausnet\x18\x04 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPAusNet\x12k\n\x0b\x63sip_jemena\x18\x05 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPJemena\x12\x8c\x01\n\x1d\x63sip_energex_ergon_energy_qld\x18\x06 \x01(\x0b\x32\x65.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPEnergexErgonEnergyQLD\x12\x87\x01\n\x1a\x63sip_western_power_synergy\x18\x07 \x01(\x0b\x32\x63.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPWesternPowerSynergy\"=\n\x1fTEGAPIEnsureCertificateResponse\x12\x1a\n\x12\x63\x65rtificate_exists\x18\x01 \x01(\x08\"x\n\x1a\x43ontrolEventSchedulingInfo\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x64uration_seconds\x18\x02 \x01(\r\x12\x10\n\x08priority\x18\x03 \x01(\x04\"\x88\x01\n\x0b\x42\x61\x63kupEvent\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12_\n\x0esheduling_info\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\"u\n\x11ManualBackupEvent\x12`\n\x0fscheduling_info\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\"\x8a\x01\n&TEGAPIScheduleManualBackupEventRequest\x12`\n\x0fscheduling_info\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\")\n\'TEGAPIScheduleManualBackupEventResponse\"&\n$TEGAPICancelManualBackupEventRequest\"\'\n%TEGAPICancelManualBackupEventResponse\"\x1e\n\x1cTEGAPIGetBackupEventsRequest\"\xcd\x01\n\x1dTEGAPIGetBackupEventsResponse\x12[\n\x13manual_backup_event\x18\x01 \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.ManualBackupEvent\x12O\n\rbackup_events\x18\x02 \x03(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.BackupEvent\"\x17\n\x15\x43smsPropertiesRequest\"W\n\x0e\x43smsProperties\x12\x14\n\x0c\x63sms_root_ca\x18\x01 \x01(\x0c\x12\x10\n\x08\x63sms_url\x18\x02 \x01(\t\x12\x1d\n\x15\x63harge_point_operator\x18\x03 \x01(\t\"\xc9\x01\n\x16\x43smsPropertiesResponse\x12Y\n\x12\x63\x61nvas_site_status\x18\x01 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.CanvasSiteStatus\x12T\n\x0f\x63sms_properties\x18\x02 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.CsmsProperties\"u\n\x1eTEGAPIGetCsmsPropertiesRequest\x12S\n\x07request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.CsmsPropertiesRequest\"x\n\x1fTEGAPIGetCsmsPropertiesResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.CsmsPropertiesResponse\"3\n\x1aTEGAPIConfigureOcppRequest\x12\x15\n\rcsms_base_url\x18\x01 \x01(\t\"\x1d\n\x1bTEGAPIConfigureOcppResponse\"\x8e\x02\n(TEGAPIStartProtectionTripSelfTestRequest\x12\x14\n\x0ctests_to_run\x18\x01 \x03(\t\x12\x1c\n\x14\x64isable_field_limits\x18\x02 \x01(\x08\x12%\n\x1d\x64isable_disconnect_on_failure\x18\x03 \x01(\x08\x12 \n\x18\x64isable_abort_on_failure\x18\x04 \x01(\x08\x12+\n#fast_forward_to_step_before_nominal\x18\x05 \x01(\r\x12\x13\n\x0brepetitions\x18\x06 \x01(\r\x12#\n\x1b\x64isable_inverter_fast_trips\x18\x07 \x01(\x08\"+\n)TEGAPIStartProtectionTripSelfTestResponse\")\n\'TEGAPIStopProtectionTripSelfTestRequest\"*\n(TEGAPIStopProtectionTripSelfTestResponse\"\xc8\x01\n\'TEGAPIProvisionEatonSmartBreakerRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\t\x12!\n\x19\x62roadcast_primary_udp_key\x18\x02 \x01(\x0c\x12#\n\x1b\x62roadcast_secondary_udp_key\x18\x03 \x01(\x0c\x12\x1f\n\x17unicast_primary_udp_key\x18\x04 \x01(\x0c\x12!\n\x19unicast_secondary_udp_key\x18\x05 \x01(\x0c\"*\n(TEGAPIProvisionEatonSmartBreakerResponse\";\n&TEGAPIIdentifyEatonSmartBreakerRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\t\")\n\'TEGAPIIdentifyEatonSmartBreakerResponse\"3\n#TEGAPITriggerPvacFanSelfTestRequest\x12\x0c\n\x04\x62\x65id\x18\x01 \x01(\r\"&\n$TEGAPITriggerPvacFanSelfTestResponse\"\xde\x01\n,TEGAPIProxyPrepareRegistrationPayloadRequest\x12h\n\x07request\x18\x01 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest\x12\x44\n\ntarget_din\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\"\x9b\x01\n-TEGAPIProxyPrepareRegistrationPayloadResponse\x12j\n\x08response\x18\x01 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse\"2\n0TEGAPITriggerWallboxVehicleAbsentSelfTestRequest\"3\n1TEGAPITriggerWallboxVehicleAbsentSelfTestResponse\"\x1c\n\x1aTEGAPICustomerResetRequest\"\x1d\n\x1bTEGAPICustomerResetResponse\";\n$TEGAPIDelayBatteryCalibrationRequest\x12\x13\n\x0b\x64\x65lay_hours\x18\x01 \x01(\r\"\'\n%TEGAPIDelayBatteryCalibrationResponse\"/\n-TEGAPIGetDelayBatteryCalibrationStatusRequest\"\x9e\x01\n.TEGAPIGetDelayBatteryCalibrationStatusResponse\x12\x1f\n\x17\x63\x61libration_delays_left\x18\x01 \x01(\r\x12+\n#calibration_delay_remaining_seconds\x18\x02 \x01(\r\x12\x1e\n\x16max_calibration_delays\x18\x03 \x01(\r\"\xa0\x02\n\x1d\x43ontrollableDeviceProgram_Key\x12\x11\n\tdevice_id\x18\x01 \x01(\t\x12\x65\n\x08priority\x18\x02 \x01(\x0e\x32S.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Key.Priority\"\x84\x01\n\x08Priority\x12\x14\n\x10PRIORITY_INVALID\x10\x00\x12\x1e\n\x19PRIORITY_CUSTOMER_DEFAULT\x10\x88\'\x12 \n\x1bPRIORITY_CUSTOMER_AUTOMATIC\x10\x90N\x12 \n\x1aPRIORITY_CUSTOMER_OVERRIDE\x10\xa0\x9c\x01\"\x82\x02\n\"ControllableDeviceProgram_Settings\x12w\n\x0f\x63ontactor_state\x18\x01 \x01(\x0e\x32^.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Settings.ContactorState\"c\n\x0e\x43ontactorState\x12\x1b\n\x17\x43ONTACTOR_STATE_INVALID\x10\x00\x12\x18\n\x14\x43ONTACTOR_STATE_OPEN\x10\x01\x12\x1a\n\x16\x43ONTACTOR_STATE_CLOSED\x10\x02\"\xbc\x06\n+ControllableDeviceProgram_Schedule_Boundary\x12\x82\x01\n\x10static_condition\x18\x01 \x01(\x0e\x32h.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.StaticCondition\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x80\x01\n\x0fislanding_state\x18\x03 \x01(\x0e\x32g.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.IslandingState\x12\x7f\n\x0fstate_of_energy\x18\x04 \x01(\x0e\x32\x66.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.StateOfEnergy\"h\n\x0fStaticCondition\x12\x1c\n\x18STATIC_CONDITION_INVALID\x10\x00\x12\x1b\n\x17STATIC_CONDITION_ALWAYS\x10\x01\x12\x1a\n\x16STATIC_CONDITION_NEVER\x10\x02\"h\n\x0eIslandingState\x12\x1b\n\x17ISLANDING_STATE_INVALID\x10\x00\x12\x1b\n\x17ISLANDING_STATE_ON_GRID\x10\x01\x12\x1c\n\x18ISLANDING_STATE_OFF_GRID\x10\x02\"\x80\x01\n\rStateOfEnergy\x12\x1b\n\x17STATE_OF_ENERGY_INVALID\x10\x00\x12(\n$STATE_OF_ENERGY_ABOVE_BACKUP_RESERVE\x10\x01\x12(\n$STATE_OF_ENERGY_BELOW_BACKUP_RESERVE\x10\x02\"\xa4\x01\n\"ControllableDeviceProgram_Schedule\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x06\x65xpiry\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xba\x02\n\x19\x43ontrollableDeviceProgram\x12W\n\x03key\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Key\x12\x61\n\x08settings\x18\x02 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Settings\x12\x61\n\x08schedule\x18\x03 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule\"@\n*TEGAPIGetControllableDeviceProgramsRequest\x12\x12\n\ndevice_ids\x18\x01 \x03(\t\"\xf1\x01\n+TEGAPIGetControllableDeviceProgramsResponse\x12_\n\x0f\x61\x63tive_programs\x18\x01 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\x12\x61\n\x11inactive_programs\x18\x02 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\"\x91\x01\n-TEGAPIUpdateControllableDeviceProgramsRequest\x12`\n\x10updated_programs\x18\x01 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\"0\n.TEGAPIUpdateControllableDeviceProgramsResponse\"L\n-TEGAPIDeleteControllableDeviceProgramsRequest\x12\x15\n\rdeletion_keys\x18\x02 \x03(\tJ\x04\x08\x01\x10\x02\"0\n.TEGAPIDeleteControllableDeviceProgramsResponse\"8\n)TEGAPIClearPowerwall3LockoutAlertsRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\",\n*TEGAPIClearPowerwall3LockoutAlertsResponse\"\x1f\n\x1dTEGAPIRetrieveSiteUuidRequest\" \n\x1eTEGAPIRetrieveSiteUuidResponse\"%\n#TEGAPIRetrieveSiteSuggestionRequest\"&\n$TEGAPIRetrieveSiteSuggestionResponse\"\xedX\n\x0bTEGMessages\x12\x61\n\x12get_config_request\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetConfigRequestH\x00\x12\x63\n\x13get_config_response\x18\x02 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetConfigResponseH\x00\x12j\n\x17set_island_mode_request\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPISetIslandModeRequestH\x00\x12l\n\x18set_island_mode_response\x18\x04 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPISetIslandModeResponseH\x00\x12\x85\x01\n%trigger_islanding_black_start_request\x18\x05 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerIslandingBlackStartRequestH\x00\x12\x87\x01\n&trigger_islanding_black_start_response\x18\x06 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerIslandingBlackStartResponseH\x00\x12\x85\x01\n%trigger_asset_manifest_upload_request\x18\x07 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerAssetManifestUploadRequestH\x00\x12\x87\x01\n&trigger_asset_manifest_upload_response\x18\x08 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerAssetManifestUploadResponseH\x00\x12\x88\x01\n&trigger_powerwall2_enumeration_request\x18\t \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2EnumerationRequestH\x00\x12\x8a\x01\n\'trigger_powerwall2_enumeration_response\x18\n \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2EnumerationResponseH\x00\x12\x86\x01\n&trigger_es_can_firmware_update_request\x18\x0b \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerEsCanFirmwareUpdateRequestH\x00\x12\x88\x01\n\'trigger_es_can_firmware_update_response\x18\x0c \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerEsCanFirmwareUpdateResponseH\x00\x12^\n\x10register_request\x18\r \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRegisterRequestH\x00\x12`\n\x11register_response\x18\x0e \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRegisterResponseH\x00\x12\x8f\x01\n*trigger_powerwall2_phase_detection_request\x18\x0f \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2PhaseDetectionRequestH\x00\x12\x91\x01\n+trigger_powerwall2_phase_detection_response\x18\x10 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2PhaseDetectionResponseH\x00\x12\x8b\x01\n(reset_powerwall2_phase_detection_request\x18\x11 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIResetPowerwall2PhaseDetectionRequestH\x00\x12\x8d\x01\n)reset_powerwall2_phase_detection_response\x18\x12 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIResetPowerwall2PhaseDetectionResponseH\x00\x12j\n\x17\x66orce_wifi_scan_request\x18\x13 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIForceWifiScanRequestH\x00\x12l\n\x18\x66orce_wifi_scan_response\x18\x14 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIForceWifiScanResponseH\x00\x12\x92\x01\n,start_powerwall2_inverter_self_tests_request\x18\x15 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2InverterSelfTestsRequestH\x00\x12\x94\x01\n-start_powerwall2_inverter_self_tests_response\x18\x16 \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2InverterSelfTestsResponseH\x00\x12\x90\x01\n+stop_powerwall2_inverter_self_tests_request\x18\x17 \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopPowerwall2InverterSelfTestsRequestH\x00\x12\x92\x01\n,stop_powerwall2_inverter_self_tests_response\x18\x18 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopPowerwall2InverterSelfTestsResponseH\x00\x12\x83\x01\n$start_powerwall2_bubble_shed_request\x18\x19 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2BubbleShedRequestH\x00\x12\x85\x01\n%start_powerwall2_bubble_shed_response\x18\x1a \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2BubbleShedResponseH\x00\x12\x81\x01\n#clear_solar_inverter_alerts_request\x18\x1b \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearSolarInverterAlertsRequestH\x00\x12\x83\x01\n$clear_solar_inverter_alerts_response\x18\x1c \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearSolarInverterAlertsResponseH\x00\x12\x8a\x01\n(get_wifi_config_with_credentials_request\x18\x1d \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetWifiConfigWithCredentialsRequestH\x00\x12\x8c\x01\n)get_wifi_config_with_credentials_response\x18\x1e \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetWifiConfigWithCredentialsResponseH\x00\x12o\n\x19\x64isable_batteries_request\x18\x1f \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesRequestH\x00\x12q\n\x1a\x64isable_batteries_response\x18 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesResponseH\x00\x12\x89\x01\n(trigger_p_w3_can_firmware_update_request\x18! \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPW3CanFirmwareUpdateRequestH\x00\x12\x8b\x01\n)trigger_p_w3_can_firmware_update_response\x18\" \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPW3CanFirmwareUpdateResponseH\x00\x12\x88\x01\n&trigger_powerwall3_enumeration_request\x18# \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall3EnumerationRequestH\x00\x12\x8a\x01\n\'trigger_powerwall3_enumeration_response\x18$ \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall3EnumerationResponseH\x00\x12x\n\x1e\x64ispatch_battery_power_request\x18% \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequestH\x00\x12z\n\x1f\x64ispatch_battery_power_response\x18& \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerResponseH\x00\x12r\n\x1b\x64\x65tect_wired_meters_request\x18\' \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDetectWiredMetersRequestH\x00\x12t\n\x1c\x64\x65tect_wired_meters_response\x18( \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDetectWiredMetersResponseH\x00\x12\x9c\x01\n1bypass_battery_soe_adjustment_constraints_request\x18) \x01(\x0b\x32_.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIBypassBatterySoeAdjustmentConstraintsRequestH\x00\x12\x9e\x01\n2bypass_battery_soe_adjustment_constraints_response\x18* \x01(\x0b\x32`.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIBypassBatterySoeAdjustmentConstraintsResponseH\x00\x12q\n\x1a\x65nsure_certificate_request\x18+ \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequestH\x00\x12s\n\x1b\x65nsure_certificate_response\x18, \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateResponseH\x00\x12\x83\x01\n$schedule_manual_backup_event_request\x18- \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIScheduleManualBackupEventRequestH\x00\x12\x85\x01\n%schedule_manual_backup_event_response\x18. \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIScheduleManualBackupEventResponseH\x00\x12\x7f\n\"cancel_manual_backup_event_request\x18/ \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICancelManualBackupEventRequestH\x00\x12\x81\x01\n#cancel_manual_backup_event_response\x18\x30 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICancelManualBackupEventResponseH\x00\x12n\n\x19get_backup_events_request\x18\x31 \x01(\x0b\x32I.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetBackupEventsRequestH\x00\x12p\n\x1aget_backup_events_response\x18\x32 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetBackupEventsResponseH\x00\x12r\n\x1bget_csms_properties_request\x18\x33 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetCsmsPropertiesRequestH\x00\x12t\n\x1cget_csms_properties_response\x18\x34 \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetCsmsPropertiesResponseH\x00\x12i\n\x16\x63onfigure_ocpp_request\x18\x35 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIConfigureOcppRequestH\x00\x12k\n\x17\x63onfigure_ocpp_response\x18\x36 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIConfigureOcppResponseH\x00\x12p\n\x1aretrieve_site_uuid_request\x18\x37 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteUuidRequestH\x00\x12r\n\x1bretrieve_site_uuid_response\x18\x38 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteUuidResponseH\x00\x12|\n retrieve_site_suggestion_request\x18\x39 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionRequestH\x00\x12~\n!retrieve_site_suggestion_response\x18: \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionResponseH\x00\x12\x88\x01\n\'start_protection_trip_self_test_request\x18; \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartProtectionTripSelfTestRequestH\x00\x12\x8a\x01\n(start_protection_trip_self_test_response\x18< \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartProtectionTripSelfTestResponseH\x00\x12\x86\x01\n&stop_protection_trip_self_test_request\x18= \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopProtectionTripSelfTestRequestH\x00\x12\x88\x01\n\'stop_protection_trip_self_test_response\x18> \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopProtectionTripSelfTestResponseH\x00\x12\x85\x01\n%provision_eaton_smart_breaker_request\x18? \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProvisionEatonSmartBreakerRequestH\x00\x12\x87\x01\n&provision_eaton_smart_breaker_response\x18@ \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProvisionEatonSmartBreakerResponseH\x00\x12\x83\x01\n$identify_eaton_smart_breaker_request\x18\x41 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIIdentifyEatonSmartBreakerRequestH\x00\x12\x85\x01\n%identify_eaton_smart_breaker_response\x18\x42 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIIdentifyEatonSmartBreakerResponseH\x00\x12~\n\"trigger_pvac_fan_self_test_request\x18\x43 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPvacFanSelfTestRequestH\x00\x12\x80\x01\n#trigger_pvac_fan_self_test_response\x18\x44 \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPvacFanSelfTestResponseH\x00\x12\x8f\x01\n*proxy_prepare_registration_payload_request\x18\x45 \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProxyPrepareRegistrationPayloadRequestH\x00\x12\x91\x01\n+proxy_prepare_registration_payload_response\x18\x46 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProxyPrepareRegistrationPayloadResponseH\x00\x12\x99\x01\n0trigger_wallbox_vehicle_absent_self_test_request\x18G \x01(\x0b\x32].tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerWallboxVehicleAbsentSelfTestRequestH\x00\x12\x9b\x01\n1trigger_wallbox_vehicle_absent_self_test_response\x18H \x01(\x0b\x32^.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerWallboxVehicleAbsentSelfTestResponseH\x00\x12i\n\x16\x63ustomer_reset_request\x18I \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICustomerResetRequestH\x00\x12k\n\x17\x63ustomer_reset_response\x18J \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICustomerResetResponseH\x00\x12~\n!delay_battery_calibration_request\x18K \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDelayBatteryCalibrationRequestH\x00\x12\x80\x01\n\"delay_battery_calibration_response\x18L \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDelayBatteryCalibrationResponseH\x00\x12\x92\x01\n,get_delay_battery_calibration_status_request\x18M \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetDelayBatteryCalibrationStatusRequestH\x00\x12\x94\x01\n-get_delay_battery_calibration_status_response\x18N \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetDelayBatteryCalibrationStatusResponseH\x00\x12\x8b\x01\n(get_controllable_device_programs_request\x18O \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetControllableDeviceProgramsRequestH\x00\x12\x8d\x01\n)get_controllable_device_programs_response\x18P \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetControllableDeviceProgramsResponseH\x00\x12\x91\x01\n+update_controllable_device_programs_request\x18Q \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIUpdateControllableDeviceProgramsRequestH\x00\x12\x93\x01\n,update_controllable_device_programs_response\x18R \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIUpdateControllableDeviceProgramsResponseH\x00\x12\x91\x01\n+delete_controllable_device_programs_request\x18S \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDeleteControllableDeviceProgramsRequestH\x00\x12\x93\x01\n,delete_controllable_device_programs_response\x18T \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDeleteControllableDeviceProgramsResponseH\x00\x12\x89\x01\n\'clear_powerwall3_lockout_alerts_request\x18U \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearPowerwall3LockoutAlertsRequestH\x00\x12\x8b\x01\n(clear_powerwall3_lockout_alerts_response\x18V \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearPowerwall3LockoutAlertsResponseH\x00\x42\t\n\x07message*\xf3\x01\n\rTEGIslandMode\x12\x1b\n\x17TEG_ISLAND_MODE_INVALID\x10\x00\x12\x1f\n\x1bTEG_ISLAND_MODE_AUTO_ACTIVE\x10\x01\x12\x19\n\x15TEG_ISLAND_MODE_READY\x10\x02\x12\x1f\n\x1bTEG_ISLAND_MODE_INTENTIONAL\x10\x03\x12\x16\n\x12TEG_ISLAND_MODE_PQ\x10\x04\x12\x17\n\x13TEG_ISLAND_MODE_OFF\x10\x05\x12\x37\n3TEG_ISLAND_MODE_INTENTIONAL_WITH_RECONNECT_FAILSAFE\x10\x06*\xd3\x02\n\x16TEGSetIslandModeResult\x12&\n\"TEG_SET_ISLAND_MODE_RESULT_INVALID\x10\x00\x12\'\n#TEG_SET_ISLAND_MODE_RESULT_ACCEPTED\x10\x01\x12?\n;TEG_SET_ISLAND_MODE_RESULT_REJECTED_NOT_READY_FOR_ISLANDING\x10\x02\x12:\n6TEG_SET_ISLAND_MODE_RESULT_REJECTED_LOAD_DROP_EXPECTED\x10\x03\x12\x32\n.TEG_SET_ISLAND_MODE_RESULT_REJECTED_LOW_ENERGY\x10\x04\x12\x37\n3TEG_SET_ISLAND_MODE_RESULT_REJECTED_EXCESSIVE_SOLAR\x10\x05*\x99\x01\n\x10\x43\x61nvasSiteStatus\x12\x1e\n\x1a\x43\x41NVAS_SITE_STATUS_INVALID\x10\x00\x12 \n\x1c\x43\x41NVAS_SITE_STATUS_IS_CANVAS\x10\x01\x12!\n\x1d\x43\x41NVAS_SITE_STATUS_NOT_CANVAS\x10\x02\x12 \n\x1c\x43\x41NVAS_SITE_STATUS_NOT_FOUND\x10\x03\x42z\n$com.tesla.generated.energy_device.v1B\x06TegApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*tesla_protocol/energy_device/teg_api.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a)tesla_protocol/energy_device/device.proto\x1a-tesla_protocol/energy_device/networking.proto\x1a-tesla_protocol/energy_device/common_api.proto\x1a\x33tesla_protocol/energy_device/registration_api.proto\"\r\n\x0bTEGSettings\"1\n\"Powerwall2PhaseDetectionParameters\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"\x18\n\x16TEGAPIGetConfigRequest\"\xe6\x03\n\x17TEGAPIGetConfigResponse\x12J\n\x08settings\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.TEGSettings\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03\x65th\x18\x04 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12J\n\x03gsm\x18\x05 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12L\n\x0b\x64\x65vice_type\x18\x06 \x01(\x0e\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.DeviceType\"u\n\x1aTEGAPISetIslandModeRequest\x12H\n\x04mode\x18\x01 \x01(\x0e\x32:.tesla_protocol.tesla.proto.energy_device.v1.TEGIslandMode\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"r\n\x1bTEGAPISetIslandModeResponse\x12S\n\x06result\x18\x01 \x01(\x0e\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGSetIslandModeResult\")\n\'TEGAPITriggerIslandingBlackStartRequest\"*\n(TEGAPITriggerIslandingBlackStartResponse\")\n\'TEGAPITriggerAssetManifestUploadRequest\"*\n(TEGAPITriggerAssetManifestUploadResponse\"+\n)TEGAPITriggerPowerwall2EnumerationRequest\",\n*TEGAPITriggerPowerwall2EnumerationResponse\")\n\'TEGAPITriggerEsCanFirmwareUpdateRequest\"*\n(TEGAPITriggerEsCanFirmwareUpdateResponse\"*\n(TEGAPITriggerPW3CanFirmwareUpdateRequest\"+\n)TEGAPITriggerPW3CanFirmwareUpdateResponse\"+\n)TEGAPITriggerPowerwall3EnumerationRequest\",\n*TEGAPITriggerPowerwall3EnumerationResponse\"=\n;TEGAPIDispatchBatteryPowerRequest_ResumeDeviceOperatingMode\"c\n2TEGAPIDispatchBatteryPowerRequest_RealPowerCommand\x12\x13\n\x0bpower_watts\x18\x01 \x01(\x01\x12\x18\n\x10\x64uration_seconds\x18\x02 \x01(\r\"\x9f\x02\n!TEGAPIDispatchBatteryPowerRequest\x12\x84\x01\n\x12resume_device_mode\x18\x01 \x01(\x0b\x32h.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequest_ResumeDeviceOperatingMode\x12s\n\nreal_power\x18\x02 \x01(\x0b\x32_.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequest_RealPowerCommand\"$\n\"TEGAPIDispatchBatteryPowerResponse\" \n\x1eTEGAPIDetectWiredMetersRequest\"!\n\x1fTEGAPIDetectWiredMetersResponse\"w\n\x15TEGAPIRegisterRequest\x12^\n\x14registration_request\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.RegistrationRequest\"\x8b\x01\n\x16TEGAPIRegisterResponse\x12\x0f\n\x07\x66\x61ilure\x18\x01 \x01(\x05\x12`\n\x15registration_response\x18\x02 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.RegistrationResponse\"\x93\x01\n,TEGAPITriggerPowerwall2PhaseDetectionRequest\x12\x63\n\npowerwalls\x18\x01 \x03(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.Powerwall2PhaseDetectionParameters\"/\n-TEGAPITriggerPowerwall2PhaseDetectionResponse\",\n*TEGAPIResetPowerwall2PhaseDetectionRequest\"-\n+TEGAPIResetPowerwall2PhaseDetectionResponse\"\x1c\n\x1aTEGAPIForceWifiScanRequest\"\x1d\n\x1bTEGAPIForceWifiScanResponse\"/\n-TEGAPIStartPowerwall2InverterSelfTestsRequest\"0\n.TEGAPIStartPowerwall2InverterSelfTestsResponse\".\n,TEGAPIStopPowerwall2InverterSelfTestsRequest\"/\n-TEGAPIStopPowerwall2InverterSelfTestsResponse\"(\n&TEGAPIStartPowerwall2BubbleShedRequest\")\n\'TEGAPIStartPowerwall2BubbleShedResponse\"4\n%TEGAPIClearSolarInverterAlertsRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\"(\n&TEGAPIClearSolarInverterAlertsResponse\"+\n)TEGAPIGetWifiConfigWithCredentialsRequest\"z\n*TEGAPIGetWifiConfigWithCredentialsResponse\x12L\n\x0bwifi_config\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\"S\n3TEGAPIDisableBatteriesRequest_BatteryDisableRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\x12\x0f\n\x07\x64isable\x18\x02 \x01(\x08\"\xa4\x01\n\x1dTEGAPIDisableBatteriesRequest\x12\x82\x01\n\x18\x62\x61ttery_disable_requests\x18\x01 \x03(\x0b\x32`.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesRequest_BatteryDisableRequest\" \n\x1eTEGAPIDisableBatteriesResponse\"\\\n2TEGAPIBypassBatterySoeAdjustmentConstraintsRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x16\n\x0e\x64uration_hours\x18\x02 \x01(\r\"5\n3TEGAPIBypassBatterySoeAdjustmentConstraintsResponse\"@\n>TEGAPIEnsureCertificateRequest_CSIPSouthAustraliaPowerNetworks\"<\n:TEGAPIEnsureCertificateRequest_CSIPCitiPowerPowercorUnited\"+\n)TEGAPIEnsureCertificateRequest_CSIPAusNet\"+\n)TEGAPIEnsureCertificateRequest_CSIPJemena\":\n8TEGAPIEnsureCertificateRequest_CSIPEnergexErgonEnergyQLD\"8\n6TEGAPIEnsureCertificateRequest_CSIPWesternPowerSynergy\"\xd5\x06\n\x1eTEGAPIEnsureCertificateRequest\x12\x13\n\x0b\x66orce_renew\x18\x01 \x01(\x08\x12\x98\x01\n#csip_south_australia_power_networks\x18\x02 \x01(\x0b\x32k.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPSouthAustraliaPowerNetworks\x12\x8f\x01\n\x1e\x63sip_citipower_powercor_united\x18\x03 \x01(\x0b\x32g.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPCitiPowerPowercorUnited\x12k\n\x0b\x63sip_ausnet\x18\x04 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPAusNet\x12k\n\x0b\x63sip_jemena\x18\x05 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPJemena\x12\x8c\x01\n\x1d\x63sip_energex_ergon_energy_qld\x18\x06 \x01(\x0b\x32\x65.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPEnergexErgonEnergyQLD\x12\x87\x01\n\x1a\x63sip_western_power_synergy\x18\x07 \x01(\x0b\x32\x63.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequest_CSIPWesternPowerSynergy\"=\n\x1fTEGAPIEnsureCertificateResponse\x12\x1a\n\x12\x63\x65rtificate_exists\x18\x01 \x01(\x08\"x\n\x1a\x43ontrolEventSchedulingInfo\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10\x64uration_seconds\x18\x02 \x01(\r\x12\x10\n\x08priority\x18\x03 \x01(\x04\"\x88\x01\n\x0b\x42\x61\x63kupEvent\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12_\n\x0esheduling_info\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\"u\n\x11ManualBackupEvent\x12`\n\x0fscheduling_info\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\"\x8a\x01\n&TEGAPIScheduleManualBackupEventRequest\x12`\n\x0fscheduling_info\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.ControlEventSchedulingInfo\")\n\'TEGAPIScheduleManualBackupEventResponse\"&\n$TEGAPICancelManualBackupEventRequest\"\'\n%TEGAPICancelManualBackupEventResponse\"\x1e\n\x1cTEGAPIGetBackupEventsRequest\"\xcd\x01\n\x1dTEGAPIGetBackupEventsResponse\x12[\n\x13manual_backup_event\x18\x01 \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.ManualBackupEvent\x12O\n\rbackup_events\x18\x02 \x03(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.BackupEvent\"\x17\n\x15\x43smsPropertiesRequest\"W\n\x0e\x43smsProperties\x12\x14\n\x0c\x63sms_root_ca\x18\x01 \x01(\x0c\x12\x10\n\x08\x63sms_url\x18\x02 \x01(\t\x12\x1d\n\x15\x63harge_point_operator\x18\x03 \x01(\t\"\xc9\x01\n\x16\x43smsPropertiesResponse\x12Y\n\x12\x63\x61nvas_site_status\x18\x01 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.CanvasSiteStatus\x12T\n\x0f\x63sms_properties\x18\x02 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.CsmsProperties\"u\n\x1eTEGAPIGetCsmsPropertiesRequest\x12S\n\x07request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.CsmsPropertiesRequest\"x\n\x1fTEGAPIGetCsmsPropertiesResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.CsmsPropertiesResponse\"3\n\x1aTEGAPIConfigureOcppRequest\x12\x15\n\rcsms_base_url\x18\x01 \x01(\t\"\x1d\n\x1bTEGAPIConfigureOcppResponse\"\x8e\x02\n(TEGAPIStartProtectionTripSelfTestRequest\x12\x14\n\x0ctests_to_run\x18\x01 \x03(\t\x12\x1c\n\x14\x64isable_field_limits\x18\x02 \x01(\x08\x12%\n\x1d\x64isable_disconnect_on_failure\x18\x03 \x01(\x08\x12 \n\x18\x64isable_abort_on_failure\x18\x04 \x01(\x08\x12+\n#fast_forward_to_step_before_nominal\x18\x05 \x01(\r\x12\x13\n\x0brepetitions\x18\x06 \x01(\r\x12#\n\x1b\x64isable_inverter_fast_trips\x18\x07 \x01(\x08\"+\n)TEGAPIStartProtectionTripSelfTestResponse\")\n\'TEGAPIStopProtectionTripSelfTestRequest\"*\n(TEGAPIStopProtectionTripSelfTestResponse\"\xc8\x01\n\'TEGAPIProvisionEatonSmartBreakerRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\t\x12!\n\x19\x62roadcast_primary_udp_key\x18\x02 \x01(\x0c\x12#\n\x1b\x62roadcast_secondary_udp_key\x18\x03 \x01(\x0c\x12\x1f\n\x17unicast_primary_udp_key\x18\x04 \x01(\x0c\x12!\n\x19unicast_secondary_udp_key\x18\x05 \x01(\x0c\"*\n(TEGAPIProvisionEatonSmartBreakerResponse\";\n&TEGAPIIdentifyEatonSmartBreakerRequest\x12\x11\n\tdevice_id\x18\x01 \x01(\t\")\n\'TEGAPIIdentifyEatonSmartBreakerResponse\"3\n#TEGAPITriggerPvacFanSelfTestRequest\x12\x0c\n\x04\x62\x65id\x18\x01 \x01(\r\"&\n$TEGAPITriggerPvacFanSelfTestResponse\"\xde\x01\n,TEGAPIProxyPrepareRegistrationPayloadRequest\x12h\n\x07request\x18\x01 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadRequest\x12\x44\n\ntarget_din\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\"\x9b\x01\n-TEGAPIProxyPrepareRegistrationPayloadResponse\x12j\n\x08response\x18\x01 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.CommonAPIPrepareRegistrationPayloadResponse\"2\n0TEGAPITriggerWallboxVehicleAbsentSelfTestRequest\"3\n1TEGAPITriggerWallboxVehicleAbsentSelfTestResponse\"\x1c\n\x1aTEGAPICustomerResetRequest\"\x1d\n\x1bTEGAPICustomerResetResponse\";\n$TEGAPIDelayBatteryCalibrationRequest\x12\x13\n\x0b\x64\x65lay_hours\x18\x01 \x01(\r\"\'\n%TEGAPIDelayBatteryCalibrationResponse\"/\n-TEGAPIGetDelayBatteryCalibrationStatusRequest\"\x9e\x01\n.TEGAPIGetDelayBatteryCalibrationStatusResponse\x12\x1f\n\x17\x63\x61libration_delays_left\x18\x01 \x01(\r\x12+\n#calibration_delay_remaining_seconds\x18\x02 \x01(\r\x12\x1e\n\x16max_calibration_delays\x18\x03 \x01(\r\"\xa0\x02\n\x1d\x43ontrollableDeviceProgram_Key\x12\x11\n\tdevice_id\x18\x01 \x01(\t\x12\x65\n\x08priority\x18\x02 \x01(\x0e\x32S.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Key.Priority\"\x84\x01\n\x08Priority\x12\x14\n\x10PRIORITY_INVALID\x10\x00\x12\x1e\n\x19PRIORITY_CUSTOMER_DEFAULT\x10\x88\'\x12 \n\x1bPRIORITY_CUSTOMER_AUTOMATIC\x10\x90N\x12 \n\x1aPRIORITY_CUSTOMER_OVERRIDE\x10\xa0\x9c\x01\"\x82\x02\n\"ControllableDeviceProgram_Settings\x12w\n\x0f\x63ontactor_state\x18\x01 \x01(\x0e\x32^.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Settings.ContactorState\"c\n\x0e\x43ontactorState\x12\x1b\n\x17\x43ONTACTOR_STATE_INVALID\x10\x00\x12\x18\n\x14\x43ONTACTOR_STATE_OPEN\x10\x01\x12\x1a\n\x16\x43ONTACTOR_STATE_CLOSED\x10\x02\"\xbc\x06\n+ControllableDeviceProgram_Schedule_Boundary\x12\x82\x01\n\x10static_condition\x18\x01 \x01(\x0e\x32h.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.StaticCondition\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x80\x01\n\x0fislanding_state\x18\x03 \x01(\x0e\x32g.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.IslandingState\x12\x7f\n\x0fstate_of_energy\x18\x04 \x01(\x0e\x32\x66.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule_Boundary.StateOfEnergy\"h\n\x0fStaticCondition\x12\x1c\n\x18STATIC_CONDITION_INVALID\x10\x00\x12\x1b\n\x17STATIC_CONDITION_ALWAYS\x10\x01\x12\x1a\n\x16STATIC_CONDITION_NEVER\x10\x02\"h\n\x0eIslandingState\x12\x1b\n\x17ISLANDING_STATE_INVALID\x10\x00\x12\x1b\n\x17ISLANDING_STATE_ON_GRID\x10\x01\x12\x1c\n\x18ISLANDING_STATE_OFF_GRID\x10\x02\"\x80\x01\n\rStateOfEnergy\x12\x1b\n\x17STATE_OF_ENERGY_INVALID\x10\x00\x12(\n$STATE_OF_ENERGY_ABOVE_BACKUP_RESERVE\x10\x01\x12(\n$STATE_OF_ENERGY_BELOW_BACKUP_RESERVE\x10\x02\"\xa4\x01\n\"ControllableDeviceProgram_Schedule\x12)\n\x05start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12*\n\x06\x65xpiry\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xba\x02\n\x19\x43ontrollableDeviceProgram\x12W\n\x03key\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Key\x12\x61\n\x08settings\x18\x02 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Settings\x12\x61\n\x08schedule\x18\x03 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram_Schedule\"@\n*TEGAPIGetControllableDeviceProgramsRequest\x12\x12\n\ndevice_ids\x18\x01 \x03(\t\"\xf1\x01\n+TEGAPIGetControllableDeviceProgramsResponse\x12_\n\x0f\x61\x63tive_programs\x18\x01 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\x12\x61\n\x11inactive_programs\x18\x02 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\"\x91\x01\n-TEGAPIUpdateControllableDeviceProgramsRequest\x12`\n\x10updated_programs\x18\x01 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.ControllableDeviceProgram\"0\n.TEGAPIUpdateControllableDeviceProgramsResponse\"L\n-TEGAPIDeleteControllableDeviceProgramsRequest\x12\x15\n\rdeletion_keys\x18\x02 \x03(\tJ\x04\x08\x01\x10\x02\"0\n.TEGAPIDeleteControllableDeviceProgramsResponse\"8\n)TEGAPIClearPowerwall3LockoutAlertsRequest\x12\x0b\n\x03\x64in\x18\x01 \x01(\t\",\n*TEGAPIClearPowerwall3LockoutAlertsResponse\"\x1f\n\x1dTEGAPIRetrieveSiteUuidRequest\"~\n\x1eTEGAPIRetrieveSiteUuidResponse\x12\\\n\x08response\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.AssetSiteUuidOfDeviceResponse\"z\n#TEGAPIRetrieveSiteSuggestionRequest\x12S\n\x07request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.SiteSuggestionRequest\"}\n$TEGAPIRetrieveSiteSuggestionResponse\x12U\n\x08response\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.SiteSuggestionResponse\"\xedX\n\x0bTEGMessages\x12\x61\n\x12get_config_request\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetConfigRequestH\x00\x12\x63\n\x13get_config_response\x18\x02 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetConfigResponseH\x00\x12j\n\x17set_island_mode_request\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPISetIslandModeRequestH\x00\x12l\n\x18set_island_mode_response\x18\x04 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPISetIslandModeResponseH\x00\x12\x85\x01\n%trigger_islanding_black_start_request\x18\x05 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerIslandingBlackStartRequestH\x00\x12\x87\x01\n&trigger_islanding_black_start_response\x18\x06 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerIslandingBlackStartResponseH\x00\x12\x85\x01\n%trigger_asset_manifest_upload_request\x18\x07 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerAssetManifestUploadRequestH\x00\x12\x87\x01\n&trigger_asset_manifest_upload_response\x18\x08 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerAssetManifestUploadResponseH\x00\x12\x88\x01\n&trigger_powerwall2_enumeration_request\x18\t \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2EnumerationRequestH\x00\x12\x8a\x01\n\'trigger_powerwall2_enumeration_response\x18\n \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2EnumerationResponseH\x00\x12\x86\x01\n&trigger_es_can_firmware_update_request\x18\x0b \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerEsCanFirmwareUpdateRequestH\x00\x12\x88\x01\n\'trigger_es_can_firmware_update_response\x18\x0c \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerEsCanFirmwareUpdateResponseH\x00\x12^\n\x10register_request\x18\r \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRegisterRequestH\x00\x12`\n\x11register_response\x18\x0e \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRegisterResponseH\x00\x12\x8f\x01\n*trigger_powerwall2_phase_detection_request\x18\x0f \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2PhaseDetectionRequestH\x00\x12\x91\x01\n+trigger_powerwall2_phase_detection_response\x18\x10 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall2PhaseDetectionResponseH\x00\x12\x8b\x01\n(reset_powerwall2_phase_detection_request\x18\x11 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIResetPowerwall2PhaseDetectionRequestH\x00\x12\x8d\x01\n)reset_powerwall2_phase_detection_response\x18\x12 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIResetPowerwall2PhaseDetectionResponseH\x00\x12j\n\x17\x66orce_wifi_scan_request\x18\x13 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIForceWifiScanRequestH\x00\x12l\n\x18\x66orce_wifi_scan_response\x18\x14 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIForceWifiScanResponseH\x00\x12\x92\x01\n,start_powerwall2_inverter_self_tests_request\x18\x15 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2InverterSelfTestsRequestH\x00\x12\x94\x01\n-start_powerwall2_inverter_self_tests_response\x18\x16 \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2InverterSelfTestsResponseH\x00\x12\x90\x01\n+stop_powerwall2_inverter_self_tests_request\x18\x17 \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopPowerwall2InverterSelfTestsRequestH\x00\x12\x92\x01\n,stop_powerwall2_inverter_self_tests_response\x18\x18 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopPowerwall2InverterSelfTestsResponseH\x00\x12\x83\x01\n$start_powerwall2_bubble_shed_request\x18\x19 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2BubbleShedRequestH\x00\x12\x85\x01\n%start_powerwall2_bubble_shed_response\x18\x1a \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartPowerwall2BubbleShedResponseH\x00\x12\x81\x01\n#clear_solar_inverter_alerts_request\x18\x1b \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearSolarInverterAlertsRequestH\x00\x12\x83\x01\n$clear_solar_inverter_alerts_response\x18\x1c \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearSolarInverterAlertsResponseH\x00\x12\x8a\x01\n(get_wifi_config_with_credentials_request\x18\x1d \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetWifiConfigWithCredentialsRequestH\x00\x12\x8c\x01\n)get_wifi_config_with_credentials_response\x18\x1e \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetWifiConfigWithCredentialsResponseH\x00\x12o\n\x19\x64isable_batteries_request\x18\x1f \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesRequestH\x00\x12q\n\x1a\x64isable_batteries_response\x18 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDisableBatteriesResponseH\x00\x12\x89\x01\n(trigger_p_w3_can_firmware_update_request\x18! \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPW3CanFirmwareUpdateRequestH\x00\x12\x8b\x01\n)trigger_p_w3_can_firmware_update_response\x18\" \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPW3CanFirmwareUpdateResponseH\x00\x12\x88\x01\n&trigger_powerwall3_enumeration_request\x18# \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall3EnumerationRequestH\x00\x12\x8a\x01\n\'trigger_powerwall3_enumeration_response\x18$ \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPowerwall3EnumerationResponseH\x00\x12x\n\x1e\x64ispatch_battery_power_request\x18% \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerRequestH\x00\x12z\n\x1f\x64ispatch_battery_power_response\x18& \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDispatchBatteryPowerResponseH\x00\x12r\n\x1b\x64\x65tect_wired_meters_request\x18\' \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDetectWiredMetersRequestH\x00\x12t\n\x1c\x64\x65tect_wired_meters_response\x18( \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDetectWiredMetersResponseH\x00\x12\x9c\x01\n1bypass_battery_soe_adjustment_constraints_request\x18) \x01(\x0b\x32_.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIBypassBatterySoeAdjustmentConstraintsRequestH\x00\x12\x9e\x01\n2bypass_battery_soe_adjustment_constraints_response\x18* \x01(\x0b\x32`.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIBypassBatterySoeAdjustmentConstraintsResponseH\x00\x12q\n\x1a\x65nsure_certificate_request\x18+ \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateRequestH\x00\x12s\n\x1b\x65nsure_certificate_response\x18, \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIEnsureCertificateResponseH\x00\x12\x83\x01\n$schedule_manual_backup_event_request\x18- \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIScheduleManualBackupEventRequestH\x00\x12\x85\x01\n%schedule_manual_backup_event_response\x18. \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIScheduleManualBackupEventResponseH\x00\x12\x7f\n\"cancel_manual_backup_event_request\x18/ \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICancelManualBackupEventRequestH\x00\x12\x81\x01\n#cancel_manual_backup_event_response\x18\x30 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICancelManualBackupEventResponseH\x00\x12n\n\x19get_backup_events_request\x18\x31 \x01(\x0b\x32I.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetBackupEventsRequestH\x00\x12p\n\x1aget_backup_events_response\x18\x32 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetBackupEventsResponseH\x00\x12r\n\x1bget_csms_properties_request\x18\x33 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetCsmsPropertiesRequestH\x00\x12t\n\x1cget_csms_properties_response\x18\x34 \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetCsmsPropertiesResponseH\x00\x12i\n\x16\x63onfigure_ocpp_request\x18\x35 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIConfigureOcppRequestH\x00\x12k\n\x17\x63onfigure_ocpp_response\x18\x36 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIConfigureOcppResponseH\x00\x12p\n\x1aretrieve_site_uuid_request\x18\x37 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteUuidRequestH\x00\x12r\n\x1bretrieve_site_uuid_response\x18\x38 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteUuidResponseH\x00\x12|\n retrieve_site_suggestion_request\x18\x39 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionRequestH\x00\x12~\n!retrieve_site_suggestion_response\x18: \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIRetrieveSiteSuggestionResponseH\x00\x12\x88\x01\n\'start_protection_trip_self_test_request\x18; \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartProtectionTripSelfTestRequestH\x00\x12\x8a\x01\n(start_protection_trip_self_test_response\x18< \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStartProtectionTripSelfTestResponseH\x00\x12\x86\x01\n&stop_protection_trip_self_test_request\x18= \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopProtectionTripSelfTestRequestH\x00\x12\x88\x01\n\'stop_protection_trip_self_test_response\x18> \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIStopProtectionTripSelfTestResponseH\x00\x12\x85\x01\n%provision_eaton_smart_breaker_request\x18? \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProvisionEatonSmartBreakerRequestH\x00\x12\x87\x01\n&provision_eaton_smart_breaker_response\x18@ \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProvisionEatonSmartBreakerResponseH\x00\x12\x83\x01\n$identify_eaton_smart_breaker_request\x18\x41 \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIIdentifyEatonSmartBreakerRequestH\x00\x12\x85\x01\n%identify_eaton_smart_breaker_response\x18\x42 \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIIdentifyEatonSmartBreakerResponseH\x00\x12~\n\"trigger_pvac_fan_self_test_request\x18\x43 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPvacFanSelfTestRequestH\x00\x12\x80\x01\n#trigger_pvac_fan_self_test_response\x18\x44 \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerPvacFanSelfTestResponseH\x00\x12\x8f\x01\n*proxy_prepare_registration_payload_request\x18\x45 \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProxyPrepareRegistrationPayloadRequestH\x00\x12\x91\x01\n+proxy_prepare_registration_payload_response\x18\x46 \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIProxyPrepareRegistrationPayloadResponseH\x00\x12\x99\x01\n0trigger_wallbox_vehicle_absent_self_test_request\x18G \x01(\x0b\x32].tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerWallboxVehicleAbsentSelfTestRequestH\x00\x12\x9b\x01\n1trigger_wallbox_vehicle_absent_self_test_response\x18H \x01(\x0b\x32^.tesla_protocol.tesla.proto.energy_device.v1.TEGAPITriggerWallboxVehicleAbsentSelfTestResponseH\x00\x12i\n\x16\x63ustomer_reset_request\x18I \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICustomerResetRequestH\x00\x12k\n\x17\x63ustomer_reset_response\x18J \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.TEGAPICustomerResetResponseH\x00\x12~\n!delay_battery_calibration_request\x18K \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDelayBatteryCalibrationRequestH\x00\x12\x80\x01\n\"delay_battery_calibration_response\x18L \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDelayBatteryCalibrationResponseH\x00\x12\x92\x01\n,get_delay_battery_calibration_status_request\x18M \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetDelayBatteryCalibrationStatusRequestH\x00\x12\x94\x01\n-get_delay_battery_calibration_status_response\x18N \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetDelayBatteryCalibrationStatusResponseH\x00\x12\x8b\x01\n(get_controllable_device_programs_request\x18O \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetControllableDeviceProgramsRequestH\x00\x12\x8d\x01\n)get_controllable_device_programs_response\x18P \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIGetControllableDeviceProgramsResponseH\x00\x12\x91\x01\n+update_controllable_device_programs_request\x18Q \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIUpdateControllableDeviceProgramsRequestH\x00\x12\x93\x01\n,update_controllable_device_programs_response\x18R \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIUpdateControllableDeviceProgramsResponseH\x00\x12\x91\x01\n+delete_controllable_device_programs_request\x18S \x01(\x0b\x32Z.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDeleteControllableDeviceProgramsRequestH\x00\x12\x93\x01\n,delete_controllable_device_programs_response\x18T \x01(\x0b\x32[.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIDeleteControllableDeviceProgramsResponseH\x00\x12\x89\x01\n\'clear_powerwall3_lockout_alerts_request\x18U \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearPowerwall3LockoutAlertsRequestH\x00\x12\x8b\x01\n(clear_powerwall3_lockout_alerts_response\x18V \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.TEGAPIClearPowerwall3LockoutAlertsResponseH\x00\x42\t\n\x07message*\xf3\x01\n\rTEGIslandMode\x12\x1b\n\x17TEG_ISLAND_MODE_INVALID\x10\x00\x12\x1f\n\x1bTEG_ISLAND_MODE_AUTO_ACTIVE\x10\x01\x12\x19\n\x15TEG_ISLAND_MODE_READY\x10\x02\x12\x1f\n\x1bTEG_ISLAND_MODE_INTENTIONAL\x10\x03\x12\x16\n\x12TEG_ISLAND_MODE_PQ\x10\x04\x12\x17\n\x13TEG_ISLAND_MODE_OFF\x10\x05\x12\x37\n3TEG_ISLAND_MODE_INTENTIONAL_WITH_RECONNECT_FAILSAFE\x10\x06*\xd3\x02\n\x16TEGSetIslandModeResult\x12&\n\"TEG_SET_ISLAND_MODE_RESULT_INVALID\x10\x00\x12\'\n#TEG_SET_ISLAND_MODE_RESULT_ACCEPTED\x10\x01\x12?\n;TEG_SET_ISLAND_MODE_RESULT_REJECTED_NOT_READY_FOR_ISLANDING\x10\x02\x12:\n6TEG_SET_ISLAND_MODE_RESULT_REJECTED_LOAD_DROP_EXPECTED\x10\x03\x12\x32\n.TEG_SET_ISLAND_MODE_RESULT_REJECTED_LOW_ENERGY\x10\x04\x12\x37\n3TEG_SET_ISLAND_MODE_RESULT_REJECTED_EXCESSIVE_SOLAR\x10\x05*\x99\x01\n\x10\x43\x61nvasSiteStatus\x12\x1e\n\x1a\x43\x41NVAS_SITE_STATUS_INVALID\x10\x00\x12 \n\x1c\x43\x41NVAS_SITE_STATUS_IS_CANVAS\x10\x01\x12!\n\x1d\x43\x41NVAS_SITE_STATUS_NOT_CANVAS\x10\x02\x12 \n\x1c\x43\x41NVAS_SITE_STATUS_NOT_FOUND\x10\x03\x42z\n$com.tesla.generated.energy_device.v1B\x06TegApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,238 +37,238 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\006TegApiZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' - _globals['_TEGISLANDMODE']._serialized_start=22195 - _globals['_TEGISLANDMODE']._serialized_end=22438 - _globals['_TEGSETISLANDMODERESULT']._serialized_start=22441 - _globals['_TEGSETISLANDMODERESULT']._serialized_end=22780 - _globals['_CANVASSITESTATUS']._serialized_start=22783 - _globals['_CANVASSITESTATUS']._serialized_end=22936 - _globals['_TEGSETTINGS']._serialized_start=261 - _globals['_TEGSETTINGS']._serialized_end=274 - _globals['_POWERWALL2PHASEDETECTIONPARAMETERS']._serialized_start=276 - _globals['_POWERWALL2PHASEDETECTIONPARAMETERS']._serialized_end=325 - _globals['_TEGAPIGETCONFIGREQUEST']._serialized_start=327 - _globals['_TEGAPIGETCONFIGREQUEST']._serialized_end=351 - _globals['_TEGAPIGETCONFIGRESPONSE']._serialized_start=354 - _globals['_TEGAPIGETCONFIGRESPONSE']._serialized_end=840 - _globals['_TEGAPISETISLANDMODEREQUEST']._serialized_start=842 - _globals['_TEGAPISETISLANDMODEREQUEST']._serialized_end=959 - _globals['_TEGAPISETISLANDMODERESPONSE']._serialized_start=961 - _globals['_TEGAPISETISLANDMODERESPONSE']._serialized_end=1075 - _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTREQUEST']._serialized_start=1077 - _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTREQUEST']._serialized_end=1118 - _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTRESPONSE']._serialized_start=1120 - _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTRESPONSE']._serialized_end=1162 - _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADREQUEST']._serialized_start=1164 - _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADREQUEST']._serialized_end=1205 - _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADRESPONSE']._serialized_start=1207 - _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADRESPONSE']._serialized_end=1249 - _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONREQUEST']._serialized_start=1251 - _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONREQUEST']._serialized_end=1294 - _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONRESPONSE']._serialized_start=1296 - _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONRESPONSE']._serialized_end=1340 - _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATEREQUEST']._serialized_start=1342 - _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATEREQUEST']._serialized_end=1383 - _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATERESPONSE']._serialized_start=1385 - _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATERESPONSE']._serialized_end=1427 - _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATEREQUEST']._serialized_start=1429 - _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATEREQUEST']._serialized_end=1471 - _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATERESPONSE']._serialized_start=1473 - _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATERESPONSE']._serialized_end=1516 - _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONREQUEST']._serialized_start=1518 - _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONREQUEST']._serialized_end=1561 - _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONRESPONSE']._serialized_start=1563 - _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONRESPONSE']._serialized_end=1607 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_RESUMEDEVICEOPERATINGMODE']._serialized_start=1609 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_RESUMEDEVICEOPERATINGMODE']._serialized_end=1670 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_REALPOWERCOMMAND']._serialized_start=1672 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_REALPOWERCOMMAND']._serialized_end=1771 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST']._serialized_start=1774 - _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST']._serialized_end=2061 - _globals['_TEGAPIDISPATCHBATTERYPOWERRESPONSE']._serialized_start=2063 - _globals['_TEGAPIDISPATCHBATTERYPOWERRESPONSE']._serialized_end=2099 - _globals['_TEGAPIDETECTWIREDMETERSREQUEST']._serialized_start=2101 - _globals['_TEGAPIDETECTWIREDMETERSREQUEST']._serialized_end=2133 - _globals['_TEGAPIDETECTWIREDMETERSRESPONSE']._serialized_start=2135 - _globals['_TEGAPIDETECTWIREDMETERSRESPONSE']._serialized_end=2168 - _globals['_TEGAPIREGISTERREQUEST']._serialized_start=2170 - _globals['_TEGAPIREGISTERREQUEST']._serialized_end=2193 - _globals['_TEGAPIREGISTERRESPONSE']._serialized_start=2195 - _globals['_TEGAPIREGISTERRESPONSE']._serialized_end=2236 - _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONREQUEST']._serialized_start=2239 - _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONREQUEST']._serialized_end=2386 - _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_start=2388 - _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_end=2435 - _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONREQUEST']._serialized_start=2437 - _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONREQUEST']._serialized_end=2481 - _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_start=2483 - _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_end=2528 - _globals['_TEGAPIFORCEWIFISCANREQUEST']._serialized_start=2530 - _globals['_TEGAPIFORCEWIFISCANREQUEST']._serialized_end=2558 - _globals['_TEGAPIFORCEWIFISCANRESPONSE']._serialized_start=2560 - _globals['_TEGAPIFORCEWIFISCANRESPONSE']._serialized_end=2589 - _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_start=2591 - _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_end=2638 - _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_start=2640 - _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_end=2688 - _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_start=2690 - _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_end=2736 - _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_start=2738 - _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_end=2785 - _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDREQUEST']._serialized_start=2787 - _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDREQUEST']._serialized_end=2827 - _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDRESPONSE']._serialized_start=2829 - _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDRESPONSE']._serialized_end=2870 - _globals['_TEGAPICLEARSOLARINVERTERALERTSREQUEST']._serialized_start=2872 - _globals['_TEGAPICLEARSOLARINVERTERALERTSREQUEST']._serialized_end=2924 - _globals['_TEGAPICLEARSOLARINVERTERALERTSRESPONSE']._serialized_start=2926 - _globals['_TEGAPICLEARSOLARINVERTERALERTSRESPONSE']._serialized_end=2966 - _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSREQUEST']._serialized_start=2968 - _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSREQUEST']._serialized_end=3011 - _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSRESPONSE']._serialized_start=3013 - _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSRESPONSE']._serialized_end=3135 - _globals['_TEGAPIDISABLEBATTERIESREQUEST_BATTERYDISABLEREQUEST']._serialized_start=3137 - _globals['_TEGAPIDISABLEBATTERIESREQUEST_BATTERYDISABLEREQUEST']._serialized_end=3220 - _globals['_TEGAPIDISABLEBATTERIESREQUEST']._serialized_start=3223 - _globals['_TEGAPIDISABLEBATTERIESREQUEST']._serialized_end=3387 - _globals['_TEGAPIDISABLEBATTERIESRESPONSE']._serialized_start=3389 - _globals['_TEGAPIDISABLEBATTERIESRESPONSE']._serialized_end=3421 - _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSREQUEST']._serialized_start=3423 - _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSREQUEST']._serialized_end=3515 - _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSRESPONSE']._serialized_start=3517 - _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSRESPONSE']._serialized_end=3570 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPSOUTHAUSTRALIAPOWERNETWORKS']._serialized_start=3572 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPSOUTHAUSTRALIAPOWERNETWORKS']._serialized_end=3636 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPCITIPOWERPOWERCORUNITED']._serialized_start=3638 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPCITIPOWERPOWERCORUNITED']._serialized_end=3698 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPAUSNET']._serialized_start=3700 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPAUSNET']._serialized_end=3743 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPJEMENA']._serialized_start=3745 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPJEMENA']._serialized_end=3788 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPENERGEXERGONENERGYQLD']._serialized_start=3790 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPENERGEXERGONENERGYQLD']._serialized_end=3848 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPWESTERNPOWERSYNERGY']._serialized_start=3850 - _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPWESTERNPOWERSYNERGY']._serialized_end=3906 - _globals['_TEGAPIENSURECERTIFICATEREQUEST']._serialized_start=3909 - _globals['_TEGAPIENSURECERTIFICATEREQUEST']._serialized_end=4762 - _globals['_TEGAPIENSURECERTIFICATERESPONSE']._serialized_start=4764 - _globals['_TEGAPIENSURECERTIFICATERESPONSE']._serialized_end=4825 - _globals['_CONTROLEVENTSCHEDULINGINFO']._serialized_start=4827 - _globals['_CONTROLEVENTSCHEDULINGINFO']._serialized_end=4947 - _globals['_BACKUPEVENT']._serialized_start=4950 - _globals['_BACKUPEVENT']._serialized_end=5086 - _globals['_MANUALBACKUPEVENT']._serialized_start=5088 - _globals['_MANUALBACKUPEVENT']._serialized_end=5205 - _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTREQUEST']._serialized_start=5208 - _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTREQUEST']._serialized_end=5346 - _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTRESPONSE']._serialized_start=5348 - _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTRESPONSE']._serialized_end=5389 - _globals['_TEGAPICANCELMANUALBACKUPEVENTREQUEST']._serialized_start=5391 - _globals['_TEGAPICANCELMANUALBACKUPEVENTREQUEST']._serialized_end=5429 - _globals['_TEGAPICANCELMANUALBACKUPEVENTRESPONSE']._serialized_start=5431 - _globals['_TEGAPICANCELMANUALBACKUPEVENTRESPONSE']._serialized_end=5470 - _globals['_TEGAPIGETBACKUPEVENTSREQUEST']._serialized_start=5472 - _globals['_TEGAPIGETBACKUPEVENTSREQUEST']._serialized_end=5502 - _globals['_TEGAPIGETBACKUPEVENTSRESPONSE']._serialized_start=5505 - _globals['_TEGAPIGETBACKUPEVENTSRESPONSE']._serialized_end=5710 - _globals['_CSMSPROPERTIESREQUEST']._serialized_start=5712 - _globals['_CSMSPROPERTIESREQUEST']._serialized_end=5735 - _globals['_CSMSPROPERTIES']._serialized_start=5737 - _globals['_CSMSPROPERTIES']._serialized_end=5824 - _globals['_CSMSPROPERTIESRESPONSE']._serialized_start=5827 - _globals['_CSMSPROPERTIESRESPONSE']._serialized_end=6028 - _globals['_TEGAPIGETCSMSPROPERTIESREQUEST']._serialized_start=6030 - _globals['_TEGAPIGETCSMSPROPERTIESREQUEST']._serialized_end=6147 - _globals['_TEGAPIGETCSMSPROPERTIESRESPONSE']._serialized_start=6149 - _globals['_TEGAPIGETCSMSPROPERTIESRESPONSE']._serialized_end=6269 - _globals['_TEGAPICONFIGUREOCPPREQUEST']._serialized_start=6271 - _globals['_TEGAPICONFIGUREOCPPREQUEST']._serialized_end=6322 - _globals['_TEGAPICONFIGUREOCPPRESPONSE']._serialized_start=6324 - _globals['_TEGAPICONFIGUREOCPPRESPONSE']._serialized_end=6353 - _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTREQUEST']._serialized_start=6356 - _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTREQUEST']._serialized_end=6626 - _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTRESPONSE']._serialized_start=6628 - _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTRESPONSE']._serialized_end=6671 - _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTREQUEST']._serialized_start=6673 - _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTREQUEST']._serialized_end=6714 - _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTRESPONSE']._serialized_start=6716 - _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTRESPONSE']._serialized_end=6758 - _globals['_TEGAPIPROVISIONEATONSMARTBREAKERREQUEST']._serialized_start=6761 - _globals['_TEGAPIPROVISIONEATONSMARTBREAKERREQUEST']._serialized_end=6961 - _globals['_TEGAPIPROVISIONEATONSMARTBREAKERRESPONSE']._serialized_start=6963 - _globals['_TEGAPIPROVISIONEATONSMARTBREAKERRESPONSE']._serialized_end=7005 - _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERREQUEST']._serialized_start=7007 - _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERREQUEST']._serialized_end=7066 - _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERRESPONSE']._serialized_start=7068 - _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERRESPONSE']._serialized_end=7109 - _globals['_TEGAPITRIGGERPVACFANSELFTESTREQUEST']._serialized_start=7111 - _globals['_TEGAPITRIGGERPVACFANSELFTESTREQUEST']._serialized_end=7162 - _globals['_TEGAPITRIGGERPVACFANSELFTESTRESPONSE']._serialized_start=7164 - _globals['_TEGAPITRIGGERPVACFANSELFTESTRESPONSE']._serialized_end=7202 - _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_start=7205 - _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_end=7427 - _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_start=7430 - _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_end=7585 - _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTREQUEST']._serialized_start=7587 - _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTREQUEST']._serialized_end=7637 - _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTRESPONSE']._serialized_start=7639 - _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTRESPONSE']._serialized_end=7690 - _globals['_TEGAPICUSTOMERRESETREQUEST']._serialized_start=7692 - _globals['_TEGAPICUSTOMERRESETREQUEST']._serialized_end=7720 - _globals['_TEGAPICUSTOMERRESETRESPONSE']._serialized_start=7722 - _globals['_TEGAPICUSTOMERRESETRESPONSE']._serialized_end=7751 - _globals['_TEGAPIDELAYBATTERYCALIBRATIONREQUEST']._serialized_start=7753 - _globals['_TEGAPIDELAYBATTERYCALIBRATIONREQUEST']._serialized_end=7812 - _globals['_TEGAPIDELAYBATTERYCALIBRATIONRESPONSE']._serialized_start=7814 - _globals['_TEGAPIDELAYBATTERYCALIBRATIONRESPONSE']._serialized_end=7853 - _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSREQUEST']._serialized_start=7855 - _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSREQUEST']._serialized_end=7902 - _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSRESPONSE']._serialized_start=7905 - _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSRESPONSE']._serialized_end=8063 - _globals['_CONTROLLABLEDEVICEPROGRAM_KEY']._serialized_start=8066 - _globals['_CONTROLLABLEDEVICEPROGRAM_KEY']._serialized_end=8354 - _globals['_CONTROLLABLEDEVICEPROGRAM_KEY_PRIORITY']._serialized_start=8222 - _globals['_CONTROLLABLEDEVICEPROGRAM_KEY_PRIORITY']._serialized_end=8354 - _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS']._serialized_start=8357 - _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS']._serialized_end=8615 - _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS_CONTACTORSTATE']._serialized_start=8516 - _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS_CONTACTORSTATE']._serialized_end=8615 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY']._serialized_start=8618 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY']._serialized_end=9446 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATICCONDITION']._serialized_start=9105 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATICCONDITION']._serialized_end=9209 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_ISLANDINGSTATE']._serialized_start=9211 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_ISLANDINGSTATE']._serialized_end=9315 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATEOFENERGY']._serialized_start=9318 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATEOFENERGY']._serialized_end=9446 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE']._serialized_start=9449 - _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE']._serialized_end=9613 - _globals['_CONTROLLABLEDEVICEPROGRAM']._serialized_start=9616 - _globals['_CONTROLLABLEDEVICEPROGRAM']._serialized_end=9930 - _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=9932 - _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=9996 - _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=9999 - _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10240 - _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=10243 - _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=10388 - _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=10390 - _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10438 - _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=10440 - _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=10516 - _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=10518 - _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10566 - _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSREQUEST']._serialized_start=10568 - _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSREQUEST']._serialized_end=10624 - _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSRESPONSE']._serialized_start=10626 - _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSRESPONSE']._serialized_end=10670 - _globals['_TEGAPIRETRIEVESITEUUIDREQUEST']._serialized_start=10672 - _globals['_TEGAPIRETRIEVESITEUUIDREQUEST']._serialized_end=10703 - _globals['_TEGAPIRETRIEVESITEUUIDRESPONSE']._serialized_start=10705 - _globals['_TEGAPIRETRIEVESITEUUIDRESPONSE']._serialized_end=10737 - _globals['_TEGAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_start=10739 - _globals['_TEGAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_end=10776 - _globals['_TEGAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_start=10778 - _globals['_TEGAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_end=10816 - _globals['_TEGMESSAGES']._serialized_start=10819 - _globals['_TEGMESSAGES']._serialized_end=22192 + _globals['_TEGISLANDMODE']._serialized_start=22709 + _globals['_TEGISLANDMODE']._serialized_end=22952 + _globals['_TEGSETISLANDMODERESULT']._serialized_start=22955 + _globals['_TEGSETISLANDMODERESULT']._serialized_end=23294 + _globals['_CANVASSITESTATUS']._serialized_start=23297 + _globals['_CANVASSITESTATUS']._serialized_end=23450 + _globals['_TEGSETTINGS']._serialized_start=314 + _globals['_TEGSETTINGS']._serialized_end=327 + _globals['_POWERWALL2PHASEDETECTIONPARAMETERS']._serialized_start=329 + _globals['_POWERWALL2PHASEDETECTIONPARAMETERS']._serialized_end=378 + _globals['_TEGAPIGETCONFIGREQUEST']._serialized_start=380 + _globals['_TEGAPIGETCONFIGREQUEST']._serialized_end=404 + _globals['_TEGAPIGETCONFIGRESPONSE']._serialized_start=407 + _globals['_TEGAPIGETCONFIGRESPONSE']._serialized_end=893 + _globals['_TEGAPISETISLANDMODEREQUEST']._serialized_start=895 + _globals['_TEGAPISETISLANDMODEREQUEST']._serialized_end=1012 + _globals['_TEGAPISETISLANDMODERESPONSE']._serialized_start=1014 + _globals['_TEGAPISETISLANDMODERESPONSE']._serialized_end=1128 + _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTREQUEST']._serialized_start=1130 + _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTREQUEST']._serialized_end=1171 + _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTRESPONSE']._serialized_start=1173 + _globals['_TEGAPITRIGGERISLANDINGBLACKSTARTRESPONSE']._serialized_end=1215 + _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADREQUEST']._serialized_start=1217 + _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADREQUEST']._serialized_end=1258 + _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADRESPONSE']._serialized_start=1260 + _globals['_TEGAPITRIGGERASSETMANIFESTUPLOADRESPONSE']._serialized_end=1302 + _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONREQUEST']._serialized_start=1304 + _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONREQUEST']._serialized_end=1347 + _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONRESPONSE']._serialized_start=1349 + _globals['_TEGAPITRIGGERPOWERWALL2ENUMERATIONRESPONSE']._serialized_end=1393 + _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATEREQUEST']._serialized_start=1395 + _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATEREQUEST']._serialized_end=1436 + _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATERESPONSE']._serialized_start=1438 + _globals['_TEGAPITRIGGERESCANFIRMWAREUPDATERESPONSE']._serialized_end=1480 + _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATEREQUEST']._serialized_start=1482 + _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATEREQUEST']._serialized_end=1524 + _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATERESPONSE']._serialized_start=1526 + _globals['_TEGAPITRIGGERPW3CANFIRMWAREUPDATERESPONSE']._serialized_end=1569 + _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONREQUEST']._serialized_start=1571 + _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONREQUEST']._serialized_end=1614 + _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONRESPONSE']._serialized_start=1616 + _globals['_TEGAPITRIGGERPOWERWALL3ENUMERATIONRESPONSE']._serialized_end=1660 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_RESUMEDEVICEOPERATINGMODE']._serialized_start=1662 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_RESUMEDEVICEOPERATINGMODE']._serialized_end=1723 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_REALPOWERCOMMAND']._serialized_start=1725 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST_REALPOWERCOMMAND']._serialized_end=1824 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST']._serialized_start=1827 + _globals['_TEGAPIDISPATCHBATTERYPOWERREQUEST']._serialized_end=2114 + _globals['_TEGAPIDISPATCHBATTERYPOWERRESPONSE']._serialized_start=2116 + _globals['_TEGAPIDISPATCHBATTERYPOWERRESPONSE']._serialized_end=2152 + _globals['_TEGAPIDETECTWIREDMETERSREQUEST']._serialized_start=2154 + _globals['_TEGAPIDETECTWIREDMETERSREQUEST']._serialized_end=2186 + _globals['_TEGAPIDETECTWIREDMETERSRESPONSE']._serialized_start=2188 + _globals['_TEGAPIDETECTWIREDMETERSRESPONSE']._serialized_end=2221 + _globals['_TEGAPIREGISTERREQUEST']._serialized_start=2223 + _globals['_TEGAPIREGISTERREQUEST']._serialized_end=2342 + _globals['_TEGAPIREGISTERRESPONSE']._serialized_start=2345 + _globals['_TEGAPIREGISTERRESPONSE']._serialized_end=2484 + _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONREQUEST']._serialized_start=2487 + _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONREQUEST']._serialized_end=2634 + _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_start=2636 + _globals['_TEGAPITRIGGERPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_end=2683 + _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONREQUEST']._serialized_start=2685 + _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONREQUEST']._serialized_end=2729 + _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_start=2731 + _globals['_TEGAPIRESETPOWERWALL2PHASEDETECTIONRESPONSE']._serialized_end=2776 + _globals['_TEGAPIFORCEWIFISCANREQUEST']._serialized_start=2778 + _globals['_TEGAPIFORCEWIFISCANREQUEST']._serialized_end=2806 + _globals['_TEGAPIFORCEWIFISCANRESPONSE']._serialized_start=2808 + _globals['_TEGAPIFORCEWIFISCANRESPONSE']._serialized_end=2837 + _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_start=2839 + _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_end=2886 + _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_start=2888 + _globals['_TEGAPISTARTPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_end=2936 + _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_start=2938 + _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSREQUEST']._serialized_end=2984 + _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_start=2986 + _globals['_TEGAPISTOPPOWERWALL2INVERTERSELFTESTSRESPONSE']._serialized_end=3033 + _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDREQUEST']._serialized_start=3035 + _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDREQUEST']._serialized_end=3075 + _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDRESPONSE']._serialized_start=3077 + _globals['_TEGAPISTARTPOWERWALL2BUBBLESHEDRESPONSE']._serialized_end=3118 + _globals['_TEGAPICLEARSOLARINVERTERALERTSREQUEST']._serialized_start=3120 + _globals['_TEGAPICLEARSOLARINVERTERALERTSREQUEST']._serialized_end=3172 + _globals['_TEGAPICLEARSOLARINVERTERALERTSRESPONSE']._serialized_start=3174 + _globals['_TEGAPICLEARSOLARINVERTERALERTSRESPONSE']._serialized_end=3214 + _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSREQUEST']._serialized_start=3216 + _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSREQUEST']._serialized_end=3259 + _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSRESPONSE']._serialized_start=3261 + _globals['_TEGAPIGETWIFICONFIGWITHCREDENTIALSRESPONSE']._serialized_end=3383 + _globals['_TEGAPIDISABLEBATTERIESREQUEST_BATTERYDISABLEREQUEST']._serialized_start=3385 + _globals['_TEGAPIDISABLEBATTERIESREQUEST_BATTERYDISABLEREQUEST']._serialized_end=3468 + _globals['_TEGAPIDISABLEBATTERIESREQUEST']._serialized_start=3471 + _globals['_TEGAPIDISABLEBATTERIESREQUEST']._serialized_end=3635 + _globals['_TEGAPIDISABLEBATTERIESRESPONSE']._serialized_start=3637 + _globals['_TEGAPIDISABLEBATTERIESRESPONSE']._serialized_end=3669 + _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSREQUEST']._serialized_start=3671 + _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSREQUEST']._serialized_end=3763 + _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSRESPONSE']._serialized_start=3765 + _globals['_TEGAPIBYPASSBATTERYSOEADJUSTMENTCONSTRAINTSRESPONSE']._serialized_end=3818 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPSOUTHAUSTRALIAPOWERNETWORKS']._serialized_start=3820 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPSOUTHAUSTRALIAPOWERNETWORKS']._serialized_end=3884 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPCITIPOWERPOWERCORUNITED']._serialized_start=3886 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPCITIPOWERPOWERCORUNITED']._serialized_end=3946 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPAUSNET']._serialized_start=3948 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPAUSNET']._serialized_end=3991 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPJEMENA']._serialized_start=3993 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPJEMENA']._serialized_end=4036 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPENERGEXERGONENERGYQLD']._serialized_start=4038 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPENERGEXERGONENERGYQLD']._serialized_end=4096 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPWESTERNPOWERSYNERGY']._serialized_start=4098 + _globals['_TEGAPIENSURECERTIFICATEREQUEST_CSIPWESTERNPOWERSYNERGY']._serialized_end=4154 + _globals['_TEGAPIENSURECERTIFICATEREQUEST']._serialized_start=4157 + _globals['_TEGAPIENSURECERTIFICATEREQUEST']._serialized_end=5010 + _globals['_TEGAPIENSURECERTIFICATERESPONSE']._serialized_start=5012 + _globals['_TEGAPIENSURECERTIFICATERESPONSE']._serialized_end=5073 + _globals['_CONTROLEVENTSCHEDULINGINFO']._serialized_start=5075 + _globals['_CONTROLEVENTSCHEDULINGINFO']._serialized_end=5195 + _globals['_BACKUPEVENT']._serialized_start=5198 + _globals['_BACKUPEVENT']._serialized_end=5334 + _globals['_MANUALBACKUPEVENT']._serialized_start=5336 + _globals['_MANUALBACKUPEVENT']._serialized_end=5453 + _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTREQUEST']._serialized_start=5456 + _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTREQUEST']._serialized_end=5594 + _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTRESPONSE']._serialized_start=5596 + _globals['_TEGAPISCHEDULEMANUALBACKUPEVENTRESPONSE']._serialized_end=5637 + _globals['_TEGAPICANCELMANUALBACKUPEVENTREQUEST']._serialized_start=5639 + _globals['_TEGAPICANCELMANUALBACKUPEVENTREQUEST']._serialized_end=5677 + _globals['_TEGAPICANCELMANUALBACKUPEVENTRESPONSE']._serialized_start=5679 + _globals['_TEGAPICANCELMANUALBACKUPEVENTRESPONSE']._serialized_end=5718 + _globals['_TEGAPIGETBACKUPEVENTSREQUEST']._serialized_start=5720 + _globals['_TEGAPIGETBACKUPEVENTSREQUEST']._serialized_end=5750 + _globals['_TEGAPIGETBACKUPEVENTSRESPONSE']._serialized_start=5753 + _globals['_TEGAPIGETBACKUPEVENTSRESPONSE']._serialized_end=5958 + _globals['_CSMSPROPERTIESREQUEST']._serialized_start=5960 + _globals['_CSMSPROPERTIESREQUEST']._serialized_end=5983 + _globals['_CSMSPROPERTIES']._serialized_start=5985 + _globals['_CSMSPROPERTIES']._serialized_end=6072 + _globals['_CSMSPROPERTIESRESPONSE']._serialized_start=6075 + _globals['_CSMSPROPERTIESRESPONSE']._serialized_end=6276 + _globals['_TEGAPIGETCSMSPROPERTIESREQUEST']._serialized_start=6278 + _globals['_TEGAPIGETCSMSPROPERTIESREQUEST']._serialized_end=6395 + _globals['_TEGAPIGETCSMSPROPERTIESRESPONSE']._serialized_start=6397 + _globals['_TEGAPIGETCSMSPROPERTIESRESPONSE']._serialized_end=6517 + _globals['_TEGAPICONFIGUREOCPPREQUEST']._serialized_start=6519 + _globals['_TEGAPICONFIGUREOCPPREQUEST']._serialized_end=6570 + _globals['_TEGAPICONFIGUREOCPPRESPONSE']._serialized_start=6572 + _globals['_TEGAPICONFIGUREOCPPRESPONSE']._serialized_end=6601 + _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTREQUEST']._serialized_start=6604 + _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTREQUEST']._serialized_end=6874 + _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTRESPONSE']._serialized_start=6876 + _globals['_TEGAPISTARTPROTECTIONTRIPSELFTESTRESPONSE']._serialized_end=6919 + _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTREQUEST']._serialized_start=6921 + _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTREQUEST']._serialized_end=6962 + _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTRESPONSE']._serialized_start=6964 + _globals['_TEGAPISTOPPROTECTIONTRIPSELFTESTRESPONSE']._serialized_end=7006 + _globals['_TEGAPIPROVISIONEATONSMARTBREAKERREQUEST']._serialized_start=7009 + _globals['_TEGAPIPROVISIONEATONSMARTBREAKERREQUEST']._serialized_end=7209 + _globals['_TEGAPIPROVISIONEATONSMARTBREAKERRESPONSE']._serialized_start=7211 + _globals['_TEGAPIPROVISIONEATONSMARTBREAKERRESPONSE']._serialized_end=7253 + _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERREQUEST']._serialized_start=7255 + _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERREQUEST']._serialized_end=7314 + _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERRESPONSE']._serialized_start=7316 + _globals['_TEGAPIIDENTIFYEATONSMARTBREAKERRESPONSE']._serialized_end=7357 + _globals['_TEGAPITRIGGERPVACFANSELFTESTREQUEST']._serialized_start=7359 + _globals['_TEGAPITRIGGERPVACFANSELFTESTREQUEST']._serialized_end=7410 + _globals['_TEGAPITRIGGERPVACFANSELFTESTRESPONSE']._serialized_start=7412 + _globals['_TEGAPITRIGGERPVACFANSELFTESTRESPONSE']._serialized_end=7450 + _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_start=7453 + _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADREQUEST']._serialized_end=7675 + _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_start=7678 + _globals['_TEGAPIPROXYPREPAREREGISTRATIONPAYLOADRESPONSE']._serialized_end=7833 + _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTREQUEST']._serialized_start=7835 + _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTREQUEST']._serialized_end=7885 + _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTRESPONSE']._serialized_start=7887 + _globals['_TEGAPITRIGGERWALLBOXVEHICLEABSENTSELFTESTRESPONSE']._serialized_end=7938 + _globals['_TEGAPICUSTOMERRESETREQUEST']._serialized_start=7940 + _globals['_TEGAPICUSTOMERRESETREQUEST']._serialized_end=7968 + _globals['_TEGAPICUSTOMERRESETRESPONSE']._serialized_start=7970 + _globals['_TEGAPICUSTOMERRESETRESPONSE']._serialized_end=7999 + _globals['_TEGAPIDELAYBATTERYCALIBRATIONREQUEST']._serialized_start=8001 + _globals['_TEGAPIDELAYBATTERYCALIBRATIONREQUEST']._serialized_end=8060 + _globals['_TEGAPIDELAYBATTERYCALIBRATIONRESPONSE']._serialized_start=8062 + _globals['_TEGAPIDELAYBATTERYCALIBRATIONRESPONSE']._serialized_end=8101 + _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSREQUEST']._serialized_start=8103 + _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSREQUEST']._serialized_end=8150 + _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSRESPONSE']._serialized_start=8153 + _globals['_TEGAPIGETDELAYBATTERYCALIBRATIONSTATUSRESPONSE']._serialized_end=8311 + _globals['_CONTROLLABLEDEVICEPROGRAM_KEY']._serialized_start=8314 + _globals['_CONTROLLABLEDEVICEPROGRAM_KEY']._serialized_end=8602 + _globals['_CONTROLLABLEDEVICEPROGRAM_KEY_PRIORITY']._serialized_start=8470 + _globals['_CONTROLLABLEDEVICEPROGRAM_KEY_PRIORITY']._serialized_end=8602 + _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS']._serialized_start=8605 + _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS']._serialized_end=8863 + _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS_CONTACTORSTATE']._serialized_start=8764 + _globals['_CONTROLLABLEDEVICEPROGRAM_SETTINGS_CONTACTORSTATE']._serialized_end=8863 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY']._serialized_start=8866 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY']._serialized_end=9694 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATICCONDITION']._serialized_start=9353 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATICCONDITION']._serialized_end=9457 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_ISLANDINGSTATE']._serialized_start=9459 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_ISLANDINGSTATE']._serialized_end=9563 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATEOFENERGY']._serialized_start=9566 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE_BOUNDARY_STATEOFENERGY']._serialized_end=9694 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE']._serialized_start=9697 + _globals['_CONTROLLABLEDEVICEPROGRAM_SCHEDULE']._serialized_end=9861 + _globals['_CONTROLLABLEDEVICEPROGRAM']._serialized_start=9864 + _globals['_CONTROLLABLEDEVICEPROGRAM']._serialized_end=10178 + _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=10180 + _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=10244 + _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=10247 + _globals['_TEGAPIGETCONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10488 + _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=10491 + _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=10636 + _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=10638 + _globals['_TEGAPIUPDATECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10686 + _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_start=10688 + _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSREQUEST']._serialized_end=10764 + _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_start=10766 + _globals['_TEGAPIDELETECONTROLLABLEDEVICEPROGRAMSRESPONSE']._serialized_end=10814 + _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSREQUEST']._serialized_start=10816 + _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSREQUEST']._serialized_end=10872 + _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSRESPONSE']._serialized_start=10874 + _globals['_TEGAPICLEARPOWERWALL3LOCKOUTALERTSRESPONSE']._serialized_end=10918 + _globals['_TEGAPIRETRIEVESITEUUIDREQUEST']._serialized_start=10920 + _globals['_TEGAPIRETRIEVESITEUUIDREQUEST']._serialized_end=10951 + _globals['_TEGAPIRETRIEVESITEUUIDRESPONSE']._serialized_start=10953 + _globals['_TEGAPIRETRIEVESITEUUIDRESPONSE']._serialized_end=11079 + _globals['_TEGAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_start=11081 + _globals['_TEGAPIRETRIEVESITESUGGESTIONREQUEST']._serialized_end=11203 + _globals['_TEGAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_start=11205 + _globals['_TEGAPIRETRIEVESITESUGGESTIONRESPONSE']._serialized_end=11330 + _globals['_TEGMESSAGES']._serialized_start=11333 + _globals['_TEGMESSAGES']._serialized_end=22706 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/energy_device/teg_api_pb2.pyi b/packages/python/tesla_protocol/energy_device/teg_api_pb2.pyi index 95782dc..cbc9a88 100644 --- a/packages/python/tesla_protocol/energy_device/teg_api_pb2.pyi +++ b/packages/python/tesla_protocol/energy_device/teg_api_pb2.pyi @@ -4,6 +4,7 @@ from google.protobuf import timestamp_pb2 as _timestamp_pb2 from tesla_protocol.energy_device import device_pb2 as _device_pb2 from tesla_protocol.energy_device import networking_pb2 as _networking_pb2 from tesla_protocol.energy_device import common_api_pb2 as _common_api_pb2 +from tesla_protocol.energy_device import registration_api_pb2 as _registration_api_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 @@ -181,14 +182,18 @@ class TEGAPIDetectWiredMetersResponse(_message.Message): def __init__(self) -> None: ... class TEGAPIRegisterRequest(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("registration_request",) + REGISTRATION_REQUEST_FIELD_NUMBER: _ClassVar[int] + registration_request: _registration_api_pb2.RegistrationRequest + def __init__(self, registration_request: _Optional[_Union[_registration_api_pb2.RegistrationRequest, _Mapping]] = ...) -> None: ... class TEGAPIRegisterResponse(_message.Message): - __slots__ = ("failure",) + __slots__ = ("failure", "registration_response") FAILURE_FIELD_NUMBER: _ClassVar[int] + REGISTRATION_RESPONSE_FIELD_NUMBER: _ClassVar[int] failure: int - def __init__(self, failure: _Optional[int] = ...) -> None: ... + registration_response: _registration_api_pb2.RegistrationResponse + def __init__(self, failure: _Optional[int] = ..., registration_response: _Optional[_Union[_registration_api_pb2.RegistrationResponse, _Mapping]] = ...) -> None: ... class TEGAPITriggerPowerwall2PhaseDetectionRequest(_message.Message): __slots__ = ("powerwalls",) @@ -697,16 +702,22 @@ class TEGAPIRetrieveSiteUuidRequest(_message.Message): def __init__(self) -> None: ... class TEGAPIRetrieveSiteUuidResponse(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: _registration_api_pb2.AssetSiteUuidOfDeviceResponse + def __init__(self, response: _Optional[_Union[_registration_api_pb2.AssetSiteUuidOfDeviceResponse, _Mapping]] = ...) -> None: ... class TEGAPIRetrieveSiteSuggestionRequest(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: _registration_api_pb2.SiteSuggestionRequest + def __init__(self, request: _Optional[_Union[_registration_api_pb2.SiteSuggestionRequest, _Mapping]] = ...) -> None: ... class TEGAPIRetrieveSiteSuggestionResponse(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("response",) + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: _registration_api_pb2.SiteSuggestionResponse + def __init__(self, response: _Optional[_Union[_registration_api_pb2.SiteSuggestionResponse, _Mapping]] = ...) -> None: ... class TEGMessages(_message.Message): __slots__ = ("get_config_request", "get_config_response", "set_island_mode_request", "set_island_mode_response", "trigger_islanding_black_start_request", "trigger_islanding_black_start_response", "trigger_asset_manifest_upload_request", "trigger_asset_manifest_upload_response", "trigger_powerwall2_enumeration_request", "trigger_powerwall2_enumeration_response", "trigger_es_can_firmware_update_request", "trigger_es_can_firmware_update_response", "register_request", "register_response", "trigger_powerwall2_phase_detection_request", "trigger_powerwall2_phase_detection_response", "reset_powerwall2_phase_detection_request", "reset_powerwall2_phase_detection_response", "force_wifi_scan_request", "force_wifi_scan_response", "start_powerwall2_inverter_self_tests_request", "start_powerwall2_inverter_self_tests_response", "stop_powerwall2_inverter_self_tests_request", "stop_powerwall2_inverter_self_tests_response", "start_powerwall2_bubble_shed_request", "start_powerwall2_bubble_shed_response", "clear_solar_inverter_alerts_request", "clear_solar_inverter_alerts_response", "get_wifi_config_with_credentials_request", "get_wifi_config_with_credentials_response", "disable_batteries_request", "disable_batteries_response", "trigger_p_w3_can_firmware_update_request", "trigger_p_w3_can_firmware_update_response", "trigger_powerwall3_enumeration_request", "trigger_powerwall3_enumeration_response", "dispatch_battery_power_request", "dispatch_battery_power_response", "detect_wired_meters_request", "detect_wired_meters_response", "bypass_battery_soe_adjustment_constraints_request", "bypass_battery_soe_adjustment_constraints_response", "ensure_certificate_request", "ensure_certificate_response", "schedule_manual_backup_event_request", "schedule_manual_backup_event_response", "cancel_manual_backup_event_request", "cancel_manual_backup_event_response", "get_backup_events_request", "get_backup_events_response", "get_csms_properties_request", "get_csms_properties_response", "configure_ocpp_request", "configure_ocpp_response", "retrieve_site_uuid_request", "retrieve_site_uuid_response", "retrieve_site_suggestion_request", "retrieve_site_suggestion_response", "start_protection_trip_self_test_request", "start_protection_trip_self_test_response", "stop_protection_trip_self_test_request", "stop_protection_trip_self_test_response", "provision_eaton_smart_breaker_request", "provision_eaton_smart_breaker_response", "identify_eaton_smart_breaker_request", "identify_eaton_smart_breaker_response", "trigger_pvac_fan_self_test_request", "trigger_pvac_fan_self_test_response", "proxy_prepare_registration_payload_request", "proxy_prepare_registration_payload_response", "trigger_wallbox_vehicle_absent_self_test_request", "trigger_wallbox_vehicle_absent_self_test_response", "customer_reset_request", "customer_reset_response", "delay_battery_calibration_request", "delay_battery_calibration_response", "get_delay_battery_calibration_status_request", "get_delay_battery_calibration_status_response", "get_controllable_device_programs_request", "get_controllable_device_programs_response", "update_controllable_device_programs_request", "update_controllable_device_programs_response", "delete_controllable_device_programs_request", "delete_controllable_device_programs_response", "clear_powerwall3_lockout_alerts_request", "clear_powerwall3_lockout_alerts_response") diff --git a/packages/python/tesla_protocol/energy_device/transport_pb2.py b/packages/python/tesla_protocol/energy_device/transport_pb2.py index 94210e4..60104fa 100644 --- a/packages/python/tesla_protocol/energy_device/transport_pb2.py +++ b/packages/python/tesla_protocol/energy_device/transport_pb2.py @@ -34,9 +34,11 @@ from tesla_protocol.energy_device import intra_site_api_pb2 as tesla__protocol_dot_energy__device_dot_intra__site__api__pb2 from tesla_protocol.energy_device import filestore_api_pb2 as tesla__protocol_dot_energy__device_dot_filestore__api__pb2 from tesla_protocol.energy_device import graphql_api_pb2 as tesla__protocol_dot_energy__device_dot_graphql__api__pb2 +from tesla_protocol.energy_device import registration_api_pb2 as tesla__protocol_dot_energy__device_dot_registration__api__pb2 +from tesla_protocol.energy_device import supercharger_api_pb2 as tesla__protocol_dot_energy__device_dot_supercharger__api__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,tesla_protocol/energy_device/transport.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x36tesla_protocol/energy_device/authorization_types.proto\x1a\x34tesla_protocol/energy_device/authorization_api.proto\x1a-tesla_protocol/energy_device/common_api.proto\x1a*tesla_protocol/energy_device/teg_api.proto\x1a\x31tesla_protocol/energy_device/wall_connector.proto\x1a*tesla_protocol/energy_device/pvi_api.proto\x1a\x31tesla_protocol/energy_device/local_auth_api.proto\x1a\x33tesla_protocol/energy_device/neurio_meter_api.proto\x1a\x32tesla_protocol/energy_device/energy_site_net.proto\x1a\x31tesla_protocol/energy_device/intra_site_api.proto\x1a\x30tesla_protocol/energy_device/filestore_api.proto\x1a.tesla_protocol/energy_device/graphql_api.proto\"[\n\x0c\x45xternalAuth\x12K\n\x04type\x18\x01 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.ExternalAuthType\"{\n\x0c\x41uthEnvelope\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12R\n\rexternal_auth\x18\x02 \x01(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.ExternalAuthH\x00\x42\x06\n\x04\x61uth\"\xa6\x02\n\x0bParticipant\x12\r\n\x03\x64in\x18\x01 \x01(\tH\x00\x12R\n\rtesla_service\x18\x02 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.TeslaServiceH\x00\x12N\n\x05local\x18\x03 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.LocalParticipantH\x00\x12^\n\x11\x61uthorized_client\x18\x04 \x01(\x0e\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.AuthorizedClientTypeH\x00\x42\x04\n\x02id\"H\n\x13RegistrationPayload\x12\"\n\x1a\x63ustomer_registration_info\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\"\xa2\t\n\x0fMessageEnvelope\x12V\n\x10\x64\x65livery_channel\x18\x01 \x01(\x0e\x32<.tesla_protocol.tesla.proto.energy_device.v1.DeliveryChannel\x12H\n\x06sender\x18\x02 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.Participant\x12K\n\trecipient\x18\x03 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.Participant\x12M\n\x06\x63ommon\x18\x04 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.CommonMessagesH\x00\x12G\n\x03teg\x18\x05 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.TEGMessagesH\x00\x12\x45\n\x02wc\x18\x06 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCMessagesH\x00\x12G\n\x03pvi\x18\x07 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.PVIMessagesH\x00\x12S\n\tlocalauth\x18\x08 \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.LocalAuthMessagesH\x00\x12W\n\x0bneuriometer\x18\t \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.NeurioMeterMessagesH\x00\x12[\n\renergysitenet\x18\n \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.EnergySiteNetMessagesH\x00\x12S\n\tintrasite\x18\x0b \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.IntraSiteMessagesH\x00\x12[\n\rauthorization\x18\x0c \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.AuthorizationMessagesH\x00\x12S\n\tfilestore\x18\x0f \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.FileStoreMessagesH\x00\x12O\n\x07graphql\x18\x10 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.GraphQLMessagesH\x00\x42\t\n\x07payloadJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0f*\x90\x01\n\x0f\x44\x65liveryChannel\x12\x1c\n\x18\x44\x45LIVERY_CHANNEL_INVALID\x10\x00\x12 \n\x1c\x44\x45LIVERY_CHANNEL_LOCAL_HTTPS\x10\x01\x12#\n\x1f\x44\x45LIVERY_CHANNEL_HERMES_COMMAND\x10\x02\x12\x18\n\x14\x44\x45LIVERY_CHANNEL_BLE\x10\x03*D\n\x0cTeslaService\x12\x19\n\x15TESLA_SERVICE_INVALID\x10\x00\x12\x19\n\x15TESLA_SERVICE_COMMAND\x10\x01*r\n\x10LocalParticipant\x12\x1d\n\x19LOCAL_PARTICIPANT_INVALID\x10\x00\x12\x1f\n\x1bLOCAL_PARTICIPANT_INSTALLER\x10\x01\x12\x1e\n\x1aLOCAL_PARTICIPANT_CUSTOMER\x10\x02*\x97\x01\n\x10\x45xternalAuthType\x12\x1e\n\x1a\x45XTERNAL_AUTH_TYPE_INVALID\x10\x00\x12\x1f\n\x1b\x45XTERNAL_AUTH_TYPE_PRESENCE\x10\x01\x12\x1b\n\x17\x45XTERNAL_AUTH_TYPE_MTLS\x10\x02\x12%\n!EXTERNAL_AUTH_TYPE_HERMES_COMMAND\x10\x04\x42}\n$com.tesla.generated.energy_device.v1B\tTransportZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,tesla_protocol/energy_device/transport.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x36tesla_protocol/energy_device/authorization_types.proto\x1a\x34tesla_protocol/energy_device/authorization_api.proto\x1a-tesla_protocol/energy_device/common_api.proto\x1a*tesla_protocol/energy_device/teg_api.proto\x1a\x31tesla_protocol/energy_device/wall_connector.proto\x1a*tesla_protocol/energy_device/pvi_api.proto\x1a\x31tesla_protocol/energy_device/local_auth_api.proto\x1a\x33tesla_protocol/energy_device/neurio_meter_api.proto\x1a\x32tesla_protocol/energy_device/energy_site_net.proto\x1a\x31tesla_protocol/energy_device/intra_site_api.proto\x1a\x30tesla_protocol/energy_device/filestore_api.proto\x1a.tesla_protocol/energy_device/graphql_api.proto\x1a\x33tesla_protocol/energy_device/registration_api.proto\x1a\x33tesla_protocol/energy_device/supercharger_api.proto\"[\n\x0c\x45xternalAuth\x12K\n\x04type\x18\x01 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.ExternalAuthType\"{\n\x0c\x41uthEnvelope\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12R\n\rexternal_auth\x18\x02 \x01(\x0b\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.ExternalAuthH\x00\x42\x06\n\x04\x61uth\"\xfc\x02\n\x0bParticipant\x12\r\n\x03\x64in\x18\x01 \x01(\tH\x00\x12R\n\rtesla_service\x18\x02 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.TeslaServiceH\x00\x12N\n\x05local\x18\x03 \x01(\x0e\x32=.tesla_protocol.tesla.proto.energy_device.v1.LocalParticipantH\x00\x12^\n\x11\x61uthorized_client\x18\x04 \x01(\x0e\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.AuthorizedClientTypeH\x00\x12T\n\x0eproxied_device\x18\x05 \x01(\x0b\x32:.tesla_protocol.tesla.proto.energy_device.v1.ProxiedDeviceH\x00\x42\x04\n\x02id\"6\n\rProxiedDevice\x12\x11\n\tproxy_din\x18\x01 \x01(\t\x12\x12\n\ntarget_din\x18\x02 \x01(\t\"H\n\x13RegistrationPayload\x12\"\n\x1a\x63ustomer_registration_info\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\"\xd8\n\n\x0fMessageEnvelope\x12V\n\x10\x64\x65livery_channel\x18\x01 \x01(\x0e\x32<.tesla_protocol.tesla.proto.energy_device.v1.DeliveryChannel\x12H\n\x06sender\x18\x02 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.Participant\x12K\n\trecipient\x18\x03 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.Participant\x12M\n\x06\x63ommon\x18\x04 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.CommonMessagesH\x00\x12G\n\x03teg\x18\x05 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.TEGMessagesH\x00\x12\x45\n\x02wc\x18\x06 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCMessagesH\x00\x12G\n\x03pvi\x18\x07 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.PVIMessagesH\x00\x12S\n\tlocalauth\x18\x08 \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.LocalAuthMessagesH\x00\x12W\n\x0bneuriometer\x18\t \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.NeurioMeterMessagesH\x00\x12[\n\renergysitenet\x18\n \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.EnergySiteNetMessagesH\x00\x12S\n\tintrasite\x18\x0b \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.IntraSiteMessagesH\x00\x12[\n\rauthorization\x18\x0c \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.AuthorizationMessagesH\x00\x12S\n\tfilestore\x18\x0f \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.FileStoreMessagesH\x00\x12O\n\x07graphql\x18\x10 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.GraphQLMessagesH\x00\x12Y\n\x0csupercharger\x18\x11 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.SuperchargerMessagesH\x00\x12Y\n\x0cregistration\x18\x12 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.RegistrationMessagesH\x00\x42\t\n\x07payloadJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0f*\x90\x01\n\x0f\x44\x65liveryChannel\x12\x1c\n\x18\x44\x45LIVERY_CHANNEL_INVALID\x10\x00\x12 \n\x1c\x44\x45LIVERY_CHANNEL_LOCAL_HTTPS\x10\x01\x12#\n\x1f\x44\x45LIVERY_CHANNEL_HERMES_COMMAND\x10\x02\x12\x18\n\x14\x44\x45LIVERY_CHANNEL_BLE\x10\x03*D\n\x0cTeslaService\x12\x19\n\x15TESLA_SERVICE_INVALID\x10\x00\x12\x19\n\x15TESLA_SERVICE_COMMAND\x10\x01*r\n\x10LocalParticipant\x12\x1d\n\x19LOCAL_PARTICIPANT_INVALID\x10\x00\x12\x1f\n\x1bLOCAL_PARTICIPANT_INSTALLER\x10\x01\x12\x1e\n\x1aLOCAL_PARTICIPANT_CUSTOMER\x10\x02*\x97\x01\n\x10\x45xternalAuthType\x12\x1e\n\x1a\x45XTERNAL_AUTH_TYPE_INVALID\x10\x00\x12\x1f\n\x1b\x45XTERNAL_AUTH_TYPE_PRESENCE\x10\x01\x12\x1b\n\x17\x45XTERNAL_AUTH_TYPE_MTLS\x10\x02\x12%\n!EXTERNAL_AUTH_TYPE_HERMES_COMMAND\x10\x04\x42}\n$com.tesla.generated.energy_device.v1B\tTransportZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -44,22 +46,24 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\tTransportZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' - _globals['_DELIVERYCHANNEL']._serialized_start=2473 - _globals['_DELIVERYCHANNEL']._serialized_end=2617 - _globals['_TESLASERVICE']._serialized_start=2619 - _globals['_TESLASERVICE']._serialized_end=2687 - _globals['_LOCALPARTICIPANT']._serialized_start=2689 - _globals['_LOCALPARTICIPANT']._serialized_end=2803 - _globals['_EXTERNALAUTHTYPE']._serialized_start=2806 - _globals['_EXTERNALAUTHTYPE']._serialized_end=2957 - _globals['_EXTERNALAUTH']._serialized_start=694 - _globals['_EXTERNALAUTH']._serialized_end=785 - _globals['_AUTHENVELOPE']._serialized_start=787 - _globals['_AUTHENVELOPE']._serialized_end=910 - _globals['_PARTICIPANT']._serialized_start=913 - _globals['_PARTICIPANT']._serialized_end=1207 - _globals['_REGISTRATIONPAYLOAD']._serialized_start=1209 - _globals['_REGISTRATIONPAYLOAD']._serialized_end=1281 - _globals['_MESSAGEENVELOPE']._serialized_start=1284 - _globals['_MESSAGEENVELOPE']._serialized_end=2470 + _globals['_DELIVERYCHANNEL']._serialized_start=2903 + _globals['_DELIVERYCHANNEL']._serialized_end=3047 + _globals['_TESLASERVICE']._serialized_start=3049 + _globals['_TESLASERVICE']._serialized_end=3117 + _globals['_LOCALPARTICIPANT']._serialized_start=3119 + _globals['_LOCALPARTICIPANT']._serialized_end=3233 + _globals['_EXTERNALAUTHTYPE']._serialized_start=3236 + _globals['_EXTERNALAUTHTYPE']._serialized_end=3387 + _globals['_EXTERNALAUTH']._serialized_start=800 + _globals['_EXTERNALAUTH']._serialized_end=891 + _globals['_AUTHENVELOPE']._serialized_start=893 + _globals['_AUTHENVELOPE']._serialized_end=1016 + _globals['_PARTICIPANT']._serialized_start=1019 + _globals['_PARTICIPANT']._serialized_end=1399 + _globals['_PROXIEDDEVICE']._serialized_start=1401 + _globals['_PROXIEDDEVICE']._serialized_end=1455 + _globals['_REGISTRATIONPAYLOAD']._serialized_start=1457 + _globals['_REGISTRATIONPAYLOAD']._serialized_end=1529 + _globals['_MESSAGEENVELOPE']._serialized_start=1532 + _globals['_MESSAGEENVELOPE']._serialized_end=2900 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/energy_device/transport_pb2.pyi b/packages/python/tesla_protocol/energy_device/transport_pb2.pyi index bc8be40..e78ea60 100644 --- a/packages/python/tesla_protocol/energy_device/transport_pb2.pyi +++ b/packages/python/tesla_protocol/energy_device/transport_pb2.pyi @@ -10,6 +10,8 @@ from tesla_protocol.energy_device import energy_site_net_pb2 as _energy_site_net from tesla_protocol.energy_device import intra_site_api_pb2 as _intra_site_api_pb2 from tesla_protocol.energy_device import filestore_api_pb2 as _filestore_api_pb2 from tesla_protocol.energy_device import graphql_api_pb2 as _graphql_api_pb2 +from tesla_protocol.energy_device import registration_api_pb2 as _registration_api_pb2 +from tesla_protocol.energy_device import supercharger_api_pb2 as _supercharger_api_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 @@ -71,16 +73,26 @@ class AuthEnvelope(_message.Message): def __init__(self, payload: _Optional[bytes] = ..., external_auth: _Optional[_Union[ExternalAuth, _Mapping]] = ...) -> None: ... class Participant(_message.Message): - __slots__ = ("din", "tesla_service", "local", "authorized_client") + __slots__ = ("din", "tesla_service", "local", "authorized_client", "proxied_device") DIN_FIELD_NUMBER: _ClassVar[int] TESLA_SERVICE_FIELD_NUMBER: _ClassVar[int] LOCAL_FIELD_NUMBER: _ClassVar[int] AUTHORIZED_CLIENT_FIELD_NUMBER: _ClassVar[int] + PROXIED_DEVICE_FIELD_NUMBER: _ClassVar[int] din: str tesla_service: TeslaService local: LocalParticipant authorized_client: _authorization_types_pb2.AuthorizedClientType - def __init__(self, din: _Optional[str] = ..., tesla_service: _Optional[_Union[TeslaService, str]] = ..., local: _Optional[_Union[LocalParticipant, str]] = ..., authorized_client: _Optional[_Union[_authorization_types_pb2.AuthorizedClientType, str]] = ...) -> None: ... + proxied_device: ProxiedDevice + def __init__(self, din: _Optional[str] = ..., tesla_service: _Optional[_Union[TeslaService, str]] = ..., local: _Optional[_Union[LocalParticipant, str]] = ..., authorized_client: _Optional[_Union[_authorization_types_pb2.AuthorizedClientType, str]] = ..., proxied_device: _Optional[_Union[ProxiedDevice, _Mapping]] = ...) -> None: ... + +class ProxiedDevice(_message.Message): + __slots__ = ("proxy_din", "target_din") + PROXY_DIN_FIELD_NUMBER: _ClassVar[int] + TARGET_DIN_FIELD_NUMBER: _ClassVar[int] + proxy_din: str + target_din: str + def __init__(self, proxy_din: _Optional[str] = ..., target_din: _Optional[str] = ...) -> None: ... class RegistrationPayload(_message.Message): __slots__ = ("customer_registration_info", "nonce") @@ -91,7 +103,7 @@ class RegistrationPayload(_message.Message): def __init__(self, customer_registration_info: _Optional[bytes] = ..., nonce: _Optional[bytes] = ...) -> None: ... class MessageEnvelope(_message.Message): - __slots__ = ("delivery_channel", "sender", "recipient", "common", "teg", "wc", "pvi", "localauth", "neuriometer", "energysitenet", "intrasite", "authorization", "filestore", "graphql") + __slots__ = ("delivery_channel", "sender", "recipient", "common", "teg", "wc", "pvi", "localauth", "neuriometer", "energysitenet", "intrasite", "authorization", "filestore", "graphql", "supercharger", "registration") DELIVERY_CHANNEL_FIELD_NUMBER: _ClassVar[int] SENDER_FIELD_NUMBER: _ClassVar[int] RECIPIENT_FIELD_NUMBER: _ClassVar[int] @@ -106,6 +118,8 @@ class MessageEnvelope(_message.Message): AUTHORIZATION_FIELD_NUMBER: _ClassVar[int] FILESTORE_FIELD_NUMBER: _ClassVar[int] GRAPHQL_FIELD_NUMBER: _ClassVar[int] + SUPERCHARGER_FIELD_NUMBER: _ClassVar[int] + REGISTRATION_FIELD_NUMBER: _ClassVar[int] delivery_channel: DeliveryChannel sender: Participant recipient: Participant @@ -120,4 +134,6 @@ class MessageEnvelope(_message.Message): authorization: _authorization_api_pb2.AuthorizationMessages filestore: _filestore_api_pb2.FileStoreMessages graphql: _graphql_api_pb2.GraphQLMessages - def __init__(self, delivery_channel: _Optional[_Union[DeliveryChannel, str]] = ..., sender: _Optional[_Union[Participant, _Mapping]] = ..., recipient: _Optional[_Union[Participant, _Mapping]] = ..., common: _Optional[_Union[_common_api_pb2.CommonMessages, _Mapping]] = ..., teg: _Optional[_Union[_teg_api_pb2.TEGMessages, _Mapping]] = ..., wc: _Optional[_Union[_wall_connector_pb2.WCMessages, _Mapping]] = ..., pvi: _Optional[_Union[_pvi_api_pb2.PVIMessages, _Mapping]] = ..., localauth: _Optional[_Union[_local_auth_api_pb2.LocalAuthMessages, _Mapping]] = ..., neuriometer: _Optional[_Union[_neurio_meter_api_pb2.NeurioMeterMessages, _Mapping]] = ..., energysitenet: _Optional[_Union[_energy_site_net_pb2.EnergySiteNetMessages, _Mapping]] = ..., intrasite: _Optional[_Union[_intra_site_api_pb2.IntraSiteMessages, _Mapping]] = ..., authorization: _Optional[_Union[_authorization_api_pb2.AuthorizationMessages, _Mapping]] = ..., filestore: _Optional[_Union[_filestore_api_pb2.FileStoreMessages, _Mapping]] = ..., graphql: _Optional[_Union[_graphql_api_pb2.GraphQLMessages, _Mapping]] = ...) -> None: ... + supercharger: _supercharger_api_pb2.SuperchargerMessages + registration: _registration_api_pb2.RegistrationMessages + def __init__(self, delivery_channel: _Optional[_Union[DeliveryChannel, str]] = ..., sender: _Optional[_Union[Participant, _Mapping]] = ..., recipient: _Optional[_Union[Participant, _Mapping]] = ..., common: _Optional[_Union[_common_api_pb2.CommonMessages, _Mapping]] = ..., teg: _Optional[_Union[_teg_api_pb2.TEGMessages, _Mapping]] = ..., wc: _Optional[_Union[_wall_connector_pb2.WCMessages, _Mapping]] = ..., pvi: _Optional[_Union[_pvi_api_pb2.PVIMessages, _Mapping]] = ..., localauth: _Optional[_Union[_local_auth_api_pb2.LocalAuthMessages, _Mapping]] = ..., neuriometer: _Optional[_Union[_neurio_meter_api_pb2.NeurioMeterMessages, _Mapping]] = ..., energysitenet: _Optional[_Union[_energy_site_net_pb2.EnergySiteNetMessages, _Mapping]] = ..., intrasite: _Optional[_Union[_intra_site_api_pb2.IntraSiteMessages, _Mapping]] = ..., authorization: _Optional[_Union[_authorization_api_pb2.AuthorizationMessages, _Mapping]] = ..., filestore: _Optional[_Union[_filestore_api_pb2.FileStoreMessages, _Mapping]] = ..., graphql: _Optional[_Union[_graphql_api_pb2.GraphQLMessages, _Mapping]] = ..., supercharger: _Optional[_Union[_supercharger_api_pb2.SuperchargerMessages, _Mapping]] = ..., registration: _Optional[_Union[_registration_api_pb2.RegistrationMessages, _Mapping]] = ...) -> None: ... diff --git a/packages/python/tesla_protocol/energy_device/update_pb2.py b/packages/python/tesla_protocol/energy_device/update_pb2.py index 3d4218f..dbd92f0 100644 --- a/packages/python/tesla_protocol/energy_device/update_pb2.py +++ b/packages/python/tesla_protocol/energy_device/update_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)tesla_protocol/energy_device/update.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\"3\n\x0f\x46irmwareVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07githash\x18\x02 \x01(\x0c\"\xb7\x01\n\x13ServerStagedPackage\x12\x14\n\x0c\x64ownload_url\x18\x01 \x01(\t\x12\x12\n\npackage_id\x18\x02 \x01(\x04\x12\x19\n\x11package_signature\x18\x03 \x01(\x0c\x12[\n\x15server_staged_version\x18\x04 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\"\xa3\x03\n\x0cSystemUpdate\x12\x18\n\x10handshake_result\x18\x01 \x01(\x05\x12\x15\n\rupdate_status\x18\x02 \x01(\x05\x12[\n\x15server_staged_version\x18\x03 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\x12\x13\n\x0btotal_bytes\x18\x04 \x01(\x04\x12\x14\n\x0c\x62ytes_offset\x18\x05 \x01(\x04\x12\"\n\x1a\x65stimated_bytes_per_second\x18\x06 \x01(\x04\x12 \n\x18last_handshake_timestamp\x18\x07 \x01(\x04\x12\x1a\n\x12last_update_result\x18\x08 \x01(\x05\x12`\n\x16server_staged_packages\x18\t \x03(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.ServerStagedPackage\x12\x16\n\x0eis_sideloading\x18\n \x01(\x08\"x\n\x0f\x41\x63\x63\x65ptedPackage\x12\x12\n\npackage_id\x18\x01 \x01(\x04\x12\x19\n\x11package_signature\x18\x02 \x01(\x0c\x12\x17\n\x0fupload_endpoint\x18\x03 \x01(\t\x12\x1d\n\x15will_attempt_download\x18\x04 \x01(\x08\"w\n\x17LocallyAvailablePackage\x12\x12\n\npackage_id\x18\x01 \x01(\x04\x12\x19\n\x11package_signature\x18\x02 \x01(\x0c\x12\x17\n\x0f\x66ile_size_bytes\x18\x03 \x01(\x04\x12\x14\n\x0c\x64ownload_url\x18\x04 \x01(\t*\x98\x01\n\x0cUpdateStatus\x12\x19\n\x15UPDATE_STATUS_INVALID\x10\x00\x12\x16\n\x12UPDATE_STATUS_IDLE\x10\x01\x12\x1d\n\x19UPDATE_STATUS_DOWNLOADING\x10\x02\x12\x1c\n\x18UPDATE_STATUS_DOWNLOADED\x10\x03\x12\x18\n\x14UPDATE_STATUS_STAGED\x10\x04*\xdd\x01\n\x15UpdateHandshakeResult\x12#\n\x1fUPDATE_HANDSHAKE_RESULT_INVALID\x10\x00\x12$\n UPDATE_HANDSHAKE_RESULT_UNDERWAY\x10\x01\x12\"\n\x1eUPDATE_HANDSHAKE_RESULT_FAILED\x10\x02\x12*\n&UPDATE_HANDSHAKE_RESULT_NON_ACTIONABLE\x10\x03\x12)\n%UPDATE_HANDSHAKE_RESULT_UPDATE_STAGED\x10\x04*s\n\x10LastUpdateResult\x12\x1e\n\x1aLAST_UPDATE_RESULT_INVALID\x10\x00\x12\x1d\n\x19LAST_UPDATE_RESULT_FAILED\x10\x01\x12 \n\x1cLAST_UPDATE_RESULT_SUCCEEDED\x10\x02\x42z\n$com.tesla.generated.energy_device.v1B\x06UpdateZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)tesla_protocol/energy_device/update.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\"3\n\x0f\x46irmwareVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07githash\x18\x02 \x01(\x0c\"\xb7\x01\n\x13ServerStagedPackage\x12\x14\n\x0c\x64ownload_url\x18\x01 \x01(\t\x12\x12\n\npackage_id\x18\x02 \x01(\x04\x12\x19\n\x11package_signature\x18\x03 \x01(\x0c\x12[\n\x15server_staged_version\x18\x04 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\"\xa3\x03\n\x0cSystemUpdate\x12\x18\n\x10handshake_result\x18\x01 \x01(\x05\x12\x15\n\rupdate_status\x18\x02 \x01(\x05\x12[\n\x15server_staged_version\x18\x03 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.FirmwareVersion\x12\x13\n\x0btotal_bytes\x18\x04 \x01(\x04\x12\x14\n\x0c\x62ytes_offset\x18\x05 \x01(\x04\x12\"\n\x1a\x65stimated_bytes_per_second\x18\x06 \x01(\x04\x12 \n\x18last_handshake_timestamp\x18\x07 \x01(\x04\x12\x1a\n\x12last_update_result\x18\x08 \x01(\x05\x12`\n\x16server_staged_packages\x18\t \x03(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.ServerStagedPackage\x12\x16\n\x0eis_sideloading\x18\n \x01(\x08\"x\n\x0f\x41\x63\x63\x65ptedPackage\x12\x12\n\npackage_id\x18\x01 \x01(\x04\x12\x19\n\x11package_signature\x18\x02 \x01(\x0c\x12\x17\n\x0fupload_endpoint\x18\x03 \x01(\t\x12\x1d\n\x15will_attempt_download\x18\x04 \x01(\x08\"w\n\x17LocallyAvailablePackage\x12\x12\n\npackage_id\x18\x01 \x01(\x04\x12\x19\n\x11package_signature\x18\x02 \x01(\x0c\x12\x17\n\x0f\x66ile_size_bytes\x18\x03 \x01(\x04\x12\x14\n\x0c\x64ownload_url\x18\x04 \x01(\t*\xd2\x01\n\x0cUpdateStatus\x12\x19\n\x15UPDATE_STATUS_INVALID\x10\x00\x12\x16\n\x12UPDATE_STATUS_IDLE\x10\x01\x12\x1d\n\x19UPDATE_STATUS_DOWNLOADING\x10\x02\x12\x1c\n\x18UPDATE_STATUS_DOWNLOADED\x10\x03\x12\x18\n\x14UPDATE_STATUS_STAGED\x10\x04\x12\x1c\n\x18UPDATE_STATUS_COMMITTING\x10\x05\x12\x1a\n\x16UPDATE_STATUS_CHECKING\x10\x06*\xdd\x01\n\x15UpdateHandshakeResult\x12#\n\x1fUPDATE_HANDSHAKE_RESULT_INVALID\x10\x00\x12$\n UPDATE_HANDSHAKE_RESULT_UNDERWAY\x10\x01\x12\"\n\x1eUPDATE_HANDSHAKE_RESULT_FAILED\x10\x02\x12*\n&UPDATE_HANDSHAKE_RESULT_NON_ACTIONABLE\x10\x03\x12)\n%UPDATE_HANDSHAKE_RESULT_UPDATE_STAGED\x10\x04*s\n\x10LastUpdateResult\x12\x1e\n\x1aLAST_UPDATE_RESULT_INVALID\x10\x00\x12\x1d\n\x19LAST_UPDATE_RESULT_FAILED\x10\x01\x12 \n\x1cLAST_UPDATE_RESULT_SUCCEEDED\x10\x02\x42z\n$com.tesla.generated.energy_device.v1B\x06UpdateZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,11 +33,11 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\006UpdateZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' _globals['_UPDATESTATUS']._serialized_start=995 - _globals['_UPDATESTATUS']._serialized_end=1147 - _globals['_UPDATEHANDSHAKERESULT']._serialized_start=1150 - _globals['_UPDATEHANDSHAKERESULT']._serialized_end=1371 - _globals['_LASTUPDATERESULT']._serialized_start=1373 - _globals['_LASTUPDATERESULT']._serialized_end=1488 + _globals['_UPDATESTATUS']._serialized_end=1205 + _globals['_UPDATEHANDSHAKERESULT']._serialized_start=1208 + _globals['_UPDATEHANDSHAKERESULT']._serialized_end=1429 + _globals['_LASTUPDATERESULT']._serialized_start=1431 + _globals['_LASTUPDATERESULT']._serialized_end=1546 _globals['_FIRMWAREVERSION']._serialized_start=90 _globals['_FIRMWAREVERSION']._serialized_end=141 _globals['_SERVERSTAGEDPACKAGE']._serialized_start=144 diff --git a/packages/python/tesla_protocol/energy_device/update_pb2.pyi b/packages/python/tesla_protocol/energy_device/update_pb2.pyi index 8472db8..5a904f5 100644 --- a/packages/python/tesla_protocol/energy_device/update_pb2.pyi +++ b/packages/python/tesla_protocol/energy_device/update_pb2.pyi @@ -14,6 +14,8 @@ class UpdateStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): UPDATE_STATUS_DOWNLOADING: _ClassVar[UpdateStatus] UPDATE_STATUS_DOWNLOADED: _ClassVar[UpdateStatus] UPDATE_STATUS_STAGED: _ClassVar[UpdateStatus] + UPDATE_STATUS_COMMITTING: _ClassVar[UpdateStatus] + UPDATE_STATUS_CHECKING: _ClassVar[UpdateStatus] class UpdateHandshakeResult(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -33,6 +35,8 @@ UPDATE_STATUS_IDLE: UpdateStatus UPDATE_STATUS_DOWNLOADING: UpdateStatus UPDATE_STATUS_DOWNLOADED: UpdateStatus UPDATE_STATUS_STAGED: UpdateStatus +UPDATE_STATUS_COMMITTING: UpdateStatus +UPDATE_STATUS_CHECKING: UpdateStatus UPDATE_HANDSHAKE_RESULT_INVALID: UpdateHandshakeResult UPDATE_HANDSHAKE_RESULT_UNDERWAY: UpdateHandshakeResult UPDATE_HANDSHAKE_RESULT_FAILED: UpdateHandshakeResult diff --git a/packages/python/tesla_protocol/energy_device/wall_connector_pb2.py b/packages/python/tesla_protocol/energy_device/wall_connector_pb2.py index 1436cae..377f945 100644 --- a/packages/python/tesla_protocol/energy_device/wall_connector_pb2.py +++ b/packages/python/tesla_protocol/energy_device/wall_connector_pb2.py @@ -28,9 +28,10 @@ from tesla_protocol.energy_device import networking_pb2 as tesla__protocol_dot_energy__device_dot_networking__pb2 from tesla_protocol.energy_device import energy_pb2 as tesla__protocol_dot_energy__device_dot_energy__pb2 from tesla_protocol.energy_device import neurio_meter_api_pb2 as tesla__protocol_dot_energy__device_dot_neurio__meter__api__pb2 +from tesla_protocol.energy_device import registration_api_pb2 as tesla__protocol_dot_energy__device_dot_registration__api__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1tesla_protocol/energy_device/wall_connector.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a)tesla_protocol/energy_device/device.proto\x1a-tesla_protocol/energy_device/networking.proto\x1a)tesla_protocol/energy_device/energy.proto\x1a\x33tesla_protocol/energy_device/neurio_meter_api.proto\"b\n\x19WCFaultStatusLatchedAlert\x12\x10\n\x08\x61lert_id\x18\x01 \x01(\r\x12\x33\n\x0f\x61lert_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe3\x0c\n\x08WCVitals\x12\x10\n\x08uptime_s\x18\x01 \x01(\r\x12\x0e\n\x06\x61lerts\x18\x02 \x03(\r\x12\x18\n\x10\x63ontactor_closed\x18\x03 \x01(\x08\x12\x19\n\x11vehicle_connected\x18\x04 \x01(\x08\x12\x13\n\x0bpcba_temp_c\x18\x05 \x01(\x02\x12\x15\n\rhandle_temp_c\x18\x06 \x01(\x02\x12\x12\n\nmcu_temp_c\x18\x07 \x01(\x02\x12\x1a\n\x12input_thermopile_v\x18\x08 \x01(\x02\x12\x0e\n\x06prox_v\x18\t \x01(\x02\x12\x14\n\x0cpilot_high_v\x18\n \x01(\x02\x12\x13\n\x0bpilot_low_v\x18\x0b \x01(\x02\x12\x1a\n\x12session_duration_s\x18\x0c \x01(\r\x12V\n\x0esession_energy\x18\r \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.AccumulatedEnergy\x12[\n\x13\x61\x63_measurement_grid\x18\x0e \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.InstACMeasurement\x12^\n\x16\x61\x63_measurement_vehicle\x18\x0f \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.InstACMeasurement\x12\x1e\n\x16ground_resistance_ohms\x18\x10 \x01(\x02\x12\x18\n\x10line1_earth_vrms\x18\x11 \x01(\x02\x12\x1a\n\x12neutral_earth_vrms\x18\x12 \x01(\x02\x12U\n\x0c\x66\x61ult_status\x18\x13 \x01(\x0e\x32?.tesla_protocol.tesla.proto.energy_device.v1.WCFaultStatusState\x12r\n\"recent_fault_status_latched_alerts\x18\x14 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCFaultStatusLatchedAlert\x12=\n\x03vin\x18\x15 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12>\n\x19instantaneous_power_watts\x18\x16 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12n\n\x19scheduled_charging_status\x18\x17 \x01(\x0e\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleChargingStatus\x12?\n\x1ainstantaneous_line_current\x18\x18 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12N\n\x0bocpp_status\x18\x19 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\x12\x61\n\x16\x65vse_not_ready_reasons\x18\x1a \x03(\x0e\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCEvseNotReadyReason\x12g\n\x18powershare_session_state\x18\x1b \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCPowershareSessionState\x12h\n\x19\x64ry_contact_control_state\x18\x1c \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactControlState\x12\x61\n\x15smart_charging_reason\x18\x1d \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCSmartChargingReason\"\xd9\x02\n\x0fWCLifetimeStats\x12\x10\n\x08uptime_s\x18\x03 \x01(\x04\x12\x13\n\x0b\x61lert_count\x18\x04 \x01(\r\x12\x18\n\x10\x63ontactor_cycles\x18\x05 \x01(\r\x12\x1f\n\x17\x63ontactor_cycles_loaded\x18\x06 \x01(\r\x12\x18\n\x10\x63onnector_cycles\x18\x07 \x01(\r\x12\x19\n\x11thermal_foldbacks\x18\x08 \x01(\r\x12\x1a\n\x12\x61vg_startup_temp_c\x18\t \x01(\x02\x12\x15\n\rcharge_starts\x18\n \x01(\r\x12\x17\n\x0f\x63harging_time_s\x18\x0b \x01(\x04\x12W\n\x0f\x63harging_energy\x18\x0c \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.AccumulatedEnergyJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\";\n\x1dWCLoadSharingFixedLimitConfig\x12\x1a\n\x12network_limit_amps\x18\x01 \x01(\r\"A\n!WCLoadSharingConductorLimitConfig\x12\x1c\n\x14\x63onductor_limit_amps\x18\x01 \x01(\r\"\xe1\x01\n\x15WCLoadSharingSettings\x12_\n\x0b\x66ixed_limit\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFixedLimitConfig\x12g\n\x0f\x63onductor_limit\x18\x02 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConductorLimitConfig\"/\n\x13WCLoadSharingLimits\x12\x18\n\x10max_participants\x18\x01 \x01(\r\"\x95\x01\n\x1aWCLoadSharingNetworkStatus\x12w\n\x1bnetwork_charging_inhibitors\x18\x01 \x03(\x0e\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkChargingInhibitor\"\xc3\x02\n\x13WCLoadSharingConfig\x12\x0f\n\x07version\x18\x01 \x01(\r\x12J\n\x10participant_dins\x18\x02 \x03(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12_\n\x0b\x66ixed_limit\x18\x03 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFixedLimitConfig\x12T\n\x08settings\x18\x04 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\x12\x18\n\x10\x63harging_enabled\x18\x05 \x01(\x08\"u\n\x0bWCPpuConfig\x12\x66\n\x16session_reporting_mode\x18\x01 \x01(\x0e\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCPpuSessionReportingMode\"\x99\x01\n\x1bWCOperationalSettingsConfig\x12X\n\x10operational_mode\x18\x01 \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalMode\x12 \n\x18\x65mit_increased_telemetry\x18\x02 \x01(\x08\"e\n\x10WCMeterInterface\x12Q\n\x06neurio\x18\x01 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.NeurioMeterInterface\"\xcc\x01\n\x12WCDryContactConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\\\n\rdefault_state\x18\x02 \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactDefaultState\x12\x18\n\x10\x64isable_charging\x18\x03 \x01(\x08\x12\x18\n\x10max_current_amps\x18\x04 \x01(\r\x12\x13\n\x0bgermany_14a\x18\x05 \x01(\x08\"d\n\x14WCTimeZoneTransition\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15local_time_utc_offset\x18\x02 \x01(\x05\"h\n\x0eWCTimeZoneInfo\x12V\n\x0btransitions\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZoneTransition\"w\n\nWCTimeZone\x12\x14\n\x0ctime_zone_id\x18\x01 \x01(\t\x12S\n\x0etime_zone_info\x18\x02 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZoneInfo\"j\n\x0bWCMIDConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12J\n\ttime_zone\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZone\"\xfd\x03\n\nWCSettings\x12\x1f\n\x17max_output_current_amps\x18\x01 \x01(\x05\x12R\n\x08gmi_mode\x18\x02 \x01(\x0e\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCGroundMonitorMode\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x12\x66\n\x18third_party_vehicle_mode\x18\x04 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCThirdPartyVehicleMode\x12]\n\x13load_sharing_config\x18\x05 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConfig\x12T\n\x0b\x64ry_contact\x18\x06 \x01(\x0b\x32?.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactConfig\x12L\n\nmid_config\x18\x07 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCMIDConfig\"c\n\x0bWCGenealogy\x12\x0e\n\x06region\x18\x01 \x01(\r\x12\x13\n\x0bhandle_type\x18\x02 \x01(\r\x12\x19\n\x11hardware_features\x18\x03 \x01(\r\x12\x14\n\x0csub_usage_id\x18\x04 \x01(\r\".\n\x0f\x43omplianceCRC32\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63rc32\x18\x02 \x01(\r\"\xf3\x01\n\x1aWCLoadSharingFollowerState\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x16\n\x0e\x63harge_request\x18\x02 \x01(\x08\x12\x19\n\x11load_current_amps\x18\x03 \x01(\x02\x12\x19\n\x11vehicle_connected\x18\x04 \x01(\x08\x12\x13\n\x0b\x61lert_count\x18\x05 \x01(\r\x12\x18\n\x10\x63ontactor_closed\x18\x06 \x01(\x08\x12\x1a\n\x12pilot_current_amps\x18\x08 \x01(\r\x12%\n\x1dindividual_pilot_current_amps\x18\t \x01(\rJ\x04\x08\x07\x10\x08\"P\n\x1aWCLoadSharingLeaderCommand\x12\x16\n\x0e\x63harge_allowed\x18\x01 \x01(\x08\x12\x1a\n\x12pilot_current_amps\x18\x02 \x01(\r\"\xbe\x01\n\x18WCLoadSharingLeaderState\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\"\n\x1anetwork_current_limit_amps\x18\x02 \x01(\r\x12\x1d\n\x15\x66\x61llback_current_amps\x18\x03 \x01(\r\x12\x19\n\x11round_robin_index\x18\x04 \x01(\r\x12\x18\n\x10\x63harging_enabled\x18\x05 \x01(\x08\x12\x19\n\x11\x61\x63tive_unit_count\x18\x06 \x01(\r\"\xa8\x02\n\x18WCLoadSharingDeviceEntry\x12=\n\x03\x64in\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\x12_\n\x0e\x66ollower_state\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\x12\x0b\n\x03mia\x18\x04 \x01(\x08\"\xd1\x03\n\x19WCLoadSharingNetworkState\x12V\n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingDeviceEntry\x12[\n\x0cleader_state\x18\x02 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12T\n\x08settings\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\x12W\n\x06status\x18\x04 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkStatus\x12P\n\x06limits\x18\x05 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLimits\"s\n\x1eWCProvisionalOperationalParams\x12\x1e\n\x16limit_current_max_amps\x18\x01 \x01(\r\x12\x17\n\x0flimit_timeout_s\x18\x02 \x01(\r\x12\x18\n\x10inhibit_charging\x18\x03 \x01(\x08\"\xa2\x02\n\x14WCAccessControlEntry\x12=\n\x03vin\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12\x0c\n\x04name\x18\x02 \x01(\t\x12O\n\x05model\x18\x03 \x01(\x0e\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCTeslaVehicleModel\x12\x12\n\nmodel_year\x18\x04 \x01(\r\x12X\n\ndrive_type\x18\x05 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCTeslaVehicleDriveType\"H\n\x1aWCChargeScheduleTimePeriod\x12\x15\n\rstart_seconds\x18\x01 \x01(\r\x12\x13\n\x0b\x65nd_seconds\x18\x02 \x01(\r\"\x94\x01\n\x1eWCChargeScheduleDayTimePeriods\x12]\n\x0ctime_periods\x18\x01 \x03(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleTimePeriod\x12\x13\n\x0b\x64\x61y_bitmask\x18\x02 \x01(\r\"y\n\x10WCChargeSchedule\x12\x65\n\x10\x64\x61y_time_periods\x18\x01 \x03(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleDayTimePeriods\"2\n\x15WCChargeScheduleDelay\x12\x19\n\x11max_delay_seconds\x18\x01 \x01(\r\"\xd5\x01\n\x16WCChargeScheduleConfig\x12\x17\n\x0f\x65nable_schedule\x18\x01 \x01(\x08\x12O\n\x08schedule\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.WCChargeSchedule\x12Q\n\x05\x64\x65lay\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleDelay\"\xcc\x01\n\x1cWCChargeScheduleConfigStatus\x12S\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12W\n\x05\x65rror\x18\x02 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfigError\"k\n\x0fWCChargeCommand\x12X\n\x10\x63harging_command\x18\x01 \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.WCChargingCommand\"\xdb\x02\n\x0eWCOcppSettings\x12\x16\n\x0e\x63onnection_url\x18\x01 \x01(\t\x12\x16\n\x0e\x63hargepoint_id\x18\x02 \x01(\t\x12K\n\x07version\x18\x03 \x01(\x0e\x32:.tesla_protocol.tesla.proto.energy_device.v1.WCOcppVersion\x12\\\n\x10security_profile\x18\x04 \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityProfile\x12\x0e\n\x06\x65nable\x18\x05 \x01(\x08\x12\x15\n\rprovider_name\x18\x06 \x01(\t\x12G\n\x05scope\x18\x07 \x01(\x0e\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCOcppScope\")\n\x17WCOcppAuthorizationData\x12\x0e\n\x06id_tag\x18\x01 \x01(\t\"r\n\x17WCOcppAuthorizationList\x12W\n\tauth_data\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCOcppAuthorizationData\"~\n\x15WCVehicleToHomeConfig\x12M\n\x13site_controller_din\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12\x16\n\x0emodbus_node_id\x18\x02 \x01(\r\"\x17\n\x15WCAPIGetVitalsRequest\"_\n\x16WCAPIGetVitalsResponse\x12\x45\n\x06vitals\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.tesla.proto.energy_device.v1.WCVitals\"\x1e\n\x1cWCAPIGetLifetimeStatsRequest\"\x81\x01\n\x1dWCAPIGetLifetimeStatsResponse\x12T\n\x0elifetime_stats\x18\x03 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.WCLifetimeStatsJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\x17\n\x15WCAPIGetConfigRequest\"\xac\x05\n\x16WCAPIGetConfigResponse\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12M\n\x06meters\x18\x04 \x03(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.WCMeterInterface\x12\\\n\x0f\x63harge_schedule\x18\x05 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12R\n\rocpp_settings\x18\x06 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\x12[\n\x0fvehicle_to_home\x18\x07 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\x12N\n\x0btime_source\x18\x08 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCTimeSource\"j\n\x1dWCAPIConfigureSettingsRequest\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\"k\n\x1eWCAPIConfigureSettingsResponse\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\"\x1b\n\x19WCAPIGetSystemInfoRequest\"\xc0\x01\n\x1aWCAPIGetSystemInfoResponse\x12K\n\tgenealogy\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCGenealogy\x12U\n\x0f\x63ompliance_crcs\x18\x02 \x03(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.ComplianceCRC32\"(\n&WCAPIGetLoadSharingNetworkStateRequest\"\x88\x01\n\'WCAPIGetLoadSharingNetworkStateResponse\x12]\n\rnetwork_state\x18\x01 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkState\"\x8b\x01\n(WCAPIPushLoadSharingFollowerStateRequest\x12_\n\x0e\x66ollower_state\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\"\xe9\x01\n)WCAPIPushLoadSharingFollowerStateResponse\x12[\n\x0cleader_state\x18\x01 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\"\xe8\x01\n(WCAPIPushLoadSharingLeaderCommandRequest\x12[\n\x0cleader_state\x18\x01 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\"\x8c\x01\n)WCAPIPushLoadSharingLeaderCommandResponse\x12_\n\x0e\x66ollower_state\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\"F\n*WCAPISetLoadSharingNetworkOperationRequest\x12\x18\n\x10\x63harging_enabled\x18\x01 \x01(\x08\"-\n+WCAPISetLoadSharingNetworkOperationResponse\"\x80\x01\n(WCAPIConfigureLoadSharingSettingsRequest\x12T\n\x08settings\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\"\x81\x01\n)WCAPIConfigureLoadSharingSettingsResponse\x12T\n\x08settings\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\"\x82\x01\n!WCAPIPushLoadSharingConfigRequest\x12]\n\x13load_sharing_config\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConfig\"$\n\"WCAPIPushLoadSharingConfigResponse\"p\n WCAPIConfigurePpuSettingsRequest\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"q\n!WCAPIConfigurePpuSettingsResponse\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"\x1c\n\x1aWCAPIGetPpuSettingsRequest\"k\n\x1bWCAPIGetPpuSettingsResponse\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"\x99\x01\n(WCAPIConfigureOperationalSettingsRequest\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"\x9a\x01\n)WCAPIConfigureOperationalSettingsResponse\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"$\n\"WCAPIGetOperationalSettingsRequest\"\x94\x01\n#WCAPIGetOperationalSettingsResponse\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"\x92\x01\n+WCAPISetProvisionalOperationalParamsRequest\x12\x63\n\x0eprov_op_params\x18\x01 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCProvisionalOperationalParams\".\n,WCAPISetProvisionalOperationalParamsResponse\"-\n+WCAPIGetProvisionalOperationalParamsRequest\"\xba\x01\n,WCAPIGetProvisionalOperationalParamsResponse\x12\x63\n\x0eprov_op_params\x18\x01 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCProvisionalOperationalParams\x12%\n\x1d\x63onfigured_current_limit_amps\x18\x02 \x01(\r\"&\n$WCAPIGetAccessControlSettingsRequest\"{\n%WCAPIGetAccessControlSettingsResponse\x12R\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCAccessControlEntry\"\xdc\x01\n*WCAPIConfigureAccessControlSettingsRequest\x12\x61\n\toperation\x18\x01 \x01(\x0e\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCConfigureAccessControlOperation\x12=\n\x03vin\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12\x0c\n\x04name\x18\x03 \x01(\t\"\x81\x01\n+WCAPIConfigureAccessControlSettingsResponse\x12R\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCAccessControlEntry\"\x1f\n\x1dWCAPIGetRecentVehiclesRequest\"9\n\x1eWCAPIGetRecentVehiclesResponse\x12\x17\n\x0frecent_vehicles\x18\x01 \x03(\t\"\x88\x01\n%WCAPIPushPpuAuthorizationStateRequest\x12\x12\n\nauthorized\x18\x01 \x01(\x08\x12K\n\tauth_uuid\x18\x02 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4Bytes\"(\n&WCAPIPushPpuAuthorizationStateResponse\"\xc6\x01\n#WCAPIConfigureChargeScheduleRequest\x12S\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12J\n\ttime_zone\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZone\"y\n$WCAPIConfigureChargeScheduleResponse\x12Q\n\x05\x65rror\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleError\"\x94\x01\n*WCAPIConfigureThirdPartyVehicleModeRequest\x12\x66\n\x18third_party_vehicle_mode\x18\x01 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCThirdPartyVehicleMode\"-\n+WCAPIConfigureThirdPartyVehicleModeResponse\"u\n\x1dWCAPIPushChargeCommandRequest\x12T\n\x0e\x63harge_command\x18\x01 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.WCChargeCommand\" \n\x1eWCAPIPushChargeCommandResponse\"\xd4\x01\n\'WCAPIConfigureHomeSiteControllerRequest\x12=\n\x03\x64in\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12\x16\n\x0emodbus_node_id\x18\x02 \x01(\r\x12R\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\"~\n(WCAPIConfigureHomeSiteControllerResponse\x12R\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\"r\n!WCAPIConfigureOcppSettingsRequest\x12M\n\x08settings\x18\x01 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\"\xbe\x01\n\"WCAPIConfigureOcppSettingsResponse\x12M\n\x08settings\x18\x01 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\x12I\n\x06status\x18\x02 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\"\xad\x01\n$WCAPISetOcppSecurityParameterRequest\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\x12\x1a\n\x12security_parameter\x18\x02 \x01(\x0c\"r\n%WCAPISetOcppSecurityParameterResponse\x12I\n\x06status\x18\x01 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\"\x91\x01\n$WCAPIGetOcppSecurityParameterRequest\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\"\xae\x01\n%WCAPIGetOcppSecurityParameterResponse\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\x12\x1a\n\x12security_parameter\x18\x02 \x01(\x0c\"\"\n WCAPIGetOcppLocalAuthListRequest\"|\n!WCAPIGetOcppLocalAuthListResponse\x12W\n\tauth_list\x18\x01 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCOcppAuthorizationList\";\n(WCAPIConfigureCountryCodeSettingsRequest\x12\x0f\n\x07\x63ountry\x18\x01 \x01(\t\"+\n)WCAPIConfigureCountryCodeSettingsResponse\"\x91\x01\n\x19WCTargetChargePowerParams\x12\x1d\n\x15target_charge_power_w\x18\x01 \x01(\x02\x12\x37\n\x12max_charge_power_w\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x1c\n\x14max_charge_current_a\x18\x03 \x01(\r\"\xb4\x01\n\x16WCSmartChargingCommand\x12\x13\n\x0bttl_seconds\x18\x01 \x01(\r\x12\x19\n\x11\x63harge_disallowed\x18\x02 \x01(\x08\x12j\n\x1atarget_charge_power_params\x18\x03 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCTargetChargePowerParams\"|\n$WCAPIPushSmartChargingCommandRequest\x12T\n\x07\x63ommand\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCSmartChargingCommand\"\'\n%WCAPIPushSmartChargingCommandResponse\" \n\x1eWCAPIRegisterCommercialRequest\"2\n\x1fWCAPIRegisterCommercialResponse\x12\x0f\n\x07\x66\x61ilure\x18\x01 \x01(\x05\"\x8a\x01\n!WCAPIPushPowershareCommandRequest\x12\x1c\n\x14site_vehicle_request\x18\x01 \x01(\x0c\x12\x19\n\x11site_evse_request\x18\x02 \x01(\x0c\x12\x17\n\x0finverter_config\x18\x03 \x01(\x0c\x12\x13\n\x0bttl_seconds\x18\x04 \x01(\r\"_\n\"WCAPIPushPowershareCommandResponse\x12\x1d\n\x15site_vehicle_response\x18\x01 \x01(\x0c\x12\x1a\n\x12site_evse_response\x18\x02 \x01(\x0c\"\xa5\x42\n\nWCMessages\x12`\n\x12get_vitals_request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetVitalsRequestH\x00\x12\x62\n\x13get_vitals_response\x18\x02 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetVitalsResponseH\x00\x12o\n\x1aget_lifetime_stats_request\x18\x03 \x01(\x0b\x32I.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLifetimeStatsRequestH\x00\x12q\n\x1bget_lifetime_stats_response\x18\x04 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLifetimeStatsResponseH\x00\x12`\n\x12get_config_request\x18\x05 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetConfigRequestH\x00\x12\x62\n\x13get_config_response\x18\x06 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetConfigResponseH\x00\x12p\n\x1a\x63onfigure_settings_request\x18\x07 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureSettingsRequestH\x00\x12r\n\x1b\x63onfigure_settings_response\x18\x08 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureSettingsResponseH\x00\x12i\n\x17get_system_info_request\x18\t \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetSystemInfoRequestH\x00\x12k\n\x18get_system_info_response\x18\n \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetSystemInfoResponseH\x00\x12\x85\x01\n&get_load_sharing_network_state_request\x18\x0b \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLoadSharingNetworkStateRequestH\x00\x12\x87\x01\n\'get_load_sharing_network_state_response\x18\x0c \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLoadSharingNetworkStateResponseH\x00\x12\x89\x01\n(push_load_sharing_follower_state_request\x18\r \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingFollowerStateRequestH\x00\x12\x8b\x01\n)push_load_sharing_follower_state_response\x18\x0e \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingFollowerStateResponseH\x00\x12\x89\x01\n(push_load_sharing_leader_command_request\x18\x0f \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingLeaderCommandRequestH\x00\x12\x8b\x01\n)push_load_sharing_leader_command_response\x18\x10 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingLeaderCommandResponseH\x00\x12\x8d\x01\n*set_load_sharing_network_operation_request\x18\x11 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetLoadSharingNetworkOperationRequestH\x00\x12\x8f\x01\n+set_load_sharing_network_operation_response\x18\x12 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetLoadSharingNetworkOperationResponseH\x00\x12\x88\x01\n\'configure_load_sharing_settings_request\x18\x13 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureLoadSharingSettingsRequestH\x00\x12\x8a\x01\n(configure_load_sharing_settings_response\x18\x14 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureLoadSharingSettingsResponseH\x00\x12w\n\x1e\x63onfigure_ppu_settings_request\x18\x15 \x01(\x0b\x32M.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigurePpuSettingsRequestH\x00\x12y\n\x1f\x63onfigure_ppu_settings_response\x18\x16 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigurePpuSettingsResponseH\x00\x12k\n\x18get_ppu_settings_request\x18\x17 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetPpuSettingsRequestH\x00\x12m\n\x19get_ppu_settings_response\x18\x18 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetPpuSettingsResponseH\x00\x12\x8e\x01\n*set_provisional_operational_params_request\x18\x19 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetProvisionalOperationalParamsRequestH\x00\x12\x90\x01\n+set_provisional_operational_params_response\x18\x1a \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetProvisionalOperationalParamsResponseH\x00\x12\x8e\x01\n*get_provisional_operational_params_request\x18\x1b \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetProvisionalOperationalParamsRequestH\x00\x12\x90\x01\n+get_provisional_operational_params_response\x18\x1c \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetProvisionalOperationalParamsResponseH\x00\x12\x80\x01\n#get_access_control_settings_request\x18\x1d \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetAccessControlSettingsRequestH\x00\x12\x82\x01\n$get_access_control_settings_response\x18\x1e \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetAccessControlSettingsResponseH\x00\x12\x8c\x01\n)configure_access_control_settings_request\x18\x1f \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureAccessControlSettingsRequestH\x00\x12\x8e\x01\n*configure_access_control_settings_response\x18 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureAccessControlSettingsResponseH\x00\x12q\n\x1bget_recent_vehicles_request\x18! \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetRecentVehiclesRequestH\x00\x12s\n\x1cget_recent_vehicles_response\x18\" \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetRecentVehiclesResponseH\x00\x12\x82\x01\n$push_ppu_authorization_state_request\x18# \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPpuAuthorizationStateRequestH\x00\x12\x84\x01\n%push_ppu_authorization_state_response\x18$ \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPpuAuthorizationStateResponseH\x00\x12}\n!configure_charge_schedule_request\x18% \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureChargeScheduleRequestH\x00\x12\x7f\n\"configure_charge_schedule_response\x18& \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureChargeScheduleResponseH\x00\x12q\n\x1bpush_charge_command_request\x18\' \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushChargeCommandRequestH\x00\x12s\n\x1cpush_charge_command_response\x18( \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushChargeCommandResponseH\x00\x12\x8d\x01\n*configure_third_party_vehicle_mode_request\x18) \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureThirdPartyVehicleModeRequestH\x00\x12\x8f\x01\n+configure_third_party_vehicle_mode_response\x18* \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureThirdPartyVehicleModeResponseH\x00\x12\x86\x01\n&configure_home_site_controller_request\x18+ \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureHomeSiteControllerRequestH\x00\x12\x88\x01\n\'configure_home_site_controller_response\x18, \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureHomeSiteControllerResponseH\x00\x12y\n\x1f\x63onfigure_ocpp_settings_request\x18- \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOcppSettingsRequestH\x00\x12{\n configure_ocpp_settings_response\x18. \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOcppSettingsResponseH\x00\x12\x80\x01\n#set_ocpp_security_parameter_request\x18/ \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetOcppSecurityParameterRequestH\x00\x12\x82\x01\n$set_ocpp_security_parameter_response\x18\x30 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetOcppSecurityParameterResponseH\x00\x12\x80\x01\n#get_ocpp_security_parameter_request\x18\x31 \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppSecurityParameterRequestH\x00\x12\x82\x01\n$get_ocpp_security_parameter_response\x18\x32 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppSecurityParameterResponseH\x00\x12\x87\x01\n&configure_operational_settings_request\x18\x33 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOperationalSettingsRequestH\x00\x12\x89\x01\n\'configure_operational_settings_response\x18\x34 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOperationalSettingsResponseH\x00\x12{\n get_operational_settings_request\x18\x35 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOperationalSettingsRequestH\x00\x12}\n!get_operational_settings_response\x18\x36 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOperationalSettingsResponseH\x00\x12\x88\x01\n\'configure_country_code_settings_request\x18\x37 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureCountryCodeSettingsRequestH\x00\x12\x8a\x01\n(configure_country_code_settings_response\x18\x38 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureCountryCodeSettingsResponseH\x00\x12z\n push_load_sharing_config_request\x18\x39 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingConfigRequestH\x00\x12|\n!push_load_sharing_config_response\x18: \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingConfigResponseH\x00\x12\x80\x01\n#push_smart_charging_command_request\x18; \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushSmartChargingCommandRequestH\x00\x12\x82\x01\n$push_smart_charging_command_response\x18< \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushSmartChargingCommandResponseH\x00\x12r\n\x1bregister_commercial_request\x18= \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIRegisterCommercialRequestH\x00\x12t\n\x1cregister_commercial_response\x18> \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.WCAPIRegisterCommercialResponseH\x00\x12y\n get_ocpp_local_auth_list_request\x18? \x01(\x0b\x32M.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppLocalAuthListRequestH\x00\x12{\n!get_ocpp_local_auth_list_response\x18@ \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppLocalAuthListResponseH\x00\x12y\n\x1fpush_powershare_command_request\x18\x41 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPowershareCommandRequestH\x00\x12{\n push_powershare_command_response\x18\x42 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPowershareCommandResponseH\x00\x42\t\n\x07message*\xb5\x03\n\x1eWCChargeScheduleChargingStatus\x12.\n*WC_CHARGE_SCHEDULE_CHARGING_STATUS_INVALID\x10\x00\x12<\n8WC_CHARGE_SCHEDULE_CHARGING_STATUS_UNCONFIGURED_DISABLED\x10\x01\x12\x35\n1WC_CHARGE_SCHEDULE_CHARGING_STATUS_CHARGE_BLOCKED\x10\x02\x12=\n9WC_CHARGE_SCHEDULE_CHARGING_STATUS_DELAYED_CHARGE_BLOCKED\x10\x03\x12\x35\n1WC_CHARGE_SCHEDULE_CHARGING_STATUS_CHARGE_ALLOWED\x10\x04\x12=\n9WC_CHARGE_SCHEDULE_CHARGING_STATUS_DELAYED_CHARGE_ALLOWED\x10\x05\x12\x39\n5WC_CHARGE_SCHEDULE_CHARGING_STATUS_VEHICLE_OVERRIDDEN\x10\x06*\xc3\x02\n\x1bWCChargeScheduleConfigError\x12+\n\'WC_CHARGE_SCHEDULE_CONFIG_ERROR_INVALID\x10\x00\x12(\n$WC_CHARGE_SCHEDULE_CONFIG_ERROR_NONE\x10\x01\x12\x30\n,WC_CHARGE_SCHEDULE_CONFIG_ERROR_NO_SITE_WIFI\x10\x02\x12/\n+WC_CHARGE_SCHEDULE_CONFIG_ERROR_NO_INTERNET\x10\x03\x12\x36\n2WC_CHARGE_SCHEDULE_CONFIG_ERROR_INVALID_PARAMETERS\x10\x04\x12\x32\n.WC_CHARGE_SCHEDULE_CONFIG_ERROR_INTERNAL_ERROR\x10\x05*\xb6\x02\n\x13WCChargeScheduleDay\x12\"\n\x1eWC_CHARGE_SCHEDULE_DAY_INVALID\x10\x00\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_SUNDAY\x10\x01\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_MONDAY\x10\x02\x12\"\n\x1eWC_CHARGE_SCHEDULE_DAY_TUESDAY\x10\x04\x12$\n WC_CHARGE_SCHEDULE_DAY_WEDNESDAY\x10\x08\x12#\n\x1fWC_CHARGE_SCHEDULE_DAY_THURSDAY\x10\x10\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_FRIDAY\x10 \x12#\n\x1fWC_CHARGE_SCHEDULE_DAY_SATURDAY\x10@*\xf1\x01\n\x15WCChargeScheduleError\x12$\n WC_CHARGE_SCHEDULE_ERROR_INVALID\x10\x00\x12!\n\x1dWC_CHARGE_SCHEDULE_ERROR_NONE\x10\x01\x12(\n$WC_CHARGE_SCHEDULE_ERROR_NO_INTERNET\x10\x02\x12>\n:WC_CHARGE_SCHEDULE_ERROR_NON_VOLATILE_DATA_READ_WRITE_FAIL\x10\x03\x12%\n!WC_CHARGE_SCHEDULE_ERROR_INTERNAL\x10\x04*\x9e\x02\n!WCConfigureAccessControlOperation\x12\x31\n-WC_CONFIGURE_ACCESS_CONTROL_OPERATION_INVALID\x10\x00\x12-\n)WC_CONFIGURE_ACCESS_CONTROL_OPERATION_ADD\x10\x01\x12\x30\n,WC_CONFIGURE_ACCESS_CONTROL_OPERATION_REMOVE\x10\x02\x12\x33\n/WC_CONFIGURE_ACCESS_CONTROL_OPERATION_CLEAR_ALL\x10\x03\x12\x30\n,WC_CONFIGURE_ACCESS_CONTROL_OPERATION_RENAME\x10\x04*\x99\x03\n\x12WCFaultStatusState\x12!\n\x1dWC_FAULT_STATUS_STATE_INVALID\x10\x00\x12!\n\x1dWC_FAULT_STATUS_STATE_STARTUP\x10\x01\x12\x1f\n\x1bWC_FAULT_STATUS_STATE_READY\x10\x02\x12(\n$WC_FAULT_STATUS_STATE_CRITICAL_FAULT\x10\x03\x12,\n(WC_FAULT_STATUS_STATE_NON_CRITICAL_FAULT\x10\x04\x12\'\n#WC_FAULT_STATUS_STATE_RETRY_PENDING\x10\x05\x12!\n\x1dWC_FAULT_STATUS_STATE_LOCKOUT\x10\x06\x12\"\n\x1eWC_FAULT_STATUS_STATE_FOLDBACK\x10\x07\x12\"\n\x1eWC_FAULT_STATUS_STATE_CHARGING\x10\x08\x12\x30\n,WC_FAULT_STATUS_STATE_CONFIGURATION_REQUIRED\x10\t*\xac\x01\n\x13WCGroundMonitorMode\x12\"\n\x1eWC_GROUND_MONITOR_MODE_INVALID\x10\x00\x12#\n\x1fWC_GROUND_MONITOR_MODE_DISABLED\x10\x01\x12(\n$WC_GROUND_MONITOR_MODE_INFORMATIONAL\x10\x02\x12\"\n\x1eWC_GROUND_MONITOR_MODE_ENABLED\x10\x03*\xa5\x02\n%WCLoadSharingNetworkChargingInhibitor\x12\x36\n2WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INVALID\x10\x00\x12\x43\n?WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INSUFFICIENT_CURRENT\x10\x01\x12\x43\n?WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INSUFFICIENT_DEVICES\x10\x02\x12:\n6WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_DEVICES_MIA\x10\x03*\x9a\x01\n\x19WCPpuSessionReportingMode\x12)\n%WC_PPU_SESSION_REPORTING_MODE_INVALID\x10\x00\x12&\n\"WC_PPU_SESSION_REPORTING_MODE_NONE\x10\x01\x12*\n&WC_PPU_SESSION_REPORTING_MODE_ALL_INFO\x10\x02*\xa0\x02\n\x17WCTeslaVehicleDriveType\x12\'\n#WC_TESLA_VEHICLE_DRIVE_TYPE_INVALID\x10\x00\x12\x35\n1WC_TESLA_VEHICLE_DRIVE_TYPE_SINGLE_MOTOR_STANDARD\x10\x01\x12\x38\n4WC_TESLA_VEHICLE_DRIVE_TYPE_SINGLE_MOTOR_PERFORMANCE\x10\x02\x12\x33\n/WC_TESLA_VEHICLE_DRIVE_TYPE_DUAL_MOTOR_STANDARD\x10\x03\x12\x36\n2WC_TESLA_VEHICLE_DRIVE_TYPE_DUAL_MOTOR_PERFORMANCE\x10\x04*\xb1\x01\n\x13WCTeslaVehicleModel\x12\"\n\x1eWC_TESLA_VEHICLE_MODEL_INVALID\x10\x00\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_S\x10\x01\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_X\x10\x02\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_3\x10\x03\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_Y\x10\x04*\xfb\x01\n\x17WCThirdPartyVehicleMode\x12\'\n#WC_THIRD_PARTY_VEHICLE_MODE_INVALID\x10\x00\x12\'\n#WC_THIRD_PARTY_VEHICLE_MODE_ENABLED\x10\x01\x12(\n$WC_THIRD_PARTY_VEHICLE_MODE_DISABLED\x10\x02\x12\x34\n0WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER\x10\x03\x12.\n*WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST\x10\x04*\x91\x05\n\x14WCEvseNotReadyReason\x12$\n WC_EVSE_NOT_READY_REASON_INVALID\x10\x00\x12-\n)WC_EVSE_NOT_READY_REASON_COLD_LOAD_PICKUP\x10\x01\x12*\n&WC_EVSE_NOT_READY_REASON_HANDLE_BUTTON\x10\x02\x12)\n%WC_EVSE_NOT_READY_REASON_SESSION_AUTH\x10\x03\x12,\n(WC_EVSE_NOT_READY_REASON_FAULT_NO_CHARGE\x10\x04\x12*\n&WC_EVSE_NOT_READY_REASON_FAULT_STARTUP\x10\x05\x12*\n&WC_EVSE_NOT_READY_REASON_GMI_NO_CHARGE\x10\x06\x12+\n\'WC_EVSE_NOT_READY_REASON_PILOT_NOT_CONN\x10\x07\x12,\n(WC_EVSE_NOT_READY_REASON_CONFIG_NOT_RECV\x10\x08\x12\x31\n-WC_EVSE_NOT_READY_REASON_LOAD_SHARE_NO_CHARGE\x10\t\x12+\n\'WC_EVSE_NOT_READY_REASON_OCPP_NO_CHARGE\x10\n\x12\x30\n,WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST\x10\x0b\x12(\n$WC_EVSE_NOT_READY_REASON_PAY_PER_USE\x10\x0c\x12\x30\n,WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE\x10\r*\xb5\x02\n\x0cWCOcppStatus\x12\x1a\n\x16WC_OCPP_STATUS_INVALID\x10\x00\x12\x1f\n\x1bWC_OCPP_STATUS_UNCONFIGURED\x10\x01\x12+\n\'WC_OCPP_STATUS_INCOMPLETE_CONFIGURATION\x10\x02\x12&\n\"WC_OCPP_STATUS_CONFIGURED_DISABLED\x10\x03\x12%\n!WC_OCPP_STATUS_CONFIGURED_ENABLED\x10\x04\x12/\n+WC_OCPP_STATUS_CONFIGURED_ENABLED_CONNECTED\x10\x05\x12;\n7WC_OCPP_STATUS_CONFIGURED_ENABLED_INVALID_CONFIGURATION\x10\x06*\x98\x01\n\x18WCDryContactControlState\x12(\n$WC_DRY_CONTACT_CONTROL_STATE_INVALID\x10\x00\x12)\n%WC_DRY_CONTACT_CONTROL_STATE_INACTIVE\x10\x01\x12\'\n#WC_DRY_CONTACT_CONTROL_STATE_ACTIVE\x10\x02*\xa6\x01\n\x18WCDryContactDefaultState\x12(\n$WC_DRY_CONTACT_DEFAULT_STATE_INVALID\x10\x00\x12.\n*WC_DRY_CONTACT_DEFAULT_STATE_NORMALLY_OPEN\x10\x01\x12\x30\n,WC_DRY_CONTACT_DEFAULT_STATE_NORMALLY_CLOSED\x10\x02*\x93\x01\n\x0cWCTimeSource\x12\x1a\n\x16WC_TIME_SOURCE_INVALID\x10\x00\x12\x18\n\x14WC_TIME_SOURCE_BUILD\x10\x01\x12\x18\n\x14WC_TIME_SOURCE_SAVED\x10\x02\x12\x18\n\x14WC_TIME_SOURCE_STALE\x10\x03\x12\x19\n\x15WC_TIME_SOURCE_SYNCED\x10\x04*\xbc\x02\n\x11WCOperationalMode\x12\x1f\n\x1bWC_OPERATIONAL_MODE_INVALID\x10\x00\x12.\n*WC_OPERATIONAL_MODE_COMMERCIAL_PAY_PER_USE\x10\x01\x12\x32\n.WC_OPERATIONAL_MODE_COMMERCIAL_NOT_PAY_PER_USE\x10\x02\x12&\n\"WC_OPERATIONAL_MODE_NOT_COMMERCIAL\x10\x03\x12\x42\n>WC_OPERATIONAL_MODE_COMMERCIAL_PAY_PER_USE_WITH_ACCESS_CONTROL\x10\x04\x12\x36\n2WC_OPERATIONAL_MODE_COMMERCIAL_WITH_ACCESS_CONTROL\x10\x05*\x92\x02\n\x1bWCOcppSecurityParameterType\x12+\n\'WC_OCPP_SECURITY_PARAMETER_TYPE_INVALID\x10\x00\x12/\n+WC_OCPP_SECURITY_PARAMETER_TYPE_CP_AUTH_KEY\x10\x01\x12.\n*WC_OCPP_SECURITY_PARAMETER_TYPE_CS_CA_CERT\x10\x02\x12+\n\'WC_OCPP_SECURITY_PARAMETER_TYPE_CP_CERT\x10\x03\x12\x38\n4WC_OCPP_SECURITY_PARAMETER_TYPE_ALTERNATE_CS_CA_CERT\x10\x04*`\n\rWCOcppVersion\x12\x1b\n\x17WC_OCPP_VERSION_INVALID\x10\x00\x12\x17\n\x13WC_OCPP_VERSION_1_6\x10\x01\x12\x19\n\x15WC_OCPP_VERSION_2_0_1\x10\x02*\xcc\x01\n\x15WCOcppSecurityProfile\x12$\n WC_OCPP_SECURITY_PROFILE_INVALID\x10\x00\x12\x31\n-WC_OCPP_SECURITY_PROFILE_UNSECURED_BASIC_AUTH\x10\x01\x12+\n\'WC_OCPP_SECURITY_PROFILE_TLS_BASIC_AUTH\x10\x02\x12-\n)WC_OCPP_SECURITY_PROFILE_TLS_CLIENT_CERTS\x10\x03*a\n\x0bWCOcppScope\x12\x19\n\x15WC_OCPP_SCOPE_INVALID\x10\x00\x12\x1f\n\x1bWC_OCPP_SCOPE_REIMBURSEMENT\x10\x01\x12\x16\n\x12WC_OCPP_SCOPE_FULL\x10\x02*\xac\x04\n\x15WCSmartChargingReason\x12$\n WC_SMART_CHARGING_REASON_INVALID\x10\x00\x12\x31\n-WC_SMART_CHARGING_REASON_DISABLED_BY_SCHEDULE\x10\x01\x12\x30\n,WC_SMART_CHARGING_REASON_ENABLED_BY_SCHEDULE\x10\x02\x12/\n+WC_SMART_CHARGING_REASON_EXPLICITLY_STOPPED\x10\x03\x12/\n+WC_SMART_CHARGING_REASON_EXPLICITLY_STARTED\x10\x04\x12\x33\n/WC_SMART_CHARGING_REASON_SMART_CHARGING_ALLOWED\x10\x05\x12\x36\n2WC_SMART_CHARGING_REASON_SMART_CHARGING_DISALLOWED\x10\x06\x12\x38\n4WC_SMART_CHARGING_REASON_SMART_CHARGING_TARGET_POWER\x10\x07\x12\x37\n3WC_SMART_CHARGING_REASON_SMART_CHARGING_LOW_VOLTAGE\x10\x08\x12\x46\nBWC_SMART_CHARGING_REASON_SMART_CHARGING_TARGET_POWER_BELOW_MINIMUM\x10\t*\x96\x01\n\x18WCPowershareSessionState\x12\'\n#WC_POWERSHARE_SESSION_STATE_INVALID\x10\x00\x12$\n WC_POWERSHARE_SESSION_STATE_NONE\x10\x01\x12+\n\'WC_POWERSHARE_SESSION_STATE_IN_PROGRESS\x10\x02*q\n\x11WCChargingCommand\x12\x1f\n\x1bWC_CHARGING_COMMAND_INVALID\x10\x00\x12\x1d\n\x19WC_CHARGING_COMMAND_START\x10\x01\x12\x1c\n\x18WC_CHARGING_COMMAND_STOP\x10\x02\x42\x81\x01\n$com.tesla.generated.energy_device.v1B\rWallConnectorZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1tesla_protocol/energy_device/wall_connector.proto\x12+tesla_protocol.tesla.proto.energy_device.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a)tesla_protocol/energy_device/device.proto\x1a-tesla_protocol/energy_device/networking.proto\x1a)tesla_protocol/energy_device/energy.proto\x1a\x33tesla_protocol/energy_device/neurio_meter_api.proto\x1a\x33tesla_protocol/energy_device/registration_api.proto\"b\n\x19WCFaultStatusLatchedAlert\x12\x10\n\x08\x61lert_id\x18\x01 \x01(\r\x12\x33\n\x0f\x61lert_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe3\x0c\n\x08WCVitals\x12\x10\n\x08uptime_s\x18\x01 \x01(\r\x12\x0e\n\x06\x61lerts\x18\x02 \x03(\r\x12\x18\n\x10\x63ontactor_closed\x18\x03 \x01(\x08\x12\x19\n\x11vehicle_connected\x18\x04 \x01(\x08\x12\x13\n\x0bpcba_temp_c\x18\x05 \x01(\x02\x12\x15\n\rhandle_temp_c\x18\x06 \x01(\x02\x12\x12\n\nmcu_temp_c\x18\x07 \x01(\x02\x12\x1a\n\x12input_thermopile_v\x18\x08 \x01(\x02\x12\x0e\n\x06prox_v\x18\t \x01(\x02\x12\x14\n\x0cpilot_high_v\x18\n \x01(\x02\x12\x13\n\x0bpilot_low_v\x18\x0b \x01(\x02\x12\x1a\n\x12session_duration_s\x18\x0c \x01(\r\x12V\n\x0esession_energy\x18\r \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.AccumulatedEnergy\x12[\n\x13\x61\x63_measurement_grid\x18\x0e \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.InstACMeasurement\x12^\n\x16\x61\x63_measurement_vehicle\x18\x0f \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.InstACMeasurement\x12\x1e\n\x16ground_resistance_ohms\x18\x10 \x01(\x02\x12\x18\n\x10line1_earth_vrms\x18\x11 \x01(\x02\x12\x1a\n\x12neutral_earth_vrms\x18\x12 \x01(\x02\x12U\n\x0c\x66\x61ult_status\x18\x13 \x01(\x0e\x32?.tesla_protocol.tesla.proto.energy_device.v1.WCFaultStatusState\x12r\n\"recent_fault_status_latched_alerts\x18\x14 \x03(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCFaultStatusLatchedAlert\x12=\n\x03vin\x18\x15 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12>\n\x19instantaneous_power_watts\x18\x16 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12n\n\x19scheduled_charging_status\x18\x17 \x01(\x0e\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleChargingStatus\x12?\n\x1ainstantaneous_line_current\x18\x18 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12N\n\x0bocpp_status\x18\x19 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\x12\x61\n\x16\x65vse_not_ready_reasons\x18\x1a \x03(\x0e\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCEvseNotReadyReason\x12g\n\x18powershare_session_state\x18\x1b \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCPowershareSessionState\x12h\n\x19\x64ry_contact_control_state\x18\x1c \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactControlState\x12\x61\n\x15smart_charging_reason\x18\x1d \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCSmartChargingReason\"\xd9\x02\n\x0fWCLifetimeStats\x12\x10\n\x08uptime_s\x18\x03 \x01(\x04\x12\x13\n\x0b\x61lert_count\x18\x04 \x01(\r\x12\x18\n\x10\x63ontactor_cycles\x18\x05 \x01(\r\x12\x1f\n\x17\x63ontactor_cycles_loaded\x18\x06 \x01(\r\x12\x18\n\x10\x63onnector_cycles\x18\x07 \x01(\r\x12\x19\n\x11thermal_foldbacks\x18\x08 \x01(\r\x12\x1a\n\x12\x61vg_startup_temp_c\x18\t \x01(\x02\x12\x15\n\rcharge_starts\x18\n \x01(\r\x12\x17\n\x0f\x63harging_time_s\x18\x0b \x01(\x04\x12W\n\x0f\x63harging_energy\x18\x0c \x01(\x0b\x32>.tesla_protocol.tesla.proto.energy_device.v1.AccumulatedEnergyJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\";\n\x1dWCLoadSharingFixedLimitConfig\x12\x1a\n\x12network_limit_amps\x18\x01 \x01(\r\"A\n!WCLoadSharingConductorLimitConfig\x12\x1c\n\x14\x63onductor_limit_amps\x18\x01 \x01(\r\"\xe1\x01\n\x15WCLoadSharingSettings\x12_\n\x0b\x66ixed_limit\x18\x01 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFixedLimitConfig\x12g\n\x0f\x63onductor_limit\x18\x02 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConductorLimitConfig\"/\n\x13WCLoadSharingLimits\x12\x18\n\x10max_participants\x18\x01 \x01(\r\"\x95\x01\n\x1aWCLoadSharingNetworkStatus\x12w\n\x1bnetwork_charging_inhibitors\x18\x01 \x03(\x0e\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkChargingInhibitor\"\xc3\x02\n\x13WCLoadSharingConfig\x12\x0f\n\x07version\x18\x01 \x01(\r\x12J\n\x10participant_dins\x18\x02 \x03(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12_\n\x0b\x66ixed_limit\x18\x03 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFixedLimitConfig\x12T\n\x08settings\x18\x04 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\x12\x18\n\x10\x63harging_enabled\x18\x05 \x01(\x08\"u\n\x0bWCPpuConfig\x12\x66\n\x16session_reporting_mode\x18\x01 \x01(\x0e\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCPpuSessionReportingMode\"\x99\x01\n\x1bWCOperationalSettingsConfig\x12X\n\x10operational_mode\x18\x01 \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalMode\x12 \n\x18\x65mit_increased_telemetry\x18\x02 \x01(\x08\"e\n\x10WCMeterInterface\x12Q\n\x06neurio\x18\x01 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.NeurioMeterInterface\"\xcc\x01\n\x12WCDryContactConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\\\n\rdefault_state\x18\x02 \x01(\x0e\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactDefaultState\x12\x18\n\x10\x64isable_charging\x18\x03 \x01(\x08\x12\x18\n\x10max_current_amps\x18\x04 \x01(\r\x12\x13\n\x0bgermany_14a\x18\x05 \x01(\x08\"d\n\x14WCTimeZoneTransition\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1d\n\x15local_time_utc_offset\x18\x02 \x01(\x05\"h\n\x0eWCTimeZoneInfo\x12V\n\x0btransitions\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZoneTransition\"w\n\nWCTimeZone\x12\x14\n\x0ctime_zone_id\x18\x01 \x01(\t\x12S\n\x0etime_zone_info\x18\x02 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZoneInfo\"j\n\x0bWCMIDConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12J\n\ttime_zone\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZone\"\xfd\x03\n\nWCSettings\x12\x1f\n\x17max_output_current_amps\x18\x01 \x01(\x05\x12R\n\x08gmi_mode\x18\x02 \x01(\x0e\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCGroundMonitorMode\x12\x0f\n\x07\x63ountry\x18\x03 \x01(\t\x12\x66\n\x18third_party_vehicle_mode\x18\x04 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCThirdPartyVehicleMode\x12]\n\x13load_sharing_config\x18\x05 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConfig\x12T\n\x0b\x64ry_contact\x18\x06 \x01(\x0b\x32?.tesla_protocol.tesla.proto.energy_device.v1.WCDryContactConfig\x12L\n\nmid_config\x18\x07 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCMIDConfig\"c\n\x0bWCGenealogy\x12\x0e\n\x06region\x18\x01 \x01(\r\x12\x13\n\x0bhandle_type\x18\x02 \x01(\r\x12\x19\n\x11hardware_features\x18\x03 \x01(\r\x12\x14\n\x0csub_usage_id\x18\x04 \x01(\r\".\n\x0f\x43omplianceCRC32\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63rc32\x18\x02 \x01(\r\"\xf3\x01\n\x1aWCLoadSharingFollowerState\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x16\n\x0e\x63harge_request\x18\x02 \x01(\x08\x12\x19\n\x11load_current_amps\x18\x03 \x01(\x02\x12\x19\n\x11vehicle_connected\x18\x04 \x01(\x08\x12\x13\n\x0b\x61lert_count\x18\x05 \x01(\r\x12\x18\n\x10\x63ontactor_closed\x18\x06 \x01(\x08\x12\x1a\n\x12pilot_current_amps\x18\x08 \x01(\r\x12%\n\x1dindividual_pilot_current_amps\x18\t \x01(\rJ\x04\x08\x07\x10\x08\"P\n\x1aWCLoadSharingLeaderCommand\x12\x16\n\x0e\x63harge_allowed\x18\x01 \x01(\x08\x12\x1a\n\x12pilot_current_amps\x18\x02 \x01(\r\"\xbe\x01\n\x18WCLoadSharingLeaderState\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\"\n\x1anetwork_current_limit_amps\x18\x02 \x01(\r\x12\x1d\n\x15\x66\x61llback_current_amps\x18\x03 \x01(\r\x12\x19\n\x11round_robin_index\x18\x04 \x01(\r\x12\x18\n\x10\x63harging_enabled\x18\x05 \x01(\x08\x12\x19\n\x11\x61\x63tive_unit_count\x18\x06 \x01(\r\"\xa8\x02\n\x18WCLoadSharingDeviceEntry\x12=\n\x03\x64in\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\x12_\n\x0e\x66ollower_state\x18\x03 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\x12\x0b\n\x03mia\x18\x04 \x01(\x08\"\xd1\x03\n\x19WCLoadSharingNetworkState\x12V\n\x07\x64\x65vices\x18\x01 \x03(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingDeviceEntry\x12[\n\x0cleader_state\x18\x02 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12T\n\x08settings\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\x12W\n\x06status\x18\x04 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkStatus\x12P\n\x06limits\x18\x05 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLimits\"s\n\x1eWCProvisionalOperationalParams\x12\x1e\n\x16limit_current_max_amps\x18\x01 \x01(\r\x12\x17\n\x0flimit_timeout_s\x18\x02 \x01(\r\x12\x18\n\x10inhibit_charging\x18\x03 \x01(\x08\"\xa2\x02\n\x14WCAccessControlEntry\x12=\n\x03vin\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12\x0c\n\x04name\x18\x02 \x01(\t\x12O\n\x05model\x18\x03 \x01(\x0e\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCTeslaVehicleModel\x12\x12\n\nmodel_year\x18\x04 \x01(\r\x12X\n\ndrive_type\x18\x05 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCTeslaVehicleDriveType\"H\n\x1aWCChargeScheduleTimePeriod\x12\x15\n\rstart_seconds\x18\x01 \x01(\r\x12\x13\n\x0b\x65nd_seconds\x18\x02 \x01(\r\"\x94\x01\n\x1eWCChargeScheduleDayTimePeriods\x12]\n\x0ctime_periods\x18\x01 \x03(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleTimePeriod\x12\x13\n\x0b\x64\x61y_bitmask\x18\x02 \x01(\r\"y\n\x10WCChargeSchedule\x12\x65\n\x10\x64\x61y_time_periods\x18\x01 \x03(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleDayTimePeriods\"2\n\x15WCChargeScheduleDelay\x12\x19\n\x11max_delay_seconds\x18\x01 \x01(\r\"\xd5\x01\n\x16WCChargeScheduleConfig\x12\x17\n\x0f\x65nable_schedule\x18\x01 \x01(\x08\x12O\n\x08schedule\x18\x02 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.WCChargeSchedule\x12Q\n\x05\x64\x65lay\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleDelay\"\xcc\x01\n\x1cWCChargeScheduleConfigStatus\x12S\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12W\n\x05\x65rror\x18\x02 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfigError\"k\n\x0fWCChargeCommand\x12X\n\x10\x63harging_command\x18\x01 \x01(\x0e\x32>.tesla_protocol.tesla.proto.energy_device.v1.WCChargingCommand\"\xdb\x02\n\x0eWCOcppSettings\x12\x16\n\x0e\x63onnection_url\x18\x01 \x01(\t\x12\x16\n\x0e\x63hargepoint_id\x18\x02 \x01(\t\x12K\n\x07version\x18\x03 \x01(\x0e\x32:.tesla_protocol.tesla.proto.energy_device.v1.WCOcppVersion\x12\\\n\x10security_profile\x18\x04 \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityProfile\x12\x0e\n\x06\x65nable\x18\x05 \x01(\x08\x12\x15\n\rprovider_name\x18\x06 \x01(\t\x12G\n\x05scope\x18\x07 \x01(\x0e\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCOcppScope\")\n\x17WCOcppAuthorizationData\x12\x0e\n\x06id_tag\x18\x01 \x01(\t\"r\n\x17WCOcppAuthorizationList\x12W\n\tauth_data\x18\x01 \x03(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCOcppAuthorizationData\"~\n\x15WCVehicleToHomeConfig\x12M\n\x13site_controller_din\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12\x16\n\x0emodbus_node_id\x18\x02 \x01(\r\"\x17\n\x15WCAPIGetVitalsRequest\"_\n\x16WCAPIGetVitalsResponse\x12\x45\n\x06vitals\x18\x01 \x01(\x0b\x32\x35.tesla_protocol.tesla.proto.energy_device.v1.WCVitals\"\x1e\n\x1cWCAPIGetLifetimeStatsRequest\"\x81\x01\n\x1dWCAPIGetLifetimeStatsResponse\x12T\n\x0elifetime_stats\x18\x03 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.WCLifetimeStatsJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\x17\n\x15WCAPIGetConfigRequest\"\xac\x05\n\x16WCAPIGetConfigResponse\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\x12L\n\x0bwifi_config\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WifiConfig\x12K\n\x04wifi\x18\x03 \x01(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.NetworkInterface\x12M\n\x06meters\x18\x04 \x03(\x0b\x32=.tesla_protocol.tesla.proto.energy_device.v1.WCMeterInterface\x12\\\n\x0f\x63harge_schedule\x18\x05 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12R\n\rocpp_settings\x18\x06 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\x12[\n\x0fvehicle_to_home\x18\x07 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\x12N\n\x0btime_source\x18\x08 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCTimeSource\"j\n\x1dWCAPIConfigureSettingsRequest\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\"k\n\x1eWCAPIConfigureSettingsResponse\x12I\n\x08settings\x18\x01 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCSettings\"\x1b\n\x19WCAPIGetSystemInfoRequest\"\xc0\x01\n\x1aWCAPIGetSystemInfoResponse\x12K\n\tgenealogy\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCGenealogy\x12U\n\x0f\x63ompliance_crcs\x18\x02 \x03(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.ComplianceCRC32\"(\n&WCAPIGetLoadSharingNetworkStateRequest\"\x88\x01\n\'WCAPIGetLoadSharingNetworkStateResponse\x12]\n\rnetwork_state\x18\x01 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingNetworkState\"\x8b\x01\n(WCAPIPushLoadSharingFollowerStateRequest\x12_\n\x0e\x66ollower_state\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\"\xe9\x01\n)WCAPIPushLoadSharingFollowerStateResponse\x12[\n\x0cleader_state\x18\x01 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\"\xe8\x01\n(WCAPIPushLoadSharingLeaderCommandRequest\x12[\n\x0cleader_state\x18\x01 \x01(\x0b\x32\x45.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderState\x12_\n\x0eleader_command\x18\x02 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingLeaderCommand\"\x8c\x01\n)WCAPIPushLoadSharingLeaderCommandResponse\x12_\n\x0e\x66ollower_state\x18\x01 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingFollowerState\"F\n*WCAPISetLoadSharingNetworkOperationRequest\x12\x18\n\x10\x63harging_enabled\x18\x01 \x01(\x08\"-\n+WCAPISetLoadSharingNetworkOperationResponse\"\x80\x01\n(WCAPIConfigureLoadSharingSettingsRequest\x12T\n\x08settings\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\"\x81\x01\n)WCAPIConfigureLoadSharingSettingsResponse\x12T\n\x08settings\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingSettings\"\x82\x01\n!WCAPIPushLoadSharingConfigRequest\x12]\n\x13load_sharing_config\x18\x01 \x01(\x0b\x32@.tesla_protocol.tesla.proto.energy_device.v1.WCLoadSharingConfig\"$\n\"WCAPIPushLoadSharingConfigResponse\"p\n WCAPIConfigurePpuSettingsRequest\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"q\n!WCAPIConfigurePpuSettingsResponse\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"\x1c\n\x1aWCAPIGetPpuSettingsRequest\"k\n\x1bWCAPIGetPpuSettingsResponse\x12L\n\nppu_config\x18\x01 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.WCPpuConfig\"\x99\x01\n(WCAPIConfigureOperationalSettingsRequest\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"\x9a\x01\n)WCAPIConfigureOperationalSettingsResponse\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"$\n\"WCAPIGetOperationalSettingsRequest\"\x94\x01\n#WCAPIGetOperationalSettingsResponse\x12m\n\x1boperational_settings_config\x18\x01 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOperationalSettingsConfig\"\x92\x01\n+WCAPISetProvisionalOperationalParamsRequest\x12\x63\n\x0eprov_op_params\x18\x01 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCProvisionalOperationalParams\".\n,WCAPISetProvisionalOperationalParamsResponse\"-\n+WCAPIGetProvisionalOperationalParamsRequest\"\xba\x01\n,WCAPIGetProvisionalOperationalParamsResponse\x12\x63\n\x0eprov_op_params\x18\x01 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCProvisionalOperationalParams\x12%\n\x1d\x63onfigured_current_limit_amps\x18\x02 \x01(\r\"&\n$WCAPIGetAccessControlSettingsRequest\"{\n%WCAPIGetAccessControlSettingsResponse\x12R\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCAccessControlEntry\"\xdc\x01\n*WCAPIConfigureAccessControlSettingsRequest\x12\x61\n\toperation\x18\x01 \x01(\x0e\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCConfigureAccessControlOperation\x12=\n\x03vin\x18\x02 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.VIN\x12\x0c\n\x04name\x18\x03 \x01(\t\"\x81\x01\n+WCAPIConfigureAccessControlSettingsResponse\x12R\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.WCAccessControlEntry\"\x1f\n\x1dWCAPIGetRecentVehiclesRequest\"9\n\x1eWCAPIGetRecentVehiclesResponse\x12\x17\n\x0frecent_vehicles\x18\x01 \x03(\t\"\x88\x01\n%WCAPIPushPpuAuthorizationStateRequest\x12\x12\n\nauthorized\x18\x01 \x01(\x08\x12K\n\tauth_uuid\x18\x02 \x01(\x0b\x32\x38.tesla_protocol.tesla.proto.energy_device.v1.UUIDv4Bytes\"(\n&WCAPIPushPpuAuthorizationStateResponse\"\xc6\x01\n#WCAPIConfigureChargeScheduleRequest\x12S\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleConfig\x12J\n\ttime_zone\x18\x02 \x01(\x0b\x32\x37.tesla_protocol.tesla.proto.energy_device.v1.WCTimeZone\"y\n$WCAPIConfigureChargeScheduleResponse\x12Q\n\x05\x65rror\x18\x01 \x01(\x0e\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCChargeScheduleError\"\x94\x01\n*WCAPIConfigureThirdPartyVehicleModeRequest\x12\x66\n\x18third_party_vehicle_mode\x18\x01 \x01(\x0e\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCThirdPartyVehicleMode\"-\n+WCAPIConfigureThirdPartyVehicleModeResponse\"u\n\x1dWCAPIPushChargeCommandRequest\x12T\n\x0e\x63harge_command\x18\x01 \x01(\x0b\x32<.tesla_protocol.tesla.proto.energy_device.v1.WCChargeCommand\" \n\x1eWCAPIPushChargeCommandResponse\"\xd4\x01\n\'WCAPIConfigureHomeSiteControllerRequest\x12=\n\x03\x64in\x18\x01 \x01(\x0b\x32\x30.tesla_protocol.tesla.proto.energy_device.v1.Din\x12\x16\n\x0emodbus_node_id\x18\x02 \x01(\r\x12R\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\"~\n(WCAPIConfigureHomeSiteControllerResponse\x12R\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCVehicleToHomeConfig\"r\n!WCAPIConfigureOcppSettingsRequest\x12M\n\x08settings\x18\x01 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\"\xbe\x01\n\"WCAPIConfigureOcppSettingsResponse\x12M\n\x08settings\x18\x01 \x01(\x0b\x32;.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSettings\x12I\n\x06status\x18\x02 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\"\xad\x01\n$WCAPISetOcppSecurityParameterRequest\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\x12\x1a\n\x12security_parameter\x18\x02 \x01(\x0c\"r\n%WCAPISetOcppSecurityParameterResponse\x12I\n\x06status\x18\x01 \x01(\x0e\x32\x39.tesla_protocol.tesla.proto.energy_device.v1.WCOcppStatus\"\x91\x01\n$WCAPIGetOcppSecurityParameterRequest\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\"\xae\x01\n%WCAPIGetOcppSecurityParameterResponse\x12i\n\x17security_parameter_type\x18\x01 \x01(\x0e\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCOcppSecurityParameterType\x12\x1a\n\x12security_parameter\x18\x02 \x01(\x0c\"\"\n WCAPIGetOcppLocalAuthListRequest\"|\n!WCAPIGetOcppLocalAuthListResponse\x12W\n\tauth_list\x18\x01 \x01(\x0b\x32\x44.tesla_protocol.tesla.proto.energy_device.v1.WCOcppAuthorizationList\";\n(WCAPIConfigureCountryCodeSettingsRequest\x12\x0f\n\x07\x63ountry\x18\x01 \x01(\t\"+\n)WCAPIConfigureCountryCodeSettingsResponse\"\x91\x01\n\x19WCTargetChargePowerParams\x12\x1d\n\x15target_charge_power_w\x18\x01 \x01(\x02\x12\x37\n\x12max_charge_power_w\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x1c\n\x14max_charge_current_a\x18\x03 \x01(\r\"\xb4\x01\n\x16WCSmartChargingCommand\x12\x13\n\x0bttl_seconds\x18\x01 \x01(\r\x12\x19\n\x11\x63harge_disallowed\x18\x02 \x01(\x08\x12j\n\x1atarget_charge_power_params\x18\x03 \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCTargetChargePowerParams\"|\n$WCAPIPushSmartChargingCommandRequest\x12T\n\x07\x63ommand\x18\x01 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCSmartChargingCommand\"\'\n%WCAPIPushSmartChargingCommandResponse\"\x7f\n\x1eWCAPIRegisterCommercialRequest\x12]\n\x07request\x18\x01 \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.WCCommercialRegistrationRequest\"\x87\x01\n\x1fWCAPIRegisterCommercialResponse\x12\x0f\n\x07\x66\x61ilure\x18\x01 \x01(\x05\x12S\n\x08response\x18\x02 \x01(\x0b\x32\x41.tesla_protocol.tesla.proto.energy_device.v1.RegistrationResponse\"\x8a\x01\n!WCAPIPushPowershareCommandRequest\x12\x1c\n\x14site_vehicle_request\x18\x01 \x01(\x0c\x12\x19\n\x11site_evse_request\x18\x02 \x01(\x0c\x12\x17\n\x0finverter_config\x18\x03 \x01(\x0c\x12\x13\n\x0bttl_seconds\x18\x04 \x01(\r\"_\n\"WCAPIPushPowershareCommandResponse\x12\x1d\n\x15site_vehicle_response\x18\x01 \x01(\x0c\x12\x1a\n\x12site_evse_response\x18\x02 \x01(\x0c\"\xa5\x42\n\nWCMessages\x12`\n\x12get_vitals_request\x18\x01 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetVitalsRequestH\x00\x12\x62\n\x13get_vitals_response\x18\x02 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetVitalsResponseH\x00\x12o\n\x1aget_lifetime_stats_request\x18\x03 \x01(\x0b\x32I.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLifetimeStatsRequestH\x00\x12q\n\x1bget_lifetime_stats_response\x18\x04 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLifetimeStatsResponseH\x00\x12`\n\x12get_config_request\x18\x05 \x01(\x0b\x32\x42.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetConfigRequestH\x00\x12\x62\n\x13get_config_response\x18\x06 \x01(\x0b\x32\x43.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetConfigResponseH\x00\x12p\n\x1a\x63onfigure_settings_request\x18\x07 \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureSettingsRequestH\x00\x12r\n\x1b\x63onfigure_settings_response\x18\x08 \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureSettingsResponseH\x00\x12i\n\x17get_system_info_request\x18\t \x01(\x0b\x32\x46.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetSystemInfoRequestH\x00\x12k\n\x18get_system_info_response\x18\n \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetSystemInfoResponseH\x00\x12\x85\x01\n&get_load_sharing_network_state_request\x18\x0b \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLoadSharingNetworkStateRequestH\x00\x12\x87\x01\n\'get_load_sharing_network_state_response\x18\x0c \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetLoadSharingNetworkStateResponseH\x00\x12\x89\x01\n(push_load_sharing_follower_state_request\x18\r \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingFollowerStateRequestH\x00\x12\x8b\x01\n)push_load_sharing_follower_state_response\x18\x0e \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingFollowerStateResponseH\x00\x12\x89\x01\n(push_load_sharing_leader_command_request\x18\x0f \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingLeaderCommandRequestH\x00\x12\x8b\x01\n)push_load_sharing_leader_command_response\x18\x10 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingLeaderCommandResponseH\x00\x12\x8d\x01\n*set_load_sharing_network_operation_request\x18\x11 \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetLoadSharingNetworkOperationRequestH\x00\x12\x8f\x01\n+set_load_sharing_network_operation_response\x18\x12 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetLoadSharingNetworkOperationResponseH\x00\x12\x88\x01\n\'configure_load_sharing_settings_request\x18\x13 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureLoadSharingSettingsRequestH\x00\x12\x8a\x01\n(configure_load_sharing_settings_response\x18\x14 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureLoadSharingSettingsResponseH\x00\x12w\n\x1e\x63onfigure_ppu_settings_request\x18\x15 \x01(\x0b\x32M.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigurePpuSettingsRequestH\x00\x12y\n\x1f\x63onfigure_ppu_settings_response\x18\x16 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigurePpuSettingsResponseH\x00\x12k\n\x18get_ppu_settings_request\x18\x17 \x01(\x0b\x32G.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetPpuSettingsRequestH\x00\x12m\n\x19get_ppu_settings_response\x18\x18 \x01(\x0b\x32H.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetPpuSettingsResponseH\x00\x12\x8e\x01\n*set_provisional_operational_params_request\x18\x19 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetProvisionalOperationalParamsRequestH\x00\x12\x90\x01\n+set_provisional_operational_params_response\x18\x1a \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetProvisionalOperationalParamsResponseH\x00\x12\x8e\x01\n*get_provisional_operational_params_request\x18\x1b \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetProvisionalOperationalParamsRequestH\x00\x12\x90\x01\n+get_provisional_operational_params_response\x18\x1c \x01(\x0b\x32Y.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetProvisionalOperationalParamsResponseH\x00\x12\x80\x01\n#get_access_control_settings_request\x18\x1d \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetAccessControlSettingsRequestH\x00\x12\x82\x01\n$get_access_control_settings_response\x18\x1e \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetAccessControlSettingsResponseH\x00\x12\x8c\x01\n)configure_access_control_settings_request\x18\x1f \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureAccessControlSettingsRequestH\x00\x12\x8e\x01\n*configure_access_control_settings_response\x18 \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureAccessControlSettingsResponseH\x00\x12q\n\x1bget_recent_vehicles_request\x18! \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetRecentVehiclesRequestH\x00\x12s\n\x1cget_recent_vehicles_response\x18\" \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetRecentVehiclesResponseH\x00\x12\x82\x01\n$push_ppu_authorization_state_request\x18# \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPpuAuthorizationStateRequestH\x00\x12\x84\x01\n%push_ppu_authorization_state_response\x18$ \x01(\x0b\x32S.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPpuAuthorizationStateResponseH\x00\x12}\n!configure_charge_schedule_request\x18% \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureChargeScheduleRequestH\x00\x12\x7f\n\"configure_charge_schedule_response\x18& \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureChargeScheduleResponseH\x00\x12q\n\x1bpush_charge_command_request\x18\' \x01(\x0b\x32J.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushChargeCommandRequestH\x00\x12s\n\x1cpush_charge_command_response\x18( \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushChargeCommandResponseH\x00\x12\x8d\x01\n*configure_third_party_vehicle_mode_request\x18) \x01(\x0b\x32W.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureThirdPartyVehicleModeRequestH\x00\x12\x8f\x01\n+configure_third_party_vehicle_mode_response\x18* \x01(\x0b\x32X.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureThirdPartyVehicleModeResponseH\x00\x12\x86\x01\n&configure_home_site_controller_request\x18+ \x01(\x0b\x32T.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureHomeSiteControllerRequestH\x00\x12\x88\x01\n\'configure_home_site_controller_response\x18, \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureHomeSiteControllerResponseH\x00\x12y\n\x1f\x63onfigure_ocpp_settings_request\x18- \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOcppSettingsRequestH\x00\x12{\n configure_ocpp_settings_response\x18. \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOcppSettingsResponseH\x00\x12\x80\x01\n#set_ocpp_security_parameter_request\x18/ \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetOcppSecurityParameterRequestH\x00\x12\x82\x01\n$set_ocpp_security_parameter_response\x18\x30 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPISetOcppSecurityParameterResponseH\x00\x12\x80\x01\n#get_ocpp_security_parameter_request\x18\x31 \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppSecurityParameterRequestH\x00\x12\x82\x01\n$get_ocpp_security_parameter_response\x18\x32 \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppSecurityParameterResponseH\x00\x12\x87\x01\n&configure_operational_settings_request\x18\x33 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOperationalSettingsRequestH\x00\x12\x89\x01\n\'configure_operational_settings_response\x18\x34 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureOperationalSettingsResponseH\x00\x12{\n get_operational_settings_request\x18\x35 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOperationalSettingsRequestH\x00\x12}\n!get_operational_settings_response\x18\x36 \x01(\x0b\x32P.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOperationalSettingsResponseH\x00\x12\x88\x01\n\'configure_country_code_settings_request\x18\x37 \x01(\x0b\x32U.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureCountryCodeSettingsRequestH\x00\x12\x8a\x01\n(configure_country_code_settings_response\x18\x38 \x01(\x0b\x32V.tesla_protocol.tesla.proto.energy_device.v1.WCAPIConfigureCountryCodeSettingsResponseH\x00\x12z\n push_load_sharing_config_request\x18\x39 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingConfigRequestH\x00\x12|\n!push_load_sharing_config_response\x18: \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushLoadSharingConfigResponseH\x00\x12\x80\x01\n#push_smart_charging_command_request\x18; \x01(\x0b\x32Q.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushSmartChargingCommandRequestH\x00\x12\x82\x01\n$push_smart_charging_command_response\x18< \x01(\x0b\x32R.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushSmartChargingCommandResponseH\x00\x12r\n\x1bregister_commercial_request\x18= \x01(\x0b\x32K.tesla_protocol.tesla.proto.energy_device.v1.WCAPIRegisterCommercialRequestH\x00\x12t\n\x1cregister_commercial_response\x18> \x01(\x0b\x32L.tesla_protocol.tesla.proto.energy_device.v1.WCAPIRegisterCommercialResponseH\x00\x12y\n get_ocpp_local_auth_list_request\x18? \x01(\x0b\x32M.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppLocalAuthListRequestH\x00\x12{\n!get_ocpp_local_auth_list_response\x18@ \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIGetOcppLocalAuthListResponseH\x00\x12y\n\x1fpush_powershare_command_request\x18\x41 \x01(\x0b\x32N.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPowershareCommandRequestH\x00\x12{\n push_powershare_command_response\x18\x42 \x01(\x0b\x32O.tesla_protocol.tesla.proto.energy_device.v1.WCAPIPushPowershareCommandResponseH\x00\x42\t\n\x07message*\xb5\x03\n\x1eWCChargeScheduleChargingStatus\x12.\n*WC_CHARGE_SCHEDULE_CHARGING_STATUS_INVALID\x10\x00\x12<\n8WC_CHARGE_SCHEDULE_CHARGING_STATUS_UNCONFIGURED_DISABLED\x10\x01\x12\x35\n1WC_CHARGE_SCHEDULE_CHARGING_STATUS_CHARGE_BLOCKED\x10\x02\x12=\n9WC_CHARGE_SCHEDULE_CHARGING_STATUS_DELAYED_CHARGE_BLOCKED\x10\x03\x12\x35\n1WC_CHARGE_SCHEDULE_CHARGING_STATUS_CHARGE_ALLOWED\x10\x04\x12=\n9WC_CHARGE_SCHEDULE_CHARGING_STATUS_DELAYED_CHARGE_ALLOWED\x10\x05\x12\x39\n5WC_CHARGE_SCHEDULE_CHARGING_STATUS_VEHICLE_OVERRIDDEN\x10\x06*\xc3\x02\n\x1bWCChargeScheduleConfigError\x12+\n\'WC_CHARGE_SCHEDULE_CONFIG_ERROR_INVALID\x10\x00\x12(\n$WC_CHARGE_SCHEDULE_CONFIG_ERROR_NONE\x10\x01\x12\x30\n,WC_CHARGE_SCHEDULE_CONFIG_ERROR_NO_SITE_WIFI\x10\x02\x12/\n+WC_CHARGE_SCHEDULE_CONFIG_ERROR_NO_INTERNET\x10\x03\x12\x36\n2WC_CHARGE_SCHEDULE_CONFIG_ERROR_INVALID_PARAMETERS\x10\x04\x12\x32\n.WC_CHARGE_SCHEDULE_CONFIG_ERROR_INTERNAL_ERROR\x10\x05*\xb6\x02\n\x13WCChargeScheduleDay\x12\"\n\x1eWC_CHARGE_SCHEDULE_DAY_INVALID\x10\x00\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_SUNDAY\x10\x01\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_MONDAY\x10\x02\x12\"\n\x1eWC_CHARGE_SCHEDULE_DAY_TUESDAY\x10\x04\x12$\n WC_CHARGE_SCHEDULE_DAY_WEDNESDAY\x10\x08\x12#\n\x1fWC_CHARGE_SCHEDULE_DAY_THURSDAY\x10\x10\x12!\n\x1dWC_CHARGE_SCHEDULE_DAY_FRIDAY\x10 \x12#\n\x1fWC_CHARGE_SCHEDULE_DAY_SATURDAY\x10@*\xf1\x01\n\x15WCChargeScheduleError\x12$\n WC_CHARGE_SCHEDULE_ERROR_INVALID\x10\x00\x12!\n\x1dWC_CHARGE_SCHEDULE_ERROR_NONE\x10\x01\x12(\n$WC_CHARGE_SCHEDULE_ERROR_NO_INTERNET\x10\x02\x12>\n:WC_CHARGE_SCHEDULE_ERROR_NON_VOLATILE_DATA_READ_WRITE_FAIL\x10\x03\x12%\n!WC_CHARGE_SCHEDULE_ERROR_INTERNAL\x10\x04*\x9e\x02\n!WCConfigureAccessControlOperation\x12\x31\n-WC_CONFIGURE_ACCESS_CONTROL_OPERATION_INVALID\x10\x00\x12-\n)WC_CONFIGURE_ACCESS_CONTROL_OPERATION_ADD\x10\x01\x12\x30\n,WC_CONFIGURE_ACCESS_CONTROL_OPERATION_REMOVE\x10\x02\x12\x33\n/WC_CONFIGURE_ACCESS_CONTROL_OPERATION_CLEAR_ALL\x10\x03\x12\x30\n,WC_CONFIGURE_ACCESS_CONTROL_OPERATION_RENAME\x10\x04*\x99\x03\n\x12WCFaultStatusState\x12!\n\x1dWC_FAULT_STATUS_STATE_INVALID\x10\x00\x12!\n\x1dWC_FAULT_STATUS_STATE_STARTUP\x10\x01\x12\x1f\n\x1bWC_FAULT_STATUS_STATE_READY\x10\x02\x12(\n$WC_FAULT_STATUS_STATE_CRITICAL_FAULT\x10\x03\x12,\n(WC_FAULT_STATUS_STATE_NON_CRITICAL_FAULT\x10\x04\x12\'\n#WC_FAULT_STATUS_STATE_RETRY_PENDING\x10\x05\x12!\n\x1dWC_FAULT_STATUS_STATE_LOCKOUT\x10\x06\x12\"\n\x1eWC_FAULT_STATUS_STATE_FOLDBACK\x10\x07\x12\"\n\x1eWC_FAULT_STATUS_STATE_CHARGING\x10\x08\x12\x30\n,WC_FAULT_STATUS_STATE_CONFIGURATION_REQUIRED\x10\t*\xac\x01\n\x13WCGroundMonitorMode\x12\"\n\x1eWC_GROUND_MONITOR_MODE_INVALID\x10\x00\x12#\n\x1fWC_GROUND_MONITOR_MODE_DISABLED\x10\x01\x12(\n$WC_GROUND_MONITOR_MODE_INFORMATIONAL\x10\x02\x12\"\n\x1eWC_GROUND_MONITOR_MODE_ENABLED\x10\x03*\xa5\x02\n%WCLoadSharingNetworkChargingInhibitor\x12\x36\n2WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INVALID\x10\x00\x12\x43\n?WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INSUFFICIENT_CURRENT\x10\x01\x12\x43\n?WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_INSUFFICIENT_DEVICES\x10\x02\x12:\n6WC_LOAD_SHARING_NETWORK_CHARGING_INHIBITOR_DEVICES_MIA\x10\x03*\x9a\x01\n\x19WCPpuSessionReportingMode\x12)\n%WC_PPU_SESSION_REPORTING_MODE_INVALID\x10\x00\x12&\n\"WC_PPU_SESSION_REPORTING_MODE_NONE\x10\x01\x12*\n&WC_PPU_SESSION_REPORTING_MODE_ALL_INFO\x10\x02*\xa0\x02\n\x17WCTeslaVehicleDriveType\x12\'\n#WC_TESLA_VEHICLE_DRIVE_TYPE_INVALID\x10\x00\x12\x35\n1WC_TESLA_VEHICLE_DRIVE_TYPE_SINGLE_MOTOR_STANDARD\x10\x01\x12\x38\n4WC_TESLA_VEHICLE_DRIVE_TYPE_SINGLE_MOTOR_PERFORMANCE\x10\x02\x12\x33\n/WC_TESLA_VEHICLE_DRIVE_TYPE_DUAL_MOTOR_STANDARD\x10\x03\x12\x36\n2WC_TESLA_VEHICLE_DRIVE_TYPE_DUAL_MOTOR_PERFORMANCE\x10\x04*\xb1\x01\n\x13WCTeslaVehicleModel\x12\"\n\x1eWC_TESLA_VEHICLE_MODEL_INVALID\x10\x00\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_S\x10\x01\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_X\x10\x02\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_3\x10\x03\x12\x1c\n\x18WC_TESLA_VEHICLE_MODEL_Y\x10\x04*\xaa\x02\n\x17WCThirdPartyVehicleMode\x12\'\n#WC_THIRD_PARTY_VEHICLE_MODE_INVALID\x10\x00\x12\'\n#WC_THIRD_PARTY_VEHICLE_MODE_ENABLED\x10\x01\x12(\n$WC_THIRD_PARTY_VEHICLE_MODE_DISABLED\x10\x02\x12\x34\n0WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER\x10\x03\x12.\n*WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST\x10\x04\x12-\n)WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY\x10\x05*\x80\x06\n\x14WCEvseNotReadyReason\x12$\n WC_EVSE_NOT_READY_REASON_INVALID\x10\x00\x12-\n)WC_EVSE_NOT_READY_REASON_COLD_LOAD_PICKUP\x10\x01\x12*\n&WC_EVSE_NOT_READY_REASON_HANDLE_BUTTON\x10\x02\x12)\n%WC_EVSE_NOT_READY_REASON_SESSION_AUTH\x10\x03\x12,\n(WC_EVSE_NOT_READY_REASON_FAULT_NO_CHARGE\x10\x04\x12*\n&WC_EVSE_NOT_READY_REASON_FAULT_STARTUP\x10\x05\x12*\n&WC_EVSE_NOT_READY_REASON_GMI_NO_CHARGE\x10\x06\x12+\n\'WC_EVSE_NOT_READY_REASON_PILOT_NOT_CONN\x10\x07\x12,\n(WC_EVSE_NOT_READY_REASON_CONFIG_NOT_RECV\x10\x08\x12\x31\n-WC_EVSE_NOT_READY_REASON_LOAD_SHARE_NO_CHARGE\x10\t\x12+\n\'WC_EVSE_NOT_READY_REASON_OCPP_NO_CHARGE\x10\n\x12\x30\n,WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST\x10\x0b\x12(\n$WC_EVSE_NOT_READY_REASON_PAY_PER_USE\x10\x0c\x12\x30\n,WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE\x10\r\x12\'\n#WC_EVSE_NOT_READY_REASON_VF_TRIPPED\x10\x0e\x12 \n\x1cWC_EVSE_NOT_READY_REASON_V2G\x10\x0f\x12\"\n\x1eWC_EVSE_NOT_READY_REASON_V2HPW\x10\x10*\xb5\x02\n\x0cWCOcppStatus\x12\x1a\n\x16WC_OCPP_STATUS_INVALID\x10\x00\x12\x1f\n\x1bWC_OCPP_STATUS_UNCONFIGURED\x10\x01\x12+\n\'WC_OCPP_STATUS_INCOMPLETE_CONFIGURATION\x10\x02\x12&\n\"WC_OCPP_STATUS_CONFIGURED_DISABLED\x10\x03\x12%\n!WC_OCPP_STATUS_CONFIGURED_ENABLED\x10\x04\x12/\n+WC_OCPP_STATUS_CONFIGURED_ENABLED_CONNECTED\x10\x05\x12;\n7WC_OCPP_STATUS_CONFIGURED_ENABLED_INVALID_CONFIGURATION\x10\x06*\x98\x01\n\x18WCDryContactControlState\x12(\n$WC_DRY_CONTACT_CONTROL_STATE_INVALID\x10\x00\x12)\n%WC_DRY_CONTACT_CONTROL_STATE_INACTIVE\x10\x01\x12\'\n#WC_DRY_CONTACT_CONTROL_STATE_ACTIVE\x10\x02*\xa6\x01\n\x18WCDryContactDefaultState\x12(\n$WC_DRY_CONTACT_DEFAULT_STATE_INVALID\x10\x00\x12.\n*WC_DRY_CONTACT_DEFAULT_STATE_NORMALLY_OPEN\x10\x01\x12\x30\n,WC_DRY_CONTACT_DEFAULT_STATE_NORMALLY_CLOSED\x10\x02*\x93\x01\n\x0cWCTimeSource\x12\x1a\n\x16WC_TIME_SOURCE_INVALID\x10\x00\x12\x18\n\x14WC_TIME_SOURCE_BUILD\x10\x01\x12\x18\n\x14WC_TIME_SOURCE_SAVED\x10\x02\x12\x18\n\x14WC_TIME_SOURCE_STALE\x10\x03\x12\x19\n\x15WC_TIME_SOURCE_SYNCED\x10\x04*\xbc\x02\n\x11WCOperationalMode\x12\x1f\n\x1bWC_OPERATIONAL_MODE_INVALID\x10\x00\x12.\n*WC_OPERATIONAL_MODE_COMMERCIAL_PAY_PER_USE\x10\x01\x12\x32\n.WC_OPERATIONAL_MODE_COMMERCIAL_NOT_PAY_PER_USE\x10\x02\x12&\n\"WC_OPERATIONAL_MODE_NOT_COMMERCIAL\x10\x03\x12\x42\n>WC_OPERATIONAL_MODE_COMMERCIAL_PAY_PER_USE_WITH_ACCESS_CONTROL\x10\x04\x12\x36\n2WC_OPERATIONAL_MODE_COMMERCIAL_WITH_ACCESS_CONTROL\x10\x05*\x92\x02\n\x1bWCOcppSecurityParameterType\x12+\n\'WC_OCPP_SECURITY_PARAMETER_TYPE_INVALID\x10\x00\x12/\n+WC_OCPP_SECURITY_PARAMETER_TYPE_CP_AUTH_KEY\x10\x01\x12.\n*WC_OCPP_SECURITY_PARAMETER_TYPE_CS_CA_CERT\x10\x02\x12+\n\'WC_OCPP_SECURITY_PARAMETER_TYPE_CP_CERT\x10\x03\x12\x38\n4WC_OCPP_SECURITY_PARAMETER_TYPE_ALTERNATE_CS_CA_CERT\x10\x04*`\n\rWCOcppVersion\x12\x1b\n\x17WC_OCPP_VERSION_INVALID\x10\x00\x12\x17\n\x13WC_OCPP_VERSION_1_6\x10\x01\x12\x19\n\x15WC_OCPP_VERSION_2_0_1\x10\x02*\xcc\x01\n\x15WCOcppSecurityProfile\x12$\n WC_OCPP_SECURITY_PROFILE_INVALID\x10\x00\x12\x31\n-WC_OCPP_SECURITY_PROFILE_UNSECURED_BASIC_AUTH\x10\x01\x12+\n\'WC_OCPP_SECURITY_PROFILE_TLS_BASIC_AUTH\x10\x02\x12-\n)WC_OCPP_SECURITY_PROFILE_TLS_CLIENT_CERTS\x10\x03*a\n\x0bWCOcppScope\x12\x19\n\x15WC_OCPP_SCOPE_INVALID\x10\x00\x12\x1f\n\x1bWC_OCPP_SCOPE_REIMBURSEMENT\x10\x01\x12\x16\n\x12WC_OCPP_SCOPE_FULL\x10\x02*\xac\x04\n\x15WCSmartChargingReason\x12$\n WC_SMART_CHARGING_REASON_INVALID\x10\x00\x12\x31\n-WC_SMART_CHARGING_REASON_DISABLED_BY_SCHEDULE\x10\x01\x12\x30\n,WC_SMART_CHARGING_REASON_ENABLED_BY_SCHEDULE\x10\x02\x12/\n+WC_SMART_CHARGING_REASON_EXPLICITLY_STOPPED\x10\x03\x12/\n+WC_SMART_CHARGING_REASON_EXPLICITLY_STARTED\x10\x04\x12\x33\n/WC_SMART_CHARGING_REASON_SMART_CHARGING_ALLOWED\x10\x05\x12\x36\n2WC_SMART_CHARGING_REASON_SMART_CHARGING_DISALLOWED\x10\x06\x12\x38\n4WC_SMART_CHARGING_REASON_SMART_CHARGING_TARGET_POWER\x10\x07\x12\x37\n3WC_SMART_CHARGING_REASON_SMART_CHARGING_LOW_VOLTAGE\x10\x08\x12\x46\nBWC_SMART_CHARGING_REASON_SMART_CHARGING_TARGET_POWER_BELOW_MINIMUM\x10\t*\x96\x01\n\x18WCPowershareSessionState\x12\'\n#WC_POWERSHARE_SESSION_STATE_INVALID\x10\x00\x12$\n WC_POWERSHARE_SESSION_STATE_NONE\x10\x01\x12+\n\'WC_POWERSHARE_SESSION_STATE_IN_PROGRESS\x10\x02*q\n\x11WCChargingCommand\x12\x1f\n\x1bWC_CHARGING_COMMAND_INVALID\x10\x00\x12\x1d\n\x19WC_CHARGING_COMMAND_START\x10\x01\x12\x1c\n\x18WC_CHARGING_COMMAND_STOP\x10\x02\x42\x81\x01\n$com.tesla.generated.energy_device.v1B\rWallConnectorZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,268 +39,268 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n$com.tesla.generated.energy_device.v1B\rWallConnectorZJgithub.com/teslamotors/energy_device/pkg/protocol/protobuf/energydevice/v1' - _globals['_WCCHARGESCHEDULECHARGINGSTATUS']._serialized_start=24816 - _globals['_WCCHARGESCHEDULECHARGINGSTATUS']._serialized_end=25253 - _globals['_WCCHARGESCHEDULECONFIGERROR']._serialized_start=25256 - _globals['_WCCHARGESCHEDULECONFIGERROR']._serialized_end=25579 - _globals['_WCCHARGESCHEDULEDAY']._serialized_start=25582 - _globals['_WCCHARGESCHEDULEDAY']._serialized_end=25892 - _globals['_WCCHARGESCHEDULEERROR']._serialized_start=25895 - _globals['_WCCHARGESCHEDULEERROR']._serialized_end=26136 - _globals['_WCCONFIGUREACCESSCONTROLOPERATION']._serialized_start=26139 - _globals['_WCCONFIGUREACCESSCONTROLOPERATION']._serialized_end=26425 - _globals['_WCFAULTSTATUSSTATE']._serialized_start=26428 - _globals['_WCFAULTSTATUSSTATE']._serialized_end=26837 - _globals['_WCGROUNDMONITORMODE']._serialized_start=26840 - _globals['_WCGROUNDMONITORMODE']._serialized_end=27012 - _globals['_WCLOADSHARINGNETWORKCHARGINGINHIBITOR']._serialized_start=27015 - _globals['_WCLOADSHARINGNETWORKCHARGINGINHIBITOR']._serialized_end=27308 - _globals['_WCPPUSESSIONREPORTINGMODE']._serialized_start=27311 - _globals['_WCPPUSESSIONREPORTINGMODE']._serialized_end=27465 - _globals['_WCTESLAVEHICLEDRIVETYPE']._serialized_start=27468 - _globals['_WCTESLAVEHICLEDRIVETYPE']._serialized_end=27756 - _globals['_WCTESLAVEHICLEMODEL']._serialized_start=27759 - _globals['_WCTESLAVEHICLEMODEL']._serialized_end=27936 - _globals['_WCTHIRDPARTYVEHICLEMODE']._serialized_start=27939 - _globals['_WCTHIRDPARTYVEHICLEMODE']._serialized_end=28190 - _globals['_WCEVSENOTREADYREASON']._serialized_start=28193 - _globals['_WCEVSENOTREADYREASON']._serialized_end=28850 - _globals['_WCOCPPSTATUS']._serialized_start=28853 - _globals['_WCOCPPSTATUS']._serialized_end=29162 - _globals['_WCDRYCONTACTCONTROLSTATE']._serialized_start=29165 - _globals['_WCDRYCONTACTCONTROLSTATE']._serialized_end=29317 - _globals['_WCDRYCONTACTDEFAULTSTATE']._serialized_start=29320 - _globals['_WCDRYCONTACTDEFAULTSTATE']._serialized_end=29486 - _globals['_WCTIMESOURCE']._serialized_start=29489 - _globals['_WCTIMESOURCE']._serialized_end=29636 - _globals['_WCOPERATIONALMODE']._serialized_start=29639 - _globals['_WCOPERATIONALMODE']._serialized_end=29955 - _globals['_WCOCPPSECURITYPARAMETERTYPE']._serialized_start=29958 - _globals['_WCOCPPSECURITYPARAMETERTYPE']._serialized_end=30232 - _globals['_WCOCPPVERSION']._serialized_start=30234 - _globals['_WCOCPPVERSION']._serialized_end=30330 - _globals['_WCOCPPSECURITYPROFILE']._serialized_start=30333 - _globals['_WCOCPPSECURITYPROFILE']._serialized_end=30537 - _globals['_WCOCPPSCOPE']._serialized_start=30539 - _globals['_WCOCPPSCOPE']._serialized_end=30636 - _globals['_WCSMARTCHARGINGREASON']._serialized_start=30639 - _globals['_WCSMARTCHARGINGREASON']._serialized_end=31195 - _globals['_WCPOWERSHARESESSIONSTATE']._serialized_start=31198 - _globals['_WCPOWERSHARESESSIONSTATE']._serialized_end=31348 - _globals['_WCCHARGINGCOMMAND']._serialized_start=31350 - _globals['_WCCHARGINGCOMMAND']._serialized_end=31463 - _globals['_WCFAULTSTATUSLATCHEDALERT']._serialized_start=349 - _globals['_WCFAULTSTATUSLATCHEDALERT']._serialized_end=447 - _globals['_WCVITALS']._serialized_start=450 - _globals['_WCVITALS']._serialized_end=2085 - _globals['_WCLIFETIMESTATS']._serialized_start=2088 - _globals['_WCLIFETIMESTATS']._serialized_end=2433 - _globals['_WCLOADSHARINGFIXEDLIMITCONFIG']._serialized_start=2435 - _globals['_WCLOADSHARINGFIXEDLIMITCONFIG']._serialized_end=2494 - _globals['_WCLOADSHARINGCONDUCTORLIMITCONFIG']._serialized_start=2496 - _globals['_WCLOADSHARINGCONDUCTORLIMITCONFIG']._serialized_end=2561 - _globals['_WCLOADSHARINGSETTINGS']._serialized_start=2564 - _globals['_WCLOADSHARINGSETTINGS']._serialized_end=2789 - _globals['_WCLOADSHARINGLIMITS']._serialized_start=2791 - _globals['_WCLOADSHARINGLIMITS']._serialized_end=2838 - _globals['_WCLOADSHARINGNETWORKSTATUS']._serialized_start=2841 - _globals['_WCLOADSHARINGNETWORKSTATUS']._serialized_end=2990 - _globals['_WCLOADSHARINGCONFIG']._serialized_start=2993 - _globals['_WCLOADSHARINGCONFIG']._serialized_end=3316 - _globals['_WCPPUCONFIG']._serialized_start=3318 - _globals['_WCPPUCONFIG']._serialized_end=3435 - _globals['_WCOPERATIONALSETTINGSCONFIG']._serialized_start=3438 - _globals['_WCOPERATIONALSETTINGSCONFIG']._serialized_end=3591 - _globals['_WCMETERINTERFACE']._serialized_start=3593 - _globals['_WCMETERINTERFACE']._serialized_end=3694 - _globals['_WCDRYCONTACTCONFIG']._serialized_start=3697 - _globals['_WCDRYCONTACTCONFIG']._serialized_end=3901 - _globals['_WCTIMEZONETRANSITION']._serialized_start=3903 - _globals['_WCTIMEZONETRANSITION']._serialized_end=4003 - _globals['_WCTIMEZONEINFO']._serialized_start=4005 - _globals['_WCTIMEZONEINFO']._serialized_end=4109 - _globals['_WCTIMEZONE']._serialized_start=4111 - _globals['_WCTIMEZONE']._serialized_end=4230 - _globals['_WCMIDCONFIG']._serialized_start=4232 - _globals['_WCMIDCONFIG']._serialized_end=4338 - _globals['_WCSETTINGS']._serialized_start=4341 - _globals['_WCSETTINGS']._serialized_end=4850 - _globals['_WCGENEALOGY']._serialized_start=4852 - _globals['_WCGENEALOGY']._serialized_end=4951 - _globals['_COMPLIANCECRC32']._serialized_start=4953 - _globals['_COMPLIANCECRC32']._serialized_end=4999 - _globals['_WCLOADSHARINGFOLLOWERSTATE']._serialized_start=5002 - _globals['_WCLOADSHARINGFOLLOWERSTATE']._serialized_end=5245 - _globals['_WCLOADSHARINGLEADERCOMMAND']._serialized_start=5247 - _globals['_WCLOADSHARINGLEADERCOMMAND']._serialized_end=5327 - _globals['_WCLOADSHARINGLEADERSTATE']._serialized_start=5330 - _globals['_WCLOADSHARINGLEADERSTATE']._serialized_end=5520 - _globals['_WCLOADSHARINGDEVICEENTRY']._serialized_start=5523 - _globals['_WCLOADSHARINGDEVICEENTRY']._serialized_end=5819 - _globals['_WCLOADSHARINGNETWORKSTATE']._serialized_start=5822 - _globals['_WCLOADSHARINGNETWORKSTATE']._serialized_end=6287 - _globals['_WCPROVISIONALOPERATIONALPARAMS']._serialized_start=6289 - _globals['_WCPROVISIONALOPERATIONALPARAMS']._serialized_end=6404 - _globals['_WCACCESSCONTROLENTRY']._serialized_start=6407 - _globals['_WCACCESSCONTROLENTRY']._serialized_end=6697 - _globals['_WCCHARGESCHEDULETIMEPERIOD']._serialized_start=6699 - _globals['_WCCHARGESCHEDULETIMEPERIOD']._serialized_end=6771 - _globals['_WCCHARGESCHEDULEDAYTIMEPERIODS']._serialized_start=6774 - _globals['_WCCHARGESCHEDULEDAYTIMEPERIODS']._serialized_end=6922 - _globals['_WCCHARGESCHEDULE']._serialized_start=6924 - _globals['_WCCHARGESCHEDULE']._serialized_end=7045 - _globals['_WCCHARGESCHEDULEDELAY']._serialized_start=7047 - _globals['_WCCHARGESCHEDULEDELAY']._serialized_end=7097 - _globals['_WCCHARGESCHEDULECONFIG']._serialized_start=7100 - _globals['_WCCHARGESCHEDULECONFIG']._serialized_end=7313 - _globals['_WCCHARGESCHEDULECONFIGSTATUS']._serialized_start=7316 - _globals['_WCCHARGESCHEDULECONFIGSTATUS']._serialized_end=7520 - _globals['_WCCHARGECOMMAND']._serialized_start=7522 - _globals['_WCCHARGECOMMAND']._serialized_end=7629 - _globals['_WCOCPPSETTINGS']._serialized_start=7632 - _globals['_WCOCPPSETTINGS']._serialized_end=7979 - _globals['_WCOCPPAUTHORIZATIONDATA']._serialized_start=7981 - _globals['_WCOCPPAUTHORIZATIONDATA']._serialized_end=8022 - _globals['_WCOCPPAUTHORIZATIONLIST']._serialized_start=8024 - _globals['_WCOCPPAUTHORIZATIONLIST']._serialized_end=8138 - _globals['_WCVEHICLETOHOMECONFIG']._serialized_start=8140 - _globals['_WCVEHICLETOHOMECONFIG']._serialized_end=8266 - _globals['_WCAPIGETVITALSREQUEST']._serialized_start=8268 - _globals['_WCAPIGETVITALSREQUEST']._serialized_end=8291 - _globals['_WCAPIGETVITALSRESPONSE']._serialized_start=8293 - _globals['_WCAPIGETVITALSRESPONSE']._serialized_end=8388 - _globals['_WCAPIGETLIFETIMESTATSREQUEST']._serialized_start=8390 - _globals['_WCAPIGETLIFETIMESTATSREQUEST']._serialized_end=8420 - _globals['_WCAPIGETLIFETIMESTATSRESPONSE']._serialized_start=8423 - _globals['_WCAPIGETLIFETIMESTATSRESPONSE']._serialized_end=8552 - _globals['_WCAPIGETCONFIGREQUEST']._serialized_start=8554 - _globals['_WCAPIGETCONFIGREQUEST']._serialized_end=8577 - _globals['_WCAPIGETCONFIGRESPONSE']._serialized_start=8580 - _globals['_WCAPIGETCONFIGRESPONSE']._serialized_end=9264 - _globals['_WCAPICONFIGURESETTINGSREQUEST']._serialized_start=9266 - _globals['_WCAPICONFIGURESETTINGSREQUEST']._serialized_end=9372 - _globals['_WCAPICONFIGURESETTINGSRESPONSE']._serialized_start=9374 - _globals['_WCAPICONFIGURESETTINGSRESPONSE']._serialized_end=9481 - _globals['_WCAPIGETSYSTEMINFOREQUEST']._serialized_start=9483 - _globals['_WCAPIGETSYSTEMINFOREQUEST']._serialized_end=9510 - _globals['_WCAPIGETSYSTEMINFORESPONSE']._serialized_start=9513 - _globals['_WCAPIGETSYSTEMINFORESPONSE']._serialized_end=9705 - _globals['_WCAPIGETLOADSHARINGNETWORKSTATEREQUEST']._serialized_start=9707 - _globals['_WCAPIGETLOADSHARINGNETWORKSTATEREQUEST']._serialized_end=9747 - _globals['_WCAPIGETLOADSHARINGNETWORKSTATERESPONSE']._serialized_start=9750 - _globals['_WCAPIGETLOADSHARINGNETWORKSTATERESPONSE']._serialized_end=9886 - _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATEREQUEST']._serialized_start=9889 - _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATEREQUEST']._serialized_end=10028 - _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATERESPONSE']._serialized_start=10031 - _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATERESPONSE']._serialized_end=10264 - _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDREQUEST']._serialized_start=10267 - _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDREQUEST']._serialized_end=10499 - _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDRESPONSE']._serialized_start=10502 - _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDRESPONSE']._serialized_end=10642 - _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONREQUEST']._serialized_start=10644 - _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONREQUEST']._serialized_end=10714 - _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONRESPONSE']._serialized_start=10716 - _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONRESPONSE']._serialized_end=10761 - _globals['_WCAPICONFIGURELOADSHARINGSETTINGSREQUEST']._serialized_start=10764 - _globals['_WCAPICONFIGURELOADSHARINGSETTINGSREQUEST']._serialized_end=10892 - _globals['_WCAPICONFIGURELOADSHARINGSETTINGSRESPONSE']._serialized_start=10895 - _globals['_WCAPICONFIGURELOADSHARINGSETTINGSRESPONSE']._serialized_end=11024 - _globals['_WCAPIPUSHLOADSHARINGCONFIGREQUEST']._serialized_start=11027 - _globals['_WCAPIPUSHLOADSHARINGCONFIGREQUEST']._serialized_end=11157 - _globals['_WCAPIPUSHLOADSHARINGCONFIGRESPONSE']._serialized_start=11159 - _globals['_WCAPIPUSHLOADSHARINGCONFIGRESPONSE']._serialized_end=11195 - _globals['_WCAPICONFIGUREPPUSETTINGSREQUEST']._serialized_start=11197 - _globals['_WCAPICONFIGUREPPUSETTINGSREQUEST']._serialized_end=11309 - _globals['_WCAPICONFIGUREPPUSETTINGSRESPONSE']._serialized_start=11311 - _globals['_WCAPICONFIGUREPPUSETTINGSRESPONSE']._serialized_end=11424 - _globals['_WCAPIGETPPUSETTINGSREQUEST']._serialized_start=11426 - _globals['_WCAPIGETPPUSETTINGSREQUEST']._serialized_end=11454 - _globals['_WCAPIGETPPUSETTINGSRESPONSE']._serialized_start=11456 - _globals['_WCAPIGETPPUSETTINGSRESPONSE']._serialized_end=11563 - _globals['_WCAPICONFIGUREOPERATIONALSETTINGSREQUEST']._serialized_start=11566 - _globals['_WCAPICONFIGUREOPERATIONALSETTINGSREQUEST']._serialized_end=11719 - _globals['_WCAPICONFIGUREOPERATIONALSETTINGSRESPONSE']._serialized_start=11722 - _globals['_WCAPICONFIGUREOPERATIONALSETTINGSRESPONSE']._serialized_end=11876 - _globals['_WCAPIGETOPERATIONALSETTINGSREQUEST']._serialized_start=11878 - _globals['_WCAPIGETOPERATIONALSETTINGSREQUEST']._serialized_end=11914 - _globals['_WCAPIGETOPERATIONALSETTINGSRESPONSE']._serialized_start=11917 - _globals['_WCAPIGETOPERATIONALSETTINGSRESPONSE']._serialized_end=12065 - _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_start=12068 - _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_end=12214 - _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_start=12216 - _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_end=12262 - _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_start=12264 - _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_end=12309 - _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_start=12312 - _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_end=12498 - _globals['_WCAPIGETACCESSCONTROLSETTINGSREQUEST']._serialized_start=12500 - _globals['_WCAPIGETACCESSCONTROLSETTINGSREQUEST']._serialized_end=12538 - _globals['_WCAPIGETACCESSCONTROLSETTINGSRESPONSE']._serialized_start=12540 - _globals['_WCAPIGETACCESSCONTROLSETTINGSRESPONSE']._serialized_end=12663 - _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSREQUEST']._serialized_start=12666 - _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSREQUEST']._serialized_end=12886 - _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSRESPONSE']._serialized_start=12889 - _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSRESPONSE']._serialized_end=13018 - _globals['_WCAPIGETRECENTVEHICLESREQUEST']._serialized_start=13020 - _globals['_WCAPIGETRECENTVEHICLESREQUEST']._serialized_end=13051 - _globals['_WCAPIGETRECENTVEHICLESRESPONSE']._serialized_start=13053 - _globals['_WCAPIGETRECENTVEHICLESRESPONSE']._serialized_end=13110 - _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATEREQUEST']._serialized_start=13113 - _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATEREQUEST']._serialized_end=13249 - _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATERESPONSE']._serialized_start=13251 - _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATERESPONSE']._serialized_end=13291 - _globals['_WCAPICONFIGURECHARGESCHEDULEREQUEST']._serialized_start=13294 - _globals['_WCAPICONFIGURECHARGESCHEDULEREQUEST']._serialized_end=13492 - _globals['_WCAPICONFIGURECHARGESCHEDULERESPONSE']._serialized_start=13494 - _globals['_WCAPICONFIGURECHARGESCHEDULERESPONSE']._serialized_end=13615 - _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODEREQUEST']._serialized_start=13618 - _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODEREQUEST']._serialized_end=13766 - _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODERESPONSE']._serialized_start=13768 - _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODERESPONSE']._serialized_end=13813 - _globals['_WCAPIPUSHCHARGECOMMANDREQUEST']._serialized_start=13815 - _globals['_WCAPIPUSHCHARGECOMMANDREQUEST']._serialized_end=13932 - _globals['_WCAPIPUSHCHARGECOMMANDRESPONSE']._serialized_start=13934 - _globals['_WCAPIPUSHCHARGECOMMANDRESPONSE']._serialized_end=13966 - _globals['_WCAPICONFIGUREHOMESITECONTROLLERREQUEST']._serialized_start=13969 - _globals['_WCAPICONFIGUREHOMESITECONTROLLERREQUEST']._serialized_end=14181 - _globals['_WCAPICONFIGUREHOMESITECONTROLLERRESPONSE']._serialized_start=14183 - _globals['_WCAPICONFIGUREHOMESITECONTROLLERRESPONSE']._serialized_end=14309 - _globals['_WCAPICONFIGUREOCPPSETTINGSREQUEST']._serialized_start=14311 - _globals['_WCAPICONFIGUREOCPPSETTINGSREQUEST']._serialized_end=14425 - _globals['_WCAPICONFIGUREOCPPSETTINGSRESPONSE']._serialized_start=14428 - _globals['_WCAPICONFIGUREOCPPSETTINGSRESPONSE']._serialized_end=14618 - _globals['_WCAPISETOCPPSECURITYPARAMETERREQUEST']._serialized_start=14621 - _globals['_WCAPISETOCPPSECURITYPARAMETERREQUEST']._serialized_end=14794 - _globals['_WCAPISETOCPPSECURITYPARAMETERRESPONSE']._serialized_start=14796 - _globals['_WCAPISETOCPPSECURITYPARAMETERRESPONSE']._serialized_end=14910 - _globals['_WCAPIGETOCPPSECURITYPARAMETERREQUEST']._serialized_start=14913 - _globals['_WCAPIGETOCPPSECURITYPARAMETERREQUEST']._serialized_end=15058 - _globals['_WCAPIGETOCPPSECURITYPARAMETERRESPONSE']._serialized_start=15061 - _globals['_WCAPIGETOCPPSECURITYPARAMETERRESPONSE']._serialized_end=15235 - _globals['_WCAPIGETOCPPLOCALAUTHLISTREQUEST']._serialized_start=15237 - _globals['_WCAPIGETOCPPLOCALAUTHLISTREQUEST']._serialized_end=15271 - _globals['_WCAPIGETOCPPLOCALAUTHLISTRESPONSE']._serialized_start=15273 - _globals['_WCAPIGETOCPPLOCALAUTHLISTRESPONSE']._serialized_end=15397 - _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSREQUEST']._serialized_start=15399 - _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSREQUEST']._serialized_end=15458 - _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSRESPONSE']._serialized_start=15460 - _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSRESPONSE']._serialized_end=15503 - _globals['_WCTARGETCHARGEPOWERPARAMS']._serialized_start=15506 - _globals['_WCTARGETCHARGEPOWERPARAMS']._serialized_end=15651 - _globals['_WCSMARTCHARGINGCOMMAND']._serialized_start=15654 - _globals['_WCSMARTCHARGINGCOMMAND']._serialized_end=15834 - _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDREQUEST']._serialized_start=15836 - _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDREQUEST']._serialized_end=15960 - _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDRESPONSE']._serialized_start=15962 - _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDRESPONSE']._serialized_end=16001 - _globals['_WCAPIREGISTERCOMMERCIALREQUEST']._serialized_start=16003 - _globals['_WCAPIREGISTERCOMMERCIALREQUEST']._serialized_end=16035 - _globals['_WCAPIREGISTERCOMMERCIALRESPONSE']._serialized_start=16037 - _globals['_WCAPIREGISTERCOMMERCIALRESPONSE']._serialized_end=16087 - _globals['_WCAPIPUSHPOWERSHARECOMMANDREQUEST']._serialized_start=16090 - _globals['_WCAPIPUSHPOWERSHARECOMMANDREQUEST']._serialized_end=16228 - _globals['_WCAPIPUSHPOWERSHARECOMMANDRESPONSE']._serialized_start=16230 - _globals['_WCAPIPUSHPOWERSHARECOMMANDRESPONSE']._serialized_end=16325 - _globals['_WCMESSAGES']._serialized_start=16328 - _globals['_WCMESSAGES']._serialized_end=24813 + _globals['_WCCHARGESCHEDULECHARGINGSTATUS']._serialized_start=25050 + _globals['_WCCHARGESCHEDULECHARGINGSTATUS']._serialized_end=25487 + _globals['_WCCHARGESCHEDULECONFIGERROR']._serialized_start=25490 + _globals['_WCCHARGESCHEDULECONFIGERROR']._serialized_end=25813 + _globals['_WCCHARGESCHEDULEDAY']._serialized_start=25816 + _globals['_WCCHARGESCHEDULEDAY']._serialized_end=26126 + _globals['_WCCHARGESCHEDULEERROR']._serialized_start=26129 + _globals['_WCCHARGESCHEDULEERROR']._serialized_end=26370 + _globals['_WCCONFIGUREACCESSCONTROLOPERATION']._serialized_start=26373 + _globals['_WCCONFIGUREACCESSCONTROLOPERATION']._serialized_end=26659 + _globals['_WCFAULTSTATUSSTATE']._serialized_start=26662 + _globals['_WCFAULTSTATUSSTATE']._serialized_end=27071 + _globals['_WCGROUNDMONITORMODE']._serialized_start=27074 + _globals['_WCGROUNDMONITORMODE']._serialized_end=27246 + _globals['_WCLOADSHARINGNETWORKCHARGINGINHIBITOR']._serialized_start=27249 + _globals['_WCLOADSHARINGNETWORKCHARGINGINHIBITOR']._serialized_end=27542 + _globals['_WCPPUSESSIONREPORTINGMODE']._serialized_start=27545 + _globals['_WCPPUSESSIONREPORTINGMODE']._serialized_end=27699 + _globals['_WCTESLAVEHICLEDRIVETYPE']._serialized_start=27702 + _globals['_WCTESLAVEHICLEDRIVETYPE']._serialized_end=27990 + _globals['_WCTESLAVEHICLEMODEL']._serialized_start=27993 + _globals['_WCTESLAVEHICLEMODEL']._serialized_end=28170 + _globals['_WCTHIRDPARTYVEHICLEMODE']._serialized_start=28173 + _globals['_WCTHIRDPARTYVEHICLEMODE']._serialized_end=28471 + _globals['_WCEVSENOTREADYREASON']._serialized_start=28474 + _globals['_WCEVSENOTREADYREASON']._serialized_end=29242 + _globals['_WCOCPPSTATUS']._serialized_start=29245 + _globals['_WCOCPPSTATUS']._serialized_end=29554 + _globals['_WCDRYCONTACTCONTROLSTATE']._serialized_start=29557 + _globals['_WCDRYCONTACTCONTROLSTATE']._serialized_end=29709 + _globals['_WCDRYCONTACTDEFAULTSTATE']._serialized_start=29712 + _globals['_WCDRYCONTACTDEFAULTSTATE']._serialized_end=29878 + _globals['_WCTIMESOURCE']._serialized_start=29881 + _globals['_WCTIMESOURCE']._serialized_end=30028 + _globals['_WCOPERATIONALMODE']._serialized_start=30031 + _globals['_WCOPERATIONALMODE']._serialized_end=30347 + _globals['_WCOCPPSECURITYPARAMETERTYPE']._serialized_start=30350 + _globals['_WCOCPPSECURITYPARAMETERTYPE']._serialized_end=30624 + _globals['_WCOCPPVERSION']._serialized_start=30626 + _globals['_WCOCPPVERSION']._serialized_end=30722 + _globals['_WCOCPPSECURITYPROFILE']._serialized_start=30725 + _globals['_WCOCPPSECURITYPROFILE']._serialized_end=30929 + _globals['_WCOCPPSCOPE']._serialized_start=30931 + _globals['_WCOCPPSCOPE']._serialized_end=31028 + _globals['_WCSMARTCHARGINGREASON']._serialized_start=31031 + _globals['_WCSMARTCHARGINGREASON']._serialized_end=31587 + _globals['_WCPOWERSHARESESSIONSTATE']._serialized_start=31590 + _globals['_WCPOWERSHARESESSIONSTATE']._serialized_end=31740 + _globals['_WCCHARGINGCOMMAND']._serialized_start=31742 + _globals['_WCCHARGINGCOMMAND']._serialized_end=31855 + _globals['_WCFAULTSTATUSLATCHEDALERT']._serialized_start=402 + _globals['_WCFAULTSTATUSLATCHEDALERT']._serialized_end=500 + _globals['_WCVITALS']._serialized_start=503 + _globals['_WCVITALS']._serialized_end=2138 + _globals['_WCLIFETIMESTATS']._serialized_start=2141 + _globals['_WCLIFETIMESTATS']._serialized_end=2486 + _globals['_WCLOADSHARINGFIXEDLIMITCONFIG']._serialized_start=2488 + _globals['_WCLOADSHARINGFIXEDLIMITCONFIG']._serialized_end=2547 + _globals['_WCLOADSHARINGCONDUCTORLIMITCONFIG']._serialized_start=2549 + _globals['_WCLOADSHARINGCONDUCTORLIMITCONFIG']._serialized_end=2614 + _globals['_WCLOADSHARINGSETTINGS']._serialized_start=2617 + _globals['_WCLOADSHARINGSETTINGS']._serialized_end=2842 + _globals['_WCLOADSHARINGLIMITS']._serialized_start=2844 + _globals['_WCLOADSHARINGLIMITS']._serialized_end=2891 + _globals['_WCLOADSHARINGNETWORKSTATUS']._serialized_start=2894 + _globals['_WCLOADSHARINGNETWORKSTATUS']._serialized_end=3043 + _globals['_WCLOADSHARINGCONFIG']._serialized_start=3046 + _globals['_WCLOADSHARINGCONFIG']._serialized_end=3369 + _globals['_WCPPUCONFIG']._serialized_start=3371 + _globals['_WCPPUCONFIG']._serialized_end=3488 + _globals['_WCOPERATIONALSETTINGSCONFIG']._serialized_start=3491 + _globals['_WCOPERATIONALSETTINGSCONFIG']._serialized_end=3644 + _globals['_WCMETERINTERFACE']._serialized_start=3646 + _globals['_WCMETERINTERFACE']._serialized_end=3747 + _globals['_WCDRYCONTACTCONFIG']._serialized_start=3750 + _globals['_WCDRYCONTACTCONFIG']._serialized_end=3954 + _globals['_WCTIMEZONETRANSITION']._serialized_start=3956 + _globals['_WCTIMEZONETRANSITION']._serialized_end=4056 + _globals['_WCTIMEZONEINFO']._serialized_start=4058 + _globals['_WCTIMEZONEINFO']._serialized_end=4162 + _globals['_WCTIMEZONE']._serialized_start=4164 + _globals['_WCTIMEZONE']._serialized_end=4283 + _globals['_WCMIDCONFIG']._serialized_start=4285 + _globals['_WCMIDCONFIG']._serialized_end=4391 + _globals['_WCSETTINGS']._serialized_start=4394 + _globals['_WCSETTINGS']._serialized_end=4903 + _globals['_WCGENEALOGY']._serialized_start=4905 + _globals['_WCGENEALOGY']._serialized_end=5004 + _globals['_COMPLIANCECRC32']._serialized_start=5006 + _globals['_COMPLIANCECRC32']._serialized_end=5052 + _globals['_WCLOADSHARINGFOLLOWERSTATE']._serialized_start=5055 + _globals['_WCLOADSHARINGFOLLOWERSTATE']._serialized_end=5298 + _globals['_WCLOADSHARINGLEADERCOMMAND']._serialized_start=5300 + _globals['_WCLOADSHARINGLEADERCOMMAND']._serialized_end=5380 + _globals['_WCLOADSHARINGLEADERSTATE']._serialized_start=5383 + _globals['_WCLOADSHARINGLEADERSTATE']._serialized_end=5573 + _globals['_WCLOADSHARINGDEVICEENTRY']._serialized_start=5576 + _globals['_WCLOADSHARINGDEVICEENTRY']._serialized_end=5872 + _globals['_WCLOADSHARINGNETWORKSTATE']._serialized_start=5875 + _globals['_WCLOADSHARINGNETWORKSTATE']._serialized_end=6340 + _globals['_WCPROVISIONALOPERATIONALPARAMS']._serialized_start=6342 + _globals['_WCPROVISIONALOPERATIONALPARAMS']._serialized_end=6457 + _globals['_WCACCESSCONTROLENTRY']._serialized_start=6460 + _globals['_WCACCESSCONTROLENTRY']._serialized_end=6750 + _globals['_WCCHARGESCHEDULETIMEPERIOD']._serialized_start=6752 + _globals['_WCCHARGESCHEDULETIMEPERIOD']._serialized_end=6824 + _globals['_WCCHARGESCHEDULEDAYTIMEPERIODS']._serialized_start=6827 + _globals['_WCCHARGESCHEDULEDAYTIMEPERIODS']._serialized_end=6975 + _globals['_WCCHARGESCHEDULE']._serialized_start=6977 + _globals['_WCCHARGESCHEDULE']._serialized_end=7098 + _globals['_WCCHARGESCHEDULEDELAY']._serialized_start=7100 + _globals['_WCCHARGESCHEDULEDELAY']._serialized_end=7150 + _globals['_WCCHARGESCHEDULECONFIG']._serialized_start=7153 + _globals['_WCCHARGESCHEDULECONFIG']._serialized_end=7366 + _globals['_WCCHARGESCHEDULECONFIGSTATUS']._serialized_start=7369 + _globals['_WCCHARGESCHEDULECONFIGSTATUS']._serialized_end=7573 + _globals['_WCCHARGECOMMAND']._serialized_start=7575 + _globals['_WCCHARGECOMMAND']._serialized_end=7682 + _globals['_WCOCPPSETTINGS']._serialized_start=7685 + _globals['_WCOCPPSETTINGS']._serialized_end=8032 + _globals['_WCOCPPAUTHORIZATIONDATA']._serialized_start=8034 + _globals['_WCOCPPAUTHORIZATIONDATA']._serialized_end=8075 + _globals['_WCOCPPAUTHORIZATIONLIST']._serialized_start=8077 + _globals['_WCOCPPAUTHORIZATIONLIST']._serialized_end=8191 + _globals['_WCVEHICLETOHOMECONFIG']._serialized_start=8193 + _globals['_WCVEHICLETOHOMECONFIG']._serialized_end=8319 + _globals['_WCAPIGETVITALSREQUEST']._serialized_start=8321 + _globals['_WCAPIGETVITALSREQUEST']._serialized_end=8344 + _globals['_WCAPIGETVITALSRESPONSE']._serialized_start=8346 + _globals['_WCAPIGETVITALSRESPONSE']._serialized_end=8441 + _globals['_WCAPIGETLIFETIMESTATSREQUEST']._serialized_start=8443 + _globals['_WCAPIGETLIFETIMESTATSREQUEST']._serialized_end=8473 + _globals['_WCAPIGETLIFETIMESTATSRESPONSE']._serialized_start=8476 + _globals['_WCAPIGETLIFETIMESTATSRESPONSE']._serialized_end=8605 + _globals['_WCAPIGETCONFIGREQUEST']._serialized_start=8607 + _globals['_WCAPIGETCONFIGREQUEST']._serialized_end=8630 + _globals['_WCAPIGETCONFIGRESPONSE']._serialized_start=8633 + _globals['_WCAPIGETCONFIGRESPONSE']._serialized_end=9317 + _globals['_WCAPICONFIGURESETTINGSREQUEST']._serialized_start=9319 + _globals['_WCAPICONFIGURESETTINGSREQUEST']._serialized_end=9425 + _globals['_WCAPICONFIGURESETTINGSRESPONSE']._serialized_start=9427 + _globals['_WCAPICONFIGURESETTINGSRESPONSE']._serialized_end=9534 + _globals['_WCAPIGETSYSTEMINFOREQUEST']._serialized_start=9536 + _globals['_WCAPIGETSYSTEMINFOREQUEST']._serialized_end=9563 + _globals['_WCAPIGETSYSTEMINFORESPONSE']._serialized_start=9566 + _globals['_WCAPIGETSYSTEMINFORESPONSE']._serialized_end=9758 + _globals['_WCAPIGETLOADSHARINGNETWORKSTATEREQUEST']._serialized_start=9760 + _globals['_WCAPIGETLOADSHARINGNETWORKSTATEREQUEST']._serialized_end=9800 + _globals['_WCAPIGETLOADSHARINGNETWORKSTATERESPONSE']._serialized_start=9803 + _globals['_WCAPIGETLOADSHARINGNETWORKSTATERESPONSE']._serialized_end=9939 + _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATEREQUEST']._serialized_start=9942 + _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATEREQUEST']._serialized_end=10081 + _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATERESPONSE']._serialized_start=10084 + _globals['_WCAPIPUSHLOADSHARINGFOLLOWERSTATERESPONSE']._serialized_end=10317 + _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDREQUEST']._serialized_start=10320 + _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDREQUEST']._serialized_end=10552 + _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDRESPONSE']._serialized_start=10555 + _globals['_WCAPIPUSHLOADSHARINGLEADERCOMMANDRESPONSE']._serialized_end=10695 + _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONREQUEST']._serialized_start=10697 + _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONREQUEST']._serialized_end=10767 + _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONRESPONSE']._serialized_start=10769 + _globals['_WCAPISETLOADSHARINGNETWORKOPERATIONRESPONSE']._serialized_end=10814 + _globals['_WCAPICONFIGURELOADSHARINGSETTINGSREQUEST']._serialized_start=10817 + _globals['_WCAPICONFIGURELOADSHARINGSETTINGSREQUEST']._serialized_end=10945 + _globals['_WCAPICONFIGURELOADSHARINGSETTINGSRESPONSE']._serialized_start=10948 + _globals['_WCAPICONFIGURELOADSHARINGSETTINGSRESPONSE']._serialized_end=11077 + _globals['_WCAPIPUSHLOADSHARINGCONFIGREQUEST']._serialized_start=11080 + _globals['_WCAPIPUSHLOADSHARINGCONFIGREQUEST']._serialized_end=11210 + _globals['_WCAPIPUSHLOADSHARINGCONFIGRESPONSE']._serialized_start=11212 + _globals['_WCAPIPUSHLOADSHARINGCONFIGRESPONSE']._serialized_end=11248 + _globals['_WCAPICONFIGUREPPUSETTINGSREQUEST']._serialized_start=11250 + _globals['_WCAPICONFIGUREPPUSETTINGSREQUEST']._serialized_end=11362 + _globals['_WCAPICONFIGUREPPUSETTINGSRESPONSE']._serialized_start=11364 + _globals['_WCAPICONFIGUREPPUSETTINGSRESPONSE']._serialized_end=11477 + _globals['_WCAPIGETPPUSETTINGSREQUEST']._serialized_start=11479 + _globals['_WCAPIGETPPUSETTINGSREQUEST']._serialized_end=11507 + _globals['_WCAPIGETPPUSETTINGSRESPONSE']._serialized_start=11509 + _globals['_WCAPIGETPPUSETTINGSRESPONSE']._serialized_end=11616 + _globals['_WCAPICONFIGUREOPERATIONALSETTINGSREQUEST']._serialized_start=11619 + _globals['_WCAPICONFIGUREOPERATIONALSETTINGSREQUEST']._serialized_end=11772 + _globals['_WCAPICONFIGUREOPERATIONALSETTINGSRESPONSE']._serialized_start=11775 + _globals['_WCAPICONFIGUREOPERATIONALSETTINGSRESPONSE']._serialized_end=11929 + _globals['_WCAPIGETOPERATIONALSETTINGSREQUEST']._serialized_start=11931 + _globals['_WCAPIGETOPERATIONALSETTINGSREQUEST']._serialized_end=11967 + _globals['_WCAPIGETOPERATIONALSETTINGSRESPONSE']._serialized_start=11970 + _globals['_WCAPIGETOPERATIONALSETTINGSRESPONSE']._serialized_end=12118 + _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_start=12121 + _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_end=12267 + _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_start=12269 + _globals['_WCAPISETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_end=12315 + _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_start=12317 + _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSREQUEST']._serialized_end=12362 + _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_start=12365 + _globals['_WCAPIGETPROVISIONALOPERATIONALPARAMSRESPONSE']._serialized_end=12551 + _globals['_WCAPIGETACCESSCONTROLSETTINGSREQUEST']._serialized_start=12553 + _globals['_WCAPIGETACCESSCONTROLSETTINGSREQUEST']._serialized_end=12591 + _globals['_WCAPIGETACCESSCONTROLSETTINGSRESPONSE']._serialized_start=12593 + _globals['_WCAPIGETACCESSCONTROLSETTINGSRESPONSE']._serialized_end=12716 + _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSREQUEST']._serialized_start=12719 + _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSREQUEST']._serialized_end=12939 + _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSRESPONSE']._serialized_start=12942 + _globals['_WCAPICONFIGUREACCESSCONTROLSETTINGSRESPONSE']._serialized_end=13071 + _globals['_WCAPIGETRECENTVEHICLESREQUEST']._serialized_start=13073 + _globals['_WCAPIGETRECENTVEHICLESREQUEST']._serialized_end=13104 + _globals['_WCAPIGETRECENTVEHICLESRESPONSE']._serialized_start=13106 + _globals['_WCAPIGETRECENTVEHICLESRESPONSE']._serialized_end=13163 + _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATEREQUEST']._serialized_start=13166 + _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATEREQUEST']._serialized_end=13302 + _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATERESPONSE']._serialized_start=13304 + _globals['_WCAPIPUSHPPUAUTHORIZATIONSTATERESPONSE']._serialized_end=13344 + _globals['_WCAPICONFIGURECHARGESCHEDULEREQUEST']._serialized_start=13347 + _globals['_WCAPICONFIGURECHARGESCHEDULEREQUEST']._serialized_end=13545 + _globals['_WCAPICONFIGURECHARGESCHEDULERESPONSE']._serialized_start=13547 + _globals['_WCAPICONFIGURECHARGESCHEDULERESPONSE']._serialized_end=13668 + _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODEREQUEST']._serialized_start=13671 + _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODEREQUEST']._serialized_end=13819 + _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODERESPONSE']._serialized_start=13821 + _globals['_WCAPICONFIGURETHIRDPARTYVEHICLEMODERESPONSE']._serialized_end=13866 + _globals['_WCAPIPUSHCHARGECOMMANDREQUEST']._serialized_start=13868 + _globals['_WCAPIPUSHCHARGECOMMANDREQUEST']._serialized_end=13985 + _globals['_WCAPIPUSHCHARGECOMMANDRESPONSE']._serialized_start=13987 + _globals['_WCAPIPUSHCHARGECOMMANDRESPONSE']._serialized_end=14019 + _globals['_WCAPICONFIGUREHOMESITECONTROLLERREQUEST']._serialized_start=14022 + _globals['_WCAPICONFIGUREHOMESITECONTROLLERREQUEST']._serialized_end=14234 + _globals['_WCAPICONFIGUREHOMESITECONTROLLERRESPONSE']._serialized_start=14236 + _globals['_WCAPICONFIGUREHOMESITECONTROLLERRESPONSE']._serialized_end=14362 + _globals['_WCAPICONFIGUREOCPPSETTINGSREQUEST']._serialized_start=14364 + _globals['_WCAPICONFIGUREOCPPSETTINGSREQUEST']._serialized_end=14478 + _globals['_WCAPICONFIGUREOCPPSETTINGSRESPONSE']._serialized_start=14481 + _globals['_WCAPICONFIGUREOCPPSETTINGSRESPONSE']._serialized_end=14671 + _globals['_WCAPISETOCPPSECURITYPARAMETERREQUEST']._serialized_start=14674 + _globals['_WCAPISETOCPPSECURITYPARAMETERREQUEST']._serialized_end=14847 + _globals['_WCAPISETOCPPSECURITYPARAMETERRESPONSE']._serialized_start=14849 + _globals['_WCAPISETOCPPSECURITYPARAMETERRESPONSE']._serialized_end=14963 + _globals['_WCAPIGETOCPPSECURITYPARAMETERREQUEST']._serialized_start=14966 + _globals['_WCAPIGETOCPPSECURITYPARAMETERREQUEST']._serialized_end=15111 + _globals['_WCAPIGETOCPPSECURITYPARAMETERRESPONSE']._serialized_start=15114 + _globals['_WCAPIGETOCPPSECURITYPARAMETERRESPONSE']._serialized_end=15288 + _globals['_WCAPIGETOCPPLOCALAUTHLISTREQUEST']._serialized_start=15290 + _globals['_WCAPIGETOCPPLOCALAUTHLISTREQUEST']._serialized_end=15324 + _globals['_WCAPIGETOCPPLOCALAUTHLISTRESPONSE']._serialized_start=15326 + _globals['_WCAPIGETOCPPLOCALAUTHLISTRESPONSE']._serialized_end=15450 + _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSREQUEST']._serialized_start=15452 + _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSREQUEST']._serialized_end=15511 + _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSRESPONSE']._serialized_start=15513 + _globals['_WCAPICONFIGURECOUNTRYCODESETTINGSRESPONSE']._serialized_end=15556 + _globals['_WCTARGETCHARGEPOWERPARAMS']._serialized_start=15559 + _globals['_WCTARGETCHARGEPOWERPARAMS']._serialized_end=15704 + _globals['_WCSMARTCHARGINGCOMMAND']._serialized_start=15707 + _globals['_WCSMARTCHARGINGCOMMAND']._serialized_end=15887 + _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDREQUEST']._serialized_start=15889 + _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDREQUEST']._serialized_end=16013 + _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDRESPONSE']._serialized_start=16015 + _globals['_WCAPIPUSHSMARTCHARGINGCOMMANDRESPONSE']._serialized_end=16054 + _globals['_WCAPIREGISTERCOMMERCIALREQUEST']._serialized_start=16056 + _globals['_WCAPIREGISTERCOMMERCIALREQUEST']._serialized_end=16183 + _globals['_WCAPIREGISTERCOMMERCIALRESPONSE']._serialized_start=16186 + _globals['_WCAPIREGISTERCOMMERCIALRESPONSE']._serialized_end=16321 + _globals['_WCAPIPUSHPOWERSHARECOMMANDREQUEST']._serialized_start=16324 + _globals['_WCAPIPUSHPOWERSHARECOMMANDREQUEST']._serialized_end=16462 + _globals['_WCAPIPUSHPOWERSHARECOMMANDRESPONSE']._serialized_start=16464 + _globals['_WCAPIPUSHPOWERSHARECOMMANDRESPONSE']._serialized_end=16559 + _globals['_WCMESSAGES']._serialized_start=16562 + _globals['_WCMESSAGES']._serialized_end=25047 # @@protoc_insertion_point(module_scope) diff --git a/packages/python/tesla_protocol/energy_device/wall_connector_pb2.pyi b/packages/python/tesla_protocol/energy_device/wall_connector_pb2.pyi index 99bfa19..93a32be 100644 --- a/packages/python/tesla_protocol/energy_device/wall_connector_pb2.pyi +++ b/packages/python/tesla_protocol/energy_device/wall_connector_pb2.pyi @@ -6,6 +6,7 @@ from tesla_protocol.energy_device import device_pb2 as _device_pb2 from tesla_protocol.energy_device import networking_pb2 as _networking_pb2 from tesla_protocol.energy_device import energy_pb2 as _energy_pb2 from tesla_protocol.energy_device import neurio_meter_api_pb2 as _neurio_meter_api_pb2 +from tesla_protocol.energy_device import registration_api_pb2 as _registration_api_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 @@ -117,6 +118,7 @@ class WCThirdPartyVehicleMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper) WC_THIRD_PARTY_VEHICLE_MODE_DISABLED: _ClassVar[WCThirdPartyVehicleMode] WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER: _ClassVar[WCThirdPartyVehicleMode] WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST: _ClassVar[WCThirdPartyVehicleMode] + WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY: _ClassVar[WCThirdPartyVehicleMode] class WCEvseNotReadyReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -134,6 +136,9 @@ class WCEvseNotReadyReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST: _ClassVar[WCEvseNotReadyReason] WC_EVSE_NOT_READY_REASON_PAY_PER_USE: _ClassVar[WCEvseNotReadyReason] WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE: _ClassVar[WCEvseNotReadyReason] + WC_EVSE_NOT_READY_REASON_VF_TRIPPED: _ClassVar[WCEvseNotReadyReason] + WC_EVSE_NOT_READY_REASON_V2G: _ClassVar[WCEvseNotReadyReason] + WC_EVSE_NOT_READY_REASON_V2HPW: _ClassVar[WCEvseNotReadyReason] class WCOcppStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -292,6 +297,7 @@ WC_THIRD_PARTY_VEHICLE_MODE_ENABLED: WCThirdPartyVehicleMode WC_THIRD_PARTY_VEHICLE_MODE_DISABLED: WCThirdPartyVehicleMode WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER: WCThirdPartyVehicleMode WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST: WCThirdPartyVehicleMode +WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY: WCThirdPartyVehicleMode WC_EVSE_NOT_READY_REASON_INVALID: WCEvseNotReadyReason WC_EVSE_NOT_READY_REASON_COLD_LOAD_PICKUP: WCEvseNotReadyReason WC_EVSE_NOT_READY_REASON_HANDLE_BUTTON: WCEvseNotReadyReason @@ -306,6 +312,9 @@ WC_EVSE_NOT_READY_REASON_OCPP_NO_CHARGE: WCEvseNotReadyReason WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST: WCEvseNotReadyReason WC_EVSE_NOT_READY_REASON_PAY_PER_USE: WCEvseNotReadyReason WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE: WCEvseNotReadyReason +WC_EVSE_NOT_READY_REASON_VF_TRIPPED: WCEvseNotReadyReason +WC_EVSE_NOT_READY_REASON_V2G: WCEvseNotReadyReason +WC_EVSE_NOT_READY_REASON_V2HPW: WCEvseNotReadyReason WC_OCPP_STATUS_INVALID: WCOcppStatus WC_OCPP_STATUS_UNCONFIGURED: WCOcppStatus WC_OCPP_STATUS_INCOMPLETE_CONFIGURATION: WCOcppStatus @@ -1183,14 +1192,18 @@ class WCAPIPushSmartChargingCommandResponse(_message.Message): def __init__(self) -> None: ... class WCAPIRegisterCommercialRequest(_message.Message): - __slots__ = () - def __init__(self) -> None: ... + __slots__ = ("request",) + REQUEST_FIELD_NUMBER: _ClassVar[int] + request: _registration_api_pb2.WCCommercialRegistrationRequest + def __init__(self, request: _Optional[_Union[_registration_api_pb2.WCCommercialRegistrationRequest, _Mapping]] = ...) -> None: ... class WCAPIRegisterCommercialResponse(_message.Message): - __slots__ = ("failure",) + __slots__ = ("failure", "response") FAILURE_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] failure: int - def __init__(self, failure: _Optional[int] = ...) -> None: ... + response: _registration_api_pb2.RegistrationResponse + def __init__(self, failure: _Optional[int] = ..., response: _Optional[_Union[_registration_api_pb2.RegistrationResponse, _Mapping]] = ...) -> None: ... class WCAPIPushPowershareCommandRequest(_message.Message): __slots__ = ("site_vehicle_request", "site_evse_request", "inverter_config", "ttl_seconds") diff --git a/packages/typescript/src/command/car_server.ts b/packages/typescript/src/command/car_server.ts index b91f465..eaaa4a5 100644 --- a/packages/typescript/src/command/car_server.ts +++ b/packages/typescript/src/command/car_server.ts @@ -31,6 +31,9 @@ import { ClimateState_DogModeState, climateState_DogModeStateFromJSON, climateState_DogModeStateToJSON, + KeepOnAccessoryPortRequest, + keepOnAccessoryPortRequestFromJSON, + keepOnAccessoryPortRequestToJSON, VehicleData, VehicleImageStateType, vehicleImageStateTypeFromJSON, @@ -112,6 +115,7 @@ export enum VehicleDataFields { suspension_state = 23, child_presence_detection_state = 24, display_state = 30, + keep_on_accessory_ports_state = 33, legacy_vehicle_state_media_info = 6072, UNRECOGNIZED = -1, } @@ -193,6 +197,9 @@ export function vehicleDataFieldsFromJSON(object: any): VehicleDataFields { case 30: case "display_state": return VehicleDataFields.display_state; + case 33: + case "keep_on_accessory_ports_state": + return VehicleDataFields.keep_on_accessory_ports_state; case 6072: case "legacy_vehicle_state_media_info": return VehicleDataFields.legacy_vehicle_state_media_info; @@ -255,6 +262,8 @@ export function vehicleDataFieldsToJSON(object: VehicleDataFields): string { return "child_presence_detection_state"; case VehicleDataFields.display_state: return "display_state"; + case VehicleDataFields.keep_on_accessory_ports_state: + return "keep_on_accessory_ports_state"; case VehicleDataFields.legacy_vehicle_state_media_info: return "legacy_vehicle_state_media_info"; case VehicleDataFields.UNRECOGNIZED: @@ -597,7 +606,7 @@ export interface VehicleAction { formatUsbAction?: | FormatUSBAction | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ setUpkeepUsernameAction?: | SetUpkeepUsernameAction | undefined; @@ -613,24 +622,36 @@ export interface VehicleAction { cancelVehicleDataSubscription?: | CancelVehicleDataSubscription | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ prepareMobileUploadAction?: | PrepareMobileUploadAction | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ putMobileUploadChunkAction?: | PutMobileUploadChunkAction | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ displayStateAction?: | DisplayStateAction | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ drivingSetCruiseSpeedLimitAction?: | DrivingSetCruiseSpeedLimitAction | undefined; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ - setDeckLightAction?: SetDeckLightAction | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + setDeckLightAction?: + | SetDeckLightAction + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + setKeepOnCabin12vPortAction?: + | SetKeepOnCabin12vPortAction + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + setKeepOnCabin48vPortAction?: + | SetKeepOnCabin48vPortAction + | undefined; + /** Asks the vehicle not to send the routine success reply to this action. // TESLEMETRY-EXT */ + dropNominalSuccessResponses: boolean; } export interface GetVehicleData { @@ -695,13 +716,20 @@ export interface GetVehicleData { | GetChildPresenceDetectionState | undefined; /** TESLEMETRY-EXT */ - getDisplayState: GetDisplayState | undefined; + getDisplayState: + | GetDisplayState + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + getKeepOnAccessoryPortsState: GetKeepOnAccessoryPortsState | undefined; } /** ===== TESLEMETRY-EXT BEGIN ===== */ export interface GetGuiSettings { } +export interface GetKeepOnAccessoryPortsState { +} + export interface GetLegacyVehicleState { } @@ -800,8 +828,8 @@ export interface PrepareMobileUploadAction { imageParams: | MobileImageUploadParams | undefined; - /** UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered. */ - field3: boolean; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + apply: boolean; overwriteOldestIfFull: boolean; } @@ -991,10 +1019,10 @@ export interface DogModeLiveActivityData { interiorImage: | DogModeLiveActivityData_DogModeImageData | undefined; - /** UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ - field3: string; - /** UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ - field4: Date | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + vin: string; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + timestamp: Date | undefined; insideTemperatureCelsius: number; faultState: ClimateState_DogModeState; temperatureUnit: SetTemperatureUnitAction_Unit; @@ -1052,8 +1080,7 @@ export function dogModeLiveActivityData_DisabledReasonToJSON(object: DogModeLive */ export interface DogModeLiveActivityData_DogModeImageData { wrappedKey: Uint8Array; - /** name not recovered */ - encryptedImage: Uint8Array; + image: Uint8Array; } export interface GetTirePressureState { @@ -1172,13 +1199,13 @@ export interface Response { /** ===== TESLEMETRY-EXT BEGIN ===== */ export interface VehicleDataSubscriptionResponse { - unknown: string; + error: string; piiKeyResponse: PiiKeyResponse | undefined; } export interface VitalsSubscriptionResponse { sessionId: number; - unknown: string; + error: string; } export interface PiiKeyResponse { @@ -1188,11 +1215,11 @@ export interface PiiKeyResponse { } export interface PseudonymSyncResponse { - unknown: string; + pseudonym: string; } export interface NavigationRouteResponse { - unknown: string; + route: string; trafficDetail: NavigationRouteResponse_TrafficDetail[]; } @@ -1269,7 +1296,7 @@ export interface AddManagedChargingSiteResponse { export interface RequestTeslaAuthCommand { clientId: string; - unknown: string; + scope: string; returnScopedToken: boolean; } @@ -1282,8 +1309,8 @@ export interface GetMessagesResponse { } export interface Profile { - unknown1: string; - unknown2: string; + uuid: string; + name: string; } export interface GetLocalProfilesResponse { @@ -1291,8 +1318,8 @@ export interface GetLocalProfilesResponse { } export interface KeyInfo { - unknown1: string; - unknown2: string; + name: string; + model: string; publicKey: Uint8Array; lastSeen: Date | undefined; role: Role; @@ -2046,6 +2073,8 @@ export interface VehicleDataSubscription { childPresenceDetectionStateMaxUpdateRateMs: number; /** TESLEMETRY-EXT */ displayStateMaxUpdateRateMs: number; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + keepOnAccessoryPortsStateMaxUpdateRateMs: number; } /** Privacy/security request for handling PII (Personally Identifiable Information) */ @@ -3104,8 +3133,8 @@ export interface PhoneUnitPreferences { export interface SetPhoneSettingPreferencesAction { fontSize: SetPhoneSettingPreferencesAction_FontSize; - /** UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ - field2: string; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + language: string; unitPreferences: PhoneUnitPreferences | undefined; } @@ -3151,7 +3180,6 @@ export interface CancelVehicleDataSubscription { /** UNCONFIRMED: not yet confirmed on a live vehicle. */ export interface SetUpkeepUsernameAction { - /** name not recovered */ username: string; } @@ -3166,10 +3194,25 @@ export interface DrivingSetCruiseSpeedLimitAction { /** UNCONFIRMED: not yet confirmed on a live vehicle. */ export interface SetDeckLightAction { - /** name not recovered */ on: boolean; } +/** + * Keeps the 12 V cabin accessory socket powered (or not). + * UNCONFIRMED: not yet confirmed on a live vehicle. + */ +export interface SetKeepOnCabin12vPortAction { + keepOnMode: KeepOnAccessoryPortRequest; +} + +/** + * Keeps the 48 V cabin accessory socket powered (or not). + * UNCONFIRMED: not yet confirmed on a live vehicle. + */ +export interface SetKeepOnCabin48vPortAction { + keepOnMode: KeepOnAccessoryPortRequest; +} + function createBaseAction(): Action { return { vehicleAction: undefined }; } @@ -3367,6 +3410,9 @@ function createBaseVehicleAction(): VehicleAction { displayStateAction: undefined, drivingSetCruiseSpeedLimitAction: undefined, setDeckLightAction: undefined, + setKeepOnCabin12vPortAction: undefined, + setKeepOnCabin48vPortAction: undefined, + dropNominalSuccessResponses: false, }; } @@ -3821,6 +3867,15 @@ export const VehicleAction: MessageFns = { if (message.setDeckLightAction !== undefined) { SetDeckLightAction.encode(message.setDeckLightAction, writer.uint32(5584306).fork()).join(); } + if (message.setKeepOnCabin12vPortAction !== undefined) { + SetKeepOnCabin12vPortAction.encode(message.setKeepOnCabin12vPortAction, writer.uint32(5770098).fork()).join(); + } + if (message.setKeepOnCabin48vPortAction !== undefined) { + SetKeepOnCabin48vPortAction.encode(message.setKeepOnCabin48vPortAction, writer.uint32(5770106).fork()).join(); + } + if (message.dropNominalSuccessResponses !== false) { + writer.uint32(1480).bool(message.dropNominalSuccessResponses); + } return writer; }, @@ -4953,6 +5008,30 @@ export const VehicleAction: MessageFns = { message.setDeckLightAction = SetDeckLightAction.decode(reader, reader.uint32()); continue; } + case 721262: { + if (tag !== 5770098) { + break; + } + + message.setKeepOnCabin12vPortAction = SetKeepOnCabin12vPortAction.decode(reader, reader.uint32()); + continue; + } + case 721263: { + if (tag !== 5770106) { + break; + } + + message.setKeepOnCabin48vPortAction = SetKeepOnCabin48vPortAction.decode(reader, reader.uint32()); + continue; + } + case 185: { + if (tag !== 1480) { + break; + } + + message.dropNominalSuccessResponses = reader.bool(); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -5341,6 +5420,15 @@ export const VehicleAction: MessageFns = { setDeckLightAction: isSet(object.setDeckLightAction) ? SetDeckLightAction.fromJSON(object.setDeckLightAction) : undefined, + setKeepOnCabin12vPortAction: isSet(object.setKeepOnCabin12vPortAction) + ? SetKeepOnCabin12vPortAction.fromJSON(object.setKeepOnCabin12vPortAction) + : undefined, + setKeepOnCabin48vPortAction: isSet(object.setKeepOnCabin48vPortAction) + ? SetKeepOnCabin48vPortAction.fromJSON(object.setKeepOnCabin48vPortAction) + : undefined, + dropNominalSuccessResponses: isSet(object.dropNominalSuccessResponses) + ? globalThis.Boolean(object.dropNominalSuccessResponses) + : false, }; }, @@ -5827,6 +5915,15 @@ export const VehicleAction: MessageFns = { if (message.setDeckLightAction !== undefined) { obj.setDeckLightAction = SetDeckLightAction.toJSON(message.setDeckLightAction); } + if (message.setKeepOnCabin12vPortAction !== undefined) { + obj.setKeepOnCabin12vPortAction = SetKeepOnCabin12vPortAction.toJSON(message.setKeepOnCabin12vPortAction); + } + if (message.setKeepOnCabin48vPortAction !== undefined) { + obj.setKeepOnCabin48vPortAction = SetKeepOnCabin48vPortAction.toJSON(message.setKeepOnCabin48vPortAction); + } + if (message.dropNominalSuccessResponses !== undefined) { + obj.dropNominalSuccessResponses = message.dropNominalSuccessResponses; + } return obj; }, @@ -6340,6 +6437,15 @@ export const VehicleAction: MessageFns = { message.setDeckLightAction = (object.setDeckLightAction !== undefined && object.setDeckLightAction !== null) ? SetDeckLightAction.fromPartial(object.setDeckLightAction) : undefined; + message.setKeepOnCabin12vPortAction = + (object.setKeepOnCabin12vPortAction !== undefined && object.setKeepOnCabin12vPortAction !== null) + ? SetKeepOnCabin12vPortAction.fromPartial(object.setKeepOnCabin12vPortAction) + : undefined; + message.setKeepOnCabin48vPortAction = + (object.setKeepOnCabin48vPortAction !== undefined && object.setKeepOnCabin48vPortAction !== null) + ? SetKeepOnCabin48vPortAction.fromPartial(object.setKeepOnCabin48vPortAction) + : undefined; + message.dropNominalSuccessResponses = object.dropNominalSuccessResponses ?? false; return message; }, }; @@ -6371,6 +6477,7 @@ function createBaseGetVehicleData(): GetVehicleData { getSuspensionState: undefined, getChildPresenceDetectionState: undefined, getDisplayState: undefined, + getKeepOnAccessoryPortsState: undefined, }; } @@ -6451,6 +6558,9 @@ export const GetVehicleData: MessageFns = { if (message.getDisplayState !== undefined) { GetDisplayState.encode(message.getDisplayState, writer.uint32(250).fork()).join(); } + if (message.getKeepOnAccessoryPortsState !== undefined) { + GetKeepOnAccessoryPortsState.encode(message.getKeepOnAccessoryPortsState, writer.uint32(274).fork()).join(); + } return writer; }, @@ -6661,6 +6771,14 @@ export const GetVehicleData: MessageFns = { message.getDisplayState = GetDisplayState.decode(reader, reader.uint32()); continue; } + case 34: { + if (tag !== 274) { + break; + } + + message.getKeepOnAccessoryPortsState = GetKeepOnAccessoryPortsState.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -6723,6 +6841,9 @@ export const GetVehicleData: MessageFns = { ? GetChildPresenceDetectionState.fromJSON(object.getChildPresenceDetectionState) : undefined, getDisplayState: isSet(object.getDisplayState) ? GetDisplayState.fromJSON(object.getDisplayState) : undefined, + getKeepOnAccessoryPortsState: isSet(object.getKeepOnAccessoryPortsState) + ? GetKeepOnAccessoryPortsState.fromJSON(object.getKeepOnAccessoryPortsState) + : undefined, }; }, @@ -6807,6 +6928,9 @@ export const GetVehicleData: MessageFns = { if (message.getDisplayState !== undefined) { obj.getDisplayState = GetDisplayState.toJSON(message.getDisplayState); } + if (message.getKeepOnAccessoryPortsState !== undefined) { + obj.getKeepOnAccessoryPortsState = GetKeepOnAccessoryPortsState.toJSON(message.getKeepOnAccessoryPortsState); + } return obj; }, @@ -6898,6 +7022,10 @@ export const GetVehicleData: MessageFns = { message.getDisplayState = (object.getDisplayState !== undefined && object.getDisplayState !== null) ? GetDisplayState.fromPartial(object.getDisplayState) : undefined; + message.getKeepOnAccessoryPortsState = + (object.getKeepOnAccessoryPortsState !== undefined && object.getKeepOnAccessoryPortsState !== null) + ? GetKeepOnAccessoryPortsState.fromPartial(object.getKeepOnAccessoryPortsState) + : undefined; return message; }, }; @@ -6945,6 +7073,49 @@ export const GetGuiSettings: MessageFns = { }, }; +function createBaseGetKeepOnAccessoryPortsState(): GetKeepOnAccessoryPortsState { + return {}; +} + +export const GetKeepOnAccessoryPortsState: MessageFns = { + encode(_: GetKeepOnAccessoryPortsState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetKeepOnAccessoryPortsState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetKeepOnAccessoryPortsState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): GetKeepOnAccessoryPortsState { + return {}; + }, + + toJSON(_: GetKeepOnAccessoryPortsState): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): GetKeepOnAccessoryPortsState { + return GetKeepOnAccessoryPortsState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): GetKeepOnAccessoryPortsState { + const message = createBaseGetKeepOnAccessoryPortsState(); + return message; + }, +}; + function createBaseGetLegacyVehicleState(): GetLegacyVehicleState { return {}; } @@ -7835,7 +8006,7 @@ export const MobileUploadParams: MessageFns = { }; function createBasePrepareMobileUploadAction(): PrepareMobileUploadAction { - return { uploadParams: undefined, imageParams: undefined, field3: false, overwriteOldestIfFull: false }; + return { uploadParams: undefined, imageParams: undefined, apply: false, overwriteOldestIfFull: false }; } export const PrepareMobileUploadAction: MessageFns = { @@ -7846,8 +8017,8 @@ export const PrepareMobileUploadAction: MessageFns = if (message.imageParams !== undefined) { MobileImageUploadParams.encode(message.imageParams, writer.uint32(18).fork()).join(); } - if (message.field3 !== false) { - writer.uint32(24).bool(message.field3); + if (message.apply !== false) { + writer.uint32(24).bool(message.apply); } if (message.overwriteOldestIfFull !== false) { writer.uint32(32).bool(message.overwriteOldestIfFull); @@ -7883,7 +8054,7 @@ export const PrepareMobileUploadAction: MessageFns = break; } - message.field3 = reader.bool(); + message.apply = reader.bool(); continue; } case 4: { @@ -7907,7 +8078,7 @@ export const PrepareMobileUploadAction: MessageFns = return { uploadParams: isSet(object.uploadParams) ? MobileUploadParams.fromJSON(object.uploadParams) : undefined, imageParams: isSet(object.imageParams) ? MobileImageUploadParams.fromJSON(object.imageParams) : undefined, - field3: isSet(object.field3) ? globalThis.Boolean(object.field3) : false, + apply: isSet(object.apply) ? globalThis.Boolean(object.apply) : false, overwriteOldestIfFull: isSet(object.overwriteOldestIfFull) ? globalThis.Boolean(object.overwriteOldestIfFull) : false, @@ -7922,8 +8093,8 @@ export const PrepareMobileUploadAction: MessageFns = if (message.imageParams !== undefined) { obj.imageParams = MobileImageUploadParams.toJSON(message.imageParams); } - if (message.field3 !== undefined) { - obj.field3 = message.field3; + if (message.apply !== undefined) { + obj.apply = message.apply; } if (message.overwriteOldestIfFull !== undefined) { obj.overwriteOldestIfFull = message.overwriteOldestIfFull; @@ -7942,7 +8113,7 @@ export const PrepareMobileUploadAction: MessageFns = message.imageParams = (object.imageParams !== undefined && object.imageParams !== null) ? MobileImageUploadParams.fromPartial(object.imageParams) : undefined; - message.field3 = object.field3 ?? false; + message.apply = object.apply ?? false; message.overwriteOldestIfFull = object.overwriteOldestIfFull ?? false; return message; }, @@ -8212,8 +8383,8 @@ function createBaseDogModeLiveActivityData(): DogModeLiveActivityData { return { disabledReason: 0, interiorImage: undefined, - field3: "", - field4: undefined, + vin: "", + timestamp: undefined, insideTemperatureCelsius: 0, faultState: 0, temperatureUnit: 0, @@ -8229,11 +8400,11 @@ export const DogModeLiveActivityData: MessageFns = { if (message.interiorImage !== undefined) { DogModeLiveActivityData_DogModeImageData.encode(message.interiorImage, writer.uint32(18).fork()).join(); } - if (message.field3 !== "") { - writer.uint32(26).string(message.field3); + if (message.vin !== "") { + writer.uint32(26).string(message.vin); } - if (message.field4 !== undefined) { - Timestamp.encode(toTimestamp(message.field4), writer.uint32(34).fork()).join(); + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(34).fork()).join(); } if (message.insideTemperatureCelsius !== 0) { writer.uint32(45).float(message.insideTemperatureCelsius); @@ -8278,7 +8449,7 @@ export const DogModeLiveActivityData: MessageFns = { break; } - message.field3 = reader.string(); + message.vin = reader.string(); continue; } case 4: { @@ -8286,7 +8457,7 @@ export const DogModeLiveActivityData: MessageFns = { break; } - message.field4 = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); continue; } case 5: { @@ -8338,8 +8509,8 @@ export const DogModeLiveActivityData: MessageFns = { interiorImage: isSet(object.interiorImage) ? DogModeLiveActivityData_DogModeImageData.fromJSON(object.interiorImage) : undefined, - field3: isSet(object.field3) ? globalThis.String(object.field3) : "", - field4: isSet(object.field4) ? fromJsonTimestamp(object.field4) : undefined, + vin: isSet(object.vin) ? globalThis.String(object.vin) : "", + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, insideTemperatureCelsius: isSet(object.insideTemperatureCelsius) ? globalThis.Number(object.insideTemperatureCelsius) : 0, @@ -8359,11 +8530,11 @@ export const DogModeLiveActivityData: MessageFns = { if (message.interiorImage !== undefined) { obj.interiorImage = DogModeLiveActivityData_DogModeImageData.toJSON(message.interiorImage); } - if (message.field3 !== undefined) { - obj.field3 = message.field3; + if (message.vin !== undefined) { + obj.vin = message.vin; } - if (message.field4 !== undefined) { - obj.field4 = message.field4.toISOString(); + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); } if (message.insideTemperatureCelsius !== undefined) { obj.insideTemperatureCelsius = message.insideTemperatureCelsius; @@ -8389,8 +8560,8 @@ export const DogModeLiveActivityData: MessageFns = { message.interiorImage = (object.interiorImage !== undefined && object.interiorImage !== null) ? DogModeLiveActivityData_DogModeImageData.fromPartial(object.interiorImage) : undefined; - message.field3 = object.field3 ?? ""; - message.field4 = object.field4 ?? undefined; + message.vin = object.vin ?? ""; + message.timestamp = object.timestamp ?? undefined; message.insideTemperatureCelsius = object.insideTemperatureCelsius ?? 0; message.faultState = object.faultState ?? 0; message.temperatureUnit = object.temperatureUnit ?? 0; @@ -8400,7 +8571,7 @@ export const DogModeLiveActivityData: MessageFns = { }; function createBaseDogModeLiveActivityData_DogModeImageData(): DogModeLiveActivityData_DogModeImageData { - return { wrappedKey: new Uint8Array(0), encryptedImage: new Uint8Array(0) }; + return { wrappedKey: new Uint8Array(0), image: new Uint8Array(0) }; } export const DogModeLiveActivityData_DogModeImageData: MessageFns = { @@ -8408,8 +8579,8 @@ export const DogModeLiveActivityData_DogModeImageData: MessageFns = { }; function createBaseVehicleDataSubscriptionResponse(): VehicleDataSubscriptionResponse { - return { unknown: "", piiKeyResponse: undefined }; + return { error: "", piiKeyResponse: undefined }; } export const VehicleDataSubscriptionResponse: MessageFns = { encode(message: VehicleDataSubscriptionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.unknown !== "") { - writer.uint32(26).string(message.unknown); + if (message.error !== "") { + writer.uint32(26).string(message.error); } if (message.piiKeyResponse !== undefined) { PiiKeyResponse.encode(message.piiKeyResponse, writer.uint32(34).fork()).join(); @@ -9592,7 +9763,7 @@ export const VehicleDataSubscriptionResponse: MessageFns = { @@ -9654,8 +9825,8 @@ export const VitalsSubscriptionResponse: MessageFns if (message.sessionId !== 0) { writer.uint32(8).int32(message.sessionId); } - if (message.unknown !== "") { - writer.uint32(18).string(message.unknown); + if (message.error !== "") { + writer.uint32(18).string(message.error); } return writer; }, @@ -9680,7 +9851,7 @@ export const VitalsSubscriptionResponse: MessageFns break; } - message.unknown = reader.string(); + message.error = reader.string(); continue; } } @@ -9695,7 +9866,7 @@ export const VitalsSubscriptionResponse: MessageFns fromJSON(object: any): VitalsSubscriptionResponse { return { sessionId: isSet(object.sessionId) ? globalThis.Number(object.sessionId) : 0, - unknown: isSet(object.unknown) ? globalThis.String(object.unknown) : "", + error: isSet(object.error) ? globalThis.String(object.error) : "", }; }, @@ -9704,8 +9875,8 @@ export const VitalsSubscriptionResponse: MessageFns if (message.sessionId !== undefined) { obj.sessionId = Math.round(message.sessionId); } - if (message.unknown !== undefined) { - obj.unknown = message.unknown; + if (message.error !== undefined) { + obj.error = message.error; } return obj; }, @@ -9716,7 +9887,7 @@ export const VitalsSubscriptionResponse: MessageFns fromPartial, I>>(object: I): VitalsSubscriptionResponse { const message = createBaseVitalsSubscriptionResponse(); message.sessionId = object.sessionId ?? 0; - message.unknown = object.unknown ?? ""; + message.error = object.error ?? ""; return message; }, }; @@ -9816,13 +9987,13 @@ export const PiiKeyResponse: MessageFns = { }; function createBasePseudonymSyncResponse(): PseudonymSyncResponse { - return { unknown: "" }; + return { pseudonym: "" }; } export const PseudonymSyncResponse: MessageFns = { encode(message: PseudonymSyncResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.unknown !== "") { - writer.uint32(10).string(message.unknown); + if (message.pseudonym !== "") { + writer.uint32(10).string(message.pseudonym); } return writer; }, @@ -9839,7 +10010,7 @@ export const PseudonymSyncResponse: MessageFns = { break; } - message.unknown = reader.string(); + message.pseudonym = reader.string(); continue; } } @@ -9852,13 +10023,13 @@ export const PseudonymSyncResponse: MessageFns = { }, fromJSON(object: any): PseudonymSyncResponse { - return { unknown: isSet(object.unknown) ? globalThis.String(object.unknown) : "" }; + return { pseudonym: isSet(object.pseudonym) ? globalThis.String(object.pseudonym) : "" }; }, toJSON(message: PseudonymSyncResponse): unknown { const obj: any = {}; - if (message.unknown !== undefined) { - obj.unknown = message.unknown; + if (message.pseudonym !== undefined) { + obj.pseudonym = message.pseudonym; } return obj; }, @@ -9868,19 +10039,19 @@ export const PseudonymSyncResponse: MessageFns = { }, fromPartial, I>>(object: I): PseudonymSyncResponse { const message = createBasePseudonymSyncResponse(); - message.unknown = object.unknown ?? ""; + message.pseudonym = object.pseudonym ?? ""; return message; }, }; function createBaseNavigationRouteResponse(): NavigationRouteResponse { - return { unknown: "", trafficDetail: [] }; + return { route: "", trafficDetail: [] }; } export const NavigationRouteResponse: MessageFns = { encode(message: NavigationRouteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.unknown !== "") { - writer.uint32(10).string(message.unknown); + if (message.route !== "") { + writer.uint32(10).string(message.route); } for (const v of message.trafficDetail) { NavigationRouteResponse_TrafficDetail.encode(v!, writer.uint32(18).fork()).join(); @@ -9900,7 +10071,7 @@ export const NavigationRouteResponse: MessageFns = { break; } - message.unknown = reader.string(); + message.route = reader.string(); continue; } case 2: { @@ -9922,7 +10093,7 @@ export const NavigationRouteResponse: MessageFns = { fromJSON(object: any): NavigationRouteResponse { return { - unknown: isSet(object.unknown) ? globalThis.String(object.unknown) : "", + route: isSet(object.route) ? globalThis.String(object.route) : "", trafficDetail: globalThis.Array.isArray(object?.trafficDetail) ? object.trafficDetail.map((e: any) => NavigationRouteResponse_TrafficDetail.fromJSON(e)) : [], @@ -9931,8 +10102,8 @@ export const NavigationRouteResponse: MessageFns = { toJSON(message: NavigationRouteResponse): unknown { const obj: any = {}; - if (message.unknown !== undefined) { - obj.unknown = message.unknown; + if (message.route !== undefined) { + obj.route = message.route; } if (message.trafficDetail?.length) { obj.trafficDetail = message.trafficDetail.map((e) => NavigationRouteResponse_TrafficDetail.toJSON(e)); @@ -9945,7 +10116,7 @@ export const NavigationRouteResponse: MessageFns = { }, fromPartial, I>>(object: I): NavigationRouteResponse { const message = createBaseNavigationRouteResponse(); - message.unknown = object.unknown ?? ""; + message.route = object.route ?? ""; message.trafficDetail = object.trafficDetail?.map((e) => NavigationRouteResponse_TrafficDetail.fromPartial(e)) || []; return message; @@ -10279,7 +10450,7 @@ export const AddManagedChargingSiteResponse: MessageFns = { @@ -10287,8 +10458,8 @@ export const RequestTeslaAuthCommand: MessageFns = { if (message.clientId !== "") { writer.uint32(10).string(message.clientId); } - if (message.unknown !== "") { - writer.uint32(18).string(message.unknown); + if (message.scope !== "") { + writer.uint32(18).string(message.scope); } if (message.returnScopedToken !== false) { writer.uint32(24).bool(message.returnScopedToken); @@ -10316,7 +10487,7 @@ export const RequestTeslaAuthCommand: MessageFns = { break; } - message.unknown = reader.string(); + message.scope = reader.string(); continue; } case 3: { @@ -10339,7 +10510,7 @@ export const RequestTeslaAuthCommand: MessageFns = { fromJSON(object: any): RequestTeslaAuthCommand { return { clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "", - unknown: isSet(object.unknown) ? globalThis.String(object.unknown) : "", + scope: isSet(object.scope) ? globalThis.String(object.scope) : "", returnScopedToken: isSet(object.returnScopedToken) ? globalThis.Boolean(object.returnScopedToken) : false, }; }, @@ -10349,8 +10520,8 @@ export const RequestTeslaAuthCommand: MessageFns = { if (message.clientId !== undefined) { obj.clientId = message.clientId; } - if (message.unknown !== undefined) { - obj.unknown = message.unknown; + if (message.scope !== undefined) { + obj.scope = message.scope; } if (message.returnScopedToken !== undefined) { obj.returnScopedToken = message.returnScopedToken; @@ -10364,7 +10535,7 @@ export const RequestTeslaAuthCommand: MessageFns = { fromPartial, I>>(object: I): RequestTeslaAuthCommand { const message = createBaseRequestTeslaAuthCommand(); message.clientId = object.clientId ?? ""; - message.unknown = object.unknown ?? ""; + message.scope = object.scope ?? ""; message.returnScopedToken = object.returnScopedToken ?? false; return message; }, @@ -10498,16 +10669,16 @@ export const GetMessagesResponse: MessageFns = { }; function createBaseProfile(): Profile { - return { unknown1: "", unknown2: "" }; + return { uuid: "", name: "" }; } export const Profile: MessageFns = { encode(message: Profile, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.unknown1 !== "") { - writer.uint32(10).string(message.unknown1); + if (message.uuid !== "") { + writer.uint32(10).string(message.uuid); } - if (message.unknown2 !== "") { - writer.uint32(18).string(message.unknown2); + if (message.name !== "") { + writer.uint32(18).string(message.name); } return writer; }, @@ -10524,7 +10695,7 @@ export const Profile: MessageFns = { break; } - message.unknown1 = reader.string(); + message.uuid = reader.string(); continue; } case 2: { @@ -10532,7 +10703,7 @@ export const Profile: MessageFns = { break; } - message.unknown2 = reader.string(); + message.name = reader.string(); continue; } } @@ -10546,18 +10717,18 @@ export const Profile: MessageFns = { fromJSON(object: any): Profile { return { - unknown1: isSet(object.unknown1) ? globalThis.String(object.unknown1) : "", - unknown2: isSet(object.unknown2) ? globalThis.String(object.unknown2) : "", + uuid: isSet(object.uuid) ? globalThis.String(object.uuid) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", }; }, toJSON(message: Profile): unknown { const obj: any = {}; - if (message.unknown1 !== undefined) { - obj.unknown1 = message.unknown1; + if (message.uuid !== undefined) { + obj.uuid = message.uuid; } - if (message.unknown2 !== undefined) { - obj.unknown2 = message.unknown2; + if (message.name !== undefined) { + obj.name = message.name; } return obj; }, @@ -10567,8 +10738,8 @@ export const Profile: MessageFns = { }, fromPartial, I>>(object: I): Profile { const message = createBaseProfile(); - message.unknown1 = object.unknown1 ?? ""; - message.unknown2 = object.unknown2 ?? ""; + message.uuid = object.uuid ?? ""; + message.name = object.name ?? ""; return message; }, }; @@ -10634,16 +10805,16 @@ export const GetLocalProfilesResponse: MessageFns = { }; function createBaseKeyInfo(): KeyInfo { - return { unknown1: "", unknown2: "", publicKey: new Uint8Array(0), lastSeen: undefined, role: 0, formFactor: 0 }; + return { name: "", model: "", publicKey: new Uint8Array(0), lastSeen: undefined, role: 0, formFactor: 0 }; } export const KeyInfo: MessageFns = { encode(message: KeyInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.unknown1 !== "") { - writer.uint32(10).string(message.unknown1); + if (message.name !== "") { + writer.uint32(10).string(message.name); } - if (message.unknown2 !== "") { - writer.uint32(18).string(message.unknown2); + if (message.model !== "") { + writer.uint32(18).string(message.model); } if (message.publicKey.length !== 0) { writer.uint32(26).bytes(message.publicKey); @@ -10672,7 +10843,7 @@ export const KeyInfo: MessageFns = { break; } - message.unknown1 = reader.string(); + message.name = reader.string(); continue; } case 2: { @@ -10680,7 +10851,7 @@ export const KeyInfo: MessageFns = { break; } - message.unknown2 = reader.string(); + message.model = reader.string(); continue; } case 3: { @@ -10726,8 +10897,8 @@ export const KeyInfo: MessageFns = { fromJSON(object: any): KeyInfo { return { - unknown1: isSet(object.unknown1) ? globalThis.String(object.unknown1) : "", - unknown2: isSet(object.unknown2) ? globalThis.String(object.unknown2) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", + model: isSet(object.model) ? globalThis.String(object.model) : "", publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0), lastSeen: isSet(object.lastSeen) ? fromJsonTimestamp(object.lastSeen) : undefined, role: isSet(object.role) ? roleFromJSON(object.role) : 0, @@ -10737,11 +10908,11 @@ export const KeyInfo: MessageFns = { toJSON(message: KeyInfo): unknown { const obj: any = {}; - if (message.unknown1 !== undefined) { - obj.unknown1 = message.unknown1; + if (message.name !== undefined) { + obj.name = message.name; } - if (message.unknown2 !== undefined) { - obj.unknown2 = message.unknown2; + if (message.model !== undefined) { + obj.model = message.model; } if (message.publicKey !== undefined) { obj.publicKey = base64FromBytes(message.publicKey); @@ -10763,8 +10934,8 @@ export const KeyInfo: MessageFns = { }, fromPartial, I>>(object: I): KeyInfo { const message = createBaseKeyInfo(); - message.unknown1 = object.unknown1 ?? ""; - message.unknown2 = object.unknown2 ?? ""; + message.name = object.name ?? ""; + message.model = object.model ?? ""; message.publicKey = object.publicKey ?? new Uint8Array(0); message.lastSeen = object.lastSeen ?? undefined; message.role = object.role ?? 0; @@ -16631,6 +16802,7 @@ function createBaseVehicleDataSubscription(): VehicleDataSubscription { suspensionStateMaxUpdateRateMs: 0, childPresenceDetectionStateMaxUpdateRateMs: 0, displayStateMaxUpdateRateMs: 0, + keepOnAccessoryPortsStateMaxUpdateRateMs: 0, }; } @@ -16690,6 +16862,9 @@ export const VehicleDataSubscription: MessageFns = { if (message.displayStateMaxUpdateRateMs !== 0) { writer.uint32(224).int32(message.displayStateMaxUpdateRateMs); } + if (message.keepOnAccessoryPortsStateMaxUpdateRateMs !== 0) { + writer.uint32(248).int32(message.keepOnAccessoryPortsStateMaxUpdateRateMs); + } return writer; }, @@ -16844,6 +17019,14 @@ export const VehicleDataSubscription: MessageFns = { message.displayStateMaxUpdateRateMs = reader.int32(); continue; } + case 31: { + if (tag !== 248) { + break; + } + + message.keepOnAccessoryPortsStateMaxUpdateRateMs = reader.int32(); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -16905,6 +17088,9 @@ export const VehicleDataSubscription: MessageFns = { displayStateMaxUpdateRateMs: isSet(object.displayStateMaxUpdateRateMs) ? globalThis.Number(object.displayStateMaxUpdateRateMs) : 0, + keepOnAccessoryPortsStateMaxUpdateRateMs: isSet(object.keepOnAccessoryPortsStateMaxUpdateRateMs) + ? globalThis.Number(object.keepOnAccessoryPortsStateMaxUpdateRateMs) + : 0, }; }, @@ -16964,6 +17150,9 @@ export const VehicleDataSubscription: MessageFns = { if (message.displayStateMaxUpdateRateMs !== undefined) { obj.displayStateMaxUpdateRateMs = Math.round(message.displayStateMaxUpdateRateMs); } + if (message.keepOnAccessoryPortsStateMaxUpdateRateMs !== undefined) { + obj.keepOnAccessoryPortsStateMaxUpdateRateMs = Math.round(message.keepOnAccessoryPortsStateMaxUpdateRateMs); + } return obj; }, @@ -16992,6 +17181,7 @@ export const VehicleDataSubscription: MessageFns = { message.suspensionStateMaxUpdateRateMs = object.suspensionStateMaxUpdateRateMs ?? 0; message.childPresenceDetectionStateMaxUpdateRateMs = object.childPresenceDetectionStateMaxUpdateRateMs ?? 0; message.displayStateMaxUpdateRateMs = object.displayStateMaxUpdateRateMs ?? 0; + message.keepOnAccessoryPortsStateMaxUpdateRateMs = object.keepOnAccessoryPortsStateMaxUpdateRateMs ?? 0; return message; }, }; @@ -23535,7 +23725,7 @@ export const PhoneUnitPreferences: MessageFns = { }; function createBaseSetPhoneSettingPreferencesAction(): SetPhoneSettingPreferencesAction { - return { fontSize: 0, field2: "", unitPreferences: undefined }; + return { fontSize: 0, language: "", unitPreferences: undefined }; } export const SetPhoneSettingPreferencesAction: MessageFns = { @@ -23543,8 +23733,8 @@ export const SetPhoneSettingPreferencesAction: MessageFns = { }, }; +function createBaseSetKeepOnCabin12vPortAction(): SetKeepOnCabin12vPortAction { + return { keepOnMode: 0 }; +} + +export const SetKeepOnCabin12vPortAction: MessageFns = { + encode(message: SetKeepOnCabin12vPortAction, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.keepOnMode !== 0) { + writer.uint32(8).int32(message.keepOnMode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SetKeepOnCabin12vPortAction { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSetKeepOnCabin12vPortAction(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.keepOnMode = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SetKeepOnCabin12vPortAction { + return { keepOnMode: isSet(object.keepOnMode) ? keepOnAccessoryPortRequestFromJSON(object.keepOnMode) : 0 }; + }, + + toJSON(message: SetKeepOnCabin12vPortAction): unknown { + const obj: any = {}; + if (message.keepOnMode !== undefined) { + obj.keepOnMode = keepOnAccessoryPortRequestToJSON(message.keepOnMode); + } + return obj; + }, + + create, I>>(base?: I): SetKeepOnCabin12vPortAction { + return SetKeepOnCabin12vPortAction.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SetKeepOnCabin12vPortAction { + const message = createBaseSetKeepOnCabin12vPortAction(); + message.keepOnMode = object.keepOnMode ?? 0; + return message; + }, +}; + +function createBaseSetKeepOnCabin48vPortAction(): SetKeepOnCabin48vPortAction { + return { keepOnMode: 0 }; +} + +export const SetKeepOnCabin48vPortAction: MessageFns = { + encode(message: SetKeepOnCabin48vPortAction, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.keepOnMode !== 0) { + writer.uint32(8).int32(message.keepOnMode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SetKeepOnCabin48vPortAction { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSetKeepOnCabin48vPortAction(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.keepOnMode = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SetKeepOnCabin48vPortAction { + return { keepOnMode: isSet(object.keepOnMode) ? keepOnAccessoryPortRequestFromJSON(object.keepOnMode) : 0 }; + }, + + toJSON(message: SetKeepOnCabin48vPortAction): unknown { + const obj: any = {}; + if (message.keepOnMode !== undefined) { + obj.keepOnMode = keepOnAccessoryPortRequestToJSON(message.keepOnMode); + } + return obj; + }, + + create, I>>(base?: I): SetKeepOnCabin48vPortAction { + return SetKeepOnCabin48vPortAction.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SetKeepOnCabin48vPortAction { + const message = createBaseSetKeepOnCabin48vPortAction(); + message.keepOnMode = object.keepOnMode ?? 0; + return message; + }, +}; + function bytesFromBase64(b64: string): Uint8Array { if ((globalThis as any).Buffer) { return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); diff --git a/packages/typescript/src/command/signatures.ts b/packages/typescript/src/command/signatures.ts index 7a8557e..2dadae6 100644 --- a/packages/typescript/src/command/signatures.ts +++ b/packages/typescript/src/command/signatures.ts @@ -311,16 +311,13 @@ export interface PresentKeySignatureData { authToken: Uint8Array; } -/** - * UNCONFIRMED: not yet confirmed on a live vehicle. - * Names of fields 1, 2, 4 and 5 not recovered. - */ +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ export interface AESGCMDetachedSignatureData { - epoch: Uint8Array; + nonce: Uint8Array; counter: number; expiresAt: number; - nonce: Uint8Array; tag: Uint8Array; + prefix: Uint8Array; } /** @@ -329,7 +326,6 @@ export interface AESGCMDetachedSignatureData { */ export interface CertificateECDSASignatureData { certificateChainDer: Uint8Array; - /** name not recovered */ signature: Uint8Array; } @@ -375,8 +371,8 @@ export interface SessionInfo { clockTime: number; status: SessionInfoStatus; handle: number; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ - field7: number; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + flags: number; } function createBaseKeyIdentity(): KeyIdentity { @@ -748,13 +744,13 @@ export const PresentKeySignatureData: MessageFns = { }; function createBaseAESGCMDetachedSignatureData(): AESGCMDetachedSignatureData { - return { epoch: new Uint8Array(0), counter: 0, expiresAt: 0, nonce: new Uint8Array(0), tag: new Uint8Array(0) }; + return { nonce: new Uint8Array(0), counter: 0, expiresAt: 0, tag: new Uint8Array(0), prefix: new Uint8Array(0) }; } export const AESGCMDetachedSignatureData: MessageFns = { encode(message: AESGCMDetachedSignatureData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.epoch.length !== 0) { - writer.uint32(10).bytes(message.epoch); + if (message.nonce.length !== 0) { + writer.uint32(10).bytes(message.nonce); } if (message.counter !== 0) { writer.uint32(16).uint32(message.counter); @@ -762,11 +758,11 @@ export const AESGCMDetachedSignatureData: MessageFns, I>>(object: I): AESGCMDetachedSignatureData { const message = createBaseAESGCMDetachedSignatureData(); - message.epoch = object.epoch ?? new Uint8Array(0); + message.nonce = object.nonce ?? new Uint8Array(0); message.counter = object.counter ?? 0; message.expiresAt = object.expiresAt ?? 0; - message.nonce = object.nonce ?? new Uint8Array(0); message.tag = object.tag ?? new Uint8Array(0); + message.prefix = object.prefix ?? new Uint8Array(0); return message; }, }; @@ -1397,7 +1393,7 @@ function createBaseSessionInfo(): SessionInfo { clockTime: 0, status: 0, handle: 0, - field7: 0, + flags: 0, }; } @@ -1421,8 +1417,8 @@ export const SessionInfo: MessageFns = { if (message.handle !== 0) { writer.uint32(48).uint32(message.handle); } - if (message.field7 !== 0) { - writer.uint32(56).uint32(message.field7); + if (message.flags !== 0) { + writer.uint32(56).uint32(message.flags); } return writer; }, @@ -1487,7 +1483,7 @@ export const SessionInfo: MessageFns = { break; } - message.field7 = reader.uint32(); + message.flags = reader.uint32(); continue; } } @@ -1507,7 +1503,7 @@ export const SessionInfo: MessageFns = { clockTime: isSet(object.clockTime) ? globalThis.Number(object.clockTime) : 0, status: isSet(object.status) ? sessionInfoStatusFromJSON(object.status) : 0, handle: isSet(object.handle) ? globalThis.Number(object.handle) : 0, - field7: isSet(object.field7) ? globalThis.Number(object.field7) : 0, + flags: isSet(object.flags) ? globalThis.Number(object.flags) : 0, }; }, @@ -1531,8 +1527,8 @@ export const SessionInfo: MessageFns = { if (message.handle !== undefined) { obj.handle = Math.round(message.handle); } - if (message.field7 !== undefined) { - obj.field7 = Math.round(message.field7); + if (message.flags !== undefined) { + obj.flags = Math.round(message.flags); } return obj; }, @@ -1548,7 +1544,7 @@ export const SessionInfo: MessageFns = { message.clockTime = object.clockTime ?? 0; message.status = object.status ?? 0; message.handle = object.handle ?? 0; - message.field7 = object.field7 ?? 0; + message.flags = object.flags ?? 0; return message; }, }; diff --git a/packages/typescript/src/command/universal_message.ts b/packages/typescript/src/command/universal_message.ts index 9ced0cc..0b20b99 100644 --- a/packages/typescript/src/command/universal_message.ts +++ b/packages/typescript/src/command/universal_message.ts @@ -29,6 +29,8 @@ export enum Domain { DOMAIN_ENERGY_DEVICE = 7, /** DOMAIN_ENERGY_DEVICE_AUTH - TESLEMETRY-EXT */ DOMAIN_ENERGY_DEVICE_AUTH = 8, + /** DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND - TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND = 11, UNRECOGNIZED = -1, } @@ -55,6 +57,9 @@ export function domainFromJSON(object: any): Domain { case 8: case "DOMAIN_ENERGY_DEVICE_AUTH": return Domain.DOMAIN_ENERGY_DEVICE_AUTH; + case 11: + case "DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND": + return Domain.DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND; case -1: case "UNRECOGNIZED": default: @@ -78,6 +83,8 @@ export function domainToJSON(object: Domain): string { return "DOMAIN_ENERGY_DEVICE"; case Domain.DOMAIN_ENERGY_DEVICE_AUTH: return "DOMAIN_ENERGY_DEVICE_AUTH"; + case Domain.DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND: + return "DOMAIN_ENERGY_DEVICE_AUTHORIZED_COMMAND"; case Domain.UNRECOGNIZED: default: return "UNRECOGNIZED"; @@ -418,7 +425,7 @@ export interface MessageStatus { export interface SessionInfoRequest { publicKey: Uint8Array; challenge: Uint8Array; - /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ handle: number; /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ identifiedKey: IdentifiedKey; diff --git a/packages/typescript/src/command/vcsec.ts b/packages/typescript/src/command/vcsec.ts index c4029b4..d0a6630 100644 --- a/packages/typescript/src/command/vcsec.ts +++ b/packages/typescript/src/command/vcsec.ts @@ -345,6 +345,10 @@ export enum RKEActionE { RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE = 31, /** RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES - TESLEMETRY-EXT */ RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES = 32, + /** RKE_ACTION_LEFT_STORAGE_OPEN - TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + RKE_ACTION_LEFT_STORAGE_OPEN = 33, + /** RKE_ACTION_RIGHT_STORAGE_OPEN - TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + RKE_ACTION_RIGHT_STORAGE_OPEN = 34, UNRECOGNIZED = -1, } @@ -389,6 +393,12 @@ export function rKEActionEFromJSON(object: any): RKEActionE { case 32: case "RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES": return RKEActionE.RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES; + case 33: + case "RKE_ACTION_LEFT_STORAGE_OPEN": + return RKEActionE.RKE_ACTION_LEFT_STORAGE_OPEN; + case 34: + case "RKE_ACTION_RIGHT_STORAGE_OPEN": + return RKEActionE.RKE_ACTION_RIGHT_STORAGE_OPEN; case -1: case "UNRECOGNIZED": default: @@ -424,6 +434,10 @@ export function rKEActionEToJSON(object: RKEActionE): string { return "RKE_ACTION_UNLOCK_AND_REMOTE_DRIVE"; case RKEActionE.RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES: return "RKE_ACTION_UNLOCK_UNRESTRICTED_CLOSURES"; + case RKEActionE.RKE_ACTION_LEFT_STORAGE_OPEN: + return "RKE_ACTION_LEFT_STORAGE_OPEN"; + case RKEActionE.RKE_ACTION_RIGHT_STORAGE_OPEN: + return "RKE_ACTION_RIGHT_STORAGE_OPEN"; case RKEActionE.UNRECOGNIZED: default: return "UNRECOGNIZED"; @@ -1373,6 +1387,287 @@ export function gearEToJSON(object: GearE): string { } } +/** + * ===== TESLEMETRY-EXT BEGIN ===== + * Information-request responses and key-permission types. + * UNCONFIRMED: not yet confirmed on a live vehicle. + */ +export enum WhitelistKeyPermissionE { + WHITELISTKEYPERMISSION_ADD_TO_WHITELIST = 0, + WHITELISTKEYPERMISSION_LOCAL_UNLOCK = 1, + WHITELISTKEYPERMISSION_LOCAL_DRIVE = 2, + WHITELISTKEYPERMISSION_REMOTE_UNLOCK = 3, + WHITELISTKEYPERMISSION_REMOTE_DRIVE = 4, + WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS = 5, + WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST = 6, + WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST = 7, + WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS = 8, + WHITELISTKEYPERMISSION_UNKNOWN = 31, + UNRECOGNIZED = -1, +} + +export function whitelistKeyPermissionEFromJSON(object: any): WhitelistKeyPermissionE { + switch (object) { + case 0: + case "WHITELISTKEYPERMISSION_ADD_TO_WHITELIST": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_ADD_TO_WHITELIST; + case 1: + case "WHITELISTKEYPERMISSION_LOCAL_UNLOCK": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_LOCAL_UNLOCK; + case 2: + case "WHITELISTKEYPERMISSION_LOCAL_DRIVE": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_LOCAL_DRIVE; + case 3: + case "WHITELISTKEYPERMISSION_REMOTE_UNLOCK": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOTE_UNLOCK; + case 4: + case "WHITELISTKEYPERMISSION_REMOTE_DRIVE": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOTE_DRIVE; + case 5: + case "WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS; + case 6: + case "WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST; + case 7: + case "WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST; + case 8: + case "WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS; + case 31: + case "WHITELISTKEYPERMISSION_UNKNOWN": + return WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_UNKNOWN; + case -1: + case "UNRECOGNIZED": + default: + return WhitelistKeyPermissionE.UNRECOGNIZED; + } +} + +export function whitelistKeyPermissionEToJSON(object: WhitelistKeyPermissionE): string { + switch (object) { + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_ADD_TO_WHITELIST: + return "WHITELISTKEYPERMISSION_ADD_TO_WHITELIST"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_LOCAL_UNLOCK: + return "WHITELISTKEYPERMISSION_LOCAL_UNLOCK"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_LOCAL_DRIVE: + return "WHITELISTKEYPERMISSION_LOCAL_DRIVE"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOTE_UNLOCK: + return "WHITELISTKEYPERMISSION_REMOTE_UNLOCK"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOTE_DRIVE: + return "WHITELISTKEYPERMISSION_REMOTE_DRIVE"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS: + return "WHITELISTKEYPERMISSION_CHANGE_PERMISSIONS"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST: + return "WHITELISTKEYPERMISSION_REMOVE_FROM_WHITELIST"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST: + return "WHITELISTKEYPERMISSION_REMOVE_SELF_FROM_WHITELIST"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS: + return "WHITELISTKEYPERMISSION_MODIFY_FLEET_RESERVED_SLOTS"; + case WhitelistKeyPermissionE.WHITELISTKEYPERMISSION_UNKNOWN: + return "WHITELISTKEYPERMISSION_UNKNOWN"; + case WhitelistKeyPermissionE.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum KeyLocationStatusE { + KEY_LOCATION_UNKNOWN = 0, + KEY_LOCATION_NOT_PRESENT = 1, + KEY_LOCATION_PRESENT = 2, + UNRECOGNIZED = -1, +} + +export function keyLocationStatusEFromJSON(object: any): KeyLocationStatusE { + switch (object) { + case 0: + case "KEY_LOCATION_UNKNOWN": + return KeyLocationStatusE.KEY_LOCATION_UNKNOWN; + case 1: + case "KEY_LOCATION_NOT_PRESENT": + return KeyLocationStatusE.KEY_LOCATION_NOT_PRESENT; + case 2: + case "KEY_LOCATION_PRESENT": + return KeyLocationStatusE.KEY_LOCATION_PRESENT; + case -1: + case "UNRECOGNIZED": + default: + return KeyLocationStatusE.UNRECOGNIZED; + } +} + +export function keyLocationStatusEToJSON(object: KeyLocationStatusE): string { + switch (object) { + case KeyLocationStatusE.KEY_LOCATION_UNKNOWN: + return "KEY_LOCATION_UNKNOWN"; + case KeyLocationStatusE.KEY_LOCATION_NOT_PRESENT: + return "KEY_LOCATION_NOT_PRESENT"; + case KeyLocationStatusE.KEY_LOCATION_PRESENT: + return "KEY_LOCATION_PRESENT"; + case KeyLocationStatusE.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum NFCPresence { + NFC_PRESENCE_NOT_PRESENT = 0, + NFC_PRESENCE_PRESENT_AT_B_PILLAR = 1, + NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE = 2, + UNRECOGNIZED = -1, +} + +export function nFCPresenceFromJSON(object: any): NFCPresence { + switch (object) { + case 0: + case "NFC_PRESENCE_NOT_PRESENT": + return NFCPresence.NFC_PRESENCE_NOT_PRESENT; + case 1: + case "NFC_PRESENCE_PRESENT_AT_B_PILLAR": + return NFCPresence.NFC_PRESENCE_PRESENT_AT_B_PILLAR; + case 2: + case "NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE": + return NFCPresence.NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE; + case -1: + case "UNRECOGNIZED": + default: + return NFCPresence.UNRECOGNIZED; + } +} + +export function nFCPresenceToJSON(object: NFCPresence): string { + switch (object) { + case NFCPresence.NFC_PRESENCE_NOT_PRESENT: + return "NFC_PRESENCE_NOT_PRESENT"; + case NFCPresence.NFC_PRESENCE_PRESENT_AT_B_PILLAR: + return "NFC_PRESENCE_PRESENT_AT_B_PILLAR"; + case NFCPresence.NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE: + return "NFC_PRESENCE_PRESENT_AT_CENTER_CONSOLE"; + case NFCPresence.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum BLEPresence { + BLE_PRESENCE_NOT_PRESENT = 0, + BLE_PRESENCE_PRESENT = 1, + BLE_PRESENCE_CONNECTED_NOT_PRESENT = 2, + UNRECOGNIZED = -1, +} + +export function bLEPresenceFromJSON(object: any): BLEPresence { + switch (object) { + case 0: + case "BLE_PRESENCE_NOT_PRESENT": + return BLEPresence.BLE_PRESENCE_NOT_PRESENT; + case 1: + case "BLE_PRESENCE_PRESENT": + return BLEPresence.BLE_PRESENCE_PRESENT; + case 2: + case "BLE_PRESENCE_CONNECTED_NOT_PRESENT": + return BLEPresence.BLE_PRESENCE_CONNECTED_NOT_PRESENT; + case -1: + case "UNRECOGNIZED": + default: + return BLEPresence.UNRECOGNIZED; + } +} + +export function bLEPresenceToJSON(object: BLEPresence): string { + switch (object) { + case BLEPresence.BLE_PRESENCE_NOT_PRESENT: + return "BLE_PRESENCE_NOT_PRESENT"; + case BLEPresence.BLE_PRESENCE_PRESENT: + return "BLE_PRESENCE_PRESENT"; + case BLEPresence.BLE_PRESENCE_CONNECTED_NOT_PRESENT: + return "BLE_PRESENCE_CONNECTED_NOT_PRESENT"; + case BLEPresence.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum RequestSourceE { + REQUEST_SOURCE_NOT_POPULATED = 0, + REQUEST_SOURCE_BLE = 1, + REQUEST_SOURCE_OTHER = 2, + UNRECOGNIZED = -1, +} + +export function requestSourceEFromJSON(object: any): RequestSourceE { + switch (object) { + case 0: + case "REQUEST_SOURCE_NOT_POPULATED": + return RequestSourceE.REQUEST_SOURCE_NOT_POPULATED; + case 1: + case "REQUEST_SOURCE_BLE": + return RequestSourceE.REQUEST_SOURCE_BLE; + case 2: + case "REQUEST_SOURCE_OTHER": + return RequestSourceE.REQUEST_SOURCE_OTHER; + case -1: + case "UNRECOGNIZED": + default: + return RequestSourceE.UNRECOGNIZED; + } +} + +export function requestSourceEToJSON(object: RequestSourceE): string { + switch (object) { + case RequestSourceE.REQUEST_SOURCE_NOT_POPULATED: + return "REQUEST_SOURCE_NOT_POPULATED"; + case RequestSourceE.REQUEST_SOURCE_BLE: + return "REQUEST_SOURCE_BLE"; + case RequestSourceE.REQUEST_SOURCE_OTHER: + return "REQUEST_SOURCE_OTHER"; + case RequestSourceE.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum QRCodeStatusE { + QR_CODE_STATUS_UNKNOWN = 0, + QR_CODE_STATUS_DISPLAYED = 1, + QR_CODE_STATUS_NOT_DISPLAYED = 2, + UNRECOGNIZED = -1, +} + +export function qRCodeStatusEFromJSON(object: any): QRCodeStatusE { + switch (object) { + case 0: + case "QR_CODE_STATUS_UNKNOWN": + return QRCodeStatusE.QR_CODE_STATUS_UNKNOWN; + case 1: + case "QR_CODE_STATUS_DISPLAYED": + return QRCodeStatusE.QR_CODE_STATUS_DISPLAYED; + case 2: + case "QR_CODE_STATUS_NOT_DISPLAYED": + return QRCodeStatusE.QR_CODE_STATUS_NOT_DISPLAYED; + case -1: + case "UNRECOGNIZED": + default: + return QRCodeStatusE.UNRECOGNIZED; + } +} + +export function qRCodeStatusEToJSON(object: QRCodeStatusE): string { + switch (object) { + case QRCodeStatusE.QR_CODE_STATUS_UNKNOWN: + return "QR_CODE_STATUS_UNKNOWN"; + case QRCodeStatusE.QR_CODE_STATUS_DISPLAYED: + return "QR_CODE_STATUS_DISPLAYED"; + case QRCodeStatusE.QR_CODE_STATUS_NOT_DISPLAYED: + return "QR_CODE_STATUS_NOT_DISPLAYED"; + case QRCodeStatusE.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + export interface SignedMessage { protobufMessageAsBytes: Uint8Array; signatureType: SignatureType; @@ -1405,6 +1700,10 @@ export interface WhitelistEntryInfo { publicKey: PublicKey | undefined; metadataForKey: KeyMetadata | undefined; slot: number; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + permissions: WhitelistKeyPermissionE[]; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + secondsEntryRemainsActive: number; keyRole: Role; } @@ -1427,7 +1726,11 @@ export interface ClosureMoveRequest { } export interface PermissionChange { - key: PublicKey | undefined; + key: + | PublicKey + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + permission: WhitelistKeyPermissionE[]; secondsToBeActive: number; keyRole: Role; } @@ -1538,6 +1841,43 @@ export interface DetailedClosureStatus { tonneauPercentOpen: number; } +export interface KeyLocationStatus { + keyCloseToCenterConsoleWithHighProbability: KeyLocationStatusE; +} + +/** Reply to INFORMATION_REQUEST_TYPE_GET_PERSONALIZATION_INFO. */ +export interface PersonalizationInformation { + vin: Uint8Array; +} + +/** Reply to INFORMATION_REQUEST_TYPE_GET_CAPABILITIES. */ +export interface Capabilities { + chargePortOpen: boolean; + chargePortClose: boolean; +} + +export interface KeyStatus { + keyId: KeyIdentifier | undefined; + nfcPresence: NFCPresence; + blePresence: BLEPresence; + publicKey: PublicKey | undefined; + keyFormFactor: KeyFormFactor; + slot: number; + role: Role; +} + +/** Reply to INFORMATION_REQUEST_TYPE_GET_KEYSTATUS_INFO. */ +export interface KeyStatusInfo { + keyStatuses: KeyStatus[]; + requestSource: RequestSourceE; + QRCodeStatus: QRCodeStatusE; +} + +/** Reply to INFORMATION_REQUEST_TYPE_GET_ACTIVE_KEY. */ +export interface ActiveKey { + activeKey: KeyIdentifier | undefined; +} + export interface VehicleStatus { closureStatuses: ClosureStatuses | undefined; vehicleLockState: VehicleLockStateE; @@ -1550,6 +1890,8 @@ export interface VehicleStatus { uiDesire: UIDesireE; /** TESLEMETRY-EXT */ gear: GearE; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + keyLocationStatus: KeyLocationStatus | undefined; } export interface FromVCSECMessage { @@ -1558,9 +1900,25 @@ export interface FromVCSECMessage { | undefined; /** TESLEMETRY-EXT */ authenticationRequest?: AuthenticationRequest | undefined; - commandStatus?: CommandStatus | undefined; + commandStatus?: + | CommandStatus + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + personalizationInformation?: PersonalizationInformation | undefined; whitelistInfo?: WhitelistInfo | undefined; - whitelistEntryInfo?: WhitelistEntryInfo | undefined; + whitelistEntryInfo?: + | WhitelistEntryInfo + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + capabilities?: + | Capabilities + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + keyStatusInfo?: + | KeyStatusInfo + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + activeKey?: ActiveKey | undefined; nominalError?: NominalError | undefined; } @@ -1971,7 +2329,15 @@ export const WhitelistInfo: MessageFns = { }; function createBaseWhitelistEntryInfo(): WhitelistEntryInfo { - return { keyId: undefined, publicKey: undefined, metadataForKey: undefined, slot: 0, keyRole: 0 }; + return { + keyId: undefined, + publicKey: undefined, + metadataForKey: undefined, + slot: 0, + permissions: [], + secondsEntryRemainsActive: 0, + keyRole: 0, + }; } export const WhitelistEntryInfo: MessageFns = { @@ -1988,6 +2354,14 @@ export const WhitelistEntryInfo: MessageFns = { if (message.slot !== 0) { writer.uint32(48).uint32(message.slot); } + writer.uint32(26).fork(); + for (const v of message.permissions) { + writer.int32(v); + } + writer.join(); + if (message.secondsEntryRemainsActive !== 0) { + writer.uint32(40).uint32(message.secondsEntryRemainsActive); + } if (message.keyRole !== 0) { writer.uint32(56).int32(message.keyRole); } @@ -2033,6 +2407,32 @@ export const WhitelistEntryInfo: MessageFns = { message.slot = reader.uint32(); continue; } + case 3: { + if (tag === 24) { + message.permissions.push(reader.int32() as any); + + continue; + } + + if (tag === 26) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.permissions.push(reader.int32() as any); + } + + continue; + } + + break; + } + case 5: { + if (tag !== 40) { + break; + } + + message.secondsEntryRemainsActive = reader.uint32(); + continue; + } case 7: { if (tag !== 56) { break; @@ -2056,6 +2456,12 @@ export const WhitelistEntryInfo: MessageFns = { publicKey: isSet(object.publicKey) ? PublicKey.fromJSON(object.publicKey) : undefined, metadataForKey: isSet(object.metadataForKey) ? KeyMetadata.fromJSON(object.metadataForKey) : undefined, slot: isSet(object.slot) ? globalThis.Number(object.slot) : 0, + permissions: globalThis.Array.isArray(object?.permissions) + ? object.permissions.map((e: any) => whitelistKeyPermissionEFromJSON(e)) + : [], + secondsEntryRemainsActive: isSet(object.secondsEntryRemainsActive) + ? globalThis.Number(object.secondsEntryRemainsActive) + : 0, keyRole: isSet(object.keyRole) ? roleFromJSON(object.keyRole) : 0, }; }, @@ -2074,6 +2480,12 @@ export const WhitelistEntryInfo: MessageFns = { if (message.slot !== undefined) { obj.slot = Math.round(message.slot); } + if (message.permissions?.length) { + obj.permissions = message.permissions.map((e) => whitelistKeyPermissionEToJSON(e)); + } + if (message.secondsEntryRemainsActive !== undefined) { + obj.secondsEntryRemainsActive = Math.round(message.secondsEntryRemainsActive); + } if (message.keyRole !== undefined) { obj.keyRole = roleToJSON(message.keyRole); } @@ -2095,6 +2507,8 @@ export const WhitelistEntryInfo: MessageFns = { ? KeyMetadata.fromPartial(object.metadataForKey) : undefined; message.slot = object.slot ?? 0; + message.permissions = object.permissions?.map((e) => e) || []; + message.secondsEntryRemainsActive = object.secondsEntryRemainsActive ?? 0; message.keyRole = object.keyRole ?? 0; return message; }, @@ -2394,7 +2808,7 @@ export const ClosureMoveRequest: MessageFns = { }; function createBasePermissionChange(): PermissionChange { - return { key: undefined, secondsToBeActive: 0, keyRole: 0 }; + return { key: undefined, permission: [], secondsToBeActive: 0, keyRole: 0 }; } export const PermissionChange: MessageFns = { @@ -2402,6 +2816,11 @@ export const PermissionChange: MessageFns = { if (message.key !== undefined) { PublicKey.encode(message.key, writer.uint32(10).fork()).join(); } + writer.uint32(18).fork(); + for (const v of message.permission) { + writer.int32(v); + } + writer.join(); if (message.secondsToBeActive !== 0) { writer.uint32(24).uint32(message.secondsToBeActive); } @@ -2426,6 +2845,24 @@ export const PermissionChange: MessageFns = { message.key = PublicKey.decode(reader, reader.uint32()); continue; } + case 2: { + if (tag === 16) { + message.permission.push(reader.int32() as any); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.permission.push(reader.int32() as any); + } + + continue; + } + + break; + } case 3: { if (tag !== 24) { break; @@ -2454,6 +2891,9 @@ export const PermissionChange: MessageFns = { fromJSON(object: any): PermissionChange { return { key: isSet(object.key) ? PublicKey.fromJSON(object.key) : undefined, + permission: globalThis.Array.isArray(object?.permission) + ? object.permission.map((e: any) => whitelistKeyPermissionEFromJSON(e)) + : [], secondsToBeActive: isSet(object.secondsToBeActive) ? globalThis.Number(object.secondsToBeActive) : 0, keyRole: isSet(object.keyRole) ? roleFromJSON(object.keyRole) : 0, }; @@ -2464,6 +2904,9 @@ export const PermissionChange: MessageFns = { if (message.key !== undefined) { obj.key = PublicKey.toJSON(message.key); } + if (message.permission?.length) { + obj.permission = message.permission.map((e) => whitelistKeyPermissionEToJSON(e)); + } if (message.secondsToBeActive !== undefined) { obj.secondsToBeActive = Math.round(message.secondsToBeActive); } @@ -2479,6 +2922,7 @@ export const PermissionChange: MessageFns = { fromPartial, I>>(object: I): PermissionChange { const message = createBasePermissionChange(); message.key = (object.key !== undefined && object.key !== null) ? PublicKey.fromPartial(object.key) : undefined; + message.permission = object.permission?.map((e) => e) || []; message.secondsToBeActive = object.secondsToBeActive ?? 0; message.keyRole = object.keyRole ?? 0; return message; @@ -3945,71 +4389,587 @@ export const DetailedClosureStatus: MessageFns = { }, }; -function createBaseVehicleStatus(): VehicleStatus { - return { - closureStatuses: undefined, - vehicleLockState: 0, - vehicleSleepStatus: 0, - userPresence: 0, - detailedClosureStatus: undefined, - uiDesire: 0, - gear: 0, - }; +function createBaseKeyLocationStatus(): KeyLocationStatus { + return { keyCloseToCenterConsoleWithHighProbability: 0 }; } -export const VehicleStatus: MessageFns = { - encode(message: VehicleStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.closureStatuses !== undefined) { - ClosureStatuses.encode(message.closureStatuses, writer.uint32(10).fork()).join(); - } - if (message.vehicleLockState !== 0) { - writer.uint32(16).int32(message.vehicleLockState); - } - if (message.vehicleSleepStatus !== 0) { - writer.uint32(24).int32(message.vehicleSleepStatus); - } - if (message.userPresence !== 0) { - writer.uint32(32).int32(message.userPresence); - } - if (message.detailedClosureStatus !== undefined) { - DetailedClosureStatus.encode(message.detailedClosureStatus, writer.uint32(42).fork()).join(); - } - if (message.uiDesire !== 0) { - writer.uint32(48).int32(message.uiDesire); - } - if (message.gear !== 0) { - writer.uint32(56).int32(message.gear); +export const KeyLocationStatus: MessageFns = { + encode(message: KeyLocationStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.keyCloseToCenterConsoleWithHighProbability !== 0) { + writer.uint32(8).int32(message.keyCloseToCenterConsoleWithHighProbability); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): VehicleStatus { + decode(input: BinaryReader | Uint8Array, length?: number): KeyLocationStatus { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseVehicleStatus(); + const message = createBaseKeyLocationStatus(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { - if (tag !== 10) { + if (tag !== 8) { break; } - message.closureStatuses = ClosureStatuses.decode(reader, reader.uint32()); + message.keyCloseToCenterConsoleWithHighProbability = reader.int32() as any; continue; } - case 2: { - if (tag !== 16) { - break; - } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, - message.vehicleLockState = reader.int32() as any; - continue; - } - case 3: { - if (tag !== 24) { - break; - } + fromJSON(object: any): KeyLocationStatus { + return { + keyCloseToCenterConsoleWithHighProbability: isSet(object.keyCloseToCenterConsoleWithHighProbability) + ? keyLocationStatusEFromJSON(object.keyCloseToCenterConsoleWithHighProbability) + : 0, + }; + }, + + toJSON(message: KeyLocationStatus): unknown { + const obj: any = {}; + if (message.keyCloseToCenterConsoleWithHighProbability !== undefined) { + obj.keyCloseToCenterConsoleWithHighProbability = keyLocationStatusEToJSON( + message.keyCloseToCenterConsoleWithHighProbability, + ); + } + return obj; + }, + + create, I>>(base?: I): KeyLocationStatus { + return KeyLocationStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): KeyLocationStatus { + const message = createBaseKeyLocationStatus(); + message.keyCloseToCenterConsoleWithHighProbability = object.keyCloseToCenterConsoleWithHighProbability ?? 0; + return message; + }, +}; + +function createBasePersonalizationInformation(): PersonalizationInformation { + return { vin: new Uint8Array(0) }; +} + +export const PersonalizationInformation: MessageFns = { + encode(message: PersonalizationInformation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.vin.length !== 0) { + writer.uint32(10).bytes(message.vin); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PersonalizationInformation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePersonalizationInformation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.vin = reader.bytes(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PersonalizationInformation { + return { vin: isSet(object.vin) ? bytesFromBase64(object.vin) : new Uint8Array(0) }; + }, + + toJSON(message: PersonalizationInformation): unknown { + const obj: any = {}; + if (message.vin !== undefined) { + obj.vin = base64FromBytes(message.vin); + } + return obj; + }, + + create, I>>(base?: I): PersonalizationInformation { + return PersonalizationInformation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PersonalizationInformation { + const message = createBasePersonalizationInformation(); + message.vin = object.vin ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseCapabilities(): Capabilities { + return { chargePortOpen: false, chargePortClose: false }; +} + +export const Capabilities: MessageFns = { + encode(message: Capabilities, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.chargePortOpen !== false) { + writer.uint32(8).bool(message.chargePortOpen); + } + if (message.chargePortClose !== false) { + writer.uint32(16).bool(message.chargePortClose); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Capabilities { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCapabilities(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.chargePortOpen = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.chargePortClose = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Capabilities { + return { + chargePortOpen: isSet(object.chargePortOpen) ? globalThis.Boolean(object.chargePortOpen) : false, + chargePortClose: isSet(object.chargePortClose) ? globalThis.Boolean(object.chargePortClose) : false, + }; + }, + + toJSON(message: Capabilities): unknown { + const obj: any = {}; + if (message.chargePortOpen !== undefined) { + obj.chargePortOpen = message.chargePortOpen; + } + if (message.chargePortClose !== undefined) { + obj.chargePortClose = message.chargePortClose; + } + return obj; + }, + + create, I>>(base?: I): Capabilities { + return Capabilities.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): Capabilities { + const message = createBaseCapabilities(); + message.chargePortOpen = object.chargePortOpen ?? false; + message.chargePortClose = object.chargePortClose ?? false; + return message; + }, +}; + +function createBaseKeyStatus(): KeyStatus { + return { keyId: undefined, nfcPresence: 0, blePresence: 0, publicKey: undefined, keyFormFactor: 0, slot: 0, role: 0 }; +} + +export const KeyStatus: MessageFns = { + encode(message: KeyStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.keyId !== undefined) { + KeyIdentifier.encode(message.keyId, writer.uint32(10).fork()).join(); + } + if (message.nfcPresence !== 0) { + writer.uint32(16).int32(message.nfcPresence); + } + if (message.blePresence !== 0) { + writer.uint32(24).int32(message.blePresence); + } + if (message.publicKey !== undefined) { + PublicKey.encode(message.publicKey, writer.uint32(34).fork()).join(); + } + if (message.keyFormFactor !== 0) { + writer.uint32(40).int32(message.keyFormFactor); + } + if (message.slot !== 0) { + writer.uint32(48).uint32(message.slot); + } + if (message.role !== 0) { + writer.uint32(56).int32(message.role); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): KeyStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseKeyStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.keyId = KeyIdentifier.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.nfcPresence = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.blePresence = reader.int32() as any; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.publicKey = PublicKey.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.keyFormFactor = reader.int32() as any; + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.slot = reader.uint32(); + continue; + } + case 7: { + if (tag !== 56) { + break; + } + + message.role = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): KeyStatus { + return { + keyId: isSet(object.keyId) ? KeyIdentifier.fromJSON(object.keyId) : undefined, + nfcPresence: isSet(object.nfcPresence) ? nFCPresenceFromJSON(object.nfcPresence) : 0, + blePresence: isSet(object.blePresence) ? bLEPresenceFromJSON(object.blePresence) : 0, + publicKey: isSet(object.publicKey) ? PublicKey.fromJSON(object.publicKey) : undefined, + keyFormFactor: isSet(object.keyFormFactor) ? keyFormFactorFromJSON(object.keyFormFactor) : 0, + slot: isSet(object.slot) ? globalThis.Number(object.slot) : 0, + role: isSet(object.role) ? roleFromJSON(object.role) : 0, + }; + }, + + toJSON(message: KeyStatus): unknown { + const obj: any = {}; + if (message.keyId !== undefined) { + obj.keyId = KeyIdentifier.toJSON(message.keyId); + } + if (message.nfcPresence !== undefined) { + obj.nfcPresence = nFCPresenceToJSON(message.nfcPresence); + } + if (message.blePresence !== undefined) { + obj.blePresence = bLEPresenceToJSON(message.blePresence); + } + if (message.publicKey !== undefined) { + obj.publicKey = PublicKey.toJSON(message.publicKey); + } + if (message.keyFormFactor !== undefined) { + obj.keyFormFactor = keyFormFactorToJSON(message.keyFormFactor); + } + if (message.slot !== undefined) { + obj.slot = Math.round(message.slot); + } + if (message.role !== undefined) { + obj.role = roleToJSON(message.role); + } + return obj; + }, + + create, I>>(base?: I): KeyStatus { + return KeyStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): KeyStatus { + const message = createBaseKeyStatus(); + message.keyId = (object.keyId !== undefined && object.keyId !== null) + ? KeyIdentifier.fromPartial(object.keyId) + : undefined; + message.nfcPresence = object.nfcPresence ?? 0; + message.blePresence = object.blePresence ?? 0; + message.publicKey = (object.publicKey !== undefined && object.publicKey !== null) + ? PublicKey.fromPartial(object.publicKey) + : undefined; + message.keyFormFactor = object.keyFormFactor ?? 0; + message.slot = object.slot ?? 0; + message.role = object.role ?? 0; + return message; + }, +}; + +function createBaseKeyStatusInfo(): KeyStatusInfo { + return { keyStatuses: [], requestSource: 0, QRCodeStatus: 0 }; +} + +export const KeyStatusInfo: MessageFns = { + encode(message: KeyStatusInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.keyStatuses) { + KeyStatus.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.requestSource !== 0) { + writer.uint32(16).int32(message.requestSource); + } + if (message.QRCodeStatus !== 0) { + writer.uint32(24).int32(message.QRCodeStatus); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): KeyStatusInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseKeyStatusInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.keyStatuses.push(KeyStatus.decode(reader, reader.uint32())); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.requestSource = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.QRCodeStatus = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): KeyStatusInfo { + return { + keyStatuses: globalThis.Array.isArray(object?.keyStatuses) + ? object.keyStatuses.map((e: any) => KeyStatus.fromJSON(e)) + : [], + requestSource: isSet(object.requestSource) ? requestSourceEFromJSON(object.requestSource) : 0, + QRCodeStatus: isSet(object.QRCodeStatus) ? qRCodeStatusEFromJSON(object.QRCodeStatus) : 0, + }; + }, + + toJSON(message: KeyStatusInfo): unknown { + const obj: any = {}; + if (message.keyStatuses?.length) { + obj.keyStatuses = message.keyStatuses.map((e) => KeyStatus.toJSON(e)); + } + if (message.requestSource !== undefined) { + obj.requestSource = requestSourceEToJSON(message.requestSource); + } + if (message.QRCodeStatus !== undefined) { + obj.QRCodeStatus = qRCodeStatusEToJSON(message.QRCodeStatus); + } + return obj; + }, + + create, I>>(base?: I): KeyStatusInfo { + return KeyStatusInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): KeyStatusInfo { + const message = createBaseKeyStatusInfo(); + message.keyStatuses = object.keyStatuses?.map((e) => KeyStatus.fromPartial(e)) || []; + message.requestSource = object.requestSource ?? 0; + message.QRCodeStatus = object.QRCodeStatus ?? 0; + return message; + }, +}; + +function createBaseActiveKey(): ActiveKey { + return { activeKey: undefined }; +} + +export const ActiveKey: MessageFns = { + encode(message: ActiveKey, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.activeKey !== undefined) { + KeyIdentifier.encode(message.activeKey, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ActiveKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActiveKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.activeKey = KeyIdentifier.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ActiveKey { + return { activeKey: isSet(object.activeKey) ? KeyIdentifier.fromJSON(object.activeKey) : undefined }; + }, + + toJSON(message: ActiveKey): unknown { + const obj: any = {}; + if (message.activeKey !== undefined) { + obj.activeKey = KeyIdentifier.toJSON(message.activeKey); + } + return obj; + }, + + create, I>>(base?: I): ActiveKey { + return ActiveKey.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ActiveKey { + const message = createBaseActiveKey(); + message.activeKey = (object.activeKey !== undefined && object.activeKey !== null) + ? KeyIdentifier.fromPartial(object.activeKey) + : undefined; + return message; + }, +}; + +function createBaseVehicleStatus(): VehicleStatus { + return { + closureStatuses: undefined, + vehicleLockState: 0, + vehicleSleepStatus: 0, + userPresence: 0, + detailedClosureStatus: undefined, + uiDesire: 0, + gear: 0, + keyLocationStatus: undefined, + }; +} + +export const VehicleStatus: MessageFns = { + encode(message: VehicleStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.closureStatuses !== undefined) { + ClosureStatuses.encode(message.closureStatuses, writer.uint32(10).fork()).join(); + } + if (message.vehicleLockState !== 0) { + writer.uint32(16).int32(message.vehicleLockState); + } + if (message.vehicleSleepStatus !== 0) { + writer.uint32(24).int32(message.vehicleSleepStatus); + } + if (message.userPresence !== 0) { + writer.uint32(32).int32(message.userPresence); + } + if (message.detailedClosureStatus !== undefined) { + DetailedClosureStatus.encode(message.detailedClosureStatus, writer.uint32(42).fork()).join(); + } + if (message.uiDesire !== 0) { + writer.uint32(48).int32(message.uiDesire); + } + if (message.gear !== 0) { + writer.uint32(56).int32(message.gear); + } + if (message.keyLocationStatus !== undefined) { + KeyLocationStatus.encode(message.keyLocationStatus, writer.uint32(66).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.closureStatuses = ClosureStatuses.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.vehicleLockState = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 24) { + break; + } message.vehicleSleepStatus = reader.int32() as any; continue; @@ -4046,6 +5006,14 @@ export const VehicleStatus: MessageFns = { message.gear = reader.int32() as any; continue; } + case 8: { + if (tag !== 66) { + break; + } + + message.keyLocationStatus = KeyLocationStatus.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -4066,6 +5034,9 @@ export const VehicleStatus: MessageFns = { : undefined, uiDesire: isSet(object.uiDesire) ? uIDesireEFromJSON(object.uiDesire) : 0, gear: isSet(object.gear) ? gearEFromJSON(object.gear) : 0, + keyLocationStatus: isSet(object.keyLocationStatus) + ? KeyLocationStatus.fromJSON(object.keyLocationStatus) + : undefined, }; }, @@ -4092,6 +5063,9 @@ export const VehicleStatus: MessageFns = { if (message.gear !== undefined) { obj.gear = gearEToJSON(message.gear); } + if (message.keyLocationStatus !== undefined) { + obj.keyLocationStatus = KeyLocationStatus.toJSON(message.keyLocationStatus); + } return obj; }, @@ -4112,6 +5086,9 @@ export const VehicleStatus: MessageFns = { : undefined; message.uiDesire = object.uiDesire ?? 0; message.gear = object.gear ?? 0; + message.keyLocationStatus = (object.keyLocationStatus !== undefined && object.keyLocationStatus !== null) + ? KeyLocationStatus.fromPartial(object.keyLocationStatus) + : undefined; return message; }, }; @@ -4121,8 +5098,12 @@ function createBaseFromVCSECMessage(): FromVCSECMessage { vehicleStatus: undefined, authenticationRequest: undefined, commandStatus: undefined, + personalizationInformation: undefined, whitelistInfo: undefined, whitelistEntryInfo: undefined, + capabilities: undefined, + keyStatusInfo: undefined, + activeKey: undefined, nominalError: undefined, }; } @@ -4138,12 +5119,24 @@ export const FromVCSECMessage: MessageFns = { if (message.commandStatus !== undefined) { CommandStatus.encode(message.commandStatus, writer.uint32(34).fork()).join(); } + if (message.personalizationInformation !== undefined) { + PersonalizationInformation.encode(message.personalizationInformation, writer.uint32(42).fork()).join(); + } if (message.whitelistInfo !== undefined) { WhitelistInfo.encode(message.whitelistInfo, writer.uint32(130).fork()).join(); } if (message.whitelistEntryInfo !== undefined) { WhitelistEntryInfo.encode(message.whitelistEntryInfo, writer.uint32(138).fork()).join(); } + if (message.capabilities !== undefined) { + Capabilities.encode(message.capabilities, writer.uint32(154).fork()).join(); + } + if (message.keyStatusInfo !== undefined) { + KeyStatusInfo.encode(message.keyStatusInfo, writer.uint32(170).fork()).join(); + } + if (message.activeKey !== undefined) { + ActiveKey.encode(message.activeKey, writer.uint32(178).fork()).join(); + } if (message.nominalError !== undefined) { NominalError.encode(message.nominalError, writer.uint32(370).fork()).join(); } @@ -4181,6 +5174,14 @@ export const FromVCSECMessage: MessageFns = { message.commandStatus = CommandStatus.decode(reader, reader.uint32()); continue; } + case 5: { + if (tag !== 42) { + break; + } + + message.personalizationInformation = PersonalizationInformation.decode(reader, reader.uint32()); + continue; + } case 16: { if (tag !== 130) { break; @@ -4197,6 +5198,30 @@ export const FromVCSECMessage: MessageFns = { message.whitelistEntryInfo = WhitelistEntryInfo.decode(reader, reader.uint32()); continue; } + case 19: { + if (tag !== 154) { + break; + } + + message.capabilities = Capabilities.decode(reader, reader.uint32()); + continue; + } + case 21: { + if (tag !== 170) { + break; + } + + message.keyStatusInfo = KeyStatusInfo.decode(reader, reader.uint32()); + continue; + } + case 22: { + if (tag !== 178) { + break; + } + + message.activeKey = ActiveKey.decode(reader, reader.uint32()); + continue; + } case 46: { if (tag !== 370) { break; @@ -4221,10 +5246,16 @@ export const FromVCSECMessage: MessageFns = { ? AuthenticationRequest.fromJSON(object.authenticationRequest) : undefined, commandStatus: isSet(object.commandStatus) ? CommandStatus.fromJSON(object.commandStatus) : undefined, + personalizationInformation: isSet(object.personalizationInformation) + ? PersonalizationInformation.fromJSON(object.personalizationInformation) + : undefined, whitelistInfo: isSet(object.whitelistInfo) ? WhitelistInfo.fromJSON(object.whitelistInfo) : undefined, whitelistEntryInfo: isSet(object.whitelistEntryInfo) ? WhitelistEntryInfo.fromJSON(object.whitelistEntryInfo) : undefined, + capabilities: isSet(object.capabilities) ? Capabilities.fromJSON(object.capabilities) : undefined, + keyStatusInfo: isSet(object.keyStatusInfo) ? KeyStatusInfo.fromJSON(object.keyStatusInfo) : undefined, + activeKey: isSet(object.activeKey) ? ActiveKey.fromJSON(object.activeKey) : undefined, nominalError: isSet(object.nominalError) ? NominalError.fromJSON(object.nominalError) : undefined, }; }, @@ -4240,12 +5271,24 @@ export const FromVCSECMessage: MessageFns = { if (message.commandStatus !== undefined) { obj.commandStatus = CommandStatus.toJSON(message.commandStatus); } + if (message.personalizationInformation !== undefined) { + obj.personalizationInformation = PersonalizationInformation.toJSON(message.personalizationInformation); + } if (message.whitelistInfo !== undefined) { obj.whitelistInfo = WhitelistInfo.toJSON(message.whitelistInfo); } if (message.whitelistEntryInfo !== undefined) { obj.whitelistEntryInfo = WhitelistEntryInfo.toJSON(message.whitelistEntryInfo); } + if (message.capabilities !== undefined) { + obj.capabilities = Capabilities.toJSON(message.capabilities); + } + if (message.keyStatusInfo !== undefined) { + obj.keyStatusInfo = KeyStatusInfo.toJSON(message.keyStatusInfo); + } + if (message.activeKey !== undefined) { + obj.activeKey = ActiveKey.toJSON(message.activeKey); + } if (message.nominalError !== undefined) { obj.nominalError = NominalError.toJSON(message.nominalError); } @@ -4267,12 +5310,25 @@ export const FromVCSECMessage: MessageFns = { message.commandStatus = (object.commandStatus !== undefined && object.commandStatus !== null) ? CommandStatus.fromPartial(object.commandStatus) : undefined; + message.personalizationInformation = + (object.personalizationInformation !== undefined && object.personalizationInformation !== null) + ? PersonalizationInformation.fromPartial(object.personalizationInformation) + : undefined; message.whitelistInfo = (object.whitelistInfo !== undefined && object.whitelistInfo !== null) ? WhitelistInfo.fromPartial(object.whitelistInfo) : undefined; message.whitelistEntryInfo = (object.whitelistEntryInfo !== undefined && object.whitelistEntryInfo !== null) ? WhitelistEntryInfo.fromPartial(object.whitelistEntryInfo) : undefined; + message.capabilities = (object.capabilities !== undefined && object.capabilities !== null) + ? Capabilities.fromPartial(object.capabilities) + : undefined; + message.keyStatusInfo = (object.keyStatusInfo !== undefined && object.keyStatusInfo !== null) + ? KeyStatusInfo.fromPartial(object.keyStatusInfo) + : undefined; + message.activeKey = (object.activeKey !== undefined && object.activeKey !== null) + ? ActiveKey.fromPartial(object.activeKey) + : undefined; message.nominalError = (object.nominalError !== undefined && object.nominalError !== null) ? NominalError.fromPartial(object.nominalError) : undefined; diff --git a/packages/typescript/src/command/vehicle.ts b/packages/typescript/src/command/vehicle.ts index 859bda7..413f27e 100644 --- a/packages/typescript/src/command/vehicle.ts +++ b/packages/typescript/src/command/vehicle.ts @@ -715,6 +715,43 @@ export function vehicleImageStateTypeToJSON(object: VehicleImageStateType): stri } } +/** + * Keep-on request for a cabin accessory power socket. + * UNCONFIRMED: not yet confirmed on a live vehicle. + */ +export enum KeepOnAccessoryPortRequest { + KeepOnAccessoryPortRequest_Off = 0, + KeepOnAccessoryPortRequest_On = 1, + UNRECOGNIZED = -1, +} + +export function keepOnAccessoryPortRequestFromJSON(object: any): KeepOnAccessoryPortRequest { + switch (object) { + case 0: + case "KeepOnAccessoryPortRequest_Off": + return KeepOnAccessoryPortRequest.KeepOnAccessoryPortRequest_Off; + case 1: + case "KeepOnAccessoryPortRequest_On": + return KeepOnAccessoryPortRequest.KeepOnAccessoryPortRequest_On; + case -1: + case "UNRECOGNIZED": + default: + return KeepOnAccessoryPortRequest.UNRECOGNIZED; + } +} + +export function keepOnAccessoryPortRequestToJSON(object: KeepOnAccessoryPortRequest): string { + switch (object) { + case KeepOnAccessoryPortRequest.KeepOnAccessoryPortRequest_Off: + return "KeepOnAccessoryPortRequest_Off"; + case KeepOnAccessoryPortRequest.KeepOnAccessoryPortRequest_On: + return "KeepOnAccessoryPortRequest_On"; + case KeepOnAccessoryPortRequest.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + /** * ===== TESLEMETRY-EXT BEGIN ===== * Capability bits a vehicle advertises to the mobile app. Each value is a bit @@ -1298,6 +1335,10 @@ export interface VehicleData { displayState: | DisplayState | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + keepOnAccessoryPortsState: + | KeepOnAccessoryPortsState + | undefined; /** * Each entry is an encoded CarServer.PiiKeyResponse (car_server.proto), declared * as bytes because vehicle.proto cannot import car_server.proto. @@ -2245,6 +2286,14 @@ export interface LocationState_GPSCoordinateType { } export interface VehicleState { + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + autoparkStyle: + | AutoparkStyle + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + activeSpoilerState: + | SpoilerState + | undefined; /** TESLEMETRY-EXT */ softwareUpdateState: | SoftwareUpdateState @@ -2257,6 +2306,14 @@ export interface VehicleState { timestamp: | Date | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + autoparkVersion: + | AutoparkVersion + | undefined; + /** TESLEMETRY-EXT UNCONFIRMED: not yet confirmed on a live vehicle */ + autoparkState: + | AutoparkState + | undefined; /** TESLEMETRY-EXT */ featureBitmask: number[]; /** TESLEMETRY-EXT */ @@ -2356,7 +2413,7 @@ export interface VehicleState_GuestMode { * legacy surface. */ export interface CurrentVehicleState { - /** confirmed on a live vehicle; name not recovered */ + /** confirmed on a live vehicle */ timestamp: Date | undefined; apiVersion?: number | undefined; notificationsSupported?: boolean | undefined; @@ -2400,7 +2457,7 @@ export interface CurrentVehicleState { allowAuthorizedMobileDevicesOnly?: | boolean | undefined; - /** UNCONFIRMED: not yet confirmed on a live vehicle; name not recovered */ + /** UNCONFIRMED: not yet confirmed on a live vehicle */ guestMode: VehicleState_GuestMode | undefined; driveRailOn?: boolean | undefined; pinToDriveEnabled?: boolean | undefined; @@ -2436,13 +2493,15 @@ export interface CurrentVehicleState { fsdStatsSupported?: | boolean | undefined; - /** confirmed on a live vehicle; name not recovered */ + /** confirmed on a live vehicle */ dashcamUtils: DashcamUtils | undefined; remoteSketchpadAvailable?: boolean | undefined; deckLightsOn?: boolean | undefined; hazardsOn?: boolean | undefined; deckLightsAllowed?: boolean | undefined; field70?: number | undefined; + halloweenMode?: boolean | undefined; + trickOrTreatMode?: boolean | undefined; } export interface DashcamUtils { @@ -2450,17 +2509,80 @@ export interface DashcamUtils { formatUsbAvailable?: boolean | undefined; } -/** Void-oneof states whose alternatives have no recovered names. */ +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ export interface AutoparkStyle { + Deadman?: Void | undefined; + Standard?: Void | undefined; } export interface AutoparkVersion { + /** confirmed on a live vehicle */ + Version2?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Version3?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Version4?: Void | undefined; } export interface AutoparkState { + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Standby?: + | Void + | undefined; + /** confirmed on a live vehicle */ + Unavailable?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Ready?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + ActiveForward?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + ActiveReverse?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Disabled?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Panic?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Preparing?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Aborting?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Paused?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + Resuming?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + OpeningGate?: Void | undefined; } +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ export interface SpoilerState { + Unknown?: Void | undefined; + Retracted?: Void | undefined; + Extended?: Void | undefined; + Fault?: Void | undefined; } export interface LegacyMediaState { @@ -3026,8 +3148,313 @@ export interface ShiftState { SNA?: Void | undefined; } -/** ===== TESLEMETRY-EXT BEGIN ===== */ +/** + * ===== TESLEMETRY-EXT BEGIN ===== + * Void-oneof vehicle configuration types used by VehicleConfig. + * UNCONFIRMED: not yet confirmed on a live vehicle. + */ +export interface VehicleBadging { + Base?: Void | undefined; + Founder?: Void | undefined; + Signature?: Void | undefined; + Performance?: Void | undefined; + LaunchSeries?: Void | undefined; + SignatureSeries?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface CarTrim { + Trim40?: Void | undefined; + OBSOLETETrim50?: Void | undefined; + OBSOLETETrim50D?: Void | undefined; + Trim60?: Void | undefined; + Trim60D?: Void | undefined; + Trim70?: Void | undefined; + Trim70D?: Void | undefined; + Trim75?: Void | undefined; + Trim75D?: Void | undefined; + TrimP75D?: Void | undefined; + Trim85?: Void | undefined; + TrimP85?: Void | undefined; + TrimP85Plus?: Void | undefined; + Trim85D?: Void | undefined; + TrimP85D?: Void | undefined; + Trim90?: Void | undefined; + TrimP90?: Void | undefined; + TrimP90Plus?: Void | undefined; + Trim90D?: Void | undefined; + TrimP90D?: Void | undefined; + Trim100?: Void | undefined; + TrimP100?: Void | undefined; + Trim100D?: Void | undefined; + TrimP100D?: Void | undefined; + Trim50?: Void | undefined; + Trim50D?: Void | undefined; + Trim62?: Void | undefined; + Trim62D?: Void | undefined; + Trim74?: Void | undefined; + Trim74D?: Void | undefined; + TrimP74D?: Void | undefined; + TrimDefault?: Void | undefined; + TrimCyberbeast?: Void | undefined; + TrimInvalid?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface SunRoofType { + None?: Void | undefined; + Gen1?: Void | undefined; + Gen2?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface WheelType { + Unknown?: Void | undefined; + ZeroG20Gunpowder?: Void | undefined; + Pinwheel18?: Void | undefined; + Pinwheel18CapKit?: Void | undefined; + Stiletto19?: Void | undefined; + Stiletto20?: Void | undefined; + Stiletto20DarkStaggered?: Void | undefined; + Stiletto20DarkSquare?: Void | undefined; + Gemini19Square?: Void | undefined; + Gemini19Staggered?: Void | undefined; + Induction20Black?: Void | undefined; + UberTurbine21Black?: Void | undefined; + Apollo19?: Void | undefined; + Apollo19CapKit?: Void | undefined; + ZeroG19Gunpowder?: Void | undefined; + Cardenio19?: Void | undefined; + Default?: Void | undefined; + NewTurbine22Black?: Void | undefined; + Cyberstream?: Void | undefined; + Arachnid21?: Void | undefined; + Base19?: Void | undefined; + Silver21?: Void | undefined; + Charcoal21?: Void | undefined; + Silver21Euro?: Void | undefined; + Aero19?: Void | undefined; + Charcoal21Euro?: Void | undefined; + Super21Gray?: Void | undefined; + Super21Silver?: Void | undefined; + Turbine19?: Void | undefined; + Turbine19Dark?: Void | undefined; + AeroTurbine19?: Void | undefined; + AeroTurbine19Black?: Void | undefined; + Helix20?: Void | undefined; + AeroTurbine20?: Void | undefined; + Turbine22?: Void | undefined; + Cyclone19Dark?: Void | undefined; + AeroTurbine20Dark?: Void | undefined; + Turbine22Dark?: Void | undefined; + Arachnid21Silver?: Void | undefined; + Arachnid21Black?: Void | undefined; + Arachnid21Grey?: Void | undefined; + Slipstream20Carbon?: Void | undefined; + Slipstream20Dark?: Void | undefined; + Slipstream19Carbon?: Void | undefined; + TwinTurbine21Silver?: Void | undefined; + TwinTurbine21Carbon?: Void | undefined; + Tempest19SonicSilver?: Void | undefined; + PinwheelRefresh18?: Void | undefined; + StilettoRefresh19?: Void | undefined; + UberTurbine20Gunpowder?: Void | undefined; + Glider18?: Void | undefined; + Helix19?: Void | undefined; + Wishbone20Staggered?: Void | undefined; + CtBase20?: Void | undefined; + CtPremium20?: Void | undefined; + CtBase18?: Void | undefined; + Apollo19MetallicShadow?: Void | undefined; + Wishbone19Staggered?: Void | undefined; + Crossflow19?: Void | undefined; + HelixV220?: Void | undefined; + Standard19?: Void | undefined; + Halo22?: Void | undefined; + Riptide20?: Void | undefined; + Cypress21?: Void | undefined; + MachinaV219?: Void | undefined; + ArachnidV221?: Void | undefined; + E4118?: Void | undefined; + D5018?: Void | undefined; + HelixV220Dark?: Void | undefined; + UberHelix20?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface SpoilerType { + None?: Void | undefined; + Passive?: Void | undefined; + Active?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface RoofColor { + None?: Void | undefined; + Glass?: Void | undefined; + Black?: Void | undefined; + Colored?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface ExteriorColor { + Unknown?: Void | undefined; + RedMulticoat?: Void | undefined; + SolidBlack?: Void | undefined; + SilverMetallic?: Void | undefined; + MidnightSilver?: Void | undefined; + DeepBlue?: Void | undefined; + PearlWhite?: Void | undefined; + DefaultColor?: Void | undefined; + Black?: Void | undefined; + White?: Void | undefined; + Silver?: Void | undefined; + Grey?: Void | undefined; + Blue?: Void | undefined; + Green?: Void | undefined; + Brown?: Void | undefined; + Pearl?: Void | undefined; + SigRed?: Void | undefined; + Red?: Void | undefined; + SteelGrey?: Void | undefined; + MetallicBlack?: Void | undefined; + TitaniumCopper?: Void | undefined; + SignatureBlue?: Void | undefined; + MidnightCherryRed?: Void | undefined; + Quicksilver?: Void | undefined; + UltraRed?: Void | undefined; + StealthGrey?: Void | undefined; + LunarSilver?: Void | undefined; + GlacierBlue?: Void | undefined; + DiamondBlack?: Void | undefined; + FrostBlue?: Void | undefined; + SilkRoadSilver?: Void | undefined; + MarineBlue?: Void | undefined; + GarnetRed?: Void | undefined; + CoastalBlue?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface RearSeatHeaters { + None?: Void | undefined; + Base?: Void | undefined; + Executive?: Void | undefined; + Gentherm?: Void | undefined; + BaseModelX?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface SeatType { + Base?: Void | undefined; + Recaro?: Void | undefined; + TeslaMsGen1?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface RearSeatType { + Base?: Void | undefined; + Recaro?: Void | undefined; + Executive?: Void | undefined; + TwoSeat?: Void | undefined; + FoldFlat?: Void | undefined; + FoldFlatMotorized?: Void | undefined; + TwoSeatConsole?: Void | undefined; + FoldFlatTwoMotor?: Void | undefined; + FoldFlatTwoMotorHall?: Void | undefined; + FoldFlatHallBuckles?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface ThirdRowSeatType { + None?: Void | undefined; + FuturisFoldFlat?: Void | undefined; + FuturisNoFoldFlat?: Void | undefined; + FlatFold?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface ChargePortType { + US?: Void | undefined; + EU?: Void | undefined; + GB?: Void | undefined; + CCS?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface RearDriveUnit { + None?: Void | undefined; + LargeRear?: Void | undefined; + SmallRear?: Void | undefined; + PM216MOSFET?: Void | undefined; + PM216IGBT?: Void | undefined; + CorianderSingle?: Void | undefined; + CorianderDual?: Void | undefined; + PermanentMagnet?: Void | undefined; + InductionDual?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface EfficiencyPackage { + Default?: Void | undefined; + M3SRPlus2020?: Void | undefined; + M3LR2020?: Void | undefined; + M3LRPerformance2020?: Void | undefined; + M3SRPlus2020Q4GFSH?: Void | undefined; + MY2020?: Void | undefined; + M32021?: Void | undefined; + MY2021?: Void | undefined; + SX2020?: Void | undefined; + S2?: Void | undefined; + SX2020H2?: Void | undefined; + M3SRPlus2021Q3GFSH?: Void | undefined; + M3SRPlus2021Q3Fremont?: Void | undefined; + MYSRPlus2021Q3GFSH?: Void | undefined; + MYSRPlus2022Q1TX?: Void | undefined; + MYRWDEU2022?: Void | undefined; + M3Poppyseed2024?: Void | undefined; + M32023GFSHExport?: Void | undefined; + MY2023GFSHExport?: Void | undefined; + MY2024?: Void | undefined; + MS2024?: Void | undefined; + MX2024?: Void | undefined; + MY2023SRRWD?: Void | undefined; + MY2024C?: Void | undefined; + MY2024GFSHExportSRRWD?: Void | undefined; + M3Poppyseed2024C?: Void | undefined; + M32025?: Void | undefined; + MY2025?: Void | undefined; + M32025B?: Void | undefined; + MY2025B?: Void | undefined; + MS2025?: Void | undefined; + MX2025?: Void | undefined; + MYRefresh2025ROW?: Void | undefined; + MYStandard2025?: Void | undefined; + MYRefresh2025CN?: Void | undefined; + MS2026?: Void | undefined; + MX2026?: Void | undefined; + MY2025M53?: Void | undefined; + M32025M53?: Void | undefined; + MY2025CNPlus?: Void | undefined; + MS2026B?: Void | undefined; + M32026B?: Void | undefined; + MY2026US?: Void | undefined; +} + export interface GuiSettings { + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + guiDistanceUnits: + | GuiSettings_SpeedUnit + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + guiTemperatureUnits: + | GuiSettings_TemperatureUnit + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + guiChargeRateUnits: + | GuiSettings_ChargeRateUnit + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + guiRangeDisplay: GuiSettings_RangeDisplay | undefined; timestamp: Date | undefined; gui24HourTime?: boolean | undefined; showRangeUnits?: boolean | undefined; @@ -3067,15 +3494,121 @@ export function guiSettings_TirePressureUnitToJSON(object: GuiSettings_TirePress } } +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface GuiSettings_SpeedUnit { + KilometersPerHour?: Void | undefined; + MilesPerHour?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface GuiSettings_TemperatureUnit { + TemperatureF?: Void | undefined; + TemperatureC?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface GuiSettings_ChargeRateUnit { + Invalid?: Void | undefined; + KilometersPerHour?: Void | undefined; + MilesPerHour?: Void | undefined; + KW?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface GuiSettings_RangeDisplay { + Ideal?: Void | undefined; + Rated?: Void | undefined; +} + export interface VehicleConfig { - interiorTrimType: VehicleConfig_InteriorTrimType | undefined; - exteriorTrimType: VehicleConfig_ExteriorTrimType | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + carSpecialType: + | VehicleBadging + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + carTrim: + | CarTrim + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + carType: + | VehicleConfig_CarType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + sunRoofInstalled: + | SunRoofType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + wheelType: + | WheelType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + spoilerType: + | SpoilerType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + roofColor: + | RoofColor + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + exteriorColor: + | ExteriorColor + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + rearSeatHeaters: + | RearSeatHeaters + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + seatType: + | SeatType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + rearSeatType: + | RearSeatType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + thirdRowSeatType: + | ThirdRowSeatType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + chargePortType: + | ChargePortType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + timestamp: Date | undefined; + interiorTrimType: + | VehicleConfig_InteriorTrimType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + driverAssist: + | VehicleConfig_DriverAssist + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + performancePackage: + | VehicleConfig_PerformancePackage + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + frontDriveUnit: + | VehicleConfig_FrontDriveUnit + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + rearDriveUnit: + | RearDriveUnit + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + efficiencyPackage: EfficiencyPackage | undefined; + exteriorTrimType: + | VehicleConfig_ExteriorTrimType + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + steeringWheelType: VehicleConfig_SteeringWheelType | undefined; redBrakeCalipers?: boolean | undefined; useRangeBadging?: boolean | undefined; rangePlusBadging?: boolean | undefined; hasLudicrousMode?: boolean | undefined; canActuateTrunks?: boolean | undefined; hasAirSuspension?: boolean | undefined; + rhd?: boolean | undefined; + plg?: boolean | undefined; eceRestrictions?: boolean | undefined; euVehicle?: boolean | undefined; motorizedChargePort?: boolean | undefined; @@ -3103,6 +3636,7 @@ export interface VehicleConfig { hasFrontRowSeatHeaters?: boolean | undefined; hasThirdRowSeatHeaters?: boolean | undefined; supportsQrPairing?: boolean | undefined; + vin?: string | undefined; disableWindowVentClose?: boolean | undefined; webcamSelfieSupported?: boolean | undefined; copUserSetTempSupported?: boolean | undefined; @@ -3586,11 +4120,70 @@ export function vehicleConfig_TurnIndicatorControlTypeToJSON(object: VehicleConf } } +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface VehicleConfig_CarType { + CarTypeModelS?: Void | undefined; + CarTypeModelX?: Void | undefined; + CarTypeModelS2?: Void | undefined; + CarTypeModel3?: Void | undefined; + CarTypeModelY?: Void | undefined; + CarTypeSemiTruck?: Void | undefined; + CarTypeLychee?: Void | undefined; + CarTypeTamarind?: Void | undefined; + CarTypeCybertruck?: Void | undefined; + CarTypeSemiTruckV2?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface VehicleConfig_DriverAssist { + None?: Void | undefined; + MonoCam?: Void | undefined; + ParkerPascal?: Void | undefined; + ParkerPascal25?: Void | undefined; + TeslaAP3?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface VehicleConfig_PerformancePackage { + None?: Void | undefined; + Base?: Void | undefined; + Performance?: Void | undefined; + BasePlus?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface VehicleConfig_FrontDriveUnit { + NoneOrSmall?: Void | undefined; + PermanentMagnet?: Void | undefined; +} + +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface VehicleConfig_SteeringWheelType { + Unknown?: Void | undefined; + Round?: Void | undefined; + Yoke?: Void | undefined; + Squircle?: Void | undefined; +} + export interface VehicleConfig_InteriorTrimType { + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + UNKNOWN?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + BLACK?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + WHITE?: Void | undefined; BLACKCONSOLE2?: Void | undefined; WHITECONSOLE2?: Void | undefined; ALLBLACK?: Void | undefined; - BLACKANDWHITE?: Void | undefined; + BLACKANDWHITE?: + | Void + | undefined; + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + CREAM?: Void | undefined; WALNUTCREAM?: Void | undefined; WALNUTWHITE?: Void | undefined; EBONYBLACK?: Void | undefined; @@ -3601,6 +4194,8 @@ export interface VehicleConfig_InteriorTrimType { } export interface VehicleConfig_ExteriorTrimType { + /** UNCONFIRMED: not yet confirmed on a live vehicle */ + UNKNOWN?: Void | undefined; STANDARDCHROME?: Void | undefined; SATINBLACK?: Void | undefined; } @@ -3676,10 +4271,18 @@ export function sohState_WarrantyServiceResultToJSON(object: SohState_WarrantySe } } +/** Alternatives are wire-confirmed. */ export interface SohState_SohTestPhase { + Discharge?: Void | undefined; + DischargeRest?: Void | undefined; + Charge?: Void | undefined; + ChargeRest?: Void | undefined; } +/** Alternatives are wire-confirmed. */ export interface SohState_SohTestEndMode { + Complete?: Void | undefined; + Failed?: Void | undefined; } export interface SohState_SohTestState { @@ -3689,7 +4292,7 @@ export interface SohState_SohTestState { } export interface SohState_SohResult { - field3?: number | undefined; + soh?: number | undefined; sohCalibrated?: boolean | undefined; sohLastTestTime?: number | undefined; sohHealthResult?: SohState_WarrantyServiceResult | undefined; @@ -3779,6 +4382,13 @@ export interface VehicleDetailState { isFsdV14OrAbove?: boolean | undefined; } +/** UNCONFIRMED: not yet confirmed on a live vehicle. */ +export interface KeepOnAccessoryPortsState { + keepOnCabin12vPortRequest?: KeepOnAccessoryPortRequest | undefined; + keepOnCabin48vPortRequest?: KeepOnAccessoryPortRequest | undefined; + timestamp: Date | undefined; +} + function createBaseVehicleData(): VehicleData { return { guiSettings: undefined, @@ -3809,6 +4419,7 @@ function createBaseVehicleData(): VehicleData { suspensionState: undefined, childPresenceDetectionState: undefined, displayState: undefined, + keepOnAccessoryPortsState: undefined, piiKeyResponses: [], wrappedKey: new Uint8Array(0), supportsOptionalFields: undefined, @@ -3901,6 +4512,9 @@ export const VehicleData: MessageFns = { if (message.displayState !== undefined) { DisplayState.encode(message.displayState, writer.uint32(290).fork()).join(); } + if (message.keepOnAccessoryPortsState !== undefined) { + KeepOnAccessoryPortsState.encode(message.keepOnAccessoryPortsState, writer.uint32(314).fork()).join(); + } for (const v of message.piiKeyResponses) { writer.uint32(7202).bytes(v!); } @@ -4144,6 +4758,14 @@ export const VehicleData: MessageFns = { message.displayState = DisplayState.decode(reader, reader.uint32()); continue; } + case 39: { + if (tag !== 314) { + break; + } + + message.keepOnAccessoryPortsState = KeepOnAccessoryPortsState.decode(reader, reader.uint32()); + continue; + } case 900: { if (tag !== 7202) { break; @@ -4229,6 +4851,9 @@ export const VehicleData: MessageFns = { ? ChildPresenceDetectionState.fromJSON(object.childPresenceDetectionState) : undefined, displayState: isSet(object.displayState) ? DisplayState.fromJSON(object.displayState) : undefined, + keepOnAccessoryPortsState: isSet(object.keepOnAccessoryPortsState) + ? KeepOnAccessoryPortsState.fromJSON(object.keepOnAccessoryPortsState) + : undefined, piiKeyResponses: globalThis.Array.isArray(object?.piiKeyResponses) ? object.piiKeyResponses.map((e: any) => bytesFromBase64(e)) : [], @@ -4325,6 +4950,9 @@ export const VehicleData: MessageFns = { if (message.displayState !== undefined) { obj.displayState = DisplayState.toJSON(message.displayState); } + if (message.keepOnAccessoryPortsState !== undefined) { + obj.keepOnAccessoryPortsState = KeepOnAccessoryPortsState.toJSON(message.keepOnAccessoryPortsState); + } if (message.piiKeyResponses?.length) { obj.piiKeyResponses = message.piiKeyResponses.map((e) => base64FromBytes(e)); } @@ -4423,6 +5051,10 @@ export const VehicleData: MessageFns = { message.displayState = (object.displayState !== undefined && object.displayState !== null) ? DisplayState.fromPartial(object.displayState) : undefined; + message.keepOnAccessoryPortsState = + (object.keepOnAccessoryPortsState !== undefined && object.keepOnAccessoryPortsState !== null) + ? KeepOnAccessoryPortsState.fromPartial(object.keepOnAccessoryPortsState) + : undefined; message.piiKeyResponses = object.piiKeyResponses?.map((e) => e) || []; message.wrappedKey = object.wrappedKey ?? new Uint8Array(0); message.supportsOptionalFields = object.supportsOptionalFields ?? undefined; @@ -11038,9 +11670,13 @@ export const LocationState_GPSCoordinateType: MessageFns = { encode(message: VehicleState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.autoparkStyle !== undefined) { + AutoparkStyle.encode(message.autoparkStyle, writer.uint32(274).fork()).join(); + } + if (message.activeSpoilerState !== undefined) { + SpoilerState.encode(message.activeSpoilerState, writer.uint32(298).fork()).join(); + } if (message.softwareUpdateState !== undefined) { SoftwareUpdateState.encode(message.softwareUpdateState, writer.uint32(306).fork()).join(); } @@ -11124,6 +11766,12 @@ export const VehicleState: MessageFns = { if (message.timestamp !== undefined) { Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(346).fork()).join(); } + if (message.autoparkVersion !== undefined) { + AutoparkVersion.encode(message.autoparkVersion, writer.uint32(370).fork()).join(); + } + if (message.autoparkState !== undefined) { + AutoparkState.encode(message.autoparkState, writer.uint32(378).fork()).join(); + } writer.uint32(442).fork(); for (const v of message.featureBitmask) { writer.uint32(v); @@ -11343,6 +11991,22 @@ export const VehicleState: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 34: { + if (tag !== 274) { + break; + } + + message.autoparkStyle = AutoparkStyle.decode(reader, reader.uint32()); + continue; + } + case 37: { + if (tag !== 298) { + break; + } + + message.activeSpoilerState = SpoilerState.decode(reader, reader.uint32()); + continue; + } case 38: { if (tag !== 306) { break; @@ -11367,6 +12031,22 @@ export const VehicleState: MessageFns = { message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); continue; } + case 46: { + if (tag !== 370) { + break; + } + + message.autoparkVersion = AutoparkVersion.decode(reader, reader.uint32()); + continue; + } + case 47: { + if (tag !== 378) { + break; + } + + message.autoparkState = AutoparkState.decode(reader, reader.uint32()); + continue; + } case 55: { if (tag === 440) { message.featureBitmask.push(reader.uint32()); @@ -11940,11 +12620,17 @@ export const VehicleState: MessageFns = { fromJSON(object: any): VehicleState { return { + autoparkStyle: isSet(object.autoparkStyle) ? AutoparkStyle.fromJSON(object.autoparkStyle) : undefined, + activeSpoilerState: isSet(object.activeSpoilerState) + ? SpoilerState.fromJSON(object.activeSpoilerState) + : undefined, softwareUpdateState: isSet(object.softwareUpdateState) ? SoftwareUpdateState.fromJSON(object.softwareUpdateState) : undefined, legacyMediaState: isSet(object.legacyMediaState) ? LegacyMediaState.fromJSON(object.legacyMediaState) : undefined, timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + autoparkVersion: isSet(object.autoparkVersion) ? AutoparkVersion.fromJSON(object.autoparkVersion) : undefined, + autoparkState: isSet(object.autoparkState) ? AutoparkState.fromJSON(object.autoparkState) : undefined, featureBitmask: globalThis.Array.isArray(object?.featureBitmask) ? object.featureBitmask.map((e: any) => globalThis.Number(e)) : [], @@ -12071,6 +12757,12 @@ export const VehicleState: MessageFns = { toJSON(message: VehicleState): unknown { const obj: any = {}; + if (message.autoparkStyle !== undefined) { + obj.autoparkStyle = AutoparkStyle.toJSON(message.autoparkStyle); + } + if (message.activeSpoilerState !== undefined) { + obj.activeSpoilerState = SpoilerState.toJSON(message.activeSpoilerState); + } if (message.softwareUpdateState !== undefined) { obj.softwareUpdateState = SoftwareUpdateState.toJSON(message.softwareUpdateState); } @@ -12080,6 +12772,12 @@ export const VehicleState: MessageFns = { if (message.timestamp !== undefined) { obj.timestamp = message.timestamp.toISOString(); } + if (message.autoparkVersion !== undefined) { + obj.autoparkVersion = AutoparkVersion.toJSON(message.autoparkVersion); + } + if (message.autoparkState !== undefined) { + obj.autoparkState = AutoparkState.toJSON(message.autoparkState); + } if (message.featureBitmask?.length) { obj.featureBitmask = message.featureBitmask.map((e) => Math.round(e)); } @@ -12295,6 +12993,12 @@ export const VehicleState: MessageFns = { }, fromPartial, I>>(object: I): VehicleState { const message = createBaseVehicleState(); + message.autoparkStyle = (object.autoparkStyle !== undefined && object.autoparkStyle !== null) + ? AutoparkStyle.fromPartial(object.autoparkStyle) + : undefined; + message.activeSpoilerState = (object.activeSpoilerState !== undefined && object.activeSpoilerState !== null) + ? SpoilerState.fromPartial(object.activeSpoilerState) + : undefined; message.softwareUpdateState = (object.softwareUpdateState !== undefined && object.softwareUpdateState !== null) ? SoftwareUpdateState.fromPartial(object.softwareUpdateState) : undefined; @@ -12302,11 +13006,17 @@ export const VehicleState: MessageFns = { ? LegacyMediaState.fromPartial(object.legacyMediaState) : undefined; message.timestamp = object.timestamp ?? undefined; - message.featureBitmask = object.featureBitmask?.map((e) => e) || []; - message.tpmsLastSeenPressureTimeFl = object.tpmsLastSeenPressureTimeFl ?? undefined; - message.tpmsLastSeenPressureTimeFr = object.tpmsLastSeenPressureTimeFr ?? undefined; - message.tpmsLastSeenPressureTimeRl = object.tpmsLastSeenPressureTimeRl ?? undefined; - message.tpmsLastSeenPressureTimeRr = object.tpmsLastSeenPressureTimeRr ?? undefined; + message.autoparkVersion = (object.autoparkVersion !== undefined && object.autoparkVersion !== null) + ? AutoparkVersion.fromPartial(object.autoparkVersion) + : undefined; + message.autoparkState = (object.autoparkState !== undefined && object.autoparkState !== null) + ? AutoparkState.fromPartial(object.autoparkState) + : undefined; + message.featureBitmask = object.featureBitmask?.map((e) => e) || []; + message.tpmsLastSeenPressureTimeFl = object.tpmsLastSeenPressureTimeFl ?? undefined; + message.tpmsLastSeenPressureTimeFr = object.tpmsLastSeenPressureTimeFr ?? undefined; + message.tpmsLastSeenPressureTimeRl = object.tpmsLastSeenPressureTimeRl ?? undefined; + message.tpmsLastSeenPressureTimeRr = object.tpmsLastSeenPressureTimeRr ?? undefined; message.legacyMediaInfo = (object.legacyMediaInfo !== undefined && object.legacyMediaInfo !== null) ? LegacyMediaInfo.fromPartial(object.legacyMediaInfo) : undefined; @@ -12507,6 +13217,8 @@ function createBaseCurrentVehicleState(): CurrentVehicleState { hazardsOn: undefined, deckLightsAllowed: undefined, field70: undefined, + halloweenMode: undefined, + trickOrTreatMode: undefined, }; } @@ -12709,6 +13421,12 @@ export const CurrentVehicleState: MessageFns = { if (message.field70 !== undefined) { writer.uint32(560).uint64(message.field70); } + if (message.halloweenMode !== undefined) { + writer.uint32(568).bool(message.halloweenMode); + } + if (message.trickOrTreatMode !== undefined) { + writer.uint32(576).bool(message.trickOrTreatMode); + } return writer; }, @@ -13249,6 +13967,22 @@ export const CurrentVehicleState: MessageFns = { message.field70 = longToNumber(reader.uint64()); continue; } + case 71: { + if (tag !== 568) { + break; + } + + message.halloweenMode = reader.bool(); + continue; + } + case 72: { + if (tag !== 576) { + break; + } + + message.trickOrTreatMode = reader.bool(); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -13383,6 +14117,8 @@ export const CurrentVehicleState: MessageFns = { hazardsOn: isSet(object.hazardsOn) ? globalThis.Boolean(object.hazardsOn) : undefined, deckLightsAllowed: isSet(object.deckLightsAllowed) ? globalThis.Boolean(object.deckLightsAllowed) : undefined, field70: isSet(object.field70) ? globalThis.Number(object.field70) : undefined, + halloweenMode: isSet(object.halloweenMode) ? globalThis.Boolean(object.halloweenMode) : undefined, + trickOrTreatMode: isSet(object.trickOrTreatMode) ? globalThis.Boolean(object.trickOrTreatMode) : undefined, }; }, @@ -13583,6 +14319,12 @@ export const CurrentVehicleState: MessageFns = { if (message.field70 !== undefined) { obj.field70 = Math.round(message.field70); } + if (message.halloweenMode !== undefined) { + obj.halloweenMode = message.halloweenMode; + } + if (message.trickOrTreatMode !== undefined) { + obj.trickOrTreatMode = message.trickOrTreatMode; + } return obj; }, @@ -13668,6 +14410,8 @@ export const CurrentVehicleState: MessageFns = { message.hazardsOn = object.hazardsOn ?? undefined; message.deckLightsAllowed = object.deckLightsAllowed ?? undefined; message.field70 = object.field70 ?? undefined; + message.halloweenMode = object.halloweenMode ?? undefined; + message.trickOrTreatMode = object.trickOrTreatMode ?? undefined; return message; }, }; @@ -13751,11 +14495,17 @@ export const DashcamUtils: MessageFns = { }; function createBaseAutoparkStyle(): AutoparkStyle { - return {}; + return { Deadman: undefined, Standard: undefined }; } export const AutoparkStyle: MessageFns = { - encode(_: AutoparkStyle, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: AutoparkStyle, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Deadman !== undefined) { + Void.encode(message.Deadman, writer.uint32(10).fork()).join(); + } + if (message.Standard !== undefined) { + Void.encode(message.Standard, writer.uint32(18).fork()).join(); + } return writer; }, @@ -13766,6 +14516,22 @@ export const AutoparkStyle: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Deadman = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Standard = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -13775,30 +14541,54 @@ export const AutoparkStyle: MessageFns = { return message; }, - fromJSON(_: any): AutoparkStyle { - return {}; + fromJSON(object: any): AutoparkStyle { + return { + Deadman: isSet(object.Deadman) ? Void.fromJSON(object.Deadman) : undefined, + Standard: isSet(object.Standard) ? Void.fromJSON(object.Standard) : undefined, + }; }, - toJSON(_: AutoparkStyle): unknown { + toJSON(message: AutoparkStyle): unknown { const obj: any = {}; + if (message.Deadman !== undefined) { + obj.Deadman = Void.toJSON(message.Deadman); + } + if (message.Standard !== undefined) { + obj.Standard = Void.toJSON(message.Standard); + } return obj; }, create, I>>(base?: I): AutoparkStyle { return AutoparkStyle.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): AutoparkStyle { + fromPartial, I>>(object: I): AutoparkStyle { const message = createBaseAutoparkStyle(); + message.Deadman = (object.Deadman !== undefined && object.Deadman !== null) + ? Void.fromPartial(object.Deadman) + : undefined; + message.Standard = (object.Standard !== undefined && object.Standard !== null) + ? Void.fromPartial(object.Standard) + : undefined; return message; }, }; function createBaseAutoparkVersion(): AutoparkVersion { - return {}; + return { Version2: undefined, Version3: undefined, Version4: undefined }; } export const AutoparkVersion: MessageFns = { - encode(_: AutoparkVersion, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: AutoparkVersion, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Version2 !== undefined) { + Void.encode(message.Version2, writer.uint32(10).fork()).join(); + } + if (message.Version3 !== undefined) { + Void.encode(message.Version3, writer.uint32(18).fork()).join(); + } + if (message.Version4 !== undefined) { + Void.encode(message.Version4, writer.uint32(26).fork()).join(); + } return writer; }, @@ -13809,6 +14599,30 @@ export const AutoparkVersion: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Version2 = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Version3 = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Version4 = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -13818,30 +14632,101 @@ export const AutoparkVersion: MessageFns = { return message; }, - fromJSON(_: any): AutoparkVersion { - return {}; + fromJSON(object: any): AutoparkVersion { + return { + Version2: isSet(object.Version2) ? Void.fromJSON(object.Version2) : undefined, + Version3: isSet(object.Version3) ? Void.fromJSON(object.Version3) : undefined, + Version4: isSet(object.Version4) ? Void.fromJSON(object.Version4) : undefined, + }; }, - toJSON(_: AutoparkVersion): unknown { + toJSON(message: AutoparkVersion): unknown { const obj: any = {}; + if (message.Version2 !== undefined) { + obj.Version2 = Void.toJSON(message.Version2); + } + if (message.Version3 !== undefined) { + obj.Version3 = Void.toJSON(message.Version3); + } + if (message.Version4 !== undefined) { + obj.Version4 = Void.toJSON(message.Version4); + } return obj; }, create, I>>(base?: I): AutoparkVersion { return AutoparkVersion.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): AutoparkVersion { + fromPartial, I>>(object: I): AutoparkVersion { const message = createBaseAutoparkVersion(); + message.Version2 = (object.Version2 !== undefined && object.Version2 !== null) + ? Void.fromPartial(object.Version2) + : undefined; + message.Version3 = (object.Version3 !== undefined && object.Version3 !== null) + ? Void.fromPartial(object.Version3) + : undefined; + message.Version4 = (object.Version4 !== undefined && object.Version4 !== null) + ? Void.fromPartial(object.Version4) + : undefined; return message; }, }; function createBaseAutoparkState(): AutoparkState { - return {}; + return { + Standby: undefined, + Unavailable: undefined, + Ready: undefined, + ActiveForward: undefined, + ActiveReverse: undefined, + Disabled: undefined, + Panic: undefined, + Preparing: undefined, + Aborting: undefined, + Paused: undefined, + Resuming: undefined, + OpeningGate: undefined, + }; } export const AutoparkState: MessageFns = { - encode(_: AutoparkState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: AutoparkState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Standby !== undefined) { + Void.encode(message.Standby, writer.uint32(10).fork()).join(); + } + if (message.Unavailable !== undefined) { + Void.encode(message.Unavailable, writer.uint32(18).fork()).join(); + } + if (message.Ready !== undefined) { + Void.encode(message.Ready, writer.uint32(26).fork()).join(); + } + if (message.ActiveForward !== undefined) { + Void.encode(message.ActiveForward, writer.uint32(34).fork()).join(); + } + if (message.ActiveReverse !== undefined) { + Void.encode(message.ActiveReverse, writer.uint32(42).fork()).join(); + } + if (message.Disabled !== undefined) { + Void.encode(message.Disabled, writer.uint32(50).fork()).join(); + } + if (message.Panic !== undefined) { + Void.encode(message.Panic, writer.uint32(58).fork()).join(); + } + if (message.Preparing !== undefined) { + Void.encode(message.Preparing, writer.uint32(66).fork()).join(); + } + if (message.Aborting !== undefined) { + Void.encode(message.Aborting, writer.uint32(74).fork()).join(); + } + if (message.Paused !== undefined) { + Void.encode(message.Paused, writer.uint32(82).fork()).join(); + } + if (message.Resuming !== undefined) { + Void.encode(message.Resuming, writer.uint32(90).fork()).join(); + } + if (message.OpeningGate !== undefined) { + Void.encode(message.OpeningGate, writer.uint32(98).fork()).join(); + } return writer; }, @@ -13852,6 +14737,102 @@ export const AutoparkState: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Standby = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Unavailable = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Ready = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.ActiveForward = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.ActiveReverse = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.Disabled = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.Panic = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.Preparing = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.Aborting = Void.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.Paused = Void.decode(reader, reader.uint32()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.Resuming = Void.decode(reader, reader.uint32()); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.OpeningGate = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -13861,30 +14842,123 @@ export const AutoparkState: MessageFns = { return message; }, - fromJSON(_: any): AutoparkState { - return {}; + fromJSON(object: any): AutoparkState { + return { + Standby: isSet(object.Standby) ? Void.fromJSON(object.Standby) : undefined, + Unavailable: isSet(object.Unavailable) ? Void.fromJSON(object.Unavailable) : undefined, + Ready: isSet(object.Ready) ? Void.fromJSON(object.Ready) : undefined, + ActiveForward: isSet(object.ActiveForward) ? Void.fromJSON(object.ActiveForward) : undefined, + ActiveReverse: isSet(object.ActiveReverse) ? Void.fromJSON(object.ActiveReverse) : undefined, + Disabled: isSet(object.Disabled) ? Void.fromJSON(object.Disabled) : undefined, + Panic: isSet(object.Panic) ? Void.fromJSON(object.Panic) : undefined, + Preparing: isSet(object.Preparing) ? Void.fromJSON(object.Preparing) : undefined, + Aborting: isSet(object.Aborting) ? Void.fromJSON(object.Aborting) : undefined, + Paused: isSet(object.Paused) ? Void.fromJSON(object.Paused) : undefined, + Resuming: isSet(object.Resuming) ? Void.fromJSON(object.Resuming) : undefined, + OpeningGate: isSet(object.OpeningGate) ? Void.fromJSON(object.OpeningGate) : undefined, + }; }, - toJSON(_: AutoparkState): unknown { + toJSON(message: AutoparkState): unknown { const obj: any = {}; + if (message.Standby !== undefined) { + obj.Standby = Void.toJSON(message.Standby); + } + if (message.Unavailable !== undefined) { + obj.Unavailable = Void.toJSON(message.Unavailable); + } + if (message.Ready !== undefined) { + obj.Ready = Void.toJSON(message.Ready); + } + if (message.ActiveForward !== undefined) { + obj.ActiveForward = Void.toJSON(message.ActiveForward); + } + if (message.ActiveReverse !== undefined) { + obj.ActiveReverse = Void.toJSON(message.ActiveReverse); + } + if (message.Disabled !== undefined) { + obj.Disabled = Void.toJSON(message.Disabled); + } + if (message.Panic !== undefined) { + obj.Panic = Void.toJSON(message.Panic); + } + if (message.Preparing !== undefined) { + obj.Preparing = Void.toJSON(message.Preparing); + } + if (message.Aborting !== undefined) { + obj.Aborting = Void.toJSON(message.Aborting); + } + if (message.Paused !== undefined) { + obj.Paused = Void.toJSON(message.Paused); + } + if (message.Resuming !== undefined) { + obj.Resuming = Void.toJSON(message.Resuming); + } + if (message.OpeningGate !== undefined) { + obj.OpeningGate = Void.toJSON(message.OpeningGate); + } return obj; }, create, I>>(base?: I): AutoparkState { return AutoparkState.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): AutoparkState { + fromPartial, I>>(object: I): AutoparkState { const message = createBaseAutoparkState(); + message.Standby = (object.Standby !== undefined && object.Standby !== null) + ? Void.fromPartial(object.Standby) + : undefined; + message.Unavailable = (object.Unavailable !== undefined && object.Unavailable !== null) + ? Void.fromPartial(object.Unavailable) + : undefined; + message.Ready = (object.Ready !== undefined && object.Ready !== null) ? Void.fromPartial(object.Ready) : undefined; + message.ActiveForward = (object.ActiveForward !== undefined && object.ActiveForward !== null) + ? Void.fromPartial(object.ActiveForward) + : undefined; + message.ActiveReverse = (object.ActiveReverse !== undefined && object.ActiveReverse !== null) + ? Void.fromPartial(object.ActiveReverse) + : undefined; + message.Disabled = (object.Disabled !== undefined && object.Disabled !== null) + ? Void.fromPartial(object.Disabled) + : undefined; + message.Panic = (object.Panic !== undefined && object.Panic !== null) ? Void.fromPartial(object.Panic) : undefined; + message.Preparing = (object.Preparing !== undefined && object.Preparing !== null) + ? Void.fromPartial(object.Preparing) + : undefined; + message.Aborting = (object.Aborting !== undefined && object.Aborting !== null) + ? Void.fromPartial(object.Aborting) + : undefined; + message.Paused = (object.Paused !== undefined && object.Paused !== null) + ? Void.fromPartial(object.Paused) + : undefined; + message.Resuming = (object.Resuming !== undefined && object.Resuming !== null) + ? Void.fromPartial(object.Resuming) + : undefined; + message.OpeningGate = (object.OpeningGate !== undefined && object.OpeningGate !== null) + ? Void.fromPartial(object.OpeningGate) + : undefined; return message; }, }; function createBaseSpoilerState(): SpoilerState { - return {}; + return { Unknown: undefined, Retracted: undefined, Extended: undefined, Fault: undefined }; } export const SpoilerState: MessageFns = { - encode(_: SpoilerState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: SpoilerState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Unknown !== undefined) { + Void.encode(message.Unknown, writer.uint32(10).fork()).join(); + } + if (message.Retracted !== undefined) { + Void.encode(message.Retracted, writer.uint32(18).fork()).join(); + } + if (message.Extended !== undefined) { + Void.encode(message.Extended, writer.uint32(26).fork()).join(); + } + if (message.Fault !== undefined) { + Void.encode(message.Fault, writer.uint32(34).fork()).join(); + } return writer; }, @@ -13895,6 +14969,38 @@ export const SpoilerState: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Unknown = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Retracted = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Extended = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.Fault = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -13904,20 +15010,47 @@ export const SpoilerState: MessageFns = { return message; }, - fromJSON(_: any): SpoilerState { - return {}; - }, - - toJSON(_: SpoilerState): unknown { + fromJSON(object: any): SpoilerState { + return { + Unknown: isSet(object.Unknown) ? Void.fromJSON(object.Unknown) : undefined, + Retracted: isSet(object.Retracted) ? Void.fromJSON(object.Retracted) : undefined, + Extended: isSet(object.Extended) ? Void.fromJSON(object.Extended) : undefined, + Fault: isSet(object.Fault) ? Void.fromJSON(object.Fault) : undefined, + }; + }, + + toJSON(message: SpoilerState): unknown { const obj: any = {}; + if (message.Unknown !== undefined) { + obj.Unknown = Void.toJSON(message.Unknown); + } + if (message.Retracted !== undefined) { + obj.Retracted = Void.toJSON(message.Retracted); + } + if (message.Extended !== undefined) { + obj.Extended = Void.toJSON(message.Extended); + } + if (message.Fault !== undefined) { + obj.Fault = Void.toJSON(message.Fault); + } return obj; }, create, I>>(base?: I): SpoilerState { return SpoilerState.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): SpoilerState { + fromPartial, I>>(object: I): SpoilerState { const message = createBaseSpoilerState(); + message.Unknown = (object.Unknown !== undefined && object.Unknown !== null) + ? Void.fromPartial(object.Unknown) + : undefined; + message.Retracted = (object.Retracted !== undefined && object.Retracted !== null) + ? Void.fromPartial(object.Retracted) + : undefined; + message.Extended = (object.Extended !== undefined && object.Extended !== null) + ? Void.fromPartial(object.Extended) + : undefined; + message.Fault = (object.Fault !== undefined && object.Fault !== null) ? Void.fromPartial(object.Fault) : undefined; return message; }, }; @@ -17625,64 +18758,93 @@ export const ShiftState: MessageFns = { }, }; -function createBaseGuiSettings(): GuiSettings { - return { timestamp: undefined, gui24HourTime: undefined, showRangeUnits: undefined, guiTirepressureUnits: undefined }; +function createBaseVehicleBadging(): VehicleBadging { + return { + Base: undefined, + Founder: undefined, + Signature: undefined, + Performance: undefined, + LaunchSeries: undefined, + SignatureSeries: undefined, + }; } -export const GuiSettings: MessageFns = { - encode(message: GuiSettings, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.timestamp !== undefined) { - Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(58).fork()).join(); +export const VehicleBadging: MessageFns = { + encode(message: VehicleBadging, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Base !== undefined) { + Void.encode(message.Base, writer.uint32(10).fork()).join(); } - if (message.gui24HourTime !== undefined) { - writer.uint32(832).bool(message.gui24HourTime); + if (message.Founder !== undefined) { + Void.encode(message.Founder, writer.uint32(18).fork()).join(); } - if (message.showRangeUnits !== undefined) { - writer.uint32(848).bool(message.showRangeUnits); + if (message.Signature !== undefined) { + Void.encode(message.Signature, writer.uint32(26).fork()).join(); } - if (message.guiTirepressureUnits !== undefined) { - writer.uint32(864).int32(message.guiTirepressureUnits); + if (message.Performance !== undefined) { + Void.encode(message.Performance, writer.uint32(34).fork()).join(); + } + if (message.LaunchSeries !== undefined) { + Void.encode(message.LaunchSeries, writer.uint32(42).fork()).join(); + } + if (message.SignatureSeries !== undefined) { + Void.encode(message.SignatureSeries, writer.uint32(50).fork()).join(); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings { + decode(input: BinaryReader | Uint8Array, length?: number): VehicleBadging { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGuiSettings(); + const message = createBaseVehicleBadging(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { - case 7: { - if (tag !== 58) { + case 1: { + if (tag !== 10) { break; } - message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + message.Base = Void.decode(reader, reader.uint32()); continue; } - case 104: { - if (tag !== 832) { + case 2: { + if (tag !== 18) { break; } - message.gui24HourTime = reader.bool(); + message.Founder = Void.decode(reader, reader.uint32()); continue; } - case 106: { - if (tag !== 848) { + case 3: { + if (tag !== 26) { break; } - message.showRangeUnits = reader.bool(); + message.Signature = Void.decode(reader, reader.uint32()); continue; } - case 108: { - if (tag !== 864) { + case 4: { + if (tag !== 34) { break; } - message.guiTirepressureUnits = reader.int32() as any; + message.Performance = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.LaunchSeries = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.SignatureSeries = Void.decode(reader, reader.uint32()); continue; } } @@ -17694,1013 +18856,6691 @@ export const GuiSettings: MessageFns = { return message; }, - fromJSON(object: any): GuiSettings { + fromJSON(object: any): VehicleBadging { return { - timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, - gui24HourTime: isSet(object.gui24HourTime) ? globalThis.Boolean(object.gui24HourTime) : undefined, - showRangeUnits: isSet(object.showRangeUnits) ? globalThis.Boolean(object.showRangeUnits) : undefined, - guiTirepressureUnits: isSet(object.guiTirepressureUnits) - ? guiSettings_TirePressureUnitFromJSON(object.guiTirepressureUnits) - : undefined, + Base: isSet(object.Base) ? Void.fromJSON(object.Base) : undefined, + Founder: isSet(object.Founder) ? Void.fromJSON(object.Founder) : undefined, + Signature: isSet(object.Signature) ? Void.fromJSON(object.Signature) : undefined, + Performance: isSet(object.Performance) ? Void.fromJSON(object.Performance) : undefined, + LaunchSeries: isSet(object.LaunchSeries) ? Void.fromJSON(object.LaunchSeries) : undefined, + SignatureSeries: isSet(object.SignatureSeries) ? Void.fromJSON(object.SignatureSeries) : undefined, }; }, - toJSON(message: GuiSettings): unknown { + toJSON(message: VehicleBadging): unknown { const obj: any = {}; - if (message.timestamp !== undefined) { - obj.timestamp = message.timestamp.toISOString(); + if (message.Base !== undefined) { + obj.Base = Void.toJSON(message.Base); } - if (message.gui24HourTime !== undefined) { - obj.gui24HourTime = message.gui24HourTime; + if (message.Founder !== undefined) { + obj.Founder = Void.toJSON(message.Founder); } - if (message.showRangeUnits !== undefined) { - obj.showRangeUnits = message.showRangeUnits; + if (message.Signature !== undefined) { + obj.Signature = Void.toJSON(message.Signature); } - if (message.guiTirepressureUnits !== undefined) { - obj.guiTirepressureUnits = guiSettings_TirePressureUnitToJSON(message.guiTirepressureUnits); + if (message.Performance !== undefined) { + obj.Performance = Void.toJSON(message.Performance); + } + if (message.LaunchSeries !== undefined) { + obj.LaunchSeries = Void.toJSON(message.LaunchSeries); + } + if (message.SignatureSeries !== undefined) { + obj.SignatureSeries = Void.toJSON(message.SignatureSeries); } return obj; }, - create, I>>(base?: I): GuiSettings { - return GuiSettings.fromPartial(base ?? ({} as any)); + create, I>>(base?: I): VehicleBadging { + return VehicleBadging.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): GuiSettings { - const message = createBaseGuiSettings(); - message.timestamp = object.timestamp ?? undefined; - message.gui24HourTime = object.gui24HourTime ?? undefined; - message.showRangeUnits = object.showRangeUnits ?? undefined; - message.guiTirepressureUnits = object.guiTirepressureUnits ?? undefined; + fromPartial, I>>(object: I): VehicleBadging { + const message = createBaseVehicleBadging(); + message.Base = (object.Base !== undefined && object.Base !== null) ? Void.fromPartial(object.Base) : undefined; + message.Founder = (object.Founder !== undefined && object.Founder !== null) + ? Void.fromPartial(object.Founder) + : undefined; + message.Signature = (object.Signature !== undefined && object.Signature !== null) + ? Void.fromPartial(object.Signature) + : undefined; + message.Performance = (object.Performance !== undefined && object.Performance !== null) + ? Void.fromPartial(object.Performance) + : undefined; + message.LaunchSeries = (object.LaunchSeries !== undefined && object.LaunchSeries !== null) + ? Void.fromPartial(object.LaunchSeries) + : undefined; + message.SignatureSeries = (object.SignatureSeries !== undefined && object.SignatureSeries !== null) + ? Void.fromPartial(object.SignatureSeries) + : undefined; return message; }, }; -function createBaseVehicleConfig(): VehicleConfig { +function createBaseCarTrim(): CarTrim { return { - interiorTrimType: undefined, - exteriorTrimType: undefined, - redBrakeCalipers: undefined, - useRangeBadging: undefined, - rangePlusBadging: undefined, - hasLudicrousMode: undefined, - canActuateTrunks: undefined, - hasAirSuspension: undefined, - eceRestrictions: undefined, - euVehicle: undefined, - motorizedChargePort: undefined, - canAcceptNavigationRequests: undefined, - keyVersion: undefined, - mobileEnabled: undefined, - defaultChargeToMax: undefined, - steeringWheelHeaterInstalled: undefined, - sentryModeSupported: undefined, - homelinkSupported: undefined, - webcamSupported: undefined, - bioweaponModeSupported: undefined, - dashcamClipSaveSupported: undefined, - hasPws: undefined, - utcOffset: undefined, - hasSeatCooling: undefined, - paintColorOverride: undefined, - tpmsPressuresSupported: undefined, - vehicleBadging: undefined, - exteriorTrimOverride: undefined, - headlampType: undefined, - auxParkLamps: undefined, - isRaven: undefined, - hasAutoSeatClimate: undefined, - hasFrontRowSeatHeaters: undefined, - hasThirdRowSeatHeaters: undefined, - supportsQrPairing: undefined, - disableWindowVentClose: undefined, - webcamSelfieSupported: undefined, - copUserSetTempSupported: undefined, - hasAutoStwHeat: undefined, - rearlightType: undefined, - rearSeatHeaterType: undefined, - webcamGridSupported: undefined, - hasTeslaBadge: undefined, - hasTeslaWordmark: undefined, - fasciaType: undefined, - accessoryLightbarType: undefined, - sentryPreviewSupported: undefined, - seatTrimType: undefined, - drivetrainType: undefined, - lightshowSupported: undefined, - mobileDashcamViewerVersion: undefined, - hasPremiumConnectivity: undefined, - carWrapEnabled: undefined, - supportsRideHeight: undefined, - supportsSetArrivalEnergy: undefined, - supportsPillarCameraMetadata: undefined, - chassisType: undefined, - isChinaVehicle: undefined, - isUsingUnrealApviz: undefined, - supportsFlexibleDashcamBitrate: undefined, - frontFasciaCameraType: undefined, - turnIndicatorControlType: undefined, - hasRearDisplay: undefined, - windowTintColor: undefined, - interiorUpperTrimType: undefined, - badgingMaterialType: undefined, - webcamInteriorOnly: undefined, - countryCode: undefined, - bedLightingType: undefined, - rearLightHardwareVariant: undefined, - autopilotBase: 0, - autopilotOverrideState: 0, - autopilotOverrideExpireTime: undefined, - supportsDynamicEnvironments: undefined, - wheelCapsOn: undefined, + Trim40: undefined, + OBSOLETETrim50: undefined, + OBSOLETETrim50D: undefined, + Trim60: undefined, + Trim60D: undefined, + Trim70: undefined, + Trim70D: undefined, + Trim75: undefined, + Trim75D: undefined, + TrimP75D: undefined, + Trim85: undefined, + TrimP85: undefined, + TrimP85Plus: undefined, + Trim85D: undefined, + TrimP85D: undefined, + Trim90: undefined, + TrimP90: undefined, + TrimP90Plus: undefined, + Trim90D: undefined, + TrimP90D: undefined, + Trim100: undefined, + TrimP100: undefined, + Trim100D: undefined, + TrimP100D: undefined, + Trim50: undefined, + Trim50D: undefined, + Trim62: undefined, + Trim62D: undefined, + Trim74: undefined, + Trim74D: undefined, + TrimP74D: undefined, + TrimDefault: undefined, + TrimCyberbeast: undefined, + TrimInvalid: undefined, }; } -export const VehicleConfig: MessageFns = { - encode(message: VehicleConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.interiorTrimType !== undefined) { - VehicleConfig_InteriorTrimType.encode(message.interiorTrimType, writer.uint32(226).fork()).join(); - } - if (message.exteriorTrimType !== undefined) { - VehicleConfig_ExteriorTrimType.encode(message.exteriorTrimType, writer.uint32(282).fork()).join(); - } - if (message.redBrakeCalipers !== undefined) { - writer.uint32(488).bool(message.redBrakeCalipers); +export const CarTrim: MessageFns = { + encode(message: CarTrim, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Trim40 !== undefined) { + Void.encode(message.Trim40, writer.uint32(10).fork()).join(); } - if (message.useRangeBadging !== undefined) { - writer.uint32(824).bool(message.useRangeBadging); - } - if (message.rangePlusBadging !== undefined) { - writer.uint32(832).bool(message.rangePlusBadging); - } - if (message.hasLudicrousMode !== undefined) { - writer.uint32(840).bool(message.hasLudicrousMode); + if (message.OBSOLETETrim50 !== undefined) { + Void.encode(message.OBSOLETETrim50, writer.uint32(18).fork()).join(); } - if (message.canActuateTrunks !== undefined) { - writer.uint32(848).bool(message.canActuateTrunks); + if (message.OBSOLETETrim50D !== undefined) { + Void.encode(message.OBSOLETETrim50D, writer.uint32(26).fork()).join(); } - if (message.hasAirSuspension !== undefined) { - writer.uint32(880).bool(message.hasAirSuspension); + if (message.Trim60 !== undefined) { + Void.encode(message.Trim60, writer.uint32(34).fork()).join(); } - if (message.eceRestrictions !== undefined) { - writer.uint32(960).bool(message.eceRestrictions); + if (message.Trim60D !== undefined) { + Void.encode(message.Trim60D, writer.uint32(42).fork()).join(); } - if (message.euVehicle !== undefined) { - writer.uint32(968).bool(message.euVehicle); + if (message.Trim70 !== undefined) { + Void.encode(message.Trim70, writer.uint32(50).fork()).join(); } - if (message.motorizedChargePort !== undefined) { - writer.uint32(976).bool(message.motorizedChargePort); + if (message.Trim70D !== undefined) { + Void.encode(message.Trim70D, writer.uint32(58).fork()).join(); } - if (message.canAcceptNavigationRequests !== undefined) { - writer.uint32(992).bool(message.canAcceptNavigationRequests); + if (message.Trim75 !== undefined) { + Void.encode(message.Trim75, writer.uint32(66).fork()).join(); } - if (message.keyVersion !== undefined) { - writer.uint32(1000).uint32(message.keyVersion); + if (message.Trim75D !== undefined) { + Void.encode(message.Trim75D, writer.uint32(74).fork()).join(); } - if (message.mobileEnabled !== undefined) { - writer.uint32(1008).bool(message.mobileEnabled); + if (message.TrimP75D !== undefined) { + Void.encode(message.TrimP75D, writer.uint32(82).fork()).join(); } - if (message.defaultChargeToMax !== undefined) { - writer.uint32(1072).bool(message.defaultChargeToMax); + if (message.Trim85 !== undefined) { + Void.encode(message.Trim85, writer.uint32(90).fork()).join(); } - if (message.steeringWheelHeaterInstalled !== undefined) { - writer.uint32(1088).bool(message.steeringWheelHeaterInstalled); + if (message.TrimP85 !== undefined) { + Void.encode(message.TrimP85, writer.uint32(98).fork()).join(); } - if (message.sentryModeSupported !== undefined) { - writer.uint32(1096).bool(message.sentryModeSupported); + if (message.TrimP85Plus !== undefined) { + Void.encode(message.TrimP85Plus, writer.uint32(106).fork()).join(); } - if (message.homelinkSupported !== undefined) { - writer.uint32(1104).bool(message.homelinkSupported); + if (message.Trim85D !== undefined) { + Void.encode(message.Trim85D, writer.uint32(114).fork()).join(); } - if (message.webcamSupported !== undefined) { - writer.uint32(1112).bool(message.webcamSupported); + if (message.TrimP85D !== undefined) { + Void.encode(message.TrimP85D, writer.uint32(122).fork()).join(); } - if (message.bioweaponModeSupported !== undefined) { - writer.uint32(1128).bool(message.bioweaponModeSupported); + if (message.Trim90 !== undefined) { + Void.encode(message.Trim90, writer.uint32(130).fork()).join(); } - if (message.dashcamClipSaveSupported !== undefined) { - writer.uint32(1136).bool(message.dashcamClipSaveSupported); + if (message.TrimP90 !== undefined) { + Void.encode(message.TrimP90, writer.uint32(138).fork()).join(); } - if (message.hasPws !== undefined) { - writer.uint32(1144).bool(message.hasPws); + if (message.TrimP90Plus !== undefined) { + Void.encode(message.TrimP90Plus, writer.uint32(146).fork()).join(); } - if (message.utcOffset !== undefined) { - writer.uint32(1152).sint32(message.utcOffset); + if (message.Trim90D !== undefined) { + Void.encode(message.Trim90D, writer.uint32(154).fork()).join(); } - if (message.hasSeatCooling !== undefined) { - writer.uint32(1160).bool(message.hasSeatCooling); + if (message.TrimP90D !== undefined) { + Void.encode(message.TrimP90D, writer.uint32(162).fork()).join(); } - if (message.paintColorOverride !== undefined) { - writer.uint32(1170).string(message.paintColorOverride); + if (message.Trim100 !== undefined) { + Void.encode(message.Trim100, writer.uint32(170).fork()).join(); } - if (message.tpmsPressuresSupported !== undefined) { - writer.uint32(1176).bool(message.tpmsPressuresSupported); + if (message.TrimP100 !== undefined) { + Void.encode(message.TrimP100, writer.uint32(178).fork()).join(); } - if (message.vehicleBadging !== undefined) { - writer.uint32(1184).uint32(message.vehicleBadging); + if (message.Trim100D !== undefined) { + Void.encode(message.Trim100D, writer.uint32(186).fork()).join(); } - if (message.exteriorTrimOverride !== undefined) { - writer.uint32(1194).string(message.exteriorTrimOverride); + if (message.TrimP100D !== undefined) { + Void.encode(message.TrimP100D, writer.uint32(194).fork()).join(); } - if (message.headlampType !== undefined) { - writer.uint32(1200).int32(message.headlampType); + if (message.Trim50 !== undefined) { + Void.encode(message.Trim50, writer.uint32(202).fork()).join(); } - if (message.auxParkLamps !== undefined) { - writer.uint32(1232).int32(message.auxParkLamps); + if (message.Trim50D !== undefined) { + Void.encode(message.Trim50D, writer.uint32(210).fork()).join(); } - if (message.isRaven !== undefined) { - writer.uint32(1240).bool(message.isRaven); + if (message.Trim62 !== undefined) { + Void.encode(message.Trim62, writer.uint32(218).fork()).join(); } - if (message.hasAutoSeatClimate !== undefined) { - writer.uint32(1248).bool(message.hasAutoSeatClimate); + if (message.Trim62D !== undefined) { + Void.encode(message.Trim62D, writer.uint32(226).fork()).join(); } - if (message.hasFrontRowSeatHeaters !== undefined) { - writer.uint32(1256).bool(message.hasFrontRowSeatHeaters); + if (message.Trim74 !== undefined) { + Void.encode(message.Trim74, writer.uint32(234).fork()).join(); } - if (message.hasThirdRowSeatHeaters !== undefined) { - writer.uint32(1264).bool(message.hasThirdRowSeatHeaters); + if (message.Trim74D !== undefined) { + Void.encode(message.Trim74D, writer.uint32(242).fork()).join(); } - if (message.supportsQrPairing !== undefined) { - writer.uint32(1272).bool(message.supportsQrPairing); + if (message.TrimP74D !== undefined) { + Void.encode(message.TrimP74D, writer.uint32(250).fork()).join(); } - if (message.disableWindowVentClose !== undefined) { - writer.uint32(1288).bool(message.disableWindowVentClose); + if (message.TrimDefault !== undefined) { + Void.encode(message.TrimDefault, writer.uint32(258).fork()).join(); } - if (message.webcamSelfieSupported !== undefined) { - writer.uint32(1296).bool(message.webcamSelfieSupported); + if (message.TrimCyberbeast !== undefined) { + Void.encode(message.TrimCyberbeast, writer.uint32(274).fork()).join(); } - if (message.copUserSetTempSupported !== undefined) { - writer.uint32(1304).bool(message.copUserSetTempSupported); - } - if (message.hasAutoStwHeat !== undefined) { - writer.uint32(1312).bool(message.hasAutoStwHeat); - } - if (message.rearlightType !== undefined) { - writer.uint32(1320).int32(message.rearlightType); - } - if (message.rearSeatHeaterType !== undefined) { - writer.uint32(1328).int32(message.rearSeatHeaterType); - } - if (message.webcamGridSupported !== undefined) { - writer.uint32(1336).bool(message.webcamGridSupported); - } - if (message.hasTeslaBadge !== undefined) { - writer.uint32(1344).bool(message.hasTeslaBadge); - } - if (message.hasTeslaWordmark !== undefined) { - writer.uint32(1352).bool(message.hasTeslaWordmark); - } - if (message.fasciaType !== undefined) { - writer.uint32(1360).int32(message.fasciaType); - } - if (message.accessoryLightbarType !== undefined) { - writer.uint32(1368).int32(message.accessoryLightbarType); - } - if (message.sentryPreviewSupported !== undefined) { - writer.uint32(1376).bool(message.sentryPreviewSupported); - } - if (message.seatTrimType !== undefined) { - writer.uint32(1384).int32(message.seatTrimType); - } - if (message.drivetrainType !== undefined) { - writer.uint32(1392).int32(message.drivetrainType); - } - if (message.lightshowSupported !== undefined) { - writer.uint32(1400).bool(message.lightshowSupported); - } - if (message.mobileDashcamViewerVersion !== undefined) { - writer.uint32(1408).uint32(message.mobileDashcamViewerVersion); - } - if (message.hasPremiumConnectivity !== undefined) { - writer.uint32(1416).bool(message.hasPremiumConnectivity); - } - if (message.carWrapEnabled !== undefined) { - writer.uint32(1424).bool(message.carWrapEnabled); - } - if (message.supportsRideHeight !== undefined) { - writer.uint32(1432).bool(message.supportsRideHeight); - } - if (message.supportsSetArrivalEnergy !== undefined) { - writer.uint32(1440).bool(message.supportsSetArrivalEnergy); - } - if (message.supportsPillarCameraMetadata !== undefined) { - writer.uint32(1448).bool(message.supportsPillarCameraMetadata); - } - if (message.chassisType !== undefined) { - writer.uint32(1456).int32(message.chassisType); - } - if (message.isChinaVehicle !== undefined) { - writer.uint32(1464).bool(message.isChinaVehicle); - } - if (message.isUsingUnrealApviz !== undefined) { - writer.uint32(1472).bool(message.isUsingUnrealApviz); - } - if (message.supportsFlexibleDashcamBitrate !== undefined) { - writer.uint32(1480).bool(message.supportsFlexibleDashcamBitrate); - } - if (message.frontFasciaCameraType !== undefined) { - writer.uint32(1488).int32(message.frontFasciaCameraType); - } - if (message.turnIndicatorControlType !== undefined) { - writer.uint32(1496).int32(message.turnIndicatorControlType); - } - if (message.hasRearDisplay !== undefined) { - writer.uint32(1504).bool(message.hasRearDisplay); - } - if (message.windowTintColor !== undefined) { - writer.uint32(1514).string(message.windowTintColor); - } - if (message.interiorUpperTrimType !== undefined) { - writer.uint32(1520).int32(message.interiorUpperTrimType); - } - if (message.badgingMaterialType !== undefined) { - writer.uint32(1528).int32(message.badgingMaterialType); - } - if (message.webcamInteriorOnly !== undefined) { - writer.uint32(1536).bool(message.webcamInteriorOnly); - } - if (message.countryCode !== undefined) { - writer.uint32(1546).string(message.countryCode); - } - if (message.bedLightingType !== undefined) { - writer.uint32(1552).int32(message.bedLightingType); - } - if (message.rearLightHardwareVariant !== undefined) { - writer.uint32(1560).int32(message.rearLightHardwareVariant); - } - if (message.autopilotBase !== 0) { - writer.uint32(1568).int32(message.autopilotBase); - } - if (message.autopilotOverrideState !== 0) { - writer.uint32(1576).int32(message.autopilotOverrideState); - } - if (message.autopilotOverrideExpireTime !== undefined) { - writer.uint32(1584).int64(message.autopilotOverrideExpireTime); - } - if (message.supportsDynamicEnvironments !== undefined) { - writer.uint32(1592).bool(message.supportsDynamicEnvironments); - } - if (message.wheelCapsOn !== undefined) { - writer.uint32(1600).bool(message.wheelCapsOn); + if (message.TrimInvalid !== undefined) { + Void.encode(message.TrimInvalid, writer.uint32(2042).fork()).join(); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig { + decode(input: BinaryReader | Uint8Array, length?: number): CarTrim { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseVehicleConfig(); + const message = createBaseCarTrim(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { - case 28: { - if (tag !== 226) { + case 1: { + if (tag !== 10) { break; } - message.interiorTrimType = VehicleConfig_InteriorTrimType.decode(reader, reader.uint32()); + message.Trim40 = Void.decode(reader, reader.uint32()); continue; } - case 35: { - if (tag !== 282) { + case 2: { + if (tag !== 18) { break; } - message.exteriorTrimType = VehicleConfig_ExteriorTrimType.decode(reader, reader.uint32()); + message.OBSOLETETrim50 = Void.decode(reader, reader.uint32()); continue; } - case 61: { - if (tag !== 488) { + case 3: { + if (tag !== 26) { break; } - message.redBrakeCalipers = reader.bool(); + message.OBSOLETETrim50D = Void.decode(reader, reader.uint32()); continue; } - case 103: { - if (tag !== 824) { + case 4: { + if (tag !== 34) { break; } - message.useRangeBadging = reader.bool(); + message.Trim60 = Void.decode(reader, reader.uint32()); continue; } - case 104: { - if (tag !== 832) { + case 5: { + if (tag !== 42) { break; } - message.rangePlusBadging = reader.bool(); + message.Trim60D = Void.decode(reader, reader.uint32()); continue; } - case 105: { - if (tag !== 840) { + case 6: { + if (tag !== 50) { break; } - message.hasLudicrousMode = reader.bool(); + message.Trim70 = Void.decode(reader, reader.uint32()); continue; } - case 106: { - if (tag !== 848) { + case 7: { + if (tag !== 58) { break; } - message.canActuateTrunks = reader.bool(); + message.Trim70D = Void.decode(reader, reader.uint32()); continue; } - case 110: { - if (tag !== 880) { + case 8: { + if (tag !== 66) { break; } - message.hasAirSuspension = reader.bool(); + message.Trim75 = Void.decode(reader, reader.uint32()); continue; } - case 120: { - if (tag !== 960) { + case 9: { + if (tag !== 74) { break; } - message.eceRestrictions = reader.bool(); + message.Trim75D = Void.decode(reader, reader.uint32()); continue; } - case 121: { - if (tag !== 968) { + case 10: { + if (tag !== 82) { break; } - message.euVehicle = reader.bool(); + message.TrimP75D = Void.decode(reader, reader.uint32()); continue; } - case 122: { - if (tag !== 976) { + case 11: { + if (tag !== 90) { break; } - message.motorizedChargePort = reader.bool(); + message.Trim85 = Void.decode(reader, reader.uint32()); continue; } - case 124: { - if (tag !== 992) { + case 12: { + if (tag !== 98) { break; } - message.canAcceptNavigationRequests = reader.bool(); + message.TrimP85 = Void.decode(reader, reader.uint32()); continue; } - case 125: { - if (tag !== 1000) { + case 13: { + if (tag !== 106) { break; } - message.keyVersion = reader.uint32(); + message.TrimP85Plus = Void.decode(reader, reader.uint32()); continue; } - case 126: { - if (tag !== 1008) { + case 14: { + if (tag !== 114) { break; } - message.mobileEnabled = reader.bool(); + message.Trim85D = Void.decode(reader, reader.uint32()); continue; } - case 134: { - if (tag !== 1072) { + case 15: { + if (tag !== 122) { break; } - message.defaultChargeToMax = reader.bool(); + message.TrimP85D = Void.decode(reader, reader.uint32()); continue; } - case 136: { - if (tag !== 1088) { + case 16: { + if (tag !== 130) { break; } - message.steeringWheelHeaterInstalled = reader.bool(); + message.Trim90 = Void.decode(reader, reader.uint32()); continue; } - case 137: { - if (tag !== 1096) { + case 17: { + if (tag !== 138) { break; } - message.sentryModeSupported = reader.bool(); + message.TrimP90 = Void.decode(reader, reader.uint32()); continue; } - case 138: { - if (tag !== 1104) { + case 18: { + if (tag !== 146) { break; } - message.homelinkSupported = reader.bool(); + message.TrimP90Plus = Void.decode(reader, reader.uint32()); continue; } - case 139: { - if (tag !== 1112) { + case 19: { + if (tag !== 154) { break; } - message.webcamSupported = reader.bool(); + message.Trim90D = Void.decode(reader, reader.uint32()); continue; } - case 141: { - if (tag !== 1128) { + case 20: { + if (tag !== 162) { break; } - message.bioweaponModeSupported = reader.bool(); + message.TrimP90D = Void.decode(reader, reader.uint32()); continue; } - case 142: { - if (tag !== 1136) { + case 21: { + if (tag !== 170) { break; } - message.dashcamClipSaveSupported = reader.bool(); + message.Trim100 = Void.decode(reader, reader.uint32()); continue; } - case 143: { - if (tag !== 1144) { + case 22: { + if (tag !== 178) { break; } - message.hasPws = reader.bool(); + message.TrimP100 = Void.decode(reader, reader.uint32()); continue; } - case 144: { - if (tag !== 1152) { + case 23: { + if (tag !== 186) { break; } - message.utcOffset = reader.sint32(); + message.Trim100D = Void.decode(reader, reader.uint32()); continue; } - case 145: { - if (tag !== 1160) { + case 24: { + if (tag !== 194) { break; } - message.hasSeatCooling = reader.bool(); + message.TrimP100D = Void.decode(reader, reader.uint32()); continue; } - case 146: { - if (tag !== 1170) { + case 25: { + if (tag !== 202) { break; } - message.paintColorOverride = reader.string(); + message.Trim50 = Void.decode(reader, reader.uint32()); continue; } - case 147: { - if (tag !== 1176) { + case 26: { + if (tag !== 210) { break; } - message.tpmsPressuresSupported = reader.bool(); + message.Trim50D = Void.decode(reader, reader.uint32()); continue; } - case 148: { - if (tag !== 1184) { + case 27: { + if (tag !== 218) { break; } - message.vehicleBadging = reader.uint32(); + message.Trim62 = Void.decode(reader, reader.uint32()); continue; } - case 149: { - if (tag !== 1194) { + case 28: { + if (tag !== 226) { break; } - message.exteriorTrimOverride = reader.string(); + message.Trim62D = Void.decode(reader, reader.uint32()); continue; } - case 150: { - if (tag !== 1200) { - break; - } - - message.headlampType = reader.int32() as any; - continue; - } - case 154: { - if (tag !== 1232) { - break; - } - - message.auxParkLamps = reader.int32() as any; - continue; - } - case 155: { - if (tag !== 1240) { + case 29: { + if (tag !== 234) { break; } - message.isRaven = reader.bool(); + message.Trim74 = Void.decode(reader, reader.uint32()); continue; } - case 156: { - if (tag !== 1248) { + case 30: { + if (tag !== 242) { break; } - message.hasAutoSeatClimate = reader.bool(); + message.Trim74D = Void.decode(reader, reader.uint32()); continue; } - case 157: { - if (tag !== 1256) { + case 31: { + if (tag !== 250) { break; } - message.hasFrontRowSeatHeaters = reader.bool(); + message.TrimP74D = Void.decode(reader, reader.uint32()); continue; } - case 158: { - if (tag !== 1264) { + case 32: { + if (tag !== 258) { break; } - message.hasThirdRowSeatHeaters = reader.bool(); + message.TrimDefault = Void.decode(reader, reader.uint32()); continue; } - case 159: { - if (tag !== 1272) { + case 34: { + if (tag !== 274) { break; } - message.supportsQrPairing = reader.bool(); + message.TrimCyberbeast = Void.decode(reader, reader.uint32()); continue; } - case 161: { - if (tag !== 1288) { + case 255: { + if (tag !== 2042) { break; } - message.disableWindowVentClose = reader.bool(); + message.TrimInvalid = Void.decode(reader, reader.uint32()); continue; } - case 162: { - if (tag !== 1296) { - break; - } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, - message.webcamSelfieSupported = reader.bool(); - continue; - } - case 163: { - if (tag !== 1304) { - break; - } + fromJSON(object: any): CarTrim { + return { + Trim40: isSet(object.Trim40) ? Void.fromJSON(object.Trim40) : undefined, + OBSOLETETrim50: isSet(object.OBSOLETETrim50) ? Void.fromJSON(object.OBSOLETETrim50) : undefined, + OBSOLETETrim50D: isSet(object.OBSOLETETrim50D) ? Void.fromJSON(object.OBSOLETETrim50D) : undefined, + Trim60: isSet(object.Trim60) ? Void.fromJSON(object.Trim60) : undefined, + Trim60D: isSet(object.Trim60D) ? Void.fromJSON(object.Trim60D) : undefined, + Trim70: isSet(object.Trim70) ? Void.fromJSON(object.Trim70) : undefined, + Trim70D: isSet(object.Trim70D) ? Void.fromJSON(object.Trim70D) : undefined, + Trim75: isSet(object.Trim75) ? Void.fromJSON(object.Trim75) : undefined, + Trim75D: isSet(object.Trim75D) ? Void.fromJSON(object.Trim75D) : undefined, + TrimP75D: isSet(object.TrimP75D) ? Void.fromJSON(object.TrimP75D) : undefined, + Trim85: isSet(object.Trim85) ? Void.fromJSON(object.Trim85) : undefined, + TrimP85: isSet(object.TrimP85) ? Void.fromJSON(object.TrimP85) : undefined, + TrimP85Plus: isSet(object.TrimP85Plus) ? Void.fromJSON(object.TrimP85Plus) : undefined, + Trim85D: isSet(object.Trim85D) ? Void.fromJSON(object.Trim85D) : undefined, + TrimP85D: isSet(object.TrimP85D) ? Void.fromJSON(object.TrimP85D) : undefined, + Trim90: isSet(object.Trim90) ? Void.fromJSON(object.Trim90) : undefined, + TrimP90: isSet(object.TrimP90) ? Void.fromJSON(object.TrimP90) : undefined, + TrimP90Plus: isSet(object.TrimP90Plus) ? Void.fromJSON(object.TrimP90Plus) : undefined, + Trim90D: isSet(object.Trim90D) ? Void.fromJSON(object.Trim90D) : undefined, + TrimP90D: isSet(object.TrimP90D) ? Void.fromJSON(object.TrimP90D) : undefined, + Trim100: isSet(object.Trim100) ? Void.fromJSON(object.Trim100) : undefined, + TrimP100: isSet(object.TrimP100) ? Void.fromJSON(object.TrimP100) : undefined, + Trim100D: isSet(object.Trim100D) ? Void.fromJSON(object.Trim100D) : undefined, + TrimP100D: isSet(object.TrimP100D) ? Void.fromJSON(object.TrimP100D) : undefined, + Trim50: isSet(object.Trim50) ? Void.fromJSON(object.Trim50) : undefined, + Trim50D: isSet(object.Trim50D) ? Void.fromJSON(object.Trim50D) : undefined, + Trim62: isSet(object.Trim62) ? Void.fromJSON(object.Trim62) : undefined, + Trim62D: isSet(object.Trim62D) ? Void.fromJSON(object.Trim62D) : undefined, + Trim74: isSet(object.Trim74) ? Void.fromJSON(object.Trim74) : undefined, + Trim74D: isSet(object.Trim74D) ? Void.fromJSON(object.Trim74D) : undefined, + TrimP74D: isSet(object.TrimP74D) ? Void.fromJSON(object.TrimP74D) : undefined, + TrimDefault: isSet(object.TrimDefault) ? Void.fromJSON(object.TrimDefault) : undefined, + TrimCyberbeast: isSet(object.TrimCyberbeast) ? Void.fromJSON(object.TrimCyberbeast) : undefined, + TrimInvalid: isSet(object.TrimInvalid) ? Void.fromJSON(object.TrimInvalid) : undefined, + }; + }, - message.copUserSetTempSupported = reader.bool(); - continue; - } - case 164: { - if (tag !== 1312) { - break; - } + toJSON(message: CarTrim): unknown { + const obj: any = {}; + if (message.Trim40 !== undefined) { + obj.Trim40 = Void.toJSON(message.Trim40); + } + if (message.OBSOLETETrim50 !== undefined) { + obj.OBSOLETETrim50 = Void.toJSON(message.OBSOLETETrim50); + } + if (message.OBSOLETETrim50D !== undefined) { + obj.OBSOLETETrim50D = Void.toJSON(message.OBSOLETETrim50D); + } + if (message.Trim60 !== undefined) { + obj.Trim60 = Void.toJSON(message.Trim60); + } + if (message.Trim60D !== undefined) { + obj.Trim60D = Void.toJSON(message.Trim60D); + } + if (message.Trim70 !== undefined) { + obj.Trim70 = Void.toJSON(message.Trim70); + } + if (message.Trim70D !== undefined) { + obj.Trim70D = Void.toJSON(message.Trim70D); + } + if (message.Trim75 !== undefined) { + obj.Trim75 = Void.toJSON(message.Trim75); + } + if (message.Trim75D !== undefined) { + obj.Trim75D = Void.toJSON(message.Trim75D); + } + if (message.TrimP75D !== undefined) { + obj.TrimP75D = Void.toJSON(message.TrimP75D); + } + if (message.Trim85 !== undefined) { + obj.Trim85 = Void.toJSON(message.Trim85); + } + if (message.TrimP85 !== undefined) { + obj.TrimP85 = Void.toJSON(message.TrimP85); + } + if (message.TrimP85Plus !== undefined) { + obj.TrimP85Plus = Void.toJSON(message.TrimP85Plus); + } + if (message.Trim85D !== undefined) { + obj.Trim85D = Void.toJSON(message.Trim85D); + } + if (message.TrimP85D !== undefined) { + obj.TrimP85D = Void.toJSON(message.TrimP85D); + } + if (message.Trim90 !== undefined) { + obj.Trim90 = Void.toJSON(message.Trim90); + } + if (message.TrimP90 !== undefined) { + obj.TrimP90 = Void.toJSON(message.TrimP90); + } + if (message.TrimP90Plus !== undefined) { + obj.TrimP90Plus = Void.toJSON(message.TrimP90Plus); + } + if (message.Trim90D !== undefined) { + obj.Trim90D = Void.toJSON(message.Trim90D); + } + if (message.TrimP90D !== undefined) { + obj.TrimP90D = Void.toJSON(message.TrimP90D); + } + if (message.Trim100 !== undefined) { + obj.Trim100 = Void.toJSON(message.Trim100); + } + if (message.TrimP100 !== undefined) { + obj.TrimP100 = Void.toJSON(message.TrimP100); + } + if (message.Trim100D !== undefined) { + obj.Trim100D = Void.toJSON(message.Trim100D); + } + if (message.TrimP100D !== undefined) { + obj.TrimP100D = Void.toJSON(message.TrimP100D); + } + if (message.Trim50 !== undefined) { + obj.Trim50 = Void.toJSON(message.Trim50); + } + if (message.Trim50D !== undefined) { + obj.Trim50D = Void.toJSON(message.Trim50D); + } + if (message.Trim62 !== undefined) { + obj.Trim62 = Void.toJSON(message.Trim62); + } + if (message.Trim62D !== undefined) { + obj.Trim62D = Void.toJSON(message.Trim62D); + } + if (message.Trim74 !== undefined) { + obj.Trim74 = Void.toJSON(message.Trim74); + } + if (message.Trim74D !== undefined) { + obj.Trim74D = Void.toJSON(message.Trim74D); + } + if (message.TrimP74D !== undefined) { + obj.TrimP74D = Void.toJSON(message.TrimP74D); + } + if (message.TrimDefault !== undefined) { + obj.TrimDefault = Void.toJSON(message.TrimDefault); + } + if (message.TrimCyberbeast !== undefined) { + obj.TrimCyberbeast = Void.toJSON(message.TrimCyberbeast); + } + if (message.TrimInvalid !== undefined) { + obj.TrimInvalid = Void.toJSON(message.TrimInvalid); + } + return obj; + }, - message.hasAutoStwHeat = reader.bool(); - continue; - } - case 165: { - if (tag !== 1320) { - break; - } + create, I>>(base?: I): CarTrim { + return CarTrim.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CarTrim { + const message = createBaseCarTrim(); + message.Trim40 = (object.Trim40 !== undefined && object.Trim40 !== null) + ? Void.fromPartial(object.Trim40) + : undefined; + message.OBSOLETETrim50 = (object.OBSOLETETrim50 !== undefined && object.OBSOLETETrim50 !== null) + ? Void.fromPartial(object.OBSOLETETrim50) + : undefined; + message.OBSOLETETrim50D = (object.OBSOLETETrim50D !== undefined && object.OBSOLETETrim50D !== null) + ? Void.fromPartial(object.OBSOLETETrim50D) + : undefined; + message.Trim60 = (object.Trim60 !== undefined && object.Trim60 !== null) + ? Void.fromPartial(object.Trim60) + : undefined; + message.Trim60D = (object.Trim60D !== undefined && object.Trim60D !== null) + ? Void.fromPartial(object.Trim60D) + : undefined; + message.Trim70 = (object.Trim70 !== undefined && object.Trim70 !== null) + ? Void.fromPartial(object.Trim70) + : undefined; + message.Trim70D = (object.Trim70D !== undefined && object.Trim70D !== null) + ? Void.fromPartial(object.Trim70D) + : undefined; + message.Trim75 = (object.Trim75 !== undefined && object.Trim75 !== null) + ? Void.fromPartial(object.Trim75) + : undefined; + message.Trim75D = (object.Trim75D !== undefined && object.Trim75D !== null) + ? Void.fromPartial(object.Trim75D) + : undefined; + message.TrimP75D = (object.TrimP75D !== undefined && object.TrimP75D !== null) + ? Void.fromPartial(object.TrimP75D) + : undefined; + message.Trim85 = (object.Trim85 !== undefined && object.Trim85 !== null) + ? Void.fromPartial(object.Trim85) + : undefined; + message.TrimP85 = (object.TrimP85 !== undefined && object.TrimP85 !== null) + ? Void.fromPartial(object.TrimP85) + : undefined; + message.TrimP85Plus = (object.TrimP85Plus !== undefined && object.TrimP85Plus !== null) + ? Void.fromPartial(object.TrimP85Plus) + : undefined; + message.Trim85D = (object.Trim85D !== undefined && object.Trim85D !== null) + ? Void.fromPartial(object.Trim85D) + : undefined; + message.TrimP85D = (object.TrimP85D !== undefined && object.TrimP85D !== null) + ? Void.fromPartial(object.TrimP85D) + : undefined; + message.Trim90 = (object.Trim90 !== undefined && object.Trim90 !== null) + ? Void.fromPartial(object.Trim90) + : undefined; + message.TrimP90 = (object.TrimP90 !== undefined && object.TrimP90 !== null) + ? Void.fromPartial(object.TrimP90) + : undefined; + message.TrimP90Plus = (object.TrimP90Plus !== undefined && object.TrimP90Plus !== null) + ? Void.fromPartial(object.TrimP90Plus) + : undefined; + message.Trim90D = (object.Trim90D !== undefined && object.Trim90D !== null) + ? Void.fromPartial(object.Trim90D) + : undefined; + message.TrimP90D = (object.TrimP90D !== undefined && object.TrimP90D !== null) + ? Void.fromPartial(object.TrimP90D) + : undefined; + message.Trim100 = (object.Trim100 !== undefined && object.Trim100 !== null) + ? Void.fromPartial(object.Trim100) + : undefined; + message.TrimP100 = (object.TrimP100 !== undefined && object.TrimP100 !== null) + ? Void.fromPartial(object.TrimP100) + : undefined; + message.Trim100D = (object.Trim100D !== undefined && object.Trim100D !== null) + ? Void.fromPartial(object.Trim100D) + : undefined; + message.TrimP100D = (object.TrimP100D !== undefined && object.TrimP100D !== null) + ? Void.fromPartial(object.TrimP100D) + : undefined; + message.Trim50 = (object.Trim50 !== undefined && object.Trim50 !== null) + ? Void.fromPartial(object.Trim50) + : undefined; + message.Trim50D = (object.Trim50D !== undefined && object.Trim50D !== null) + ? Void.fromPartial(object.Trim50D) + : undefined; + message.Trim62 = (object.Trim62 !== undefined && object.Trim62 !== null) + ? Void.fromPartial(object.Trim62) + : undefined; + message.Trim62D = (object.Trim62D !== undefined && object.Trim62D !== null) + ? Void.fromPartial(object.Trim62D) + : undefined; + message.Trim74 = (object.Trim74 !== undefined && object.Trim74 !== null) + ? Void.fromPartial(object.Trim74) + : undefined; + message.Trim74D = (object.Trim74D !== undefined && object.Trim74D !== null) + ? Void.fromPartial(object.Trim74D) + : undefined; + message.TrimP74D = (object.TrimP74D !== undefined && object.TrimP74D !== null) + ? Void.fromPartial(object.TrimP74D) + : undefined; + message.TrimDefault = (object.TrimDefault !== undefined && object.TrimDefault !== null) + ? Void.fromPartial(object.TrimDefault) + : undefined; + message.TrimCyberbeast = (object.TrimCyberbeast !== undefined && object.TrimCyberbeast !== null) + ? Void.fromPartial(object.TrimCyberbeast) + : undefined; + message.TrimInvalid = (object.TrimInvalid !== undefined && object.TrimInvalid !== null) + ? Void.fromPartial(object.TrimInvalid) + : undefined; + return message; + }, +}; - message.rearlightType = reader.int32() as any; - continue; - } - case 166: { - if (tag !== 1328) { - break; - } +function createBaseSunRoofType(): SunRoofType { + return { None: undefined, Gen1: undefined, Gen2: undefined }; +} - message.rearSeatHeaterType = reader.int32() as any; - continue; - } - case 167: { - if (tag !== 1336) { - break; - } +export const SunRoofType: MessageFns = { + encode(message: SunRoofType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.Gen1 !== undefined) { + Void.encode(message.Gen1, writer.uint32(18).fork()).join(); + } + if (message.Gen2 !== undefined) { + Void.encode(message.Gen2, writer.uint32(26).fork()).join(); + } + return writer; + }, - message.webcamGridSupported = reader.bool(); - continue; - } - case 168: { - if (tag !== 1344) { + decode(input: BinaryReader | Uint8Array, length?: number): SunRoofType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSunRoofType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { break; } - message.hasTeslaBadge = reader.bool(); + message.None = Void.decode(reader, reader.uint32()); continue; } - case 169: { - if (tag !== 1352) { + case 2: { + if (tag !== 18) { break; } - message.hasTeslaWordmark = reader.bool(); + message.Gen1 = Void.decode(reader, reader.uint32()); continue; } - case 170: { - if (tag !== 1360) { + case 3: { + if (tag !== 26) { break; } - message.fasciaType = reader.int32() as any; + message.Gen2 = Void.decode(reader, reader.uint32()); continue; } - case 171: { - if (tag !== 1368) { - break; - } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, - message.accessoryLightbarType = reader.int32() as any; - continue; - } - case 172: { - if (tag !== 1376) { - break; - } + fromJSON(object: any): SunRoofType { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + Gen1: isSet(object.Gen1) ? Void.fromJSON(object.Gen1) : undefined, + Gen2: isSet(object.Gen2) ? Void.fromJSON(object.Gen2) : undefined, + }; + }, - message.sentryPreviewSupported = reader.bool(); - continue; - } - case 173: { - if (tag !== 1384) { - break; - } + toJSON(message: SunRoofType): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.Gen1 !== undefined) { + obj.Gen1 = Void.toJSON(message.Gen1); + } + if (message.Gen2 !== undefined) { + obj.Gen2 = Void.toJSON(message.Gen2); + } + return obj; + }, - message.seatTrimType = reader.int32() as any; - continue; - } - case 174: { - if (tag !== 1392) { - break; - } + create, I>>(base?: I): SunRoofType { + return SunRoofType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SunRoofType { + const message = createBaseSunRoofType(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.Gen1 = (object.Gen1 !== undefined && object.Gen1 !== null) ? Void.fromPartial(object.Gen1) : undefined; + message.Gen2 = (object.Gen2 !== undefined && object.Gen2 !== null) ? Void.fromPartial(object.Gen2) : undefined; + return message; + }, +}; - message.drivetrainType = reader.int32() as any; - continue; - } - case 175: { - if (tag !== 1400) { - break; - } +function createBaseWheelType(): WheelType { + return { + Unknown: undefined, + ZeroG20Gunpowder: undefined, + Pinwheel18: undefined, + Pinwheel18CapKit: undefined, + Stiletto19: undefined, + Stiletto20: undefined, + Stiletto20DarkStaggered: undefined, + Stiletto20DarkSquare: undefined, + Gemini19Square: undefined, + Gemini19Staggered: undefined, + Induction20Black: undefined, + UberTurbine21Black: undefined, + Apollo19: undefined, + Apollo19CapKit: undefined, + ZeroG19Gunpowder: undefined, + Cardenio19: undefined, + Default: undefined, + NewTurbine22Black: undefined, + Cyberstream: undefined, + Arachnid21: undefined, + Base19: undefined, + Silver21: undefined, + Charcoal21: undefined, + Silver21Euro: undefined, + Aero19: undefined, + Charcoal21Euro: undefined, + Super21Gray: undefined, + Super21Silver: undefined, + Turbine19: undefined, + Turbine19Dark: undefined, + AeroTurbine19: undefined, + AeroTurbine19Black: undefined, + Helix20: undefined, + AeroTurbine20: undefined, + Turbine22: undefined, + Cyclone19Dark: undefined, + AeroTurbine20Dark: undefined, + Turbine22Dark: undefined, + Arachnid21Silver: undefined, + Arachnid21Black: undefined, + Arachnid21Grey: undefined, + Slipstream20Carbon: undefined, + Slipstream20Dark: undefined, + Slipstream19Carbon: undefined, + TwinTurbine21Silver: undefined, + TwinTurbine21Carbon: undefined, + Tempest19SonicSilver: undefined, + PinwheelRefresh18: undefined, + StilettoRefresh19: undefined, + UberTurbine20Gunpowder: undefined, + Glider18: undefined, + Helix19: undefined, + Wishbone20Staggered: undefined, + CtBase20: undefined, + CtPremium20: undefined, + CtBase18: undefined, + Apollo19MetallicShadow: undefined, + Wishbone19Staggered: undefined, + Crossflow19: undefined, + HelixV220: undefined, + Standard19: undefined, + Halo22: undefined, + Riptide20: undefined, + Cypress21: undefined, + MachinaV219: undefined, + ArachnidV221: undefined, + E4118: undefined, + D5018: undefined, + HelixV220Dark: undefined, + UberHelix20: undefined, + }; +} - message.lightshowSupported = reader.bool(); - continue; - } - case 176: { - if (tag !== 1408) { +export const WheelType: MessageFns = { + encode(message: WheelType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Unknown !== undefined) { + Void.encode(message.Unknown, writer.uint32(26).fork()).join(); + } + if (message.ZeroG20Gunpowder !== undefined) { + Void.encode(message.ZeroG20Gunpowder, writer.uint32(34).fork()).join(); + } + if (message.Pinwheel18 !== undefined) { + Void.encode(message.Pinwheel18, writer.uint32(42).fork()).join(); + } + if (message.Pinwheel18CapKit !== undefined) { + Void.encode(message.Pinwheel18CapKit, writer.uint32(50).fork()).join(); + } + if (message.Stiletto19 !== undefined) { + Void.encode(message.Stiletto19, writer.uint32(58).fork()).join(); + } + if (message.Stiletto20 !== undefined) { + Void.encode(message.Stiletto20, writer.uint32(66).fork()).join(); + } + if (message.Stiletto20DarkStaggered !== undefined) { + Void.encode(message.Stiletto20DarkStaggered, writer.uint32(74).fork()).join(); + } + if (message.Stiletto20DarkSquare !== undefined) { + Void.encode(message.Stiletto20DarkSquare, writer.uint32(82).fork()).join(); + } + if (message.Gemini19Square !== undefined) { + Void.encode(message.Gemini19Square, writer.uint32(90).fork()).join(); + } + if (message.Gemini19Staggered !== undefined) { + Void.encode(message.Gemini19Staggered, writer.uint32(98).fork()).join(); + } + if (message.Induction20Black !== undefined) { + Void.encode(message.Induction20Black, writer.uint32(106).fork()).join(); + } + if (message.UberTurbine21Black !== undefined) { + Void.encode(message.UberTurbine21Black, writer.uint32(114).fork()).join(); + } + if (message.Apollo19 !== undefined) { + Void.encode(message.Apollo19, writer.uint32(122).fork()).join(); + } + if (message.Apollo19CapKit !== undefined) { + Void.encode(message.Apollo19CapKit, writer.uint32(130).fork()).join(); + } + if (message.ZeroG19Gunpowder !== undefined) { + Void.encode(message.ZeroG19Gunpowder, writer.uint32(138).fork()).join(); + } + if (message.Cardenio19 !== undefined) { + Void.encode(message.Cardenio19, writer.uint32(146).fork()).join(); + } + if (message.Default !== undefined) { + Void.encode(message.Default, writer.uint32(154).fork()).join(); + } + if (message.NewTurbine22Black !== undefined) { + Void.encode(message.NewTurbine22Black, writer.uint32(162).fork()).join(); + } + if (message.Cyberstream !== undefined) { + Void.encode(message.Cyberstream, writer.uint32(170).fork()).join(); + } + if (message.Arachnid21 !== undefined) { + Void.encode(message.Arachnid21, writer.uint32(178).fork()).join(); + } + if (message.Base19 !== undefined) { + Void.encode(message.Base19, writer.uint32(186).fork()).join(); + } + if (message.Silver21 !== undefined) { + Void.encode(message.Silver21, writer.uint32(194).fork()).join(); + } + if (message.Charcoal21 !== undefined) { + Void.encode(message.Charcoal21, writer.uint32(202).fork()).join(); + } + if (message.Silver21Euro !== undefined) { + Void.encode(message.Silver21Euro, writer.uint32(210).fork()).join(); + } + if (message.Aero19 !== undefined) { + Void.encode(message.Aero19, writer.uint32(218).fork()).join(); + } + if (message.Charcoal21Euro !== undefined) { + Void.encode(message.Charcoal21Euro, writer.uint32(226).fork()).join(); + } + if (message.Super21Gray !== undefined) { + Void.encode(message.Super21Gray, writer.uint32(234).fork()).join(); + } + if (message.Super21Silver !== undefined) { + Void.encode(message.Super21Silver, writer.uint32(242).fork()).join(); + } + if (message.Turbine19 !== undefined) { + Void.encode(message.Turbine19, writer.uint32(250).fork()).join(); + } + if (message.Turbine19Dark !== undefined) { + Void.encode(message.Turbine19Dark, writer.uint32(258).fork()).join(); + } + if (message.AeroTurbine19 !== undefined) { + Void.encode(message.AeroTurbine19, writer.uint32(266).fork()).join(); + } + if (message.AeroTurbine19Black !== undefined) { + Void.encode(message.AeroTurbine19Black, writer.uint32(274).fork()).join(); + } + if (message.Helix20 !== undefined) { + Void.encode(message.Helix20, writer.uint32(282).fork()).join(); + } + if (message.AeroTurbine20 !== undefined) { + Void.encode(message.AeroTurbine20, writer.uint32(290).fork()).join(); + } + if (message.Turbine22 !== undefined) { + Void.encode(message.Turbine22, writer.uint32(298).fork()).join(); + } + if (message.Cyclone19Dark !== undefined) { + Void.encode(message.Cyclone19Dark, writer.uint32(306).fork()).join(); + } + if (message.AeroTurbine20Dark !== undefined) { + Void.encode(message.AeroTurbine20Dark, writer.uint32(314).fork()).join(); + } + if (message.Turbine22Dark !== undefined) { + Void.encode(message.Turbine22Dark, writer.uint32(322).fork()).join(); + } + if (message.Arachnid21Silver !== undefined) { + Void.encode(message.Arachnid21Silver, writer.uint32(330).fork()).join(); + } + if (message.Arachnid21Black !== undefined) { + Void.encode(message.Arachnid21Black, writer.uint32(338).fork()).join(); + } + if (message.Arachnid21Grey !== undefined) { + Void.encode(message.Arachnid21Grey, writer.uint32(346).fork()).join(); + } + if (message.Slipstream20Carbon !== undefined) { + Void.encode(message.Slipstream20Carbon, writer.uint32(354).fork()).join(); + } + if (message.Slipstream20Dark !== undefined) { + Void.encode(message.Slipstream20Dark, writer.uint32(362).fork()).join(); + } + if (message.Slipstream19Carbon !== undefined) { + Void.encode(message.Slipstream19Carbon, writer.uint32(370).fork()).join(); + } + if (message.TwinTurbine21Silver !== undefined) { + Void.encode(message.TwinTurbine21Silver, writer.uint32(378).fork()).join(); + } + if (message.TwinTurbine21Carbon !== undefined) { + Void.encode(message.TwinTurbine21Carbon, writer.uint32(386).fork()).join(); + } + if (message.Tempest19SonicSilver !== undefined) { + Void.encode(message.Tempest19SonicSilver, writer.uint32(394).fork()).join(); + } + if (message.PinwheelRefresh18 !== undefined) { + Void.encode(message.PinwheelRefresh18, writer.uint32(402).fork()).join(); + } + if (message.StilettoRefresh19 !== undefined) { + Void.encode(message.StilettoRefresh19, writer.uint32(410).fork()).join(); + } + if (message.UberTurbine20Gunpowder !== undefined) { + Void.encode(message.UberTurbine20Gunpowder, writer.uint32(418).fork()).join(); + } + if (message.Glider18 !== undefined) { + Void.encode(message.Glider18, writer.uint32(426).fork()).join(); + } + if (message.Helix19 !== undefined) { + Void.encode(message.Helix19, writer.uint32(434).fork()).join(); + } + if (message.Wishbone20Staggered !== undefined) { + Void.encode(message.Wishbone20Staggered, writer.uint32(450).fork()).join(); + } + if (message.CtBase20 !== undefined) { + Void.encode(message.CtBase20, writer.uint32(458).fork()).join(); + } + if (message.CtPremium20 !== undefined) { + Void.encode(message.CtPremium20, writer.uint32(466).fork()).join(); + } + if (message.CtBase18 !== undefined) { + Void.encode(message.CtBase18, writer.uint32(474).fork()).join(); + } + if (message.Apollo19MetallicShadow !== undefined) { + Void.encode(message.Apollo19MetallicShadow, writer.uint32(482).fork()).join(); + } + if (message.Wishbone19Staggered !== undefined) { + Void.encode(message.Wishbone19Staggered, writer.uint32(490).fork()).join(); + } + if (message.Crossflow19 !== undefined) { + Void.encode(message.Crossflow19, writer.uint32(498).fork()).join(); + } + if (message.HelixV220 !== undefined) { + Void.encode(message.HelixV220, writer.uint32(506).fork()).join(); + } + if (message.Standard19 !== undefined) { + Void.encode(message.Standard19, writer.uint32(514).fork()).join(); + } + if (message.Halo22 !== undefined) { + Void.encode(message.Halo22, writer.uint32(522).fork()).join(); + } + if (message.Riptide20 !== undefined) { + Void.encode(message.Riptide20, writer.uint32(530).fork()).join(); + } + if (message.Cypress21 !== undefined) { + Void.encode(message.Cypress21, writer.uint32(538).fork()).join(); + } + if (message.MachinaV219 !== undefined) { + Void.encode(message.MachinaV219, writer.uint32(546).fork()).join(); + } + if (message.ArachnidV221 !== undefined) { + Void.encode(message.ArachnidV221, writer.uint32(554).fork()).join(); + } + if (message.E4118 !== undefined) { + Void.encode(message.E4118, writer.uint32(562).fork()).join(); + } + if (message.D5018 !== undefined) { + Void.encode(message.D5018, writer.uint32(570).fork()).join(); + } + if (message.HelixV220Dark !== undefined) { + Void.encode(message.HelixV220Dark, writer.uint32(578).fork()).join(); + } + if (message.UberHelix20 !== undefined) { + Void.encode(message.UberHelix20, writer.uint32(586).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WheelType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWheelType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + if (tag !== 26) { break; } - message.mobileDashcamViewerVersion = reader.uint32(); + message.Unknown = Void.decode(reader, reader.uint32()); continue; } - case 177: { - if (tag !== 1416) { + case 4: { + if (tag !== 34) { break; } - message.hasPremiumConnectivity = reader.bool(); + message.ZeroG20Gunpowder = Void.decode(reader, reader.uint32()); continue; } - case 178: { - if (tag !== 1424) { + case 5: { + if (tag !== 42) { break; } - message.carWrapEnabled = reader.bool(); + message.Pinwheel18 = Void.decode(reader, reader.uint32()); continue; } - case 179: { - if (tag !== 1432) { + case 6: { + if (tag !== 50) { break; } - message.supportsRideHeight = reader.bool(); + message.Pinwheel18CapKit = Void.decode(reader, reader.uint32()); continue; } - case 180: { - if (tag !== 1440) { + case 7: { + if (tag !== 58) { break; } - message.supportsSetArrivalEnergy = reader.bool(); + message.Stiletto19 = Void.decode(reader, reader.uint32()); continue; } - case 181: { - if (tag !== 1448) { + case 8: { + if (tag !== 66) { break; } - message.supportsPillarCameraMetadata = reader.bool(); + message.Stiletto20 = Void.decode(reader, reader.uint32()); continue; } - case 182: { - if (tag !== 1456) { + case 9: { + if (tag !== 74) { break; } - message.chassisType = reader.int32() as any; + message.Stiletto20DarkStaggered = Void.decode(reader, reader.uint32()); continue; } - case 183: { - if (tag !== 1464) { + case 10: { + if (tag !== 82) { break; } - message.isChinaVehicle = reader.bool(); + message.Stiletto20DarkSquare = Void.decode(reader, reader.uint32()); continue; } - case 184: { - if (tag !== 1472) { + case 11: { + if (tag !== 90) { break; } - message.isUsingUnrealApviz = reader.bool(); + message.Gemini19Square = Void.decode(reader, reader.uint32()); continue; } - case 185: { - if (tag !== 1480) { + case 12: { + if (tag !== 98) { break; } - message.supportsFlexibleDashcamBitrate = reader.bool(); + message.Gemini19Staggered = Void.decode(reader, reader.uint32()); continue; } - case 186: { - if (tag !== 1488) { + case 13: { + if (tag !== 106) { break; } - message.frontFasciaCameraType = reader.int32() as any; + message.Induction20Black = Void.decode(reader, reader.uint32()); continue; } - case 187: { - if (tag !== 1496) { + case 14: { + if (tag !== 114) { break; } - message.turnIndicatorControlType = reader.int32() as any; + message.UberTurbine21Black = Void.decode(reader, reader.uint32()); continue; } - case 188: { - if (tag !== 1504) { + case 15: { + if (tag !== 122) { break; } - message.hasRearDisplay = reader.bool(); + message.Apollo19 = Void.decode(reader, reader.uint32()); continue; } - case 189: { - if (tag !== 1514) { + case 16: { + if (tag !== 130) { break; } - message.windowTintColor = reader.string(); + message.Apollo19CapKit = Void.decode(reader, reader.uint32()); continue; } - case 190: { - if (tag !== 1520) { + case 17: { + if (tag !== 138) { break; } - message.interiorUpperTrimType = reader.int32() as any; + message.ZeroG19Gunpowder = Void.decode(reader, reader.uint32()); continue; } - case 191: { - if (tag !== 1528) { + case 18: { + if (tag !== 146) { break; } - message.badgingMaterialType = reader.int32() as any; + message.Cardenio19 = Void.decode(reader, reader.uint32()); continue; } - case 192: { - if (tag !== 1536) { + case 19: { + if (tag !== 154) { break; } - message.webcamInteriorOnly = reader.bool(); + message.Default = Void.decode(reader, reader.uint32()); continue; } - case 193: { - if (tag !== 1546) { + case 20: { + if (tag !== 162) { break; } - message.countryCode = reader.string(); + message.NewTurbine22Black = Void.decode(reader, reader.uint32()); continue; } - case 194: { - if (tag !== 1552) { + case 21: { + if (tag !== 170) { break; } - message.bedLightingType = reader.int32() as any; + message.Cyberstream = Void.decode(reader, reader.uint32()); continue; } - case 195: { - if (tag !== 1560) { + case 22: { + if (tag !== 178) { break; } - message.rearLightHardwareVariant = reader.int32() as any; + message.Arachnid21 = Void.decode(reader, reader.uint32()); continue; } - case 196: { - if (tag !== 1568) { + case 23: { + if (tag !== 186) { break; } - message.autopilotBase = reader.int32() as any; + message.Base19 = Void.decode(reader, reader.uint32()); continue; } - case 197: { - if (tag !== 1576) { + case 24: { + if (tag !== 194) { break; } - message.autopilotOverrideState = reader.int32() as any; + message.Silver21 = Void.decode(reader, reader.uint32()); continue; } - case 198: { - if (tag !== 1584) { + case 25: { + if (tag !== 202) { break; } - message.autopilotOverrideExpireTime = longToNumber(reader.int64()); + message.Charcoal21 = Void.decode(reader, reader.uint32()); continue; } - case 199: { - if (tag !== 1592) { + case 26: { + if (tag !== 210) { break; } - message.supportsDynamicEnvironments = reader.bool(); + message.Silver21Euro = Void.decode(reader, reader.uint32()); continue; } - case 200: { - if (tag !== 1600) { + case 27: { + if (tag !== 218) { break; } - message.wheelCapsOn = reader.bool(); + message.Aero19 = Void.decode(reader, reader.uint32()); continue; } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, + case 28: { + if (tag !== 226) { + break; + } - fromJSON(object: any): VehicleConfig { - return { - interiorTrimType: isSet(object.interiorTrimType) - ? VehicleConfig_InteriorTrimType.fromJSON(object.interiorTrimType) - : undefined, - exteriorTrimType: isSet(object.exteriorTrimType) - ? VehicleConfig_ExteriorTrimType.fromJSON(object.exteriorTrimType) - : undefined, - redBrakeCalipers: isSet(object.redBrakeCalipers) ? globalThis.Boolean(object.redBrakeCalipers) : undefined, - useRangeBadging: isSet(object.useRangeBadging) ? globalThis.Boolean(object.useRangeBadging) : undefined, - rangePlusBadging: isSet(object.rangePlusBadging) ? globalThis.Boolean(object.rangePlusBadging) : undefined, - hasLudicrousMode: isSet(object.hasLudicrousMode) ? globalThis.Boolean(object.hasLudicrousMode) : undefined, - canActuateTrunks: isSet(object.canActuateTrunks) ? globalThis.Boolean(object.canActuateTrunks) : undefined, - hasAirSuspension: isSet(object.hasAirSuspension) ? globalThis.Boolean(object.hasAirSuspension) : undefined, - eceRestrictions: isSet(object.eceRestrictions) ? globalThis.Boolean(object.eceRestrictions) : undefined, - euVehicle: isSet(object.euVehicle) ? globalThis.Boolean(object.euVehicle) : undefined, - motorizedChargePort: isSet(object.motorizedChargePort) - ? globalThis.Boolean(object.motorizedChargePort) - : undefined, - canAcceptNavigationRequests: isSet(object.canAcceptNavigationRequests) - ? globalThis.Boolean(object.canAcceptNavigationRequests) - : undefined, - keyVersion: isSet(object.keyVersion) ? globalThis.Number(object.keyVersion) : undefined, - mobileEnabled: isSet(object.mobileEnabled) ? globalThis.Boolean(object.mobileEnabled) : undefined, - defaultChargeToMax: isSet(object.defaultChargeToMax) ? globalThis.Boolean(object.defaultChargeToMax) : undefined, - steeringWheelHeaterInstalled: isSet(object.steeringWheelHeaterInstalled) - ? globalThis.Boolean(object.steeringWheelHeaterInstalled) - : undefined, - sentryModeSupported: isSet(object.sentryModeSupported) - ? globalThis.Boolean(object.sentryModeSupported) - : undefined, - homelinkSupported: isSet(object.homelinkSupported) ? globalThis.Boolean(object.homelinkSupported) : undefined, - webcamSupported: isSet(object.webcamSupported) ? globalThis.Boolean(object.webcamSupported) : undefined, - bioweaponModeSupported: isSet(object.bioweaponModeSupported) - ? globalThis.Boolean(object.bioweaponModeSupported) - : undefined, - dashcamClipSaveSupported: isSet(object.dashcamClipSaveSupported) - ? globalThis.Boolean(object.dashcamClipSaveSupported) - : undefined, - hasPws: isSet(object.hasPws) ? globalThis.Boolean(object.hasPws) : undefined, + message.Charcoal21Euro = Void.decode(reader, reader.uint32()); + continue; + } + case 29: { + if (tag !== 234) { + break; + } + + message.Super21Gray = Void.decode(reader, reader.uint32()); + continue; + } + case 30: { + if (tag !== 242) { + break; + } + + message.Super21Silver = Void.decode(reader, reader.uint32()); + continue; + } + case 31: { + if (tag !== 250) { + break; + } + + message.Turbine19 = Void.decode(reader, reader.uint32()); + continue; + } + case 32: { + if (tag !== 258) { + break; + } + + message.Turbine19Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 33: { + if (tag !== 266) { + break; + } + + message.AeroTurbine19 = Void.decode(reader, reader.uint32()); + continue; + } + case 34: { + if (tag !== 274) { + break; + } + + message.AeroTurbine19Black = Void.decode(reader, reader.uint32()); + continue; + } + case 35: { + if (tag !== 282) { + break; + } + + message.Helix20 = Void.decode(reader, reader.uint32()); + continue; + } + case 36: { + if (tag !== 290) { + break; + } + + message.AeroTurbine20 = Void.decode(reader, reader.uint32()); + continue; + } + case 37: { + if (tag !== 298) { + break; + } + + message.Turbine22 = Void.decode(reader, reader.uint32()); + continue; + } + case 38: { + if (tag !== 306) { + break; + } + + message.Cyclone19Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 39: { + if (tag !== 314) { + break; + } + + message.AeroTurbine20Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 40: { + if (tag !== 322) { + break; + } + + message.Turbine22Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 41: { + if (tag !== 330) { + break; + } + + message.Arachnid21Silver = Void.decode(reader, reader.uint32()); + continue; + } + case 42: { + if (tag !== 338) { + break; + } + + message.Arachnid21Black = Void.decode(reader, reader.uint32()); + continue; + } + case 43: { + if (tag !== 346) { + break; + } + + message.Arachnid21Grey = Void.decode(reader, reader.uint32()); + continue; + } + case 44: { + if (tag !== 354) { + break; + } + + message.Slipstream20Carbon = Void.decode(reader, reader.uint32()); + continue; + } + case 45: { + if (tag !== 362) { + break; + } + + message.Slipstream20Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 46: { + if (tag !== 370) { + break; + } + + message.Slipstream19Carbon = Void.decode(reader, reader.uint32()); + continue; + } + case 47: { + if (tag !== 378) { + break; + } + + message.TwinTurbine21Silver = Void.decode(reader, reader.uint32()); + continue; + } + case 48: { + if (tag !== 386) { + break; + } + + message.TwinTurbine21Carbon = Void.decode(reader, reader.uint32()); + continue; + } + case 49: { + if (tag !== 394) { + break; + } + + message.Tempest19SonicSilver = Void.decode(reader, reader.uint32()); + continue; + } + case 50: { + if (tag !== 402) { + break; + } + + message.PinwheelRefresh18 = Void.decode(reader, reader.uint32()); + continue; + } + case 51: { + if (tag !== 410) { + break; + } + + message.StilettoRefresh19 = Void.decode(reader, reader.uint32()); + continue; + } + case 52: { + if (tag !== 418) { + break; + } + + message.UberTurbine20Gunpowder = Void.decode(reader, reader.uint32()); + continue; + } + case 53: { + if (tag !== 426) { + break; + } + + message.Glider18 = Void.decode(reader, reader.uint32()); + continue; + } + case 54: { + if (tag !== 434) { + break; + } + + message.Helix19 = Void.decode(reader, reader.uint32()); + continue; + } + case 56: { + if (tag !== 450) { + break; + } + + message.Wishbone20Staggered = Void.decode(reader, reader.uint32()); + continue; + } + case 57: { + if (tag !== 458) { + break; + } + + message.CtBase20 = Void.decode(reader, reader.uint32()); + continue; + } + case 58: { + if (tag !== 466) { + break; + } + + message.CtPremium20 = Void.decode(reader, reader.uint32()); + continue; + } + case 59: { + if (tag !== 474) { + break; + } + + message.CtBase18 = Void.decode(reader, reader.uint32()); + continue; + } + case 60: { + if (tag !== 482) { + break; + } + + message.Apollo19MetallicShadow = Void.decode(reader, reader.uint32()); + continue; + } + case 61: { + if (tag !== 490) { + break; + } + + message.Wishbone19Staggered = Void.decode(reader, reader.uint32()); + continue; + } + case 62: { + if (tag !== 498) { + break; + } + + message.Crossflow19 = Void.decode(reader, reader.uint32()); + continue; + } + case 63: { + if (tag !== 506) { + break; + } + + message.HelixV220 = Void.decode(reader, reader.uint32()); + continue; + } + case 64: { + if (tag !== 514) { + break; + } + + message.Standard19 = Void.decode(reader, reader.uint32()); + continue; + } + case 65: { + if (tag !== 522) { + break; + } + + message.Halo22 = Void.decode(reader, reader.uint32()); + continue; + } + case 66: { + if (tag !== 530) { + break; + } + + message.Riptide20 = Void.decode(reader, reader.uint32()); + continue; + } + case 67: { + if (tag !== 538) { + break; + } + + message.Cypress21 = Void.decode(reader, reader.uint32()); + continue; + } + case 68: { + if (tag !== 546) { + break; + } + + message.MachinaV219 = Void.decode(reader, reader.uint32()); + continue; + } + case 69: { + if (tag !== 554) { + break; + } + + message.ArachnidV221 = Void.decode(reader, reader.uint32()); + continue; + } + case 70: { + if (tag !== 562) { + break; + } + + message.E4118 = Void.decode(reader, reader.uint32()); + continue; + } + case 71: { + if (tag !== 570) { + break; + } + + message.D5018 = Void.decode(reader, reader.uint32()); + continue; + } + case 72: { + if (tag !== 578) { + break; + } + + message.HelixV220Dark = Void.decode(reader, reader.uint32()); + continue; + } + case 73: { + if (tag !== 586) { + break; + } + + message.UberHelix20 = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WheelType { + return { + Unknown: isSet(object.Unknown) ? Void.fromJSON(object.Unknown) : undefined, + ZeroG20Gunpowder: isSet(object.ZeroG20Gunpowder) ? Void.fromJSON(object.ZeroG20Gunpowder) : undefined, + Pinwheel18: isSet(object.Pinwheel18) ? Void.fromJSON(object.Pinwheel18) : undefined, + Pinwheel18CapKit: isSet(object.Pinwheel18CapKit) ? Void.fromJSON(object.Pinwheel18CapKit) : undefined, + Stiletto19: isSet(object.Stiletto19) ? Void.fromJSON(object.Stiletto19) : undefined, + Stiletto20: isSet(object.Stiletto20) ? Void.fromJSON(object.Stiletto20) : undefined, + Stiletto20DarkStaggered: isSet(object.Stiletto20DarkStaggered) + ? Void.fromJSON(object.Stiletto20DarkStaggered) + : undefined, + Stiletto20DarkSquare: isSet(object.Stiletto20DarkSquare) ? Void.fromJSON(object.Stiletto20DarkSquare) : undefined, + Gemini19Square: isSet(object.Gemini19Square) ? Void.fromJSON(object.Gemini19Square) : undefined, + Gemini19Staggered: isSet(object.Gemini19Staggered) ? Void.fromJSON(object.Gemini19Staggered) : undefined, + Induction20Black: isSet(object.Induction20Black) ? Void.fromJSON(object.Induction20Black) : undefined, + UberTurbine21Black: isSet(object.UberTurbine21Black) ? Void.fromJSON(object.UberTurbine21Black) : undefined, + Apollo19: isSet(object.Apollo19) ? Void.fromJSON(object.Apollo19) : undefined, + Apollo19CapKit: isSet(object.Apollo19CapKit) ? Void.fromJSON(object.Apollo19CapKit) : undefined, + ZeroG19Gunpowder: isSet(object.ZeroG19Gunpowder) ? Void.fromJSON(object.ZeroG19Gunpowder) : undefined, + Cardenio19: isSet(object.Cardenio19) ? Void.fromJSON(object.Cardenio19) : undefined, + Default: isSet(object.Default) ? Void.fromJSON(object.Default) : undefined, + NewTurbine22Black: isSet(object.NewTurbine22Black) ? Void.fromJSON(object.NewTurbine22Black) : undefined, + Cyberstream: isSet(object.Cyberstream) ? Void.fromJSON(object.Cyberstream) : undefined, + Arachnid21: isSet(object.Arachnid21) ? Void.fromJSON(object.Arachnid21) : undefined, + Base19: isSet(object.Base19) ? Void.fromJSON(object.Base19) : undefined, + Silver21: isSet(object.Silver21) ? Void.fromJSON(object.Silver21) : undefined, + Charcoal21: isSet(object.Charcoal21) ? Void.fromJSON(object.Charcoal21) : undefined, + Silver21Euro: isSet(object.Silver21Euro) ? Void.fromJSON(object.Silver21Euro) : undefined, + Aero19: isSet(object.Aero19) ? Void.fromJSON(object.Aero19) : undefined, + Charcoal21Euro: isSet(object.Charcoal21Euro) ? Void.fromJSON(object.Charcoal21Euro) : undefined, + Super21Gray: isSet(object.Super21Gray) ? Void.fromJSON(object.Super21Gray) : undefined, + Super21Silver: isSet(object.Super21Silver) ? Void.fromJSON(object.Super21Silver) : undefined, + Turbine19: isSet(object.Turbine19) ? Void.fromJSON(object.Turbine19) : undefined, + Turbine19Dark: isSet(object.Turbine19Dark) ? Void.fromJSON(object.Turbine19Dark) : undefined, + AeroTurbine19: isSet(object.AeroTurbine19) ? Void.fromJSON(object.AeroTurbine19) : undefined, + AeroTurbine19Black: isSet(object.AeroTurbine19Black) ? Void.fromJSON(object.AeroTurbine19Black) : undefined, + Helix20: isSet(object.Helix20) ? Void.fromJSON(object.Helix20) : undefined, + AeroTurbine20: isSet(object.AeroTurbine20) ? Void.fromJSON(object.AeroTurbine20) : undefined, + Turbine22: isSet(object.Turbine22) ? Void.fromJSON(object.Turbine22) : undefined, + Cyclone19Dark: isSet(object.Cyclone19Dark) ? Void.fromJSON(object.Cyclone19Dark) : undefined, + AeroTurbine20Dark: isSet(object.AeroTurbine20Dark) ? Void.fromJSON(object.AeroTurbine20Dark) : undefined, + Turbine22Dark: isSet(object.Turbine22Dark) ? Void.fromJSON(object.Turbine22Dark) : undefined, + Arachnid21Silver: isSet(object.Arachnid21Silver) ? Void.fromJSON(object.Arachnid21Silver) : undefined, + Arachnid21Black: isSet(object.Arachnid21Black) ? Void.fromJSON(object.Arachnid21Black) : undefined, + Arachnid21Grey: isSet(object.Arachnid21Grey) ? Void.fromJSON(object.Arachnid21Grey) : undefined, + Slipstream20Carbon: isSet(object.Slipstream20Carbon) ? Void.fromJSON(object.Slipstream20Carbon) : undefined, + Slipstream20Dark: isSet(object.Slipstream20Dark) ? Void.fromJSON(object.Slipstream20Dark) : undefined, + Slipstream19Carbon: isSet(object.Slipstream19Carbon) ? Void.fromJSON(object.Slipstream19Carbon) : undefined, + TwinTurbine21Silver: isSet(object.TwinTurbine21Silver) ? Void.fromJSON(object.TwinTurbine21Silver) : undefined, + TwinTurbine21Carbon: isSet(object.TwinTurbine21Carbon) ? Void.fromJSON(object.TwinTurbine21Carbon) : undefined, + Tempest19SonicSilver: isSet(object.Tempest19SonicSilver) ? Void.fromJSON(object.Tempest19SonicSilver) : undefined, + PinwheelRefresh18: isSet(object.PinwheelRefresh18) ? Void.fromJSON(object.PinwheelRefresh18) : undefined, + StilettoRefresh19: isSet(object.StilettoRefresh19) ? Void.fromJSON(object.StilettoRefresh19) : undefined, + UberTurbine20Gunpowder: isSet(object.UberTurbine20Gunpowder) + ? Void.fromJSON(object.UberTurbine20Gunpowder) + : undefined, + Glider18: isSet(object.Glider18) ? Void.fromJSON(object.Glider18) : undefined, + Helix19: isSet(object.Helix19) ? Void.fromJSON(object.Helix19) : undefined, + Wishbone20Staggered: isSet(object.Wishbone20Staggered) ? Void.fromJSON(object.Wishbone20Staggered) : undefined, + CtBase20: isSet(object.CtBase20) ? Void.fromJSON(object.CtBase20) : undefined, + CtPremium20: isSet(object.CtPremium20) ? Void.fromJSON(object.CtPremium20) : undefined, + CtBase18: isSet(object.CtBase18) ? Void.fromJSON(object.CtBase18) : undefined, + Apollo19MetallicShadow: isSet(object.Apollo19MetallicShadow) + ? Void.fromJSON(object.Apollo19MetallicShadow) + : undefined, + Wishbone19Staggered: isSet(object.Wishbone19Staggered) ? Void.fromJSON(object.Wishbone19Staggered) : undefined, + Crossflow19: isSet(object.Crossflow19) ? Void.fromJSON(object.Crossflow19) : undefined, + HelixV220: isSet(object.HelixV220) ? Void.fromJSON(object.HelixV220) : undefined, + Standard19: isSet(object.Standard19) ? Void.fromJSON(object.Standard19) : undefined, + Halo22: isSet(object.Halo22) ? Void.fromJSON(object.Halo22) : undefined, + Riptide20: isSet(object.Riptide20) ? Void.fromJSON(object.Riptide20) : undefined, + Cypress21: isSet(object.Cypress21) ? Void.fromJSON(object.Cypress21) : undefined, + MachinaV219: isSet(object.MachinaV219) ? Void.fromJSON(object.MachinaV219) : undefined, + ArachnidV221: isSet(object.ArachnidV221) ? Void.fromJSON(object.ArachnidV221) : undefined, + E4118: isSet(object.E4118) ? Void.fromJSON(object.E4118) : undefined, + D5018: isSet(object.D5018) ? Void.fromJSON(object.D5018) : undefined, + HelixV220Dark: isSet(object.HelixV220Dark) ? Void.fromJSON(object.HelixV220Dark) : undefined, + UberHelix20: isSet(object.UberHelix20) ? Void.fromJSON(object.UberHelix20) : undefined, + }; + }, + + toJSON(message: WheelType): unknown { + const obj: any = {}; + if (message.Unknown !== undefined) { + obj.Unknown = Void.toJSON(message.Unknown); + } + if (message.ZeroG20Gunpowder !== undefined) { + obj.ZeroG20Gunpowder = Void.toJSON(message.ZeroG20Gunpowder); + } + if (message.Pinwheel18 !== undefined) { + obj.Pinwheel18 = Void.toJSON(message.Pinwheel18); + } + if (message.Pinwheel18CapKit !== undefined) { + obj.Pinwheel18CapKit = Void.toJSON(message.Pinwheel18CapKit); + } + if (message.Stiletto19 !== undefined) { + obj.Stiletto19 = Void.toJSON(message.Stiletto19); + } + if (message.Stiletto20 !== undefined) { + obj.Stiletto20 = Void.toJSON(message.Stiletto20); + } + if (message.Stiletto20DarkStaggered !== undefined) { + obj.Stiletto20DarkStaggered = Void.toJSON(message.Stiletto20DarkStaggered); + } + if (message.Stiletto20DarkSquare !== undefined) { + obj.Stiletto20DarkSquare = Void.toJSON(message.Stiletto20DarkSquare); + } + if (message.Gemini19Square !== undefined) { + obj.Gemini19Square = Void.toJSON(message.Gemini19Square); + } + if (message.Gemini19Staggered !== undefined) { + obj.Gemini19Staggered = Void.toJSON(message.Gemini19Staggered); + } + if (message.Induction20Black !== undefined) { + obj.Induction20Black = Void.toJSON(message.Induction20Black); + } + if (message.UberTurbine21Black !== undefined) { + obj.UberTurbine21Black = Void.toJSON(message.UberTurbine21Black); + } + if (message.Apollo19 !== undefined) { + obj.Apollo19 = Void.toJSON(message.Apollo19); + } + if (message.Apollo19CapKit !== undefined) { + obj.Apollo19CapKit = Void.toJSON(message.Apollo19CapKit); + } + if (message.ZeroG19Gunpowder !== undefined) { + obj.ZeroG19Gunpowder = Void.toJSON(message.ZeroG19Gunpowder); + } + if (message.Cardenio19 !== undefined) { + obj.Cardenio19 = Void.toJSON(message.Cardenio19); + } + if (message.Default !== undefined) { + obj.Default = Void.toJSON(message.Default); + } + if (message.NewTurbine22Black !== undefined) { + obj.NewTurbine22Black = Void.toJSON(message.NewTurbine22Black); + } + if (message.Cyberstream !== undefined) { + obj.Cyberstream = Void.toJSON(message.Cyberstream); + } + if (message.Arachnid21 !== undefined) { + obj.Arachnid21 = Void.toJSON(message.Arachnid21); + } + if (message.Base19 !== undefined) { + obj.Base19 = Void.toJSON(message.Base19); + } + if (message.Silver21 !== undefined) { + obj.Silver21 = Void.toJSON(message.Silver21); + } + if (message.Charcoal21 !== undefined) { + obj.Charcoal21 = Void.toJSON(message.Charcoal21); + } + if (message.Silver21Euro !== undefined) { + obj.Silver21Euro = Void.toJSON(message.Silver21Euro); + } + if (message.Aero19 !== undefined) { + obj.Aero19 = Void.toJSON(message.Aero19); + } + if (message.Charcoal21Euro !== undefined) { + obj.Charcoal21Euro = Void.toJSON(message.Charcoal21Euro); + } + if (message.Super21Gray !== undefined) { + obj.Super21Gray = Void.toJSON(message.Super21Gray); + } + if (message.Super21Silver !== undefined) { + obj.Super21Silver = Void.toJSON(message.Super21Silver); + } + if (message.Turbine19 !== undefined) { + obj.Turbine19 = Void.toJSON(message.Turbine19); + } + if (message.Turbine19Dark !== undefined) { + obj.Turbine19Dark = Void.toJSON(message.Turbine19Dark); + } + if (message.AeroTurbine19 !== undefined) { + obj.AeroTurbine19 = Void.toJSON(message.AeroTurbine19); + } + if (message.AeroTurbine19Black !== undefined) { + obj.AeroTurbine19Black = Void.toJSON(message.AeroTurbine19Black); + } + if (message.Helix20 !== undefined) { + obj.Helix20 = Void.toJSON(message.Helix20); + } + if (message.AeroTurbine20 !== undefined) { + obj.AeroTurbine20 = Void.toJSON(message.AeroTurbine20); + } + if (message.Turbine22 !== undefined) { + obj.Turbine22 = Void.toJSON(message.Turbine22); + } + if (message.Cyclone19Dark !== undefined) { + obj.Cyclone19Dark = Void.toJSON(message.Cyclone19Dark); + } + if (message.AeroTurbine20Dark !== undefined) { + obj.AeroTurbine20Dark = Void.toJSON(message.AeroTurbine20Dark); + } + if (message.Turbine22Dark !== undefined) { + obj.Turbine22Dark = Void.toJSON(message.Turbine22Dark); + } + if (message.Arachnid21Silver !== undefined) { + obj.Arachnid21Silver = Void.toJSON(message.Arachnid21Silver); + } + if (message.Arachnid21Black !== undefined) { + obj.Arachnid21Black = Void.toJSON(message.Arachnid21Black); + } + if (message.Arachnid21Grey !== undefined) { + obj.Arachnid21Grey = Void.toJSON(message.Arachnid21Grey); + } + if (message.Slipstream20Carbon !== undefined) { + obj.Slipstream20Carbon = Void.toJSON(message.Slipstream20Carbon); + } + if (message.Slipstream20Dark !== undefined) { + obj.Slipstream20Dark = Void.toJSON(message.Slipstream20Dark); + } + if (message.Slipstream19Carbon !== undefined) { + obj.Slipstream19Carbon = Void.toJSON(message.Slipstream19Carbon); + } + if (message.TwinTurbine21Silver !== undefined) { + obj.TwinTurbine21Silver = Void.toJSON(message.TwinTurbine21Silver); + } + if (message.TwinTurbine21Carbon !== undefined) { + obj.TwinTurbine21Carbon = Void.toJSON(message.TwinTurbine21Carbon); + } + if (message.Tempest19SonicSilver !== undefined) { + obj.Tempest19SonicSilver = Void.toJSON(message.Tempest19SonicSilver); + } + if (message.PinwheelRefresh18 !== undefined) { + obj.PinwheelRefresh18 = Void.toJSON(message.PinwheelRefresh18); + } + if (message.StilettoRefresh19 !== undefined) { + obj.StilettoRefresh19 = Void.toJSON(message.StilettoRefresh19); + } + if (message.UberTurbine20Gunpowder !== undefined) { + obj.UberTurbine20Gunpowder = Void.toJSON(message.UberTurbine20Gunpowder); + } + if (message.Glider18 !== undefined) { + obj.Glider18 = Void.toJSON(message.Glider18); + } + if (message.Helix19 !== undefined) { + obj.Helix19 = Void.toJSON(message.Helix19); + } + if (message.Wishbone20Staggered !== undefined) { + obj.Wishbone20Staggered = Void.toJSON(message.Wishbone20Staggered); + } + if (message.CtBase20 !== undefined) { + obj.CtBase20 = Void.toJSON(message.CtBase20); + } + if (message.CtPremium20 !== undefined) { + obj.CtPremium20 = Void.toJSON(message.CtPremium20); + } + if (message.CtBase18 !== undefined) { + obj.CtBase18 = Void.toJSON(message.CtBase18); + } + if (message.Apollo19MetallicShadow !== undefined) { + obj.Apollo19MetallicShadow = Void.toJSON(message.Apollo19MetallicShadow); + } + if (message.Wishbone19Staggered !== undefined) { + obj.Wishbone19Staggered = Void.toJSON(message.Wishbone19Staggered); + } + if (message.Crossflow19 !== undefined) { + obj.Crossflow19 = Void.toJSON(message.Crossflow19); + } + if (message.HelixV220 !== undefined) { + obj.HelixV220 = Void.toJSON(message.HelixV220); + } + if (message.Standard19 !== undefined) { + obj.Standard19 = Void.toJSON(message.Standard19); + } + if (message.Halo22 !== undefined) { + obj.Halo22 = Void.toJSON(message.Halo22); + } + if (message.Riptide20 !== undefined) { + obj.Riptide20 = Void.toJSON(message.Riptide20); + } + if (message.Cypress21 !== undefined) { + obj.Cypress21 = Void.toJSON(message.Cypress21); + } + if (message.MachinaV219 !== undefined) { + obj.MachinaV219 = Void.toJSON(message.MachinaV219); + } + if (message.ArachnidV221 !== undefined) { + obj.ArachnidV221 = Void.toJSON(message.ArachnidV221); + } + if (message.E4118 !== undefined) { + obj.E4118 = Void.toJSON(message.E4118); + } + if (message.D5018 !== undefined) { + obj.D5018 = Void.toJSON(message.D5018); + } + if (message.HelixV220Dark !== undefined) { + obj.HelixV220Dark = Void.toJSON(message.HelixV220Dark); + } + if (message.UberHelix20 !== undefined) { + obj.UberHelix20 = Void.toJSON(message.UberHelix20); + } + return obj; + }, + + create, I>>(base?: I): WheelType { + return WheelType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): WheelType { + const message = createBaseWheelType(); + message.Unknown = (object.Unknown !== undefined && object.Unknown !== null) + ? Void.fromPartial(object.Unknown) + : undefined; + message.ZeroG20Gunpowder = (object.ZeroG20Gunpowder !== undefined && object.ZeroG20Gunpowder !== null) + ? Void.fromPartial(object.ZeroG20Gunpowder) + : undefined; + message.Pinwheel18 = (object.Pinwheel18 !== undefined && object.Pinwheel18 !== null) + ? Void.fromPartial(object.Pinwheel18) + : undefined; + message.Pinwheel18CapKit = (object.Pinwheel18CapKit !== undefined && object.Pinwheel18CapKit !== null) + ? Void.fromPartial(object.Pinwheel18CapKit) + : undefined; + message.Stiletto19 = (object.Stiletto19 !== undefined && object.Stiletto19 !== null) + ? Void.fromPartial(object.Stiletto19) + : undefined; + message.Stiletto20 = (object.Stiletto20 !== undefined && object.Stiletto20 !== null) + ? Void.fromPartial(object.Stiletto20) + : undefined; + message.Stiletto20DarkStaggered = + (object.Stiletto20DarkStaggered !== undefined && object.Stiletto20DarkStaggered !== null) + ? Void.fromPartial(object.Stiletto20DarkStaggered) + : undefined; + message.Stiletto20DarkSquare = (object.Stiletto20DarkSquare !== undefined && object.Stiletto20DarkSquare !== null) + ? Void.fromPartial(object.Stiletto20DarkSquare) + : undefined; + message.Gemini19Square = (object.Gemini19Square !== undefined && object.Gemini19Square !== null) + ? Void.fromPartial(object.Gemini19Square) + : undefined; + message.Gemini19Staggered = (object.Gemini19Staggered !== undefined && object.Gemini19Staggered !== null) + ? Void.fromPartial(object.Gemini19Staggered) + : undefined; + message.Induction20Black = (object.Induction20Black !== undefined && object.Induction20Black !== null) + ? Void.fromPartial(object.Induction20Black) + : undefined; + message.UberTurbine21Black = (object.UberTurbine21Black !== undefined && object.UberTurbine21Black !== null) + ? Void.fromPartial(object.UberTurbine21Black) + : undefined; + message.Apollo19 = (object.Apollo19 !== undefined && object.Apollo19 !== null) + ? Void.fromPartial(object.Apollo19) + : undefined; + message.Apollo19CapKit = (object.Apollo19CapKit !== undefined && object.Apollo19CapKit !== null) + ? Void.fromPartial(object.Apollo19CapKit) + : undefined; + message.ZeroG19Gunpowder = (object.ZeroG19Gunpowder !== undefined && object.ZeroG19Gunpowder !== null) + ? Void.fromPartial(object.ZeroG19Gunpowder) + : undefined; + message.Cardenio19 = (object.Cardenio19 !== undefined && object.Cardenio19 !== null) + ? Void.fromPartial(object.Cardenio19) + : undefined; + message.Default = (object.Default !== undefined && object.Default !== null) + ? Void.fromPartial(object.Default) + : undefined; + message.NewTurbine22Black = (object.NewTurbine22Black !== undefined && object.NewTurbine22Black !== null) + ? Void.fromPartial(object.NewTurbine22Black) + : undefined; + message.Cyberstream = (object.Cyberstream !== undefined && object.Cyberstream !== null) + ? Void.fromPartial(object.Cyberstream) + : undefined; + message.Arachnid21 = (object.Arachnid21 !== undefined && object.Arachnid21 !== null) + ? Void.fromPartial(object.Arachnid21) + : undefined; + message.Base19 = (object.Base19 !== undefined && object.Base19 !== null) + ? Void.fromPartial(object.Base19) + : undefined; + message.Silver21 = (object.Silver21 !== undefined && object.Silver21 !== null) + ? Void.fromPartial(object.Silver21) + : undefined; + message.Charcoal21 = (object.Charcoal21 !== undefined && object.Charcoal21 !== null) + ? Void.fromPartial(object.Charcoal21) + : undefined; + message.Silver21Euro = (object.Silver21Euro !== undefined && object.Silver21Euro !== null) + ? Void.fromPartial(object.Silver21Euro) + : undefined; + message.Aero19 = (object.Aero19 !== undefined && object.Aero19 !== null) + ? Void.fromPartial(object.Aero19) + : undefined; + message.Charcoal21Euro = (object.Charcoal21Euro !== undefined && object.Charcoal21Euro !== null) + ? Void.fromPartial(object.Charcoal21Euro) + : undefined; + message.Super21Gray = (object.Super21Gray !== undefined && object.Super21Gray !== null) + ? Void.fromPartial(object.Super21Gray) + : undefined; + message.Super21Silver = (object.Super21Silver !== undefined && object.Super21Silver !== null) + ? Void.fromPartial(object.Super21Silver) + : undefined; + message.Turbine19 = (object.Turbine19 !== undefined && object.Turbine19 !== null) + ? Void.fromPartial(object.Turbine19) + : undefined; + message.Turbine19Dark = (object.Turbine19Dark !== undefined && object.Turbine19Dark !== null) + ? Void.fromPartial(object.Turbine19Dark) + : undefined; + message.AeroTurbine19 = (object.AeroTurbine19 !== undefined && object.AeroTurbine19 !== null) + ? Void.fromPartial(object.AeroTurbine19) + : undefined; + message.AeroTurbine19Black = (object.AeroTurbine19Black !== undefined && object.AeroTurbine19Black !== null) + ? Void.fromPartial(object.AeroTurbine19Black) + : undefined; + message.Helix20 = (object.Helix20 !== undefined && object.Helix20 !== null) + ? Void.fromPartial(object.Helix20) + : undefined; + message.AeroTurbine20 = (object.AeroTurbine20 !== undefined && object.AeroTurbine20 !== null) + ? Void.fromPartial(object.AeroTurbine20) + : undefined; + message.Turbine22 = (object.Turbine22 !== undefined && object.Turbine22 !== null) + ? Void.fromPartial(object.Turbine22) + : undefined; + message.Cyclone19Dark = (object.Cyclone19Dark !== undefined && object.Cyclone19Dark !== null) + ? Void.fromPartial(object.Cyclone19Dark) + : undefined; + message.AeroTurbine20Dark = (object.AeroTurbine20Dark !== undefined && object.AeroTurbine20Dark !== null) + ? Void.fromPartial(object.AeroTurbine20Dark) + : undefined; + message.Turbine22Dark = (object.Turbine22Dark !== undefined && object.Turbine22Dark !== null) + ? Void.fromPartial(object.Turbine22Dark) + : undefined; + message.Arachnid21Silver = (object.Arachnid21Silver !== undefined && object.Arachnid21Silver !== null) + ? Void.fromPartial(object.Arachnid21Silver) + : undefined; + message.Arachnid21Black = (object.Arachnid21Black !== undefined && object.Arachnid21Black !== null) + ? Void.fromPartial(object.Arachnid21Black) + : undefined; + message.Arachnid21Grey = (object.Arachnid21Grey !== undefined && object.Arachnid21Grey !== null) + ? Void.fromPartial(object.Arachnid21Grey) + : undefined; + message.Slipstream20Carbon = (object.Slipstream20Carbon !== undefined && object.Slipstream20Carbon !== null) + ? Void.fromPartial(object.Slipstream20Carbon) + : undefined; + message.Slipstream20Dark = (object.Slipstream20Dark !== undefined && object.Slipstream20Dark !== null) + ? Void.fromPartial(object.Slipstream20Dark) + : undefined; + message.Slipstream19Carbon = (object.Slipstream19Carbon !== undefined && object.Slipstream19Carbon !== null) + ? Void.fromPartial(object.Slipstream19Carbon) + : undefined; + message.TwinTurbine21Silver = (object.TwinTurbine21Silver !== undefined && object.TwinTurbine21Silver !== null) + ? Void.fromPartial(object.TwinTurbine21Silver) + : undefined; + message.TwinTurbine21Carbon = (object.TwinTurbine21Carbon !== undefined && object.TwinTurbine21Carbon !== null) + ? Void.fromPartial(object.TwinTurbine21Carbon) + : undefined; + message.Tempest19SonicSilver = (object.Tempest19SonicSilver !== undefined && object.Tempest19SonicSilver !== null) + ? Void.fromPartial(object.Tempest19SonicSilver) + : undefined; + message.PinwheelRefresh18 = (object.PinwheelRefresh18 !== undefined && object.PinwheelRefresh18 !== null) + ? Void.fromPartial(object.PinwheelRefresh18) + : undefined; + message.StilettoRefresh19 = (object.StilettoRefresh19 !== undefined && object.StilettoRefresh19 !== null) + ? Void.fromPartial(object.StilettoRefresh19) + : undefined; + message.UberTurbine20Gunpowder = + (object.UberTurbine20Gunpowder !== undefined && object.UberTurbine20Gunpowder !== null) + ? Void.fromPartial(object.UberTurbine20Gunpowder) + : undefined; + message.Glider18 = (object.Glider18 !== undefined && object.Glider18 !== null) + ? Void.fromPartial(object.Glider18) + : undefined; + message.Helix19 = (object.Helix19 !== undefined && object.Helix19 !== null) + ? Void.fromPartial(object.Helix19) + : undefined; + message.Wishbone20Staggered = (object.Wishbone20Staggered !== undefined && object.Wishbone20Staggered !== null) + ? Void.fromPartial(object.Wishbone20Staggered) + : undefined; + message.CtBase20 = (object.CtBase20 !== undefined && object.CtBase20 !== null) + ? Void.fromPartial(object.CtBase20) + : undefined; + message.CtPremium20 = (object.CtPremium20 !== undefined && object.CtPremium20 !== null) + ? Void.fromPartial(object.CtPremium20) + : undefined; + message.CtBase18 = (object.CtBase18 !== undefined && object.CtBase18 !== null) + ? Void.fromPartial(object.CtBase18) + : undefined; + message.Apollo19MetallicShadow = + (object.Apollo19MetallicShadow !== undefined && object.Apollo19MetallicShadow !== null) + ? Void.fromPartial(object.Apollo19MetallicShadow) + : undefined; + message.Wishbone19Staggered = (object.Wishbone19Staggered !== undefined && object.Wishbone19Staggered !== null) + ? Void.fromPartial(object.Wishbone19Staggered) + : undefined; + message.Crossflow19 = (object.Crossflow19 !== undefined && object.Crossflow19 !== null) + ? Void.fromPartial(object.Crossflow19) + : undefined; + message.HelixV220 = (object.HelixV220 !== undefined && object.HelixV220 !== null) + ? Void.fromPartial(object.HelixV220) + : undefined; + message.Standard19 = (object.Standard19 !== undefined && object.Standard19 !== null) + ? Void.fromPartial(object.Standard19) + : undefined; + message.Halo22 = (object.Halo22 !== undefined && object.Halo22 !== null) + ? Void.fromPartial(object.Halo22) + : undefined; + message.Riptide20 = (object.Riptide20 !== undefined && object.Riptide20 !== null) + ? Void.fromPartial(object.Riptide20) + : undefined; + message.Cypress21 = (object.Cypress21 !== undefined && object.Cypress21 !== null) + ? Void.fromPartial(object.Cypress21) + : undefined; + message.MachinaV219 = (object.MachinaV219 !== undefined && object.MachinaV219 !== null) + ? Void.fromPartial(object.MachinaV219) + : undefined; + message.ArachnidV221 = (object.ArachnidV221 !== undefined && object.ArachnidV221 !== null) + ? Void.fromPartial(object.ArachnidV221) + : undefined; + message.E4118 = (object.E4118 !== undefined && object.E4118 !== null) ? Void.fromPartial(object.E4118) : undefined; + message.D5018 = (object.D5018 !== undefined && object.D5018 !== null) ? Void.fromPartial(object.D5018) : undefined; + message.HelixV220Dark = (object.HelixV220Dark !== undefined && object.HelixV220Dark !== null) + ? Void.fromPartial(object.HelixV220Dark) + : undefined; + message.UberHelix20 = (object.UberHelix20 !== undefined && object.UberHelix20 !== null) + ? Void.fromPartial(object.UberHelix20) + : undefined; + return message; + }, +}; + +function createBaseSpoilerType(): SpoilerType { + return { None: undefined, Passive: undefined, Active: undefined }; +} + +export const SpoilerType: MessageFns = { + encode(message: SpoilerType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.Passive !== undefined) { + Void.encode(message.Passive, writer.uint32(18).fork()).join(); + } + if (message.Active !== undefined) { + Void.encode(message.Active, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SpoilerType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpoilerType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Passive = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Active = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SpoilerType { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + Passive: isSet(object.Passive) ? Void.fromJSON(object.Passive) : undefined, + Active: isSet(object.Active) ? Void.fromJSON(object.Active) : undefined, + }; + }, + + toJSON(message: SpoilerType): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.Passive !== undefined) { + obj.Passive = Void.toJSON(message.Passive); + } + if (message.Active !== undefined) { + obj.Active = Void.toJSON(message.Active); + } + return obj; + }, + + create, I>>(base?: I): SpoilerType { + return SpoilerType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SpoilerType { + const message = createBaseSpoilerType(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.Passive = (object.Passive !== undefined && object.Passive !== null) + ? Void.fromPartial(object.Passive) + : undefined; + message.Active = (object.Active !== undefined && object.Active !== null) + ? Void.fromPartial(object.Active) + : undefined; + return message; + }, +}; + +function createBaseRoofColor(): RoofColor { + return { None: undefined, Glass: undefined, Black: undefined, Colored: undefined }; +} + +export const RoofColor: MessageFns = { + encode(message: RoofColor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.Glass !== undefined) { + Void.encode(message.Glass, writer.uint32(18).fork()).join(); + } + if (message.Black !== undefined) { + Void.encode(message.Black, writer.uint32(26).fork()).join(); + } + if (message.Colored !== undefined) { + Void.encode(message.Colored, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RoofColor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRoofColor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Glass = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Black = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.Colored = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RoofColor { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + Glass: isSet(object.Glass) ? Void.fromJSON(object.Glass) : undefined, + Black: isSet(object.Black) ? Void.fromJSON(object.Black) : undefined, + Colored: isSet(object.Colored) ? Void.fromJSON(object.Colored) : undefined, + }; + }, + + toJSON(message: RoofColor): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.Glass !== undefined) { + obj.Glass = Void.toJSON(message.Glass); + } + if (message.Black !== undefined) { + obj.Black = Void.toJSON(message.Black); + } + if (message.Colored !== undefined) { + obj.Colored = Void.toJSON(message.Colored); + } + return obj; + }, + + create, I>>(base?: I): RoofColor { + return RoofColor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RoofColor { + const message = createBaseRoofColor(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.Glass = (object.Glass !== undefined && object.Glass !== null) ? Void.fromPartial(object.Glass) : undefined; + message.Black = (object.Black !== undefined && object.Black !== null) ? Void.fromPartial(object.Black) : undefined; + message.Colored = (object.Colored !== undefined && object.Colored !== null) + ? Void.fromPartial(object.Colored) + : undefined; + return message; + }, +}; + +function createBaseExteriorColor(): ExteriorColor { + return { + Unknown: undefined, + RedMulticoat: undefined, + SolidBlack: undefined, + SilverMetallic: undefined, + MidnightSilver: undefined, + DeepBlue: undefined, + PearlWhite: undefined, + DefaultColor: undefined, + Black: undefined, + White: undefined, + Silver: undefined, + Grey: undefined, + Blue: undefined, + Green: undefined, + Brown: undefined, + Pearl: undefined, + SigRed: undefined, + Red: undefined, + SteelGrey: undefined, + MetallicBlack: undefined, + TitaniumCopper: undefined, + SignatureBlue: undefined, + MidnightCherryRed: undefined, + Quicksilver: undefined, + UltraRed: undefined, + StealthGrey: undefined, + LunarSilver: undefined, + GlacierBlue: undefined, + DiamondBlack: undefined, + FrostBlue: undefined, + SilkRoadSilver: undefined, + MarineBlue: undefined, + GarnetRed: undefined, + CoastalBlue: undefined, + }; +} + +export const ExteriorColor: MessageFns = { + encode(message: ExteriorColor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Unknown !== undefined) { + Void.encode(message.Unknown, writer.uint32(26).fork()).join(); + } + if (message.RedMulticoat !== undefined) { + Void.encode(message.RedMulticoat, writer.uint32(34).fork()).join(); + } + if (message.SolidBlack !== undefined) { + Void.encode(message.SolidBlack, writer.uint32(42).fork()).join(); + } + if (message.SilverMetallic !== undefined) { + Void.encode(message.SilverMetallic, writer.uint32(50).fork()).join(); + } + if (message.MidnightSilver !== undefined) { + Void.encode(message.MidnightSilver, writer.uint32(58).fork()).join(); + } + if (message.DeepBlue !== undefined) { + Void.encode(message.DeepBlue, writer.uint32(66).fork()).join(); + } + if (message.PearlWhite !== undefined) { + Void.encode(message.PearlWhite, writer.uint32(74).fork()).join(); + } + if (message.DefaultColor !== undefined) { + Void.encode(message.DefaultColor, writer.uint32(82).fork()).join(); + } + if (message.Black !== undefined) { + Void.encode(message.Black, writer.uint32(90).fork()).join(); + } + if (message.White !== undefined) { + Void.encode(message.White, writer.uint32(98).fork()).join(); + } + if (message.Silver !== undefined) { + Void.encode(message.Silver, writer.uint32(106).fork()).join(); + } + if (message.Grey !== undefined) { + Void.encode(message.Grey, writer.uint32(114).fork()).join(); + } + if (message.Blue !== undefined) { + Void.encode(message.Blue, writer.uint32(122).fork()).join(); + } + if (message.Green !== undefined) { + Void.encode(message.Green, writer.uint32(130).fork()).join(); + } + if (message.Brown !== undefined) { + Void.encode(message.Brown, writer.uint32(138).fork()).join(); + } + if (message.Pearl !== undefined) { + Void.encode(message.Pearl, writer.uint32(146).fork()).join(); + } + if (message.SigRed !== undefined) { + Void.encode(message.SigRed, writer.uint32(154).fork()).join(); + } + if (message.Red !== undefined) { + Void.encode(message.Red, writer.uint32(162).fork()).join(); + } + if (message.SteelGrey !== undefined) { + Void.encode(message.SteelGrey, writer.uint32(170).fork()).join(); + } + if (message.MetallicBlack !== undefined) { + Void.encode(message.MetallicBlack, writer.uint32(178).fork()).join(); + } + if (message.TitaniumCopper !== undefined) { + Void.encode(message.TitaniumCopper, writer.uint32(186).fork()).join(); + } + if (message.SignatureBlue !== undefined) { + Void.encode(message.SignatureBlue, writer.uint32(194).fork()).join(); + } + if (message.MidnightCherryRed !== undefined) { + Void.encode(message.MidnightCherryRed, writer.uint32(202).fork()).join(); + } + if (message.Quicksilver !== undefined) { + Void.encode(message.Quicksilver, writer.uint32(210).fork()).join(); + } + if (message.UltraRed !== undefined) { + Void.encode(message.UltraRed, writer.uint32(218).fork()).join(); + } + if (message.StealthGrey !== undefined) { + Void.encode(message.StealthGrey, writer.uint32(226).fork()).join(); + } + if (message.LunarSilver !== undefined) { + Void.encode(message.LunarSilver, writer.uint32(234).fork()).join(); + } + if (message.GlacierBlue !== undefined) { + Void.encode(message.GlacierBlue, writer.uint32(242).fork()).join(); + } + if (message.DiamondBlack !== undefined) { + Void.encode(message.DiamondBlack, writer.uint32(250).fork()).join(); + } + if (message.FrostBlue !== undefined) { + Void.encode(message.FrostBlue, writer.uint32(258).fork()).join(); + } + if (message.SilkRoadSilver !== undefined) { + Void.encode(message.SilkRoadSilver, writer.uint32(266).fork()).join(); + } + if (message.MarineBlue !== undefined) { + Void.encode(message.MarineBlue, writer.uint32(274).fork()).join(); + } + if (message.GarnetRed !== undefined) { + Void.encode(message.GarnetRed, writer.uint32(282).fork()).join(); + } + if (message.CoastalBlue !== undefined) { + Void.encode(message.CoastalBlue, writer.uint32(290).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ExteriorColor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExteriorColor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + if (tag !== 26) { + break; + } + + message.Unknown = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.RedMulticoat = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.SolidBlack = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.SilverMetallic = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.MidnightSilver = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.DeepBlue = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.PearlWhite = Void.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.DefaultColor = Void.decode(reader, reader.uint32()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.Black = Void.decode(reader, reader.uint32()); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.White = Void.decode(reader, reader.uint32()); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.Silver = Void.decode(reader, reader.uint32()); + continue; + } + case 14: { + if (tag !== 114) { + break; + } + + message.Grey = Void.decode(reader, reader.uint32()); + continue; + } + case 15: { + if (tag !== 122) { + break; + } + + message.Blue = Void.decode(reader, reader.uint32()); + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.Green = Void.decode(reader, reader.uint32()); + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.Brown = Void.decode(reader, reader.uint32()); + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.Pearl = Void.decode(reader, reader.uint32()); + continue; + } + case 19: { + if (tag !== 154) { + break; + } + + message.SigRed = Void.decode(reader, reader.uint32()); + continue; + } + case 20: { + if (tag !== 162) { + break; + } + + message.Red = Void.decode(reader, reader.uint32()); + continue; + } + case 21: { + if (tag !== 170) { + break; + } + + message.SteelGrey = Void.decode(reader, reader.uint32()); + continue; + } + case 22: { + if (tag !== 178) { + break; + } + + message.MetallicBlack = Void.decode(reader, reader.uint32()); + continue; + } + case 23: { + if (tag !== 186) { + break; + } + + message.TitaniumCopper = Void.decode(reader, reader.uint32()); + continue; + } + case 24: { + if (tag !== 194) { + break; + } + + message.SignatureBlue = Void.decode(reader, reader.uint32()); + continue; + } + case 25: { + if (tag !== 202) { + break; + } + + message.MidnightCherryRed = Void.decode(reader, reader.uint32()); + continue; + } + case 26: { + if (tag !== 210) { + break; + } + + message.Quicksilver = Void.decode(reader, reader.uint32()); + continue; + } + case 27: { + if (tag !== 218) { + break; + } + + message.UltraRed = Void.decode(reader, reader.uint32()); + continue; + } + case 28: { + if (tag !== 226) { + break; + } + + message.StealthGrey = Void.decode(reader, reader.uint32()); + continue; + } + case 29: { + if (tag !== 234) { + break; + } + + message.LunarSilver = Void.decode(reader, reader.uint32()); + continue; + } + case 30: { + if (tag !== 242) { + break; + } + + message.GlacierBlue = Void.decode(reader, reader.uint32()); + continue; + } + case 31: { + if (tag !== 250) { + break; + } + + message.DiamondBlack = Void.decode(reader, reader.uint32()); + continue; + } + case 32: { + if (tag !== 258) { + break; + } + + message.FrostBlue = Void.decode(reader, reader.uint32()); + continue; + } + case 33: { + if (tag !== 266) { + break; + } + + message.SilkRoadSilver = Void.decode(reader, reader.uint32()); + continue; + } + case 34: { + if (tag !== 274) { + break; + } + + message.MarineBlue = Void.decode(reader, reader.uint32()); + continue; + } + case 35: { + if (tag !== 282) { + break; + } + + message.GarnetRed = Void.decode(reader, reader.uint32()); + continue; + } + case 36: { + if (tag !== 290) { + break; + } + + message.CoastalBlue = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ExteriorColor { + return { + Unknown: isSet(object.Unknown) ? Void.fromJSON(object.Unknown) : undefined, + RedMulticoat: isSet(object.RedMulticoat) ? Void.fromJSON(object.RedMulticoat) : undefined, + SolidBlack: isSet(object.SolidBlack) ? Void.fromJSON(object.SolidBlack) : undefined, + SilverMetallic: isSet(object.SilverMetallic) ? Void.fromJSON(object.SilverMetallic) : undefined, + MidnightSilver: isSet(object.MidnightSilver) ? Void.fromJSON(object.MidnightSilver) : undefined, + DeepBlue: isSet(object.DeepBlue) ? Void.fromJSON(object.DeepBlue) : undefined, + PearlWhite: isSet(object.PearlWhite) ? Void.fromJSON(object.PearlWhite) : undefined, + DefaultColor: isSet(object.DefaultColor) ? Void.fromJSON(object.DefaultColor) : undefined, + Black: isSet(object.Black) ? Void.fromJSON(object.Black) : undefined, + White: isSet(object.White) ? Void.fromJSON(object.White) : undefined, + Silver: isSet(object.Silver) ? Void.fromJSON(object.Silver) : undefined, + Grey: isSet(object.Grey) ? Void.fromJSON(object.Grey) : undefined, + Blue: isSet(object.Blue) ? Void.fromJSON(object.Blue) : undefined, + Green: isSet(object.Green) ? Void.fromJSON(object.Green) : undefined, + Brown: isSet(object.Brown) ? Void.fromJSON(object.Brown) : undefined, + Pearl: isSet(object.Pearl) ? Void.fromJSON(object.Pearl) : undefined, + SigRed: isSet(object.SigRed) ? Void.fromJSON(object.SigRed) : undefined, + Red: isSet(object.Red) ? Void.fromJSON(object.Red) : undefined, + SteelGrey: isSet(object.SteelGrey) ? Void.fromJSON(object.SteelGrey) : undefined, + MetallicBlack: isSet(object.MetallicBlack) ? Void.fromJSON(object.MetallicBlack) : undefined, + TitaniumCopper: isSet(object.TitaniumCopper) ? Void.fromJSON(object.TitaniumCopper) : undefined, + SignatureBlue: isSet(object.SignatureBlue) ? Void.fromJSON(object.SignatureBlue) : undefined, + MidnightCherryRed: isSet(object.MidnightCherryRed) ? Void.fromJSON(object.MidnightCherryRed) : undefined, + Quicksilver: isSet(object.Quicksilver) ? Void.fromJSON(object.Quicksilver) : undefined, + UltraRed: isSet(object.UltraRed) ? Void.fromJSON(object.UltraRed) : undefined, + StealthGrey: isSet(object.StealthGrey) ? Void.fromJSON(object.StealthGrey) : undefined, + LunarSilver: isSet(object.LunarSilver) ? Void.fromJSON(object.LunarSilver) : undefined, + GlacierBlue: isSet(object.GlacierBlue) ? Void.fromJSON(object.GlacierBlue) : undefined, + DiamondBlack: isSet(object.DiamondBlack) ? Void.fromJSON(object.DiamondBlack) : undefined, + FrostBlue: isSet(object.FrostBlue) ? Void.fromJSON(object.FrostBlue) : undefined, + SilkRoadSilver: isSet(object.SilkRoadSilver) ? Void.fromJSON(object.SilkRoadSilver) : undefined, + MarineBlue: isSet(object.MarineBlue) ? Void.fromJSON(object.MarineBlue) : undefined, + GarnetRed: isSet(object.GarnetRed) ? Void.fromJSON(object.GarnetRed) : undefined, + CoastalBlue: isSet(object.CoastalBlue) ? Void.fromJSON(object.CoastalBlue) : undefined, + }; + }, + + toJSON(message: ExteriorColor): unknown { + const obj: any = {}; + if (message.Unknown !== undefined) { + obj.Unknown = Void.toJSON(message.Unknown); + } + if (message.RedMulticoat !== undefined) { + obj.RedMulticoat = Void.toJSON(message.RedMulticoat); + } + if (message.SolidBlack !== undefined) { + obj.SolidBlack = Void.toJSON(message.SolidBlack); + } + if (message.SilverMetallic !== undefined) { + obj.SilverMetallic = Void.toJSON(message.SilverMetallic); + } + if (message.MidnightSilver !== undefined) { + obj.MidnightSilver = Void.toJSON(message.MidnightSilver); + } + if (message.DeepBlue !== undefined) { + obj.DeepBlue = Void.toJSON(message.DeepBlue); + } + if (message.PearlWhite !== undefined) { + obj.PearlWhite = Void.toJSON(message.PearlWhite); + } + if (message.DefaultColor !== undefined) { + obj.DefaultColor = Void.toJSON(message.DefaultColor); + } + if (message.Black !== undefined) { + obj.Black = Void.toJSON(message.Black); + } + if (message.White !== undefined) { + obj.White = Void.toJSON(message.White); + } + if (message.Silver !== undefined) { + obj.Silver = Void.toJSON(message.Silver); + } + if (message.Grey !== undefined) { + obj.Grey = Void.toJSON(message.Grey); + } + if (message.Blue !== undefined) { + obj.Blue = Void.toJSON(message.Blue); + } + if (message.Green !== undefined) { + obj.Green = Void.toJSON(message.Green); + } + if (message.Brown !== undefined) { + obj.Brown = Void.toJSON(message.Brown); + } + if (message.Pearl !== undefined) { + obj.Pearl = Void.toJSON(message.Pearl); + } + if (message.SigRed !== undefined) { + obj.SigRed = Void.toJSON(message.SigRed); + } + if (message.Red !== undefined) { + obj.Red = Void.toJSON(message.Red); + } + if (message.SteelGrey !== undefined) { + obj.SteelGrey = Void.toJSON(message.SteelGrey); + } + if (message.MetallicBlack !== undefined) { + obj.MetallicBlack = Void.toJSON(message.MetallicBlack); + } + if (message.TitaniumCopper !== undefined) { + obj.TitaniumCopper = Void.toJSON(message.TitaniumCopper); + } + if (message.SignatureBlue !== undefined) { + obj.SignatureBlue = Void.toJSON(message.SignatureBlue); + } + if (message.MidnightCherryRed !== undefined) { + obj.MidnightCherryRed = Void.toJSON(message.MidnightCherryRed); + } + if (message.Quicksilver !== undefined) { + obj.Quicksilver = Void.toJSON(message.Quicksilver); + } + if (message.UltraRed !== undefined) { + obj.UltraRed = Void.toJSON(message.UltraRed); + } + if (message.StealthGrey !== undefined) { + obj.StealthGrey = Void.toJSON(message.StealthGrey); + } + if (message.LunarSilver !== undefined) { + obj.LunarSilver = Void.toJSON(message.LunarSilver); + } + if (message.GlacierBlue !== undefined) { + obj.GlacierBlue = Void.toJSON(message.GlacierBlue); + } + if (message.DiamondBlack !== undefined) { + obj.DiamondBlack = Void.toJSON(message.DiamondBlack); + } + if (message.FrostBlue !== undefined) { + obj.FrostBlue = Void.toJSON(message.FrostBlue); + } + if (message.SilkRoadSilver !== undefined) { + obj.SilkRoadSilver = Void.toJSON(message.SilkRoadSilver); + } + if (message.MarineBlue !== undefined) { + obj.MarineBlue = Void.toJSON(message.MarineBlue); + } + if (message.GarnetRed !== undefined) { + obj.GarnetRed = Void.toJSON(message.GarnetRed); + } + if (message.CoastalBlue !== undefined) { + obj.CoastalBlue = Void.toJSON(message.CoastalBlue); + } + return obj; + }, + + create, I>>(base?: I): ExteriorColor { + return ExteriorColor.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ExteriorColor { + const message = createBaseExteriorColor(); + message.Unknown = (object.Unknown !== undefined && object.Unknown !== null) + ? Void.fromPartial(object.Unknown) + : undefined; + message.RedMulticoat = (object.RedMulticoat !== undefined && object.RedMulticoat !== null) + ? Void.fromPartial(object.RedMulticoat) + : undefined; + message.SolidBlack = (object.SolidBlack !== undefined && object.SolidBlack !== null) + ? Void.fromPartial(object.SolidBlack) + : undefined; + message.SilverMetallic = (object.SilverMetallic !== undefined && object.SilverMetallic !== null) + ? Void.fromPartial(object.SilverMetallic) + : undefined; + message.MidnightSilver = (object.MidnightSilver !== undefined && object.MidnightSilver !== null) + ? Void.fromPartial(object.MidnightSilver) + : undefined; + message.DeepBlue = (object.DeepBlue !== undefined && object.DeepBlue !== null) + ? Void.fromPartial(object.DeepBlue) + : undefined; + message.PearlWhite = (object.PearlWhite !== undefined && object.PearlWhite !== null) + ? Void.fromPartial(object.PearlWhite) + : undefined; + message.DefaultColor = (object.DefaultColor !== undefined && object.DefaultColor !== null) + ? Void.fromPartial(object.DefaultColor) + : undefined; + message.Black = (object.Black !== undefined && object.Black !== null) ? Void.fromPartial(object.Black) : undefined; + message.White = (object.White !== undefined && object.White !== null) ? Void.fromPartial(object.White) : undefined; + message.Silver = (object.Silver !== undefined && object.Silver !== null) + ? Void.fromPartial(object.Silver) + : undefined; + message.Grey = (object.Grey !== undefined && object.Grey !== null) ? Void.fromPartial(object.Grey) : undefined; + message.Blue = (object.Blue !== undefined && object.Blue !== null) ? Void.fromPartial(object.Blue) : undefined; + message.Green = (object.Green !== undefined && object.Green !== null) ? Void.fromPartial(object.Green) : undefined; + message.Brown = (object.Brown !== undefined && object.Brown !== null) ? Void.fromPartial(object.Brown) : undefined; + message.Pearl = (object.Pearl !== undefined && object.Pearl !== null) ? Void.fromPartial(object.Pearl) : undefined; + message.SigRed = (object.SigRed !== undefined && object.SigRed !== null) + ? Void.fromPartial(object.SigRed) + : undefined; + message.Red = (object.Red !== undefined && object.Red !== null) ? Void.fromPartial(object.Red) : undefined; + message.SteelGrey = (object.SteelGrey !== undefined && object.SteelGrey !== null) + ? Void.fromPartial(object.SteelGrey) + : undefined; + message.MetallicBlack = (object.MetallicBlack !== undefined && object.MetallicBlack !== null) + ? Void.fromPartial(object.MetallicBlack) + : undefined; + message.TitaniumCopper = (object.TitaniumCopper !== undefined && object.TitaniumCopper !== null) + ? Void.fromPartial(object.TitaniumCopper) + : undefined; + message.SignatureBlue = (object.SignatureBlue !== undefined && object.SignatureBlue !== null) + ? Void.fromPartial(object.SignatureBlue) + : undefined; + message.MidnightCherryRed = (object.MidnightCherryRed !== undefined && object.MidnightCherryRed !== null) + ? Void.fromPartial(object.MidnightCherryRed) + : undefined; + message.Quicksilver = (object.Quicksilver !== undefined && object.Quicksilver !== null) + ? Void.fromPartial(object.Quicksilver) + : undefined; + message.UltraRed = (object.UltraRed !== undefined && object.UltraRed !== null) + ? Void.fromPartial(object.UltraRed) + : undefined; + message.StealthGrey = (object.StealthGrey !== undefined && object.StealthGrey !== null) + ? Void.fromPartial(object.StealthGrey) + : undefined; + message.LunarSilver = (object.LunarSilver !== undefined && object.LunarSilver !== null) + ? Void.fromPartial(object.LunarSilver) + : undefined; + message.GlacierBlue = (object.GlacierBlue !== undefined && object.GlacierBlue !== null) + ? Void.fromPartial(object.GlacierBlue) + : undefined; + message.DiamondBlack = (object.DiamondBlack !== undefined && object.DiamondBlack !== null) + ? Void.fromPartial(object.DiamondBlack) + : undefined; + message.FrostBlue = (object.FrostBlue !== undefined && object.FrostBlue !== null) + ? Void.fromPartial(object.FrostBlue) + : undefined; + message.SilkRoadSilver = (object.SilkRoadSilver !== undefined && object.SilkRoadSilver !== null) + ? Void.fromPartial(object.SilkRoadSilver) + : undefined; + message.MarineBlue = (object.MarineBlue !== undefined && object.MarineBlue !== null) + ? Void.fromPartial(object.MarineBlue) + : undefined; + message.GarnetRed = (object.GarnetRed !== undefined && object.GarnetRed !== null) + ? Void.fromPartial(object.GarnetRed) + : undefined; + message.CoastalBlue = (object.CoastalBlue !== undefined && object.CoastalBlue !== null) + ? Void.fromPartial(object.CoastalBlue) + : undefined; + return message; + }, +}; + +function createBaseRearSeatHeaters(): RearSeatHeaters { + return { None: undefined, Base: undefined, Executive: undefined, Gentherm: undefined, BaseModelX: undefined }; +} + +export const RearSeatHeaters: MessageFns = { + encode(message: RearSeatHeaters, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.Base !== undefined) { + Void.encode(message.Base, writer.uint32(18).fork()).join(); + } + if (message.Executive !== undefined) { + Void.encode(message.Executive, writer.uint32(26).fork()).join(); + } + if (message.Gentherm !== undefined) { + Void.encode(message.Gentherm, writer.uint32(34).fork()).join(); + } + if (message.BaseModelX !== undefined) { + Void.encode(message.BaseModelX, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RearSeatHeaters { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRearSeatHeaters(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Base = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Executive = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.Gentherm = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.BaseModelX = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RearSeatHeaters { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + Base: isSet(object.Base) ? Void.fromJSON(object.Base) : undefined, + Executive: isSet(object.Executive) ? Void.fromJSON(object.Executive) : undefined, + Gentherm: isSet(object.Gentherm) ? Void.fromJSON(object.Gentherm) : undefined, + BaseModelX: isSet(object.BaseModelX) ? Void.fromJSON(object.BaseModelX) : undefined, + }; + }, + + toJSON(message: RearSeatHeaters): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.Base !== undefined) { + obj.Base = Void.toJSON(message.Base); + } + if (message.Executive !== undefined) { + obj.Executive = Void.toJSON(message.Executive); + } + if (message.Gentherm !== undefined) { + obj.Gentherm = Void.toJSON(message.Gentherm); + } + if (message.BaseModelX !== undefined) { + obj.BaseModelX = Void.toJSON(message.BaseModelX); + } + return obj; + }, + + create, I>>(base?: I): RearSeatHeaters { + return RearSeatHeaters.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RearSeatHeaters { + const message = createBaseRearSeatHeaters(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.Base = (object.Base !== undefined && object.Base !== null) ? Void.fromPartial(object.Base) : undefined; + message.Executive = (object.Executive !== undefined && object.Executive !== null) + ? Void.fromPartial(object.Executive) + : undefined; + message.Gentherm = (object.Gentherm !== undefined && object.Gentherm !== null) + ? Void.fromPartial(object.Gentherm) + : undefined; + message.BaseModelX = (object.BaseModelX !== undefined && object.BaseModelX !== null) + ? Void.fromPartial(object.BaseModelX) + : undefined; + return message; + }, +}; + +function createBaseSeatType(): SeatType { + return { Base: undefined, Recaro: undefined, TeslaMsGen1: undefined }; +} + +export const SeatType: MessageFns = { + encode(message: SeatType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Base !== undefined) { + Void.encode(message.Base, writer.uint32(10).fork()).join(); + } + if (message.Recaro !== undefined) { + Void.encode(message.Recaro, writer.uint32(18).fork()).join(); + } + if (message.TeslaMsGen1 !== undefined) { + Void.encode(message.TeslaMsGen1, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SeatType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSeatType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Base = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Recaro = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.TeslaMsGen1 = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SeatType { + return { + Base: isSet(object.Base) ? Void.fromJSON(object.Base) : undefined, + Recaro: isSet(object.Recaro) ? Void.fromJSON(object.Recaro) : undefined, + TeslaMsGen1: isSet(object.TeslaMsGen1) ? Void.fromJSON(object.TeslaMsGen1) : undefined, + }; + }, + + toJSON(message: SeatType): unknown { + const obj: any = {}; + if (message.Base !== undefined) { + obj.Base = Void.toJSON(message.Base); + } + if (message.Recaro !== undefined) { + obj.Recaro = Void.toJSON(message.Recaro); + } + if (message.TeslaMsGen1 !== undefined) { + obj.TeslaMsGen1 = Void.toJSON(message.TeslaMsGen1); + } + return obj; + }, + + create, I>>(base?: I): SeatType { + return SeatType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SeatType { + const message = createBaseSeatType(); + message.Base = (object.Base !== undefined && object.Base !== null) ? Void.fromPartial(object.Base) : undefined; + message.Recaro = (object.Recaro !== undefined && object.Recaro !== null) + ? Void.fromPartial(object.Recaro) + : undefined; + message.TeslaMsGen1 = (object.TeslaMsGen1 !== undefined && object.TeslaMsGen1 !== null) + ? Void.fromPartial(object.TeslaMsGen1) + : undefined; + return message; + }, +}; + +function createBaseRearSeatType(): RearSeatType { + return { + Base: undefined, + Recaro: undefined, + Executive: undefined, + TwoSeat: undefined, + FoldFlat: undefined, + FoldFlatMotorized: undefined, + TwoSeatConsole: undefined, + FoldFlatTwoMotor: undefined, + FoldFlatTwoMotorHall: undefined, + FoldFlatHallBuckles: undefined, + }; +} + +export const RearSeatType: MessageFns = { + encode(message: RearSeatType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Base !== undefined) { + Void.encode(message.Base, writer.uint32(10).fork()).join(); + } + if (message.Recaro !== undefined) { + Void.encode(message.Recaro, writer.uint32(18).fork()).join(); + } + if (message.Executive !== undefined) { + Void.encode(message.Executive, writer.uint32(26).fork()).join(); + } + if (message.TwoSeat !== undefined) { + Void.encode(message.TwoSeat, writer.uint32(34).fork()).join(); + } + if (message.FoldFlat !== undefined) { + Void.encode(message.FoldFlat, writer.uint32(42).fork()).join(); + } + if (message.FoldFlatMotorized !== undefined) { + Void.encode(message.FoldFlatMotorized, writer.uint32(50).fork()).join(); + } + if (message.TwoSeatConsole !== undefined) { + Void.encode(message.TwoSeatConsole, writer.uint32(58).fork()).join(); + } + if (message.FoldFlatTwoMotor !== undefined) { + Void.encode(message.FoldFlatTwoMotor, writer.uint32(66).fork()).join(); + } + if (message.FoldFlatTwoMotorHall !== undefined) { + Void.encode(message.FoldFlatTwoMotorHall, writer.uint32(74).fork()).join(); + } + if (message.FoldFlatHallBuckles !== undefined) { + Void.encode(message.FoldFlatHallBuckles, writer.uint32(82).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RearSeatType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRearSeatType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Base = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Recaro = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Executive = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.TwoSeat = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.FoldFlat = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.FoldFlatMotorized = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.TwoSeatConsole = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.FoldFlatTwoMotor = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.FoldFlatTwoMotorHall = Void.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.FoldFlatHallBuckles = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RearSeatType { + return { + Base: isSet(object.Base) ? Void.fromJSON(object.Base) : undefined, + Recaro: isSet(object.Recaro) ? Void.fromJSON(object.Recaro) : undefined, + Executive: isSet(object.Executive) ? Void.fromJSON(object.Executive) : undefined, + TwoSeat: isSet(object.TwoSeat) ? Void.fromJSON(object.TwoSeat) : undefined, + FoldFlat: isSet(object.FoldFlat) ? Void.fromJSON(object.FoldFlat) : undefined, + FoldFlatMotorized: isSet(object.FoldFlatMotorized) ? Void.fromJSON(object.FoldFlatMotorized) : undefined, + TwoSeatConsole: isSet(object.TwoSeatConsole) ? Void.fromJSON(object.TwoSeatConsole) : undefined, + FoldFlatTwoMotor: isSet(object.FoldFlatTwoMotor) ? Void.fromJSON(object.FoldFlatTwoMotor) : undefined, + FoldFlatTwoMotorHall: isSet(object.FoldFlatTwoMotorHall) ? Void.fromJSON(object.FoldFlatTwoMotorHall) : undefined, + FoldFlatHallBuckles: isSet(object.FoldFlatHallBuckles) ? Void.fromJSON(object.FoldFlatHallBuckles) : undefined, + }; + }, + + toJSON(message: RearSeatType): unknown { + const obj: any = {}; + if (message.Base !== undefined) { + obj.Base = Void.toJSON(message.Base); + } + if (message.Recaro !== undefined) { + obj.Recaro = Void.toJSON(message.Recaro); + } + if (message.Executive !== undefined) { + obj.Executive = Void.toJSON(message.Executive); + } + if (message.TwoSeat !== undefined) { + obj.TwoSeat = Void.toJSON(message.TwoSeat); + } + if (message.FoldFlat !== undefined) { + obj.FoldFlat = Void.toJSON(message.FoldFlat); + } + if (message.FoldFlatMotorized !== undefined) { + obj.FoldFlatMotorized = Void.toJSON(message.FoldFlatMotorized); + } + if (message.TwoSeatConsole !== undefined) { + obj.TwoSeatConsole = Void.toJSON(message.TwoSeatConsole); + } + if (message.FoldFlatTwoMotor !== undefined) { + obj.FoldFlatTwoMotor = Void.toJSON(message.FoldFlatTwoMotor); + } + if (message.FoldFlatTwoMotorHall !== undefined) { + obj.FoldFlatTwoMotorHall = Void.toJSON(message.FoldFlatTwoMotorHall); + } + if (message.FoldFlatHallBuckles !== undefined) { + obj.FoldFlatHallBuckles = Void.toJSON(message.FoldFlatHallBuckles); + } + return obj; + }, + + create, I>>(base?: I): RearSeatType { + return RearSeatType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RearSeatType { + const message = createBaseRearSeatType(); + message.Base = (object.Base !== undefined && object.Base !== null) ? Void.fromPartial(object.Base) : undefined; + message.Recaro = (object.Recaro !== undefined && object.Recaro !== null) + ? Void.fromPartial(object.Recaro) + : undefined; + message.Executive = (object.Executive !== undefined && object.Executive !== null) + ? Void.fromPartial(object.Executive) + : undefined; + message.TwoSeat = (object.TwoSeat !== undefined && object.TwoSeat !== null) + ? Void.fromPartial(object.TwoSeat) + : undefined; + message.FoldFlat = (object.FoldFlat !== undefined && object.FoldFlat !== null) + ? Void.fromPartial(object.FoldFlat) + : undefined; + message.FoldFlatMotorized = (object.FoldFlatMotorized !== undefined && object.FoldFlatMotorized !== null) + ? Void.fromPartial(object.FoldFlatMotorized) + : undefined; + message.TwoSeatConsole = (object.TwoSeatConsole !== undefined && object.TwoSeatConsole !== null) + ? Void.fromPartial(object.TwoSeatConsole) + : undefined; + message.FoldFlatTwoMotor = (object.FoldFlatTwoMotor !== undefined && object.FoldFlatTwoMotor !== null) + ? Void.fromPartial(object.FoldFlatTwoMotor) + : undefined; + message.FoldFlatTwoMotorHall = (object.FoldFlatTwoMotorHall !== undefined && object.FoldFlatTwoMotorHall !== null) + ? Void.fromPartial(object.FoldFlatTwoMotorHall) + : undefined; + message.FoldFlatHallBuckles = (object.FoldFlatHallBuckles !== undefined && object.FoldFlatHallBuckles !== null) + ? Void.fromPartial(object.FoldFlatHallBuckles) + : undefined; + return message; + }, +}; + +function createBaseThirdRowSeatType(): ThirdRowSeatType { + return { None: undefined, FuturisFoldFlat: undefined, FuturisNoFoldFlat: undefined, FlatFold: undefined }; +} + +export const ThirdRowSeatType: MessageFns = { + encode(message: ThirdRowSeatType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.FuturisFoldFlat !== undefined) { + Void.encode(message.FuturisFoldFlat, writer.uint32(18).fork()).join(); + } + if (message.FuturisNoFoldFlat !== undefined) { + Void.encode(message.FuturisNoFoldFlat, writer.uint32(26).fork()).join(); + } + if (message.FlatFold !== undefined) { + Void.encode(message.FlatFold, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ThirdRowSeatType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseThirdRowSeatType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.FuturisFoldFlat = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.FuturisNoFoldFlat = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.FlatFold = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ThirdRowSeatType { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + FuturisFoldFlat: isSet(object.FuturisFoldFlat) ? Void.fromJSON(object.FuturisFoldFlat) : undefined, + FuturisNoFoldFlat: isSet(object.FuturisNoFoldFlat) ? Void.fromJSON(object.FuturisNoFoldFlat) : undefined, + FlatFold: isSet(object.FlatFold) ? Void.fromJSON(object.FlatFold) : undefined, + }; + }, + + toJSON(message: ThirdRowSeatType): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.FuturisFoldFlat !== undefined) { + obj.FuturisFoldFlat = Void.toJSON(message.FuturisFoldFlat); + } + if (message.FuturisNoFoldFlat !== undefined) { + obj.FuturisNoFoldFlat = Void.toJSON(message.FuturisNoFoldFlat); + } + if (message.FlatFold !== undefined) { + obj.FlatFold = Void.toJSON(message.FlatFold); + } + return obj; + }, + + create, I>>(base?: I): ThirdRowSeatType { + return ThirdRowSeatType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ThirdRowSeatType { + const message = createBaseThirdRowSeatType(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.FuturisFoldFlat = (object.FuturisFoldFlat !== undefined && object.FuturisFoldFlat !== null) + ? Void.fromPartial(object.FuturisFoldFlat) + : undefined; + message.FuturisNoFoldFlat = (object.FuturisNoFoldFlat !== undefined && object.FuturisNoFoldFlat !== null) + ? Void.fromPartial(object.FuturisNoFoldFlat) + : undefined; + message.FlatFold = (object.FlatFold !== undefined && object.FlatFold !== null) + ? Void.fromPartial(object.FlatFold) + : undefined; + return message; + }, +}; + +function createBaseChargePortType(): ChargePortType { + return { US: undefined, EU: undefined, GB: undefined, CCS: undefined }; +} + +export const ChargePortType: MessageFns = { + encode(message: ChargePortType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.US !== undefined) { + Void.encode(message.US, writer.uint32(10).fork()).join(); + } + if (message.EU !== undefined) { + Void.encode(message.EU, writer.uint32(18).fork()).join(); + } + if (message.GB !== undefined) { + Void.encode(message.GB, writer.uint32(26).fork()).join(); + } + if (message.CCS !== undefined) { + Void.encode(message.CCS, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ChargePortType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseChargePortType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.US = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.EU = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.GB = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.CCS = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ChargePortType { + return { + US: isSet(object.US) ? Void.fromJSON(object.US) : undefined, + EU: isSet(object.EU) ? Void.fromJSON(object.EU) : undefined, + GB: isSet(object.GB) ? Void.fromJSON(object.GB) : undefined, + CCS: isSet(object.CCS) ? Void.fromJSON(object.CCS) : undefined, + }; + }, + + toJSON(message: ChargePortType): unknown { + const obj: any = {}; + if (message.US !== undefined) { + obj.US = Void.toJSON(message.US); + } + if (message.EU !== undefined) { + obj.EU = Void.toJSON(message.EU); + } + if (message.GB !== undefined) { + obj.GB = Void.toJSON(message.GB); + } + if (message.CCS !== undefined) { + obj.CCS = Void.toJSON(message.CCS); + } + return obj; + }, + + create, I>>(base?: I): ChargePortType { + return ChargePortType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ChargePortType { + const message = createBaseChargePortType(); + message.US = (object.US !== undefined && object.US !== null) ? Void.fromPartial(object.US) : undefined; + message.EU = (object.EU !== undefined && object.EU !== null) ? Void.fromPartial(object.EU) : undefined; + message.GB = (object.GB !== undefined && object.GB !== null) ? Void.fromPartial(object.GB) : undefined; + message.CCS = (object.CCS !== undefined && object.CCS !== null) ? Void.fromPartial(object.CCS) : undefined; + return message; + }, +}; + +function createBaseRearDriveUnit(): RearDriveUnit { + return { + None: undefined, + LargeRear: undefined, + SmallRear: undefined, + PM216MOSFET: undefined, + PM216IGBT: undefined, + CorianderSingle: undefined, + CorianderDual: undefined, + PermanentMagnet: undefined, + InductionDual: undefined, + }; +} + +export const RearDriveUnit: MessageFns = { + encode(message: RearDriveUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); + } + if (message.LargeRear !== undefined) { + Void.encode(message.LargeRear, writer.uint32(18).fork()).join(); + } + if (message.SmallRear !== undefined) { + Void.encode(message.SmallRear, writer.uint32(26).fork()).join(); + } + if (message.PM216MOSFET !== undefined) { + Void.encode(message.PM216MOSFET, writer.uint32(34).fork()).join(); + } + if (message.PM216IGBT !== undefined) { + Void.encode(message.PM216IGBT, writer.uint32(42).fork()).join(); + } + if (message.CorianderSingle !== undefined) { + Void.encode(message.CorianderSingle, writer.uint32(50).fork()).join(); + } + if (message.CorianderDual !== undefined) { + Void.encode(message.CorianderDual, writer.uint32(58).fork()).join(); + } + if (message.PermanentMagnet !== undefined) { + Void.encode(message.PermanentMagnet, writer.uint32(66).fork()).join(); + } + if (message.InductionDual !== undefined) { + Void.encode(message.InductionDual, writer.uint32(74).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RearDriveUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRearDriveUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.LargeRear = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.SmallRear = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.PM216MOSFET = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.PM216IGBT = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.CorianderSingle = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.CorianderDual = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.PermanentMagnet = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.InductionDual = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RearDriveUnit { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + LargeRear: isSet(object.LargeRear) ? Void.fromJSON(object.LargeRear) : undefined, + SmallRear: isSet(object.SmallRear) ? Void.fromJSON(object.SmallRear) : undefined, + PM216MOSFET: isSet(object.PM216MOSFET) ? Void.fromJSON(object.PM216MOSFET) : undefined, + PM216IGBT: isSet(object.PM216IGBT) ? Void.fromJSON(object.PM216IGBT) : undefined, + CorianderSingle: isSet(object.CorianderSingle) ? Void.fromJSON(object.CorianderSingle) : undefined, + CorianderDual: isSet(object.CorianderDual) ? Void.fromJSON(object.CorianderDual) : undefined, + PermanentMagnet: isSet(object.PermanentMagnet) ? Void.fromJSON(object.PermanentMagnet) : undefined, + InductionDual: isSet(object.InductionDual) ? Void.fromJSON(object.InductionDual) : undefined, + }; + }, + + toJSON(message: RearDriveUnit): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); + } + if (message.LargeRear !== undefined) { + obj.LargeRear = Void.toJSON(message.LargeRear); + } + if (message.SmallRear !== undefined) { + obj.SmallRear = Void.toJSON(message.SmallRear); + } + if (message.PM216MOSFET !== undefined) { + obj.PM216MOSFET = Void.toJSON(message.PM216MOSFET); + } + if (message.PM216IGBT !== undefined) { + obj.PM216IGBT = Void.toJSON(message.PM216IGBT); + } + if (message.CorianderSingle !== undefined) { + obj.CorianderSingle = Void.toJSON(message.CorianderSingle); + } + if (message.CorianderDual !== undefined) { + obj.CorianderDual = Void.toJSON(message.CorianderDual); + } + if (message.PermanentMagnet !== undefined) { + obj.PermanentMagnet = Void.toJSON(message.PermanentMagnet); + } + if (message.InductionDual !== undefined) { + obj.InductionDual = Void.toJSON(message.InductionDual); + } + return obj; + }, + + create, I>>(base?: I): RearDriveUnit { + return RearDriveUnit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RearDriveUnit { + const message = createBaseRearDriveUnit(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.LargeRear = (object.LargeRear !== undefined && object.LargeRear !== null) + ? Void.fromPartial(object.LargeRear) + : undefined; + message.SmallRear = (object.SmallRear !== undefined && object.SmallRear !== null) + ? Void.fromPartial(object.SmallRear) + : undefined; + message.PM216MOSFET = (object.PM216MOSFET !== undefined && object.PM216MOSFET !== null) + ? Void.fromPartial(object.PM216MOSFET) + : undefined; + message.PM216IGBT = (object.PM216IGBT !== undefined && object.PM216IGBT !== null) + ? Void.fromPartial(object.PM216IGBT) + : undefined; + message.CorianderSingle = (object.CorianderSingle !== undefined && object.CorianderSingle !== null) + ? Void.fromPartial(object.CorianderSingle) + : undefined; + message.CorianderDual = (object.CorianderDual !== undefined && object.CorianderDual !== null) + ? Void.fromPartial(object.CorianderDual) + : undefined; + message.PermanentMagnet = (object.PermanentMagnet !== undefined && object.PermanentMagnet !== null) + ? Void.fromPartial(object.PermanentMagnet) + : undefined; + message.InductionDual = (object.InductionDual !== undefined && object.InductionDual !== null) + ? Void.fromPartial(object.InductionDual) + : undefined; + return message; + }, +}; + +function createBaseEfficiencyPackage(): EfficiencyPackage { + return { + Default: undefined, + M3SRPlus2020: undefined, + M3LR2020: undefined, + M3LRPerformance2020: undefined, + M3SRPlus2020Q4GFSH: undefined, + MY2020: undefined, + M32021: undefined, + MY2021: undefined, + SX2020: undefined, + S2: undefined, + SX2020H2: undefined, + M3SRPlus2021Q3GFSH: undefined, + M3SRPlus2021Q3Fremont: undefined, + MYSRPlus2021Q3GFSH: undefined, + MYSRPlus2022Q1TX: undefined, + MYRWDEU2022: undefined, + M3Poppyseed2024: undefined, + M32023GFSHExport: undefined, + MY2023GFSHExport: undefined, + MY2024: undefined, + MS2024: undefined, + MX2024: undefined, + MY2023SRRWD: undefined, + MY2024C: undefined, + MY2024GFSHExportSRRWD: undefined, + M3Poppyseed2024C: undefined, + M32025: undefined, + MY2025: undefined, + M32025B: undefined, + MY2025B: undefined, + MS2025: undefined, + MX2025: undefined, + MYRefresh2025ROW: undefined, + MYStandard2025: undefined, + MYRefresh2025CN: undefined, + MS2026: undefined, + MX2026: undefined, + MY2025M53: undefined, + M32025M53: undefined, + MY2025CNPlus: undefined, + MS2026B: undefined, + M32026B: undefined, + MY2026US: undefined, + }; +} + +export const EfficiencyPackage: MessageFns = { + encode(message: EfficiencyPackage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Default !== undefined) { + Void.encode(message.Default, writer.uint32(10).fork()).join(); + } + if (message.M3SRPlus2020 !== undefined) { + Void.encode(message.M3SRPlus2020, writer.uint32(18).fork()).join(); + } + if (message.M3LR2020 !== undefined) { + Void.encode(message.M3LR2020, writer.uint32(26).fork()).join(); + } + if (message.M3LRPerformance2020 !== undefined) { + Void.encode(message.M3LRPerformance2020, writer.uint32(34).fork()).join(); + } + if (message.M3SRPlus2020Q4GFSH !== undefined) { + Void.encode(message.M3SRPlus2020Q4GFSH, writer.uint32(42).fork()).join(); + } + if (message.MY2020 !== undefined) { + Void.encode(message.MY2020, writer.uint32(50).fork()).join(); + } + if (message.M32021 !== undefined) { + Void.encode(message.M32021, writer.uint32(58).fork()).join(); + } + if (message.MY2021 !== undefined) { + Void.encode(message.MY2021, writer.uint32(66).fork()).join(); + } + if (message.SX2020 !== undefined) { + Void.encode(message.SX2020, writer.uint32(74).fork()).join(); + } + if (message.S2 !== undefined) { + Void.encode(message.S2, writer.uint32(82).fork()).join(); + } + if (message.SX2020H2 !== undefined) { + Void.encode(message.SX2020H2, writer.uint32(90).fork()).join(); + } + if (message.M3SRPlus2021Q3GFSH !== undefined) { + Void.encode(message.M3SRPlus2021Q3GFSH, writer.uint32(98).fork()).join(); + } + if (message.M3SRPlus2021Q3Fremont !== undefined) { + Void.encode(message.M3SRPlus2021Q3Fremont, writer.uint32(106).fork()).join(); + } + if (message.MYSRPlus2021Q3GFSH !== undefined) { + Void.encode(message.MYSRPlus2021Q3GFSH, writer.uint32(114).fork()).join(); + } + if (message.MYSRPlus2022Q1TX !== undefined) { + Void.encode(message.MYSRPlus2022Q1TX, writer.uint32(122).fork()).join(); + } + if (message.MYRWDEU2022 !== undefined) { + Void.encode(message.MYRWDEU2022, writer.uint32(130).fork()).join(); + } + if (message.M3Poppyseed2024 !== undefined) { + Void.encode(message.M3Poppyseed2024, writer.uint32(138).fork()).join(); + } + if (message.M32023GFSHExport !== undefined) { + Void.encode(message.M32023GFSHExport, writer.uint32(146).fork()).join(); + } + if (message.MY2023GFSHExport !== undefined) { + Void.encode(message.MY2023GFSHExport, writer.uint32(154).fork()).join(); + } + if (message.MY2024 !== undefined) { + Void.encode(message.MY2024, writer.uint32(162).fork()).join(); + } + if (message.MS2024 !== undefined) { + Void.encode(message.MS2024, writer.uint32(178).fork()).join(); + } + if (message.MX2024 !== undefined) { + Void.encode(message.MX2024, writer.uint32(186).fork()).join(); + } + if (message.MY2023SRRWD !== undefined) { + Void.encode(message.MY2023SRRWD, writer.uint32(194).fork()).join(); + } + if (message.MY2024C !== undefined) { + Void.encode(message.MY2024C, writer.uint32(218).fork()).join(); + } + if (message.MY2024GFSHExportSRRWD !== undefined) { + Void.encode(message.MY2024GFSHExportSRRWD, writer.uint32(226).fork()).join(); + } + if (message.M3Poppyseed2024C !== undefined) { + Void.encode(message.M3Poppyseed2024C, writer.uint32(234).fork()).join(); + } + if (message.M32025 !== undefined) { + Void.encode(message.M32025, writer.uint32(242).fork()).join(); + } + if (message.MY2025 !== undefined) { + Void.encode(message.MY2025, writer.uint32(250).fork()).join(); + } + if (message.M32025B !== undefined) { + Void.encode(message.M32025B, writer.uint32(258).fork()).join(); + } + if (message.MY2025B !== undefined) { + Void.encode(message.MY2025B, writer.uint32(266).fork()).join(); + } + if (message.MS2025 !== undefined) { + Void.encode(message.MS2025, writer.uint32(274).fork()).join(); + } + if (message.MX2025 !== undefined) { + Void.encode(message.MX2025, writer.uint32(282).fork()).join(); + } + if (message.MYRefresh2025ROW !== undefined) { + Void.encode(message.MYRefresh2025ROW, writer.uint32(290).fork()).join(); + } + if (message.MYStandard2025 !== undefined) { + Void.encode(message.MYStandard2025, writer.uint32(298).fork()).join(); + } + if (message.MYRefresh2025CN !== undefined) { + Void.encode(message.MYRefresh2025CN, writer.uint32(306).fork()).join(); + } + if (message.MS2026 !== undefined) { + Void.encode(message.MS2026, writer.uint32(314).fork()).join(); + } + if (message.MX2026 !== undefined) { + Void.encode(message.MX2026, writer.uint32(322).fork()).join(); + } + if (message.MY2025M53 !== undefined) { + Void.encode(message.MY2025M53, writer.uint32(330).fork()).join(); + } + if (message.M32025M53 !== undefined) { + Void.encode(message.M32025M53, writer.uint32(338).fork()).join(); + } + if (message.MY2025CNPlus !== undefined) { + Void.encode(message.MY2025CNPlus, writer.uint32(346).fork()).join(); + } + if (message.MS2026B !== undefined) { + Void.encode(message.MS2026B, writer.uint32(354).fork()).join(); + } + if (message.M32026B !== undefined) { + Void.encode(message.M32026B, writer.uint32(362).fork()).join(); + } + if (message.MY2026US !== undefined) { + Void.encode(message.MY2026US, writer.uint32(370).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EfficiencyPackage { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEfficiencyPackage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Default = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.M3SRPlus2020 = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.M3LR2020 = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.M3LRPerformance2020 = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.M3SRPlus2020Q4GFSH = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.MY2020 = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.M32021 = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.MY2021 = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.SX2020 = Void.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.S2 = Void.decode(reader, reader.uint32()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.SX2020H2 = Void.decode(reader, reader.uint32()); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.M3SRPlus2021Q3GFSH = Void.decode(reader, reader.uint32()); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.M3SRPlus2021Q3Fremont = Void.decode(reader, reader.uint32()); + continue; + } + case 14: { + if (tag !== 114) { + break; + } + + message.MYSRPlus2021Q3GFSH = Void.decode(reader, reader.uint32()); + continue; + } + case 15: { + if (tag !== 122) { + break; + } + + message.MYSRPlus2022Q1TX = Void.decode(reader, reader.uint32()); + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.MYRWDEU2022 = Void.decode(reader, reader.uint32()); + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.M3Poppyseed2024 = Void.decode(reader, reader.uint32()); + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.M32023GFSHExport = Void.decode(reader, reader.uint32()); + continue; + } + case 19: { + if (tag !== 154) { + break; + } + + message.MY2023GFSHExport = Void.decode(reader, reader.uint32()); + continue; + } + case 20: { + if (tag !== 162) { + break; + } + + message.MY2024 = Void.decode(reader, reader.uint32()); + continue; + } + case 22: { + if (tag !== 178) { + break; + } + + message.MS2024 = Void.decode(reader, reader.uint32()); + continue; + } + case 23: { + if (tag !== 186) { + break; + } + + message.MX2024 = Void.decode(reader, reader.uint32()); + continue; + } + case 24: { + if (tag !== 194) { + break; + } + + message.MY2023SRRWD = Void.decode(reader, reader.uint32()); + continue; + } + case 27: { + if (tag !== 218) { + break; + } + + message.MY2024C = Void.decode(reader, reader.uint32()); + continue; + } + case 28: { + if (tag !== 226) { + break; + } + + message.MY2024GFSHExportSRRWD = Void.decode(reader, reader.uint32()); + continue; + } + case 29: { + if (tag !== 234) { + break; + } + + message.M3Poppyseed2024C = Void.decode(reader, reader.uint32()); + continue; + } + case 30: { + if (tag !== 242) { + break; + } + + message.M32025 = Void.decode(reader, reader.uint32()); + continue; + } + case 31: { + if (tag !== 250) { + break; + } + + message.MY2025 = Void.decode(reader, reader.uint32()); + continue; + } + case 32: { + if (tag !== 258) { + break; + } + + message.M32025B = Void.decode(reader, reader.uint32()); + continue; + } + case 33: { + if (tag !== 266) { + break; + } + + message.MY2025B = Void.decode(reader, reader.uint32()); + continue; + } + case 34: { + if (tag !== 274) { + break; + } + + message.MS2025 = Void.decode(reader, reader.uint32()); + continue; + } + case 35: { + if (tag !== 282) { + break; + } + + message.MX2025 = Void.decode(reader, reader.uint32()); + continue; + } + case 36: { + if (tag !== 290) { + break; + } + + message.MYRefresh2025ROW = Void.decode(reader, reader.uint32()); + continue; + } + case 37: { + if (tag !== 298) { + break; + } + + message.MYStandard2025 = Void.decode(reader, reader.uint32()); + continue; + } + case 38: { + if (tag !== 306) { + break; + } + + message.MYRefresh2025CN = Void.decode(reader, reader.uint32()); + continue; + } + case 39: { + if (tag !== 314) { + break; + } + + message.MS2026 = Void.decode(reader, reader.uint32()); + continue; + } + case 40: { + if (tag !== 322) { + break; + } + + message.MX2026 = Void.decode(reader, reader.uint32()); + continue; + } + case 41: { + if (tag !== 330) { + break; + } + + message.MY2025M53 = Void.decode(reader, reader.uint32()); + continue; + } + case 42: { + if (tag !== 338) { + break; + } + + message.M32025M53 = Void.decode(reader, reader.uint32()); + continue; + } + case 43: { + if (tag !== 346) { + break; + } + + message.MY2025CNPlus = Void.decode(reader, reader.uint32()); + continue; + } + case 44: { + if (tag !== 354) { + break; + } + + message.MS2026B = Void.decode(reader, reader.uint32()); + continue; + } + case 45: { + if (tag !== 362) { + break; + } + + message.M32026B = Void.decode(reader, reader.uint32()); + continue; + } + case 46: { + if (tag !== 370) { + break; + } + + message.MY2026US = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EfficiencyPackage { + return { + Default: isSet(object.Default) ? Void.fromJSON(object.Default) : undefined, + M3SRPlus2020: isSet(object.M3SRPlus2020) ? Void.fromJSON(object.M3SRPlus2020) : undefined, + M3LR2020: isSet(object.M3LR2020) ? Void.fromJSON(object.M3LR2020) : undefined, + M3LRPerformance2020: isSet(object.M3LRPerformance2020) ? Void.fromJSON(object.M3LRPerformance2020) : undefined, + M3SRPlus2020Q4GFSH: isSet(object.M3SRPlus2020Q4GFSH) ? Void.fromJSON(object.M3SRPlus2020Q4GFSH) : undefined, + MY2020: isSet(object.MY2020) ? Void.fromJSON(object.MY2020) : undefined, + M32021: isSet(object.M32021) ? Void.fromJSON(object.M32021) : undefined, + MY2021: isSet(object.MY2021) ? Void.fromJSON(object.MY2021) : undefined, + SX2020: isSet(object.SX2020) ? Void.fromJSON(object.SX2020) : undefined, + S2: isSet(object.S2) ? Void.fromJSON(object.S2) : undefined, + SX2020H2: isSet(object.SX2020H2) ? Void.fromJSON(object.SX2020H2) : undefined, + M3SRPlus2021Q3GFSH: isSet(object.M3SRPlus2021Q3GFSH) ? Void.fromJSON(object.M3SRPlus2021Q3GFSH) : undefined, + M3SRPlus2021Q3Fremont: isSet(object.M3SRPlus2021Q3Fremont) + ? Void.fromJSON(object.M3SRPlus2021Q3Fremont) + : undefined, + MYSRPlus2021Q3GFSH: isSet(object.MYSRPlus2021Q3GFSH) ? Void.fromJSON(object.MYSRPlus2021Q3GFSH) : undefined, + MYSRPlus2022Q1TX: isSet(object.MYSRPlus2022Q1TX) ? Void.fromJSON(object.MYSRPlus2022Q1TX) : undefined, + MYRWDEU2022: isSet(object.MYRWDEU2022) ? Void.fromJSON(object.MYRWDEU2022) : undefined, + M3Poppyseed2024: isSet(object.M3Poppyseed2024) ? Void.fromJSON(object.M3Poppyseed2024) : undefined, + M32023GFSHExport: isSet(object.M32023GFSHExport) ? Void.fromJSON(object.M32023GFSHExport) : undefined, + MY2023GFSHExport: isSet(object.MY2023GFSHExport) ? Void.fromJSON(object.MY2023GFSHExport) : undefined, + MY2024: isSet(object.MY2024) ? Void.fromJSON(object.MY2024) : undefined, + MS2024: isSet(object.MS2024) ? Void.fromJSON(object.MS2024) : undefined, + MX2024: isSet(object.MX2024) ? Void.fromJSON(object.MX2024) : undefined, + MY2023SRRWD: isSet(object.MY2023SRRWD) ? Void.fromJSON(object.MY2023SRRWD) : undefined, + MY2024C: isSet(object.MY2024C) ? Void.fromJSON(object.MY2024C) : undefined, + MY2024GFSHExportSRRWD: isSet(object.MY2024GFSHExportSRRWD) + ? Void.fromJSON(object.MY2024GFSHExportSRRWD) + : undefined, + M3Poppyseed2024C: isSet(object.M3Poppyseed2024C) ? Void.fromJSON(object.M3Poppyseed2024C) : undefined, + M32025: isSet(object.M32025) ? Void.fromJSON(object.M32025) : undefined, + MY2025: isSet(object.MY2025) ? Void.fromJSON(object.MY2025) : undefined, + M32025B: isSet(object.M32025B) ? Void.fromJSON(object.M32025B) : undefined, + MY2025B: isSet(object.MY2025B) ? Void.fromJSON(object.MY2025B) : undefined, + MS2025: isSet(object.MS2025) ? Void.fromJSON(object.MS2025) : undefined, + MX2025: isSet(object.MX2025) ? Void.fromJSON(object.MX2025) : undefined, + MYRefresh2025ROW: isSet(object.MYRefresh2025ROW) ? Void.fromJSON(object.MYRefresh2025ROW) : undefined, + MYStandard2025: isSet(object.MYStandard2025) ? Void.fromJSON(object.MYStandard2025) : undefined, + MYRefresh2025CN: isSet(object.MYRefresh2025CN) ? Void.fromJSON(object.MYRefresh2025CN) : undefined, + MS2026: isSet(object.MS2026) ? Void.fromJSON(object.MS2026) : undefined, + MX2026: isSet(object.MX2026) ? Void.fromJSON(object.MX2026) : undefined, + MY2025M53: isSet(object.MY2025M53) ? Void.fromJSON(object.MY2025M53) : undefined, + M32025M53: isSet(object.M32025M53) ? Void.fromJSON(object.M32025M53) : undefined, + MY2025CNPlus: isSet(object.MY2025CNPlus) ? Void.fromJSON(object.MY2025CNPlus) : undefined, + MS2026B: isSet(object.MS2026B) ? Void.fromJSON(object.MS2026B) : undefined, + M32026B: isSet(object.M32026B) ? Void.fromJSON(object.M32026B) : undefined, + MY2026US: isSet(object.MY2026US) ? Void.fromJSON(object.MY2026US) : undefined, + }; + }, + + toJSON(message: EfficiencyPackage): unknown { + const obj: any = {}; + if (message.Default !== undefined) { + obj.Default = Void.toJSON(message.Default); + } + if (message.M3SRPlus2020 !== undefined) { + obj.M3SRPlus2020 = Void.toJSON(message.M3SRPlus2020); + } + if (message.M3LR2020 !== undefined) { + obj.M3LR2020 = Void.toJSON(message.M3LR2020); + } + if (message.M3LRPerformance2020 !== undefined) { + obj.M3LRPerformance2020 = Void.toJSON(message.M3LRPerformance2020); + } + if (message.M3SRPlus2020Q4GFSH !== undefined) { + obj.M3SRPlus2020Q4GFSH = Void.toJSON(message.M3SRPlus2020Q4GFSH); + } + if (message.MY2020 !== undefined) { + obj.MY2020 = Void.toJSON(message.MY2020); + } + if (message.M32021 !== undefined) { + obj.M32021 = Void.toJSON(message.M32021); + } + if (message.MY2021 !== undefined) { + obj.MY2021 = Void.toJSON(message.MY2021); + } + if (message.SX2020 !== undefined) { + obj.SX2020 = Void.toJSON(message.SX2020); + } + if (message.S2 !== undefined) { + obj.S2 = Void.toJSON(message.S2); + } + if (message.SX2020H2 !== undefined) { + obj.SX2020H2 = Void.toJSON(message.SX2020H2); + } + if (message.M3SRPlus2021Q3GFSH !== undefined) { + obj.M3SRPlus2021Q3GFSH = Void.toJSON(message.M3SRPlus2021Q3GFSH); + } + if (message.M3SRPlus2021Q3Fremont !== undefined) { + obj.M3SRPlus2021Q3Fremont = Void.toJSON(message.M3SRPlus2021Q3Fremont); + } + if (message.MYSRPlus2021Q3GFSH !== undefined) { + obj.MYSRPlus2021Q3GFSH = Void.toJSON(message.MYSRPlus2021Q3GFSH); + } + if (message.MYSRPlus2022Q1TX !== undefined) { + obj.MYSRPlus2022Q1TX = Void.toJSON(message.MYSRPlus2022Q1TX); + } + if (message.MYRWDEU2022 !== undefined) { + obj.MYRWDEU2022 = Void.toJSON(message.MYRWDEU2022); + } + if (message.M3Poppyseed2024 !== undefined) { + obj.M3Poppyseed2024 = Void.toJSON(message.M3Poppyseed2024); + } + if (message.M32023GFSHExport !== undefined) { + obj.M32023GFSHExport = Void.toJSON(message.M32023GFSHExport); + } + if (message.MY2023GFSHExport !== undefined) { + obj.MY2023GFSHExport = Void.toJSON(message.MY2023GFSHExport); + } + if (message.MY2024 !== undefined) { + obj.MY2024 = Void.toJSON(message.MY2024); + } + if (message.MS2024 !== undefined) { + obj.MS2024 = Void.toJSON(message.MS2024); + } + if (message.MX2024 !== undefined) { + obj.MX2024 = Void.toJSON(message.MX2024); + } + if (message.MY2023SRRWD !== undefined) { + obj.MY2023SRRWD = Void.toJSON(message.MY2023SRRWD); + } + if (message.MY2024C !== undefined) { + obj.MY2024C = Void.toJSON(message.MY2024C); + } + if (message.MY2024GFSHExportSRRWD !== undefined) { + obj.MY2024GFSHExportSRRWD = Void.toJSON(message.MY2024GFSHExportSRRWD); + } + if (message.M3Poppyseed2024C !== undefined) { + obj.M3Poppyseed2024C = Void.toJSON(message.M3Poppyseed2024C); + } + if (message.M32025 !== undefined) { + obj.M32025 = Void.toJSON(message.M32025); + } + if (message.MY2025 !== undefined) { + obj.MY2025 = Void.toJSON(message.MY2025); + } + if (message.M32025B !== undefined) { + obj.M32025B = Void.toJSON(message.M32025B); + } + if (message.MY2025B !== undefined) { + obj.MY2025B = Void.toJSON(message.MY2025B); + } + if (message.MS2025 !== undefined) { + obj.MS2025 = Void.toJSON(message.MS2025); + } + if (message.MX2025 !== undefined) { + obj.MX2025 = Void.toJSON(message.MX2025); + } + if (message.MYRefresh2025ROW !== undefined) { + obj.MYRefresh2025ROW = Void.toJSON(message.MYRefresh2025ROW); + } + if (message.MYStandard2025 !== undefined) { + obj.MYStandard2025 = Void.toJSON(message.MYStandard2025); + } + if (message.MYRefresh2025CN !== undefined) { + obj.MYRefresh2025CN = Void.toJSON(message.MYRefresh2025CN); + } + if (message.MS2026 !== undefined) { + obj.MS2026 = Void.toJSON(message.MS2026); + } + if (message.MX2026 !== undefined) { + obj.MX2026 = Void.toJSON(message.MX2026); + } + if (message.MY2025M53 !== undefined) { + obj.MY2025M53 = Void.toJSON(message.MY2025M53); + } + if (message.M32025M53 !== undefined) { + obj.M32025M53 = Void.toJSON(message.M32025M53); + } + if (message.MY2025CNPlus !== undefined) { + obj.MY2025CNPlus = Void.toJSON(message.MY2025CNPlus); + } + if (message.MS2026B !== undefined) { + obj.MS2026B = Void.toJSON(message.MS2026B); + } + if (message.M32026B !== undefined) { + obj.M32026B = Void.toJSON(message.M32026B); + } + if (message.MY2026US !== undefined) { + obj.MY2026US = Void.toJSON(message.MY2026US); + } + return obj; + }, + + create, I>>(base?: I): EfficiencyPackage { + return EfficiencyPackage.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EfficiencyPackage { + const message = createBaseEfficiencyPackage(); + message.Default = (object.Default !== undefined && object.Default !== null) + ? Void.fromPartial(object.Default) + : undefined; + message.M3SRPlus2020 = (object.M3SRPlus2020 !== undefined && object.M3SRPlus2020 !== null) + ? Void.fromPartial(object.M3SRPlus2020) + : undefined; + message.M3LR2020 = (object.M3LR2020 !== undefined && object.M3LR2020 !== null) + ? Void.fromPartial(object.M3LR2020) + : undefined; + message.M3LRPerformance2020 = (object.M3LRPerformance2020 !== undefined && object.M3LRPerformance2020 !== null) + ? Void.fromPartial(object.M3LRPerformance2020) + : undefined; + message.M3SRPlus2020Q4GFSH = (object.M3SRPlus2020Q4GFSH !== undefined && object.M3SRPlus2020Q4GFSH !== null) + ? Void.fromPartial(object.M3SRPlus2020Q4GFSH) + : undefined; + message.MY2020 = (object.MY2020 !== undefined && object.MY2020 !== null) + ? Void.fromPartial(object.MY2020) + : undefined; + message.M32021 = (object.M32021 !== undefined && object.M32021 !== null) + ? Void.fromPartial(object.M32021) + : undefined; + message.MY2021 = (object.MY2021 !== undefined && object.MY2021 !== null) + ? Void.fromPartial(object.MY2021) + : undefined; + message.SX2020 = (object.SX2020 !== undefined && object.SX2020 !== null) + ? Void.fromPartial(object.SX2020) + : undefined; + message.S2 = (object.S2 !== undefined && object.S2 !== null) ? Void.fromPartial(object.S2) : undefined; + message.SX2020H2 = (object.SX2020H2 !== undefined && object.SX2020H2 !== null) + ? Void.fromPartial(object.SX2020H2) + : undefined; + message.M3SRPlus2021Q3GFSH = (object.M3SRPlus2021Q3GFSH !== undefined && object.M3SRPlus2021Q3GFSH !== null) + ? Void.fromPartial(object.M3SRPlus2021Q3GFSH) + : undefined; + message.M3SRPlus2021Q3Fremont = + (object.M3SRPlus2021Q3Fremont !== undefined && object.M3SRPlus2021Q3Fremont !== null) + ? Void.fromPartial(object.M3SRPlus2021Q3Fremont) + : undefined; + message.MYSRPlus2021Q3GFSH = (object.MYSRPlus2021Q3GFSH !== undefined && object.MYSRPlus2021Q3GFSH !== null) + ? Void.fromPartial(object.MYSRPlus2021Q3GFSH) + : undefined; + message.MYSRPlus2022Q1TX = (object.MYSRPlus2022Q1TX !== undefined && object.MYSRPlus2022Q1TX !== null) + ? Void.fromPartial(object.MYSRPlus2022Q1TX) + : undefined; + message.MYRWDEU2022 = (object.MYRWDEU2022 !== undefined && object.MYRWDEU2022 !== null) + ? Void.fromPartial(object.MYRWDEU2022) + : undefined; + message.M3Poppyseed2024 = (object.M3Poppyseed2024 !== undefined && object.M3Poppyseed2024 !== null) + ? Void.fromPartial(object.M3Poppyseed2024) + : undefined; + message.M32023GFSHExport = (object.M32023GFSHExport !== undefined && object.M32023GFSHExport !== null) + ? Void.fromPartial(object.M32023GFSHExport) + : undefined; + message.MY2023GFSHExport = (object.MY2023GFSHExport !== undefined && object.MY2023GFSHExport !== null) + ? Void.fromPartial(object.MY2023GFSHExport) + : undefined; + message.MY2024 = (object.MY2024 !== undefined && object.MY2024 !== null) + ? Void.fromPartial(object.MY2024) + : undefined; + message.MS2024 = (object.MS2024 !== undefined && object.MS2024 !== null) + ? Void.fromPartial(object.MS2024) + : undefined; + message.MX2024 = (object.MX2024 !== undefined && object.MX2024 !== null) + ? Void.fromPartial(object.MX2024) + : undefined; + message.MY2023SRRWD = (object.MY2023SRRWD !== undefined && object.MY2023SRRWD !== null) + ? Void.fromPartial(object.MY2023SRRWD) + : undefined; + message.MY2024C = (object.MY2024C !== undefined && object.MY2024C !== null) + ? Void.fromPartial(object.MY2024C) + : undefined; + message.MY2024GFSHExportSRRWD = + (object.MY2024GFSHExportSRRWD !== undefined && object.MY2024GFSHExportSRRWD !== null) + ? Void.fromPartial(object.MY2024GFSHExportSRRWD) + : undefined; + message.M3Poppyseed2024C = (object.M3Poppyseed2024C !== undefined && object.M3Poppyseed2024C !== null) + ? Void.fromPartial(object.M3Poppyseed2024C) + : undefined; + message.M32025 = (object.M32025 !== undefined && object.M32025 !== null) + ? Void.fromPartial(object.M32025) + : undefined; + message.MY2025 = (object.MY2025 !== undefined && object.MY2025 !== null) + ? Void.fromPartial(object.MY2025) + : undefined; + message.M32025B = (object.M32025B !== undefined && object.M32025B !== null) + ? Void.fromPartial(object.M32025B) + : undefined; + message.MY2025B = (object.MY2025B !== undefined && object.MY2025B !== null) + ? Void.fromPartial(object.MY2025B) + : undefined; + message.MS2025 = (object.MS2025 !== undefined && object.MS2025 !== null) + ? Void.fromPartial(object.MS2025) + : undefined; + message.MX2025 = (object.MX2025 !== undefined && object.MX2025 !== null) + ? Void.fromPartial(object.MX2025) + : undefined; + message.MYRefresh2025ROW = (object.MYRefresh2025ROW !== undefined && object.MYRefresh2025ROW !== null) + ? Void.fromPartial(object.MYRefresh2025ROW) + : undefined; + message.MYStandard2025 = (object.MYStandard2025 !== undefined && object.MYStandard2025 !== null) + ? Void.fromPartial(object.MYStandard2025) + : undefined; + message.MYRefresh2025CN = (object.MYRefresh2025CN !== undefined && object.MYRefresh2025CN !== null) + ? Void.fromPartial(object.MYRefresh2025CN) + : undefined; + message.MS2026 = (object.MS2026 !== undefined && object.MS2026 !== null) + ? Void.fromPartial(object.MS2026) + : undefined; + message.MX2026 = (object.MX2026 !== undefined && object.MX2026 !== null) + ? Void.fromPartial(object.MX2026) + : undefined; + message.MY2025M53 = (object.MY2025M53 !== undefined && object.MY2025M53 !== null) + ? Void.fromPartial(object.MY2025M53) + : undefined; + message.M32025M53 = (object.M32025M53 !== undefined && object.M32025M53 !== null) + ? Void.fromPartial(object.M32025M53) + : undefined; + message.MY2025CNPlus = (object.MY2025CNPlus !== undefined && object.MY2025CNPlus !== null) + ? Void.fromPartial(object.MY2025CNPlus) + : undefined; + message.MS2026B = (object.MS2026B !== undefined && object.MS2026B !== null) + ? Void.fromPartial(object.MS2026B) + : undefined; + message.M32026B = (object.M32026B !== undefined && object.M32026B !== null) + ? Void.fromPartial(object.M32026B) + : undefined; + message.MY2026US = (object.MY2026US !== undefined && object.MY2026US !== null) + ? Void.fromPartial(object.MY2026US) + : undefined; + return message; + }, +}; + +function createBaseGuiSettings(): GuiSettings { + return { + guiDistanceUnits: undefined, + guiTemperatureUnits: undefined, + guiChargeRateUnits: undefined, + guiRangeDisplay: undefined, + timestamp: undefined, + gui24HourTime: undefined, + showRangeUnits: undefined, + guiTirepressureUnits: undefined, + }; +} + +export const GuiSettings: MessageFns = { + encode(message: GuiSettings, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.guiDistanceUnits !== undefined) { + GuiSettings_SpeedUnit.encode(message.guiDistanceUnits, writer.uint32(10).fork()).join(); + } + if (message.guiTemperatureUnits !== undefined) { + GuiSettings_TemperatureUnit.encode(message.guiTemperatureUnits, writer.uint32(18).fork()).join(); + } + if (message.guiChargeRateUnits !== undefined) { + GuiSettings_ChargeRateUnit.encode(message.guiChargeRateUnits, writer.uint32(26).fork()).join(); + } + if (message.guiRangeDisplay !== undefined) { + GuiSettings_RangeDisplay.encode(message.guiRangeDisplay, writer.uint32(42).fork()).join(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(58).fork()).join(); + } + if (message.gui24HourTime !== undefined) { + writer.uint32(832).bool(message.gui24HourTime); + } + if (message.showRangeUnits !== undefined) { + writer.uint32(848).bool(message.showRangeUnits); + } + if (message.guiTirepressureUnits !== undefined) { + writer.uint32(864).int32(message.guiTirepressureUnits); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGuiSettings(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.guiDistanceUnits = GuiSettings_SpeedUnit.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.guiTemperatureUnits = GuiSettings_TemperatureUnit.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.guiChargeRateUnits = GuiSettings_ChargeRateUnit.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.guiRangeDisplay = GuiSettings_RangeDisplay.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 104: { + if (tag !== 832) { + break; + } + + message.gui24HourTime = reader.bool(); + continue; + } + case 106: { + if (tag !== 848) { + break; + } + + message.showRangeUnits = reader.bool(); + continue; + } + case 108: { + if (tag !== 864) { + break; + } + + message.guiTirepressureUnits = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GuiSettings { + return { + guiDistanceUnits: isSet(object.guiDistanceUnits) + ? GuiSettings_SpeedUnit.fromJSON(object.guiDistanceUnits) + : undefined, + guiTemperatureUnits: isSet(object.guiTemperatureUnits) + ? GuiSettings_TemperatureUnit.fromJSON(object.guiTemperatureUnits) + : undefined, + guiChargeRateUnits: isSet(object.guiChargeRateUnits) + ? GuiSettings_ChargeRateUnit.fromJSON(object.guiChargeRateUnits) + : undefined, + guiRangeDisplay: isSet(object.guiRangeDisplay) + ? GuiSettings_RangeDisplay.fromJSON(object.guiRangeDisplay) + : undefined, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + gui24HourTime: isSet(object.gui24HourTime) ? globalThis.Boolean(object.gui24HourTime) : undefined, + showRangeUnits: isSet(object.showRangeUnits) ? globalThis.Boolean(object.showRangeUnits) : undefined, + guiTirepressureUnits: isSet(object.guiTirepressureUnits) + ? guiSettings_TirePressureUnitFromJSON(object.guiTirepressureUnits) + : undefined, + }; + }, + + toJSON(message: GuiSettings): unknown { + const obj: any = {}; + if (message.guiDistanceUnits !== undefined) { + obj.guiDistanceUnits = GuiSettings_SpeedUnit.toJSON(message.guiDistanceUnits); + } + if (message.guiTemperatureUnits !== undefined) { + obj.guiTemperatureUnits = GuiSettings_TemperatureUnit.toJSON(message.guiTemperatureUnits); + } + if (message.guiChargeRateUnits !== undefined) { + obj.guiChargeRateUnits = GuiSettings_ChargeRateUnit.toJSON(message.guiChargeRateUnits); + } + if (message.guiRangeDisplay !== undefined) { + obj.guiRangeDisplay = GuiSettings_RangeDisplay.toJSON(message.guiRangeDisplay); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + if (message.gui24HourTime !== undefined) { + obj.gui24HourTime = message.gui24HourTime; + } + if (message.showRangeUnits !== undefined) { + obj.showRangeUnits = message.showRangeUnits; + } + if (message.guiTirepressureUnits !== undefined) { + obj.guiTirepressureUnits = guiSettings_TirePressureUnitToJSON(message.guiTirepressureUnits); + } + return obj; + }, + + create, I>>(base?: I): GuiSettings { + return GuiSettings.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GuiSettings { + const message = createBaseGuiSettings(); + message.guiDistanceUnits = (object.guiDistanceUnits !== undefined && object.guiDistanceUnits !== null) + ? GuiSettings_SpeedUnit.fromPartial(object.guiDistanceUnits) + : undefined; + message.guiTemperatureUnits = (object.guiTemperatureUnits !== undefined && object.guiTemperatureUnits !== null) + ? GuiSettings_TemperatureUnit.fromPartial(object.guiTemperatureUnits) + : undefined; + message.guiChargeRateUnits = (object.guiChargeRateUnits !== undefined && object.guiChargeRateUnits !== null) + ? GuiSettings_ChargeRateUnit.fromPartial(object.guiChargeRateUnits) + : undefined; + message.guiRangeDisplay = (object.guiRangeDisplay !== undefined && object.guiRangeDisplay !== null) + ? GuiSettings_RangeDisplay.fromPartial(object.guiRangeDisplay) + : undefined; + message.timestamp = object.timestamp ?? undefined; + message.gui24HourTime = object.gui24HourTime ?? undefined; + message.showRangeUnits = object.showRangeUnits ?? undefined; + message.guiTirepressureUnits = object.guiTirepressureUnits ?? undefined; + return message; + }, +}; + +function createBaseGuiSettings_SpeedUnit(): GuiSettings_SpeedUnit { + return { KilometersPerHour: undefined, MilesPerHour: undefined }; +} + +export const GuiSettings_SpeedUnit: MessageFns = { + encode(message: GuiSettings_SpeedUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.KilometersPerHour !== undefined) { + Void.encode(message.KilometersPerHour, writer.uint32(10).fork()).join(); + } + if (message.MilesPerHour !== undefined) { + Void.encode(message.MilesPerHour, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings_SpeedUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGuiSettings_SpeedUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.KilometersPerHour = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.MilesPerHour = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GuiSettings_SpeedUnit { + return { + KilometersPerHour: isSet(object.KilometersPerHour) ? Void.fromJSON(object.KilometersPerHour) : undefined, + MilesPerHour: isSet(object.MilesPerHour) ? Void.fromJSON(object.MilesPerHour) : undefined, + }; + }, + + toJSON(message: GuiSettings_SpeedUnit): unknown { + const obj: any = {}; + if (message.KilometersPerHour !== undefined) { + obj.KilometersPerHour = Void.toJSON(message.KilometersPerHour); + } + if (message.MilesPerHour !== undefined) { + obj.MilesPerHour = Void.toJSON(message.MilesPerHour); + } + return obj; + }, + + create, I>>(base?: I): GuiSettings_SpeedUnit { + return GuiSettings_SpeedUnit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GuiSettings_SpeedUnit { + const message = createBaseGuiSettings_SpeedUnit(); + message.KilometersPerHour = (object.KilometersPerHour !== undefined && object.KilometersPerHour !== null) + ? Void.fromPartial(object.KilometersPerHour) + : undefined; + message.MilesPerHour = (object.MilesPerHour !== undefined && object.MilesPerHour !== null) + ? Void.fromPartial(object.MilesPerHour) + : undefined; + return message; + }, +}; + +function createBaseGuiSettings_TemperatureUnit(): GuiSettings_TemperatureUnit { + return { TemperatureF: undefined, TemperatureC: undefined }; +} + +export const GuiSettings_TemperatureUnit: MessageFns = { + encode(message: GuiSettings_TemperatureUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.TemperatureF !== undefined) { + Void.encode(message.TemperatureF, writer.uint32(10).fork()).join(); + } + if (message.TemperatureC !== undefined) { + Void.encode(message.TemperatureC, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings_TemperatureUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGuiSettings_TemperatureUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.TemperatureF = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.TemperatureC = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GuiSettings_TemperatureUnit { + return { + TemperatureF: isSet(object.TemperatureF) ? Void.fromJSON(object.TemperatureF) : undefined, + TemperatureC: isSet(object.TemperatureC) ? Void.fromJSON(object.TemperatureC) : undefined, + }; + }, + + toJSON(message: GuiSettings_TemperatureUnit): unknown { + const obj: any = {}; + if (message.TemperatureF !== undefined) { + obj.TemperatureF = Void.toJSON(message.TemperatureF); + } + if (message.TemperatureC !== undefined) { + obj.TemperatureC = Void.toJSON(message.TemperatureC); + } + return obj; + }, + + create, I>>(base?: I): GuiSettings_TemperatureUnit { + return GuiSettings_TemperatureUnit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GuiSettings_TemperatureUnit { + const message = createBaseGuiSettings_TemperatureUnit(); + message.TemperatureF = (object.TemperatureF !== undefined && object.TemperatureF !== null) + ? Void.fromPartial(object.TemperatureF) + : undefined; + message.TemperatureC = (object.TemperatureC !== undefined && object.TemperatureC !== null) + ? Void.fromPartial(object.TemperatureC) + : undefined; + return message; + }, +}; + +function createBaseGuiSettings_ChargeRateUnit(): GuiSettings_ChargeRateUnit { + return { Invalid: undefined, KilometersPerHour: undefined, MilesPerHour: undefined, KW: undefined }; +} + +export const GuiSettings_ChargeRateUnit: MessageFns = { + encode(message: GuiSettings_ChargeRateUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Invalid !== undefined) { + Void.encode(message.Invalid, writer.uint32(10).fork()).join(); + } + if (message.KilometersPerHour !== undefined) { + Void.encode(message.KilometersPerHour, writer.uint32(18).fork()).join(); + } + if (message.MilesPerHour !== undefined) { + Void.encode(message.MilesPerHour, writer.uint32(26).fork()).join(); + } + if (message.KW !== undefined) { + Void.encode(message.KW, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings_ChargeRateUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGuiSettings_ChargeRateUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Invalid = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.KilometersPerHour = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.MilesPerHour = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.KW = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GuiSettings_ChargeRateUnit { + return { + Invalid: isSet(object.Invalid) ? Void.fromJSON(object.Invalid) : undefined, + KilometersPerHour: isSet(object.KilometersPerHour) ? Void.fromJSON(object.KilometersPerHour) : undefined, + MilesPerHour: isSet(object.MilesPerHour) ? Void.fromJSON(object.MilesPerHour) : undefined, + KW: isSet(object.KW) ? Void.fromJSON(object.KW) : undefined, + }; + }, + + toJSON(message: GuiSettings_ChargeRateUnit): unknown { + const obj: any = {}; + if (message.Invalid !== undefined) { + obj.Invalid = Void.toJSON(message.Invalid); + } + if (message.KilometersPerHour !== undefined) { + obj.KilometersPerHour = Void.toJSON(message.KilometersPerHour); + } + if (message.MilesPerHour !== undefined) { + obj.MilesPerHour = Void.toJSON(message.MilesPerHour); + } + if (message.KW !== undefined) { + obj.KW = Void.toJSON(message.KW); + } + return obj; + }, + + create, I>>(base?: I): GuiSettings_ChargeRateUnit { + return GuiSettings_ChargeRateUnit.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GuiSettings_ChargeRateUnit { + const message = createBaseGuiSettings_ChargeRateUnit(); + message.Invalid = (object.Invalid !== undefined && object.Invalid !== null) + ? Void.fromPartial(object.Invalid) + : undefined; + message.KilometersPerHour = (object.KilometersPerHour !== undefined && object.KilometersPerHour !== null) + ? Void.fromPartial(object.KilometersPerHour) + : undefined; + message.MilesPerHour = (object.MilesPerHour !== undefined && object.MilesPerHour !== null) + ? Void.fromPartial(object.MilesPerHour) + : undefined; + message.KW = (object.KW !== undefined && object.KW !== null) ? Void.fromPartial(object.KW) : undefined; + return message; + }, +}; + +function createBaseGuiSettings_RangeDisplay(): GuiSettings_RangeDisplay { + return { Ideal: undefined, Rated: undefined }; +} + +export const GuiSettings_RangeDisplay: MessageFns = { + encode(message: GuiSettings_RangeDisplay, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Ideal !== undefined) { + Void.encode(message.Ideal, writer.uint32(10).fork()).join(); + } + if (message.Rated !== undefined) { + Void.encode(message.Rated, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GuiSettings_RangeDisplay { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGuiSettings_RangeDisplay(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Ideal = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Rated = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GuiSettings_RangeDisplay { + return { + Ideal: isSet(object.Ideal) ? Void.fromJSON(object.Ideal) : undefined, + Rated: isSet(object.Rated) ? Void.fromJSON(object.Rated) : undefined, + }; + }, + + toJSON(message: GuiSettings_RangeDisplay): unknown { + const obj: any = {}; + if (message.Ideal !== undefined) { + obj.Ideal = Void.toJSON(message.Ideal); + } + if (message.Rated !== undefined) { + obj.Rated = Void.toJSON(message.Rated); + } + return obj; + }, + + create, I>>(base?: I): GuiSettings_RangeDisplay { + return GuiSettings_RangeDisplay.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): GuiSettings_RangeDisplay { + const message = createBaseGuiSettings_RangeDisplay(); + message.Ideal = (object.Ideal !== undefined && object.Ideal !== null) ? Void.fromPartial(object.Ideal) : undefined; + message.Rated = (object.Rated !== undefined && object.Rated !== null) ? Void.fromPartial(object.Rated) : undefined; + return message; + }, +}; + +function createBaseVehicleConfig(): VehicleConfig { + return { + carSpecialType: undefined, + carTrim: undefined, + carType: undefined, + sunRoofInstalled: undefined, + wheelType: undefined, + spoilerType: undefined, + roofColor: undefined, + exteriorColor: undefined, + rearSeatHeaters: undefined, + seatType: undefined, + rearSeatType: undefined, + thirdRowSeatType: undefined, + chargePortType: undefined, + timestamp: undefined, + interiorTrimType: undefined, + driverAssist: undefined, + performancePackage: undefined, + frontDriveUnit: undefined, + rearDriveUnit: undefined, + efficiencyPackage: undefined, + exteriorTrimType: undefined, + steeringWheelType: undefined, + redBrakeCalipers: undefined, + useRangeBadging: undefined, + rangePlusBadging: undefined, + hasLudicrousMode: undefined, + canActuateTrunks: undefined, + hasAirSuspension: undefined, + rhd: undefined, + plg: undefined, + eceRestrictions: undefined, + euVehicle: undefined, + motorizedChargePort: undefined, + canAcceptNavigationRequests: undefined, + keyVersion: undefined, + mobileEnabled: undefined, + defaultChargeToMax: undefined, + steeringWheelHeaterInstalled: undefined, + sentryModeSupported: undefined, + homelinkSupported: undefined, + webcamSupported: undefined, + bioweaponModeSupported: undefined, + dashcamClipSaveSupported: undefined, + hasPws: undefined, + utcOffset: undefined, + hasSeatCooling: undefined, + paintColorOverride: undefined, + tpmsPressuresSupported: undefined, + vehicleBadging: undefined, + exteriorTrimOverride: undefined, + headlampType: undefined, + auxParkLamps: undefined, + isRaven: undefined, + hasAutoSeatClimate: undefined, + hasFrontRowSeatHeaters: undefined, + hasThirdRowSeatHeaters: undefined, + supportsQrPairing: undefined, + vin: undefined, + disableWindowVentClose: undefined, + webcamSelfieSupported: undefined, + copUserSetTempSupported: undefined, + hasAutoStwHeat: undefined, + rearlightType: undefined, + rearSeatHeaterType: undefined, + webcamGridSupported: undefined, + hasTeslaBadge: undefined, + hasTeslaWordmark: undefined, + fasciaType: undefined, + accessoryLightbarType: undefined, + sentryPreviewSupported: undefined, + seatTrimType: undefined, + drivetrainType: undefined, + lightshowSupported: undefined, + mobileDashcamViewerVersion: undefined, + hasPremiumConnectivity: undefined, + carWrapEnabled: undefined, + supportsRideHeight: undefined, + supportsSetArrivalEnergy: undefined, + supportsPillarCameraMetadata: undefined, + chassisType: undefined, + isChinaVehicle: undefined, + isUsingUnrealApviz: undefined, + supportsFlexibleDashcamBitrate: undefined, + frontFasciaCameraType: undefined, + turnIndicatorControlType: undefined, + hasRearDisplay: undefined, + windowTintColor: undefined, + interiorUpperTrimType: undefined, + badgingMaterialType: undefined, + webcamInteriorOnly: undefined, + countryCode: undefined, + bedLightingType: undefined, + rearLightHardwareVariant: undefined, + autopilotBase: 0, + autopilotOverrideState: 0, + autopilotOverrideExpireTime: undefined, + supportsDynamicEnvironments: undefined, + wheelCapsOn: undefined, + }; +} + +export const VehicleConfig: MessageFns = { + encode(message: VehicleConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.carSpecialType !== undefined) { + VehicleBadging.encode(message.carSpecialType, writer.uint32(10).fork()).join(); + } + if (message.carTrim !== undefined) { + CarTrim.encode(message.carTrim, writer.uint32(18).fork()).join(); + } + if (message.carType !== undefined) { + VehicleConfig_CarType.encode(message.carType, writer.uint32(58).fork()).join(); + } + if (message.sunRoofInstalled !== undefined) { + SunRoofType.encode(message.sunRoofInstalled, writer.uint32(66).fork()).join(); + } + if (message.wheelType !== undefined) { + WheelType.encode(message.wheelType, writer.uint32(74).fork()).join(); + } + if (message.spoilerType !== undefined) { + SpoilerType.encode(message.spoilerType, writer.uint32(90).fork()).join(); + } + if (message.roofColor !== undefined) { + RoofColor.encode(message.roofColor, writer.uint32(98).fork()).join(); + } + if (message.exteriorColor !== undefined) { + ExteriorColor.encode(message.exteriorColor, writer.uint32(106).fork()).join(); + } + if (message.rearSeatHeaters !== undefined) { + RearSeatHeaters.encode(message.rearSeatHeaters, writer.uint32(130).fork()).join(); + } + if (message.seatType !== undefined) { + SeatType.encode(message.seatType, writer.uint32(138).fork()).join(); + } + if (message.rearSeatType !== undefined) { + RearSeatType.encode(message.rearSeatType, writer.uint32(146).fork()).join(); + } + if (message.thirdRowSeatType !== undefined) { + ThirdRowSeatType.encode(message.thirdRowSeatType, writer.uint32(154).fork()).join(); + } + if (message.chargePortType !== undefined) { + ChargePortType.encode(message.chargePortType, writer.uint32(186).fork()).join(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(218).fork()).join(); + } + if (message.interiorTrimType !== undefined) { + VehicleConfig_InteriorTrimType.encode(message.interiorTrimType, writer.uint32(226).fork()).join(); + } + if (message.driverAssist !== undefined) { + VehicleConfig_DriverAssist.encode(message.driverAssist, writer.uint32(234).fork()).join(); + } + if (message.performancePackage !== undefined) { + VehicleConfig_PerformancePackage.encode(message.performancePackage, writer.uint32(242).fork()).join(); + } + if (message.frontDriveUnit !== undefined) { + VehicleConfig_FrontDriveUnit.encode(message.frontDriveUnit, writer.uint32(250).fork()).join(); + } + if (message.rearDriveUnit !== undefined) { + RearDriveUnit.encode(message.rearDriveUnit, writer.uint32(258).fork()).join(); + } + if (message.efficiencyPackage !== undefined) { + EfficiencyPackage.encode(message.efficiencyPackage, writer.uint32(266).fork()).join(); + } + if (message.exteriorTrimType !== undefined) { + VehicleConfig_ExteriorTrimType.encode(message.exteriorTrimType, writer.uint32(282).fork()).join(); + } + if (message.steeringWheelType !== undefined) { + VehicleConfig_SteeringWheelType.encode(message.steeringWheelType, writer.uint32(322).fork()).join(); + } + if (message.redBrakeCalipers !== undefined) { + writer.uint32(488).bool(message.redBrakeCalipers); + } + if (message.useRangeBadging !== undefined) { + writer.uint32(824).bool(message.useRangeBadging); + } + if (message.rangePlusBadging !== undefined) { + writer.uint32(832).bool(message.rangePlusBadging); + } + if (message.hasLudicrousMode !== undefined) { + writer.uint32(840).bool(message.hasLudicrousMode); + } + if (message.canActuateTrunks !== undefined) { + writer.uint32(848).bool(message.canActuateTrunks); + } + if (message.hasAirSuspension !== undefined) { + writer.uint32(880).bool(message.hasAirSuspension); + } + if (message.rhd !== undefined) { + writer.uint32(912).bool(message.rhd); + } + if (message.plg !== undefined) { + writer.uint32(920).bool(message.plg); + } + if (message.eceRestrictions !== undefined) { + writer.uint32(960).bool(message.eceRestrictions); + } + if (message.euVehicle !== undefined) { + writer.uint32(968).bool(message.euVehicle); + } + if (message.motorizedChargePort !== undefined) { + writer.uint32(976).bool(message.motorizedChargePort); + } + if (message.canAcceptNavigationRequests !== undefined) { + writer.uint32(992).bool(message.canAcceptNavigationRequests); + } + if (message.keyVersion !== undefined) { + writer.uint32(1000).uint32(message.keyVersion); + } + if (message.mobileEnabled !== undefined) { + writer.uint32(1008).bool(message.mobileEnabled); + } + if (message.defaultChargeToMax !== undefined) { + writer.uint32(1072).bool(message.defaultChargeToMax); + } + if (message.steeringWheelHeaterInstalled !== undefined) { + writer.uint32(1088).bool(message.steeringWheelHeaterInstalled); + } + if (message.sentryModeSupported !== undefined) { + writer.uint32(1096).bool(message.sentryModeSupported); + } + if (message.homelinkSupported !== undefined) { + writer.uint32(1104).bool(message.homelinkSupported); + } + if (message.webcamSupported !== undefined) { + writer.uint32(1112).bool(message.webcamSupported); + } + if (message.bioweaponModeSupported !== undefined) { + writer.uint32(1128).bool(message.bioweaponModeSupported); + } + if (message.dashcamClipSaveSupported !== undefined) { + writer.uint32(1136).bool(message.dashcamClipSaveSupported); + } + if (message.hasPws !== undefined) { + writer.uint32(1144).bool(message.hasPws); + } + if (message.utcOffset !== undefined) { + writer.uint32(1152).sint32(message.utcOffset); + } + if (message.hasSeatCooling !== undefined) { + writer.uint32(1160).bool(message.hasSeatCooling); + } + if (message.paintColorOverride !== undefined) { + writer.uint32(1170).string(message.paintColorOverride); + } + if (message.tpmsPressuresSupported !== undefined) { + writer.uint32(1176).bool(message.tpmsPressuresSupported); + } + if (message.vehicleBadging !== undefined) { + writer.uint32(1184).uint32(message.vehicleBadging); + } + if (message.exteriorTrimOverride !== undefined) { + writer.uint32(1194).string(message.exteriorTrimOverride); + } + if (message.headlampType !== undefined) { + writer.uint32(1200).int32(message.headlampType); + } + if (message.auxParkLamps !== undefined) { + writer.uint32(1232).int32(message.auxParkLamps); + } + if (message.isRaven !== undefined) { + writer.uint32(1240).bool(message.isRaven); + } + if (message.hasAutoSeatClimate !== undefined) { + writer.uint32(1248).bool(message.hasAutoSeatClimate); + } + if (message.hasFrontRowSeatHeaters !== undefined) { + writer.uint32(1256).bool(message.hasFrontRowSeatHeaters); + } + if (message.hasThirdRowSeatHeaters !== undefined) { + writer.uint32(1264).bool(message.hasThirdRowSeatHeaters); + } + if (message.supportsQrPairing !== undefined) { + writer.uint32(1272).bool(message.supportsQrPairing); + } + if (message.vin !== undefined) { + writer.uint32(1282).string(message.vin); + } + if (message.disableWindowVentClose !== undefined) { + writer.uint32(1288).bool(message.disableWindowVentClose); + } + if (message.webcamSelfieSupported !== undefined) { + writer.uint32(1296).bool(message.webcamSelfieSupported); + } + if (message.copUserSetTempSupported !== undefined) { + writer.uint32(1304).bool(message.copUserSetTempSupported); + } + if (message.hasAutoStwHeat !== undefined) { + writer.uint32(1312).bool(message.hasAutoStwHeat); + } + if (message.rearlightType !== undefined) { + writer.uint32(1320).int32(message.rearlightType); + } + if (message.rearSeatHeaterType !== undefined) { + writer.uint32(1328).int32(message.rearSeatHeaterType); + } + if (message.webcamGridSupported !== undefined) { + writer.uint32(1336).bool(message.webcamGridSupported); + } + if (message.hasTeslaBadge !== undefined) { + writer.uint32(1344).bool(message.hasTeslaBadge); + } + if (message.hasTeslaWordmark !== undefined) { + writer.uint32(1352).bool(message.hasTeslaWordmark); + } + if (message.fasciaType !== undefined) { + writer.uint32(1360).int32(message.fasciaType); + } + if (message.accessoryLightbarType !== undefined) { + writer.uint32(1368).int32(message.accessoryLightbarType); + } + if (message.sentryPreviewSupported !== undefined) { + writer.uint32(1376).bool(message.sentryPreviewSupported); + } + if (message.seatTrimType !== undefined) { + writer.uint32(1384).int32(message.seatTrimType); + } + if (message.drivetrainType !== undefined) { + writer.uint32(1392).int32(message.drivetrainType); + } + if (message.lightshowSupported !== undefined) { + writer.uint32(1400).bool(message.lightshowSupported); + } + if (message.mobileDashcamViewerVersion !== undefined) { + writer.uint32(1408).uint32(message.mobileDashcamViewerVersion); + } + if (message.hasPremiumConnectivity !== undefined) { + writer.uint32(1416).bool(message.hasPremiumConnectivity); + } + if (message.carWrapEnabled !== undefined) { + writer.uint32(1424).bool(message.carWrapEnabled); + } + if (message.supportsRideHeight !== undefined) { + writer.uint32(1432).bool(message.supportsRideHeight); + } + if (message.supportsSetArrivalEnergy !== undefined) { + writer.uint32(1440).bool(message.supportsSetArrivalEnergy); + } + if (message.supportsPillarCameraMetadata !== undefined) { + writer.uint32(1448).bool(message.supportsPillarCameraMetadata); + } + if (message.chassisType !== undefined) { + writer.uint32(1456).int32(message.chassisType); + } + if (message.isChinaVehicle !== undefined) { + writer.uint32(1464).bool(message.isChinaVehicle); + } + if (message.isUsingUnrealApviz !== undefined) { + writer.uint32(1472).bool(message.isUsingUnrealApviz); + } + if (message.supportsFlexibleDashcamBitrate !== undefined) { + writer.uint32(1480).bool(message.supportsFlexibleDashcamBitrate); + } + if (message.frontFasciaCameraType !== undefined) { + writer.uint32(1488).int32(message.frontFasciaCameraType); + } + if (message.turnIndicatorControlType !== undefined) { + writer.uint32(1496).int32(message.turnIndicatorControlType); + } + if (message.hasRearDisplay !== undefined) { + writer.uint32(1504).bool(message.hasRearDisplay); + } + if (message.windowTintColor !== undefined) { + writer.uint32(1514).string(message.windowTintColor); + } + if (message.interiorUpperTrimType !== undefined) { + writer.uint32(1520).int32(message.interiorUpperTrimType); + } + if (message.badgingMaterialType !== undefined) { + writer.uint32(1528).int32(message.badgingMaterialType); + } + if (message.webcamInteriorOnly !== undefined) { + writer.uint32(1536).bool(message.webcamInteriorOnly); + } + if (message.countryCode !== undefined) { + writer.uint32(1546).string(message.countryCode); + } + if (message.bedLightingType !== undefined) { + writer.uint32(1552).int32(message.bedLightingType); + } + if (message.rearLightHardwareVariant !== undefined) { + writer.uint32(1560).int32(message.rearLightHardwareVariant); + } + if (message.autopilotBase !== 0) { + writer.uint32(1568).int32(message.autopilotBase); + } + if (message.autopilotOverrideState !== 0) { + writer.uint32(1576).int32(message.autopilotOverrideState); + } + if (message.autopilotOverrideExpireTime !== undefined) { + writer.uint32(1584).int64(message.autopilotOverrideExpireTime); + } + if (message.supportsDynamicEnvironments !== undefined) { + writer.uint32(1592).bool(message.supportsDynamicEnvironments); + } + if (message.wheelCapsOn !== undefined) { + writer.uint32(1600).bool(message.wheelCapsOn); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.carSpecialType = VehicleBadging.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.carTrim = CarTrim.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.carType = VehicleConfig_CarType.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.sunRoofInstalled = SunRoofType.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.wheelType = WheelType.decode(reader, reader.uint32()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.spoilerType = SpoilerType.decode(reader, reader.uint32()); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.roofColor = RoofColor.decode(reader, reader.uint32()); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.exteriorColor = ExteriorColor.decode(reader, reader.uint32()); + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.rearSeatHeaters = RearSeatHeaters.decode(reader, reader.uint32()); + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.seatType = SeatType.decode(reader, reader.uint32()); + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.rearSeatType = RearSeatType.decode(reader, reader.uint32()); + continue; + } + case 19: { + if (tag !== 154) { + break; + } + + message.thirdRowSeatType = ThirdRowSeatType.decode(reader, reader.uint32()); + continue; + } + case 23: { + if (tag !== 186) { + break; + } + + message.chargePortType = ChargePortType.decode(reader, reader.uint32()); + continue; + } + case 27: { + if (tag !== 218) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 28: { + if (tag !== 226) { + break; + } + + message.interiorTrimType = VehicleConfig_InteriorTrimType.decode(reader, reader.uint32()); + continue; + } + case 29: { + if (tag !== 234) { + break; + } + + message.driverAssist = VehicleConfig_DriverAssist.decode(reader, reader.uint32()); + continue; + } + case 30: { + if (tag !== 242) { + break; + } + + message.performancePackage = VehicleConfig_PerformancePackage.decode(reader, reader.uint32()); + continue; + } + case 31: { + if (tag !== 250) { + break; + } + + message.frontDriveUnit = VehicleConfig_FrontDriveUnit.decode(reader, reader.uint32()); + continue; + } + case 32: { + if (tag !== 258) { + break; + } + + message.rearDriveUnit = RearDriveUnit.decode(reader, reader.uint32()); + continue; + } + case 33: { + if (tag !== 266) { + break; + } + + message.efficiencyPackage = EfficiencyPackage.decode(reader, reader.uint32()); + continue; + } + case 35: { + if (tag !== 282) { + break; + } + + message.exteriorTrimType = VehicleConfig_ExteriorTrimType.decode(reader, reader.uint32()); + continue; + } + case 40: { + if (tag !== 322) { + break; + } + + message.steeringWheelType = VehicleConfig_SteeringWheelType.decode(reader, reader.uint32()); + continue; + } + case 61: { + if (tag !== 488) { + break; + } + + message.redBrakeCalipers = reader.bool(); + continue; + } + case 103: { + if (tag !== 824) { + break; + } + + message.useRangeBadging = reader.bool(); + continue; + } + case 104: { + if (tag !== 832) { + break; + } + + message.rangePlusBadging = reader.bool(); + continue; + } + case 105: { + if (tag !== 840) { + break; + } + + message.hasLudicrousMode = reader.bool(); + continue; + } + case 106: { + if (tag !== 848) { + break; + } + + message.canActuateTrunks = reader.bool(); + continue; + } + case 110: { + if (tag !== 880) { + break; + } + + message.hasAirSuspension = reader.bool(); + continue; + } + case 114: { + if (tag !== 912) { + break; + } + + message.rhd = reader.bool(); + continue; + } + case 115: { + if (tag !== 920) { + break; + } + + message.plg = reader.bool(); + continue; + } + case 120: { + if (tag !== 960) { + break; + } + + message.eceRestrictions = reader.bool(); + continue; + } + case 121: { + if (tag !== 968) { + break; + } + + message.euVehicle = reader.bool(); + continue; + } + case 122: { + if (tag !== 976) { + break; + } + + message.motorizedChargePort = reader.bool(); + continue; + } + case 124: { + if (tag !== 992) { + break; + } + + message.canAcceptNavigationRequests = reader.bool(); + continue; + } + case 125: { + if (tag !== 1000) { + break; + } + + message.keyVersion = reader.uint32(); + continue; + } + case 126: { + if (tag !== 1008) { + break; + } + + message.mobileEnabled = reader.bool(); + continue; + } + case 134: { + if (tag !== 1072) { + break; + } + + message.defaultChargeToMax = reader.bool(); + continue; + } + case 136: { + if (tag !== 1088) { + break; + } + + message.steeringWheelHeaterInstalled = reader.bool(); + continue; + } + case 137: { + if (tag !== 1096) { + break; + } + + message.sentryModeSupported = reader.bool(); + continue; + } + case 138: { + if (tag !== 1104) { + break; + } + + message.homelinkSupported = reader.bool(); + continue; + } + case 139: { + if (tag !== 1112) { + break; + } + + message.webcamSupported = reader.bool(); + continue; + } + case 141: { + if (tag !== 1128) { + break; + } + + message.bioweaponModeSupported = reader.bool(); + continue; + } + case 142: { + if (tag !== 1136) { + break; + } + + message.dashcamClipSaveSupported = reader.bool(); + continue; + } + case 143: { + if (tag !== 1144) { + break; + } + + message.hasPws = reader.bool(); + continue; + } + case 144: { + if (tag !== 1152) { + break; + } + + message.utcOffset = reader.sint32(); + continue; + } + case 145: { + if (tag !== 1160) { + break; + } + + message.hasSeatCooling = reader.bool(); + continue; + } + case 146: { + if (tag !== 1170) { + break; + } + + message.paintColorOverride = reader.string(); + continue; + } + case 147: { + if (tag !== 1176) { + break; + } + + message.tpmsPressuresSupported = reader.bool(); + continue; + } + case 148: { + if (tag !== 1184) { + break; + } + + message.vehicleBadging = reader.uint32(); + continue; + } + case 149: { + if (tag !== 1194) { + break; + } + + message.exteriorTrimOverride = reader.string(); + continue; + } + case 150: { + if (tag !== 1200) { + break; + } + + message.headlampType = reader.int32() as any; + continue; + } + case 154: { + if (tag !== 1232) { + break; + } + + message.auxParkLamps = reader.int32() as any; + continue; + } + case 155: { + if (tag !== 1240) { + break; + } + + message.isRaven = reader.bool(); + continue; + } + case 156: { + if (tag !== 1248) { + break; + } + + message.hasAutoSeatClimate = reader.bool(); + continue; + } + case 157: { + if (tag !== 1256) { + break; + } + + message.hasFrontRowSeatHeaters = reader.bool(); + continue; + } + case 158: { + if (tag !== 1264) { + break; + } + + message.hasThirdRowSeatHeaters = reader.bool(); + continue; + } + case 159: { + if (tag !== 1272) { + break; + } + + message.supportsQrPairing = reader.bool(); + continue; + } + case 160: { + if (tag !== 1282) { + break; + } + + message.vin = reader.string(); + continue; + } + case 161: { + if (tag !== 1288) { + break; + } + + message.disableWindowVentClose = reader.bool(); + continue; + } + case 162: { + if (tag !== 1296) { + break; + } + + message.webcamSelfieSupported = reader.bool(); + continue; + } + case 163: { + if (tag !== 1304) { + break; + } + + message.copUserSetTempSupported = reader.bool(); + continue; + } + case 164: { + if (tag !== 1312) { + break; + } + + message.hasAutoStwHeat = reader.bool(); + continue; + } + case 165: { + if (tag !== 1320) { + break; + } + + message.rearlightType = reader.int32() as any; + continue; + } + case 166: { + if (tag !== 1328) { + break; + } + + message.rearSeatHeaterType = reader.int32() as any; + continue; + } + case 167: { + if (tag !== 1336) { + break; + } + + message.webcamGridSupported = reader.bool(); + continue; + } + case 168: { + if (tag !== 1344) { + break; + } + + message.hasTeslaBadge = reader.bool(); + continue; + } + case 169: { + if (tag !== 1352) { + break; + } + + message.hasTeslaWordmark = reader.bool(); + continue; + } + case 170: { + if (tag !== 1360) { + break; + } + + message.fasciaType = reader.int32() as any; + continue; + } + case 171: { + if (tag !== 1368) { + break; + } + + message.accessoryLightbarType = reader.int32() as any; + continue; + } + case 172: { + if (tag !== 1376) { + break; + } + + message.sentryPreviewSupported = reader.bool(); + continue; + } + case 173: { + if (tag !== 1384) { + break; + } + + message.seatTrimType = reader.int32() as any; + continue; + } + case 174: { + if (tag !== 1392) { + break; + } + + message.drivetrainType = reader.int32() as any; + continue; + } + case 175: { + if (tag !== 1400) { + break; + } + + message.lightshowSupported = reader.bool(); + continue; + } + case 176: { + if (tag !== 1408) { + break; + } + + message.mobileDashcamViewerVersion = reader.uint32(); + continue; + } + case 177: { + if (tag !== 1416) { + break; + } + + message.hasPremiumConnectivity = reader.bool(); + continue; + } + case 178: { + if (tag !== 1424) { + break; + } + + message.carWrapEnabled = reader.bool(); + continue; + } + case 179: { + if (tag !== 1432) { + break; + } + + message.supportsRideHeight = reader.bool(); + continue; + } + case 180: { + if (tag !== 1440) { + break; + } + + message.supportsSetArrivalEnergy = reader.bool(); + continue; + } + case 181: { + if (tag !== 1448) { + break; + } + + message.supportsPillarCameraMetadata = reader.bool(); + continue; + } + case 182: { + if (tag !== 1456) { + break; + } + + message.chassisType = reader.int32() as any; + continue; + } + case 183: { + if (tag !== 1464) { + break; + } + + message.isChinaVehicle = reader.bool(); + continue; + } + case 184: { + if (tag !== 1472) { + break; + } + + message.isUsingUnrealApviz = reader.bool(); + continue; + } + case 185: { + if (tag !== 1480) { + break; + } + + message.supportsFlexibleDashcamBitrate = reader.bool(); + continue; + } + case 186: { + if (tag !== 1488) { + break; + } + + message.frontFasciaCameraType = reader.int32() as any; + continue; + } + case 187: { + if (tag !== 1496) { + break; + } + + message.turnIndicatorControlType = reader.int32() as any; + continue; + } + case 188: { + if (tag !== 1504) { + break; + } + + message.hasRearDisplay = reader.bool(); + continue; + } + case 189: { + if (tag !== 1514) { + break; + } + + message.windowTintColor = reader.string(); + continue; + } + case 190: { + if (tag !== 1520) { + break; + } + + message.interiorUpperTrimType = reader.int32() as any; + continue; + } + case 191: { + if (tag !== 1528) { + break; + } + + message.badgingMaterialType = reader.int32() as any; + continue; + } + case 192: { + if (tag !== 1536) { + break; + } + + message.webcamInteriorOnly = reader.bool(); + continue; + } + case 193: { + if (tag !== 1546) { + break; + } + + message.countryCode = reader.string(); + continue; + } + case 194: { + if (tag !== 1552) { + break; + } + + message.bedLightingType = reader.int32() as any; + continue; + } + case 195: { + if (tag !== 1560) { + break; + } + + message.rearLightHardwareVariant = reader.int32() as any; + continue; + } + case 196: { + if (tag !== 1568) { + break; + } + + message.autopilotBase = reader.int32() as any; + continue; + } + case 197: { + if (tag !== 1576) { + break; + } + + message.autopilotOverrideState = reader.int32() as any; + continue; + } + case 198: { + if (tag !== 1584) { + break; + } + + message.autopilotOverrideExpireTime = longToNumber(reader.int64()); + continue; + } + case 199: { + if (tag !== 1592) { + break; + } + + message.supportsDynamicEnvironments = reader.bool(); + continue; + } + case 200: { + if (tag !== 1600) { + break; + } + + message.wheelCapsOn = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VehicleConfig { + return { + carSpecialType: isSet(object.carSpecialType) ? VehicleBadging.fromJSON(object.carSpecialType) : undefined, + carTrim: isSet(object.carTrim) ? CarTrim.fromJSON(object.carTrim) : undefined, + carType: isSet(object.carType) ? VehicleConfig_CarType.fromJSON(object.carType) : undefined, + sunRoofInstalled: isSet(object.sunRoofInstalled) ? SunRoofType.fromJSON(object.sunRoofInstalled) : undefined, + wheelType: isSet(object.wheelType) ? WheelType.fromJSON(object.wheelType) : undefined, + spoilerType: isSet(object.spoilerType) ? SpoilerType.fromJSON(object.spoilerType) : undefined, + roofColor: isSet(object.roofColor) ? RoofColor.fromJSON(object.roofColor) : undefined, + exteriorColor: isSet(object.exteriorColor) ? ExteriorColor.fromJSON(object.exteriorColor) : undefined, + rearSeatHeaters: isSet(object.rearSeatHeaters) ? RearSeatHeaters.fromJSON(object.rearSeatHeaters) : undefined, + seatType: isSet(object.seatType) ? SeatType.fromJSON(object.seatType) : undefined, + rearSeatType: isSet(object.rearSeatType) ? RearSeatType.fromJSON(object.rearSeatType) : undefined, + thirdRowSeatType: isSet(object.thirdRowSeatType) ? ThirdRowSeatType.fromJSON(object.thirdRowSeatType) : undefined, + chargePortType: isSet(object.chargePortType) ? ChargePortType.fromJSON(object.chargePortType) : undefined, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + interiorTrimType: isSet(object.interiorTrimType) + ? VehicleConfig_InteriorTrimType.fromJSON(object.interiorTrimType) + : undefined, + driverAssist: isSet(object.driverAssist) ? VehicleConfig_DriverAssist.fromJSON(object.driverAssist) : undefined, + performancePackage: isSet(object.performancePackage) + ? VehicleConfig_PerformancePackage.fromJSON(object.performancePackage) + : undefined, + frontDriveUnit: isSet(object.frontDriveUnit) + ? VehicleConfig_FrontDriveUnit.fromJSON(object.frontDriveUnit) + : undefined, + rearDriveUnit: isSet(object.rearDriveUnit) ? RearDriveUnit.fromJSON(object.rearDriveUnit) : undefined, + efficiencyPackage: isSet(object.efficiencyPackage) + ? EfficiencyPackage.fromJSON(object.efficiencyPackage) + : undefined, + exteriorTrimType: isSet(object.exteriorTrimType) + ? VehicleConfig_ExteriorTrimType.fromJSON(object.exteriorTrimType) + : undefined, + steeringWheelType: isSet(object.steeringWheelType) + ? VehicleConfig_SteeringWheelType.fromJSON(object.steeringWheelType) + : undefined, + redBrakeCalipers: isSet(object.redBrakeCalipers) ? globalThis.Boolean(object.redBrakeCalipers) : undefined, + useRangeBadging: isSet(object.useRangeBadging) ? globalThis.Boolean(object.useRangeBadging) : undefined, + rangePlusBadging: isSet(object.rangePlusBadging) ? globalThis.Boolean(object.rangePlusBadging) : undefined, + hasLudicrousMode: isSet(object.hasLudicrousMode) ? globalThis.Boolean(object.hasLudicrousMode) : undefined, + canActuateTrunks: isSet(object.canActuateTrunks) ? globalThis.Boolean(object.canActuateTrunks) : undefined, + hasAirSuspension: isSet(object.hasAirSuspension) ? globalThis.Boolean(object.hasAirSuspension) : undefined, + rhd: isSet(object.rhd) ? globalThis.Boolean(object.rhd) : undefined, + plg: isSet(object.plg) ? globalThis.Boolean(object.plg) : undefined, + eceRestrictions: isSet(object.eceRestrictions) ? globalThis.Boolean(object.eceRestrictions) : undefined, + euVehicle: isSet(object.euVehicle) ? globalThis.Boolean(object.euVehicle) : undefined, + motorizedChargePort: isSet(object.motorizedChargePort) + ? globalThis.Boolean(object.motorizedChargePort) + : undefined, + canAcceptNavigationRequests: isSet(object.canAcceptNavigationRequests) + ? globalThis.Boolean(object.canAcceptNavigationRequests) + : undefined, + keyVersion: isSet(object.keyVersion) ? globalThis.Number(object.keyVersion) : undefined, + mobileEnabled: isSet(object.mobileEnabled) ? globalThis.Boolean(object.mobileEnabled) : undefined, + defaultChargeToMax: isSet(object.defaultChargeToMax) ? globalThis.Boolean(object.defaultChargeToMax) : undefined, + steeringWheelHeaterInstalled: isSet(object.steeringWheelHeaterInstalled) + ? globalThis.Boolean(object.steeringWheelHeaterInstalled) + : undefined, + sentryModeSupported: isSet(object.sentryModeSupported) + ? globalThis.Boolean(object.sentryModeSupported) + : undefined, + homelinkSupported: isSet(object.homelinkSupported) ? globalThis.Boolean(object.homelinkSupported) : undefined, + webcamSupported: isSet(object.webcamSupported) ? globalThis.Boolean(object.webcamSupported) : undefined, + bioweaponModeSupported: isSet(object.bioweaponModeSupported) + ? globalThis.Boolean(object.bioweaponModeSupported) + : undefined, + dashcamClipSaveSupported: isSet(object.dashcamClipSaveSupported) + ? globalThis.Boolean(object.dashcamClipSaveSupported) + : undefined, + hasPws: isSet(object.hasPws) ? globalThis.Boolean(object.hasPws) : undefined, utcOffset: isSet(object.utcOffset) ? globalThis.Number(object.utcOffset) : undefined, hasSeatCooling: isSet(object.hasSeatCooling) ? globalThis.Boolean(object.hasSeatCooling) : undefined, paintColorOverride: isSet(object.paintColorOverride) ? globalThis.String(object.paintColorOverride) : undefined, @@ -18722,6 +25562,7 @@ export const VehicleConfig: MessageFns = { ? globalThis.Boolean(object.hasThirdRowSeatHeaters) : undefined, supportsQrPairing: isSet(object.supportsQrPairing) ? globalThis.Boolean(object.supportsQrPairing) : undefined, + vin: isSet(object.vin) ? globalThis.String(object.vin) : undefined, disableWindowVentClose: isSet(object.disableWindowVentClose) ? globalThis.Boolean(object.disableWindowVentClose) : undefined, @@ -18813,12 +25654,72 @@ export const VehicleConfig: MessageFns = { toJSON(message: VehicleConfig): unknown { const obj: any = {}; + if (message.carSpecialType !== undefined) { + obj.carSpecialType = VehicleBadging.toJSON(message.carSpecialType); + } + if (message.carTrim !== undefined) { + obj.carTrim = CarTrim.toJSON(message.carTrim); + } + if (message.carType !== undefined) { + obj.carType = VehicleConfig_CarType.toJSON(message.carType); + } + if (message.sunRoofInstalled !== undefined) { + obj.sunRoofInstalled = SunRoofType.toJSON(message.sunRoofInstalled); + } + if (message.wheelType !== undefined) { + obj.wheelType = WheelType.toJSON(message.wheelType); + } + if (message.spoilerType !== undefined) { + obj.spoilerType = SpoilerType.toJSON(message.spoilerType); + } + if (message.roofColor !== undefined) { + obj.roofColor = RoofColor.toJSON(message.roofColor); + } + if (message.exteriorColor !== undefined) { + obj.exteriorColor = ExteriorColor.toJSON(message.exteriorColor); + } + if (message.rearSeatHeaters !== undefined) { + obj.rearSeatHeaters = RearSeatHeaters.toJSON(message.rearSeatHeaters); + } + if (message.seatType !== undefined) { + obj.seatType = SeatType.toJSON(message.seatType); + } + if (message.rearSeatType !== undefined) { + obj.rearSeatType = RearSeatType.toJSON(message.rearSeatType); + } + if (message.thirdRowSeatType !== undefined) { + obj.thirdRowSeatType = ThirdRowSeatType.toJSON(message.thirdRowSeatType); + } + if (message.chargePortType !== undefined) { + obj.chargePortType = ChargePortType.toJSON(message.chargePortType); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } if (message.interiorTrimType !== undefined) { obj.interiorTrimType = VehicleConfig_InteriorTrimType.toJSON(message.interiorTrimType); } + if (message.driverAssist !== undefined) { + obj.driverAssist = VehicleConfig_DriverAssist.toJSON(message.driverAssist); + } + if (message.performancePackage !== undefined) { + obj.performancePackage = VehicleConfig_PerformancePackage.toJSON(message.performancePackage); + } + if (message.frontDriveUnit !== undefined) { + obj.frontDriveUnit = VehicleConfig_FrontDriveUnit.toJSON(message.frontDriveUnit); + } + if (message.rearDriveUnit !== undefined) { + obj.rearDriveUnit = RearDriveUnit.toJSON(message.rearDriveUnit); + } + if (message.efficiencyPackage !== undefined) { + obj.efficiencyPackage = EfficiencyPackage.toJSON(message.efficiencyPackage); + } if (message.exteriorTrimType !== undefined) { obj.exteriorTrimType = VehicleConfig_ExteriorTrimType.toJSON(message.exteriorTrimType); } + if (message.steeringWheelType !== undefined) { + obj.steeringWheelType = VehicleConfig_SteeringWheelType.toJSON(message.steeringWheelType); + } if (message.redBrakeCalipers !== undefined) { obj.redBrakeCalipers = message.redBrakeCalipers; } @@ -18837,6 +25738,12 @@ export const VehicleConfig: MessageFns = { if (message.hasAirSuspension !== undefined) { obj.hasAirSuspension = message.hasAirSuspension; } + if (message.rhd !== undefined) { + obj.rhd = message.rhd; + } + if (message.plg !== undefined) { + obj.plg = message.plg; + } if (message.eceRestrictions !== undefined) { obj.eceRestrictions = message.eceRestrictions; } @@ -18903,238 +25810,989 @@ export const VehicleConfig: MessageFns = { if (message.auxParkLamps !== undefined) { obj.auxParkLamps = vehicleConfig_AuxParkLampsEToJSON(message.auxParkLamps); } - if (message.isRaven !== undefined) { - obj.isRaven = message.isRaven; + if (message.isRaven !== undefined) { + obj.isRaven = message.isRaven; + } + if (message.hasAutoSeatClimate !== undefined) { + obj.hasAutoSeatClimate = message.hasAutoSeatClimate; + } + if (message.hasFrontRowSeatHeaters !== undefined) { + obj.hasFrontRowSeatHeaters = message.hasFrontRowSeatHeaters; + } + if (message.hasThirdRowSeatHeaters !== undefined) { + obj.hasThirdRowSeatHeaters = message.hasThirdRowSeatHeaters; + } + if (message.supportsQrPairing !== undefined) { + obj.supportsQrPairing = message.supportsQrPairing; + } + if (message.vin !== undefined) { + obj.vin = message.vin; + } + if (message.disableWindowVentClose !== undefined) { + obj.disableWindowVentClose = message.disableWindowVentClose; + } + if (message.webcamSelfieSupported !== undefined) { + obj.webcamSelfieSupported = message.webcamSelfieSupported; + } + if (message.copUserSetTempSupported !== undefined) { + obj.copUserSetTempSupported = message.copUserSetTempSupported; + } + if (message.hasAutoStwHeat !== undefined) { + obj.hasAutoStwHeat = message.hasAutoStwHeat; + } + if (message.rearlightType !== undefined) { + obj.rearlightType = vehicleConfig_RearLightTypeToJSON(message.rearlightType); + } + if (message.rearSeatHeaterType !== undefined) { + obj.rearSeatHeaterType = rearSeatHeaterTypeToJSON(message.rearSeatHeaterType); + } + if (message.webcamGridSupported !== undefined) { + obj.webcamGridSupported = message.webcamGridSupported; + } + if (message.hasTeslaBadge !== undefined) { + obj.hasTeslaBadge = message.hasTeslaBadge; + } + if (message.hasTeslaWordmark !== undefined) { + obj.hasTeslaWordmark = message.hasTeslaWordmark; + } + if (message.fasciaType !== undefined) { + obj.fasciaType = fasciaTypeToJSON(message.fasciaType); + } + if (message.accessoryLightbarType !== undefined) { + obj.accessoryLightbarType = accessoryLightbarTypeToJSON(message.accessoryLightbarType); + } + if (message.sentryPreviewSupported !== undefined) { + obj.sentryPreviewSupported = message.sentryPreviewSupported; + } + if (message.seatTrimType !== undefined) { + obj.seatTrimType = vehicleConfig_SeatTrimTypeToJSON(message.seatTrimType); + } + if (message.drivetrainType !== undefined) { + obj.drivetrainType = vehicleConfig_DrivetrainTypeToJSON(message.drivetrainType); + } + if (message.lightshowSupported !== undefined) { + obj.lightshowSupported = message.lightshowSupported; + } + if (message.mobileDashcamViewerVersion !== undefined) { + obj.mobileDashcamViewerVersion = Math.round(message.mobileDashcamViewerVersion); + } + if (message.hasPremiumConnectivity !== undefined) { + obj.hasPremiumConnectivity = message.hasPremiumConnectivity; + } + if (message.carWrapEnabled !== undefined) { + obj.carWrapEnabled = message.carWrapEnabled; + } + if (message.supportsRideHeight !== undefined) { + obj.supportsRideHeight = message.supportsRideHeight; + } + if (message.supportsSetArrivalEnergy !== undefined) { + obj.supportsSetArrivalEnergy = message.supportsSetArrivalEnergy; + } + if (message.supportsPillarCameraMetadata !== undefined) { + obj.supportsPillarCameraMetadata = message.supportsPillarCameraMetadata; + } + if (message.chassisType !== undefined) { + obj.chassisType = chassisTypeToJSON(message.chassisType); + } + if (message.isChinaVehicle !== undefined) { + obj.isChinaVehicle = message.isChinaVehicle; + } + if (message.isUsingUnrealApviz !== undefined) { + obj.isUsingUnrealApviz = message.isUsingUnrealApviz; + } + if (message.supportsFlexibleDashcamBitrate !== undefined) { + obj.supportsFlexibleDashcamBitrate = message.supportsFlexibleDashcamBitrate; + } + if (message.frontFasciaCameraType !== undefined) { + obj.frontFasciaCameraType = vehicleConfig_FrontFasciaCameraTypeToJSON(message.frontFasciaCameraType); + } + if (message.turnIndicatorControlType !== undefined) { + obj.turnIndicatorControlType = vehicleConfig_TurnIndicatorControlTypeToJSON(message.turnIndicatorControlType); + } + if (message.hasRearDisplay !== undefined) { + obj.hasRearDisplay = message.hasRearDisplay; + } + if (message.windowTintColor !== undefined) { + obj.windowTintColor = message.windowTintColor; + } + if (message.interiorUpperTrimType !== undefined) { + obj.interiorUpperTrimType = vehicleConfig_InteriorUpperTrimTypeToJSON(message.interiorUpperTrimType); + } + if (message.badgingMaterialType !== undefined) { + obj.badgingMaterialType = vehicleConfig_BadgingMaterialTypeToJSON(message.badgingMaterialType); + } + if (message.webcamInteriorOnly !== undefined) { + obj.webcamInteriorOnly = message.webcamInteriorOnly; + } + if (message.countryCode !== undefined) { + obj.countryCode = message.countryCode; + } + if (message.bedLightingType !== undefined) { + obj.bedLightingType = vehicleConfig_BedLightingTypeToJSON(message.bedLightingType); + } + if (message.rearLightHardwareVariant !== undefined) { + obj.rearLightHardwareVariant = vehicleConfig_RearLightHardwareVariantToJSON(message.rearLightHardwareVariant); + } + if (message.autopilotBase !== undefined) { + obj.autopilotBase = autopilotBaseToJSON(message.autopilotBase); + } + if (message.autopilotOverrideState !== undefined) { + obj.autopilotOverrideState = autopilotOverrideStateToJSON(message.autopilotOverrideState); + } + if (message.autopilotOverrideExpireTime !== undefined) { + obj.autopilotOverrideExpireTime = Math.round(message.autopilotOverrideExpireTime); + } + if (message.supportsDynamicEnvironments !== undefined) { + obj.supportsDynamicEnvironments = message.supportsDynamicEnvironments; + } + if (message.wheelCapsOn !== undefined) { + obj.wheelCapsOn = message.wheelCapsOn; + } + return obj; + }, + + create, I>>(base?: I): VehicleConfig { + return VehicleConfig.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VehicleConfig { + const message = createBaseVehicleConfig(); + message.carSpecialType = (object.carSpecialType !== undefined && object.carSpecialType !== null) + ? VehicleBadging.fromPartial(object.carSpecialType) + : undefined; + message.carTrim = (object.carTrim !== undefined && object.carTrim !== null) + ? CarTrim.fromPartial(object.carTrim) + : undefined; + message.carType = (object.carType !== undefined && object.carType !== null) + ? VehicleConfig_CarType.fromPartial(object.carType) + : undefined; + message.sunRoofInstalled = (object.sunRoofInstalled !== undefined && object.sunRoofInstalled !== null) + ? SunRoofType.fromPartial(object.sunRoofInstalled) + : undefined; + message.wheelType = (object.wheelType !== undefined && object.wheelType !== null) + ? WheelType.fromPartial(object.wheelType) + : undefined; + message.spoilerType = (object.spoilerType !== undefined && object.spoilerType !== null) + ? SpoilerType.fromPartial(object.spoilerType) + : undefined; + message.roofColor = (object.roofColor !== undefined && object.roofColor !== null) + ? RoofColor.fromPartial(object.roofColor) + : undefined; + message.exteriorColor = (object.exteriorColor !== undefined && object.exteriorColor !== null) + ? ExteriorColor.fromPartial(object.exteriorColor) + : undefined; + message.rearSeatHeaters = (object.rearSeatHeaters !== undefined && object.rearSeatHeaters !== null) + ? RearSeatHeaters.fromPartial(object.rearSeatHeaters) + : undefined; + message.seatType = (object.seatType !== undefined && object.seatType !== null) + ? SeatType.fromPartial(object.seatType) + : undefined; + message.rearSeatType = (object.rearSeatType !== undefined && object.rearSeatType !== null) + ? RearSeatType.fromPartial(object.rearSeatType) + : undefined; + message.thirdRowSeatType = (object.thirdRowSeatType !== undefined && object.thirdRowSeatType !== null) + ? ThirdRowSeatType.fromPartial(object.thirdRowSeatType) + : undefined; + message.chargePortType = (object.chargePortType !== undefined && object.chargePortType !== null) + ? ChargePortType.fromPartial(object.chargePortType) + : undefined; + message.timestamp = object.timestamp ?? undefined; + message.interiorTrimType = (object.interiorTrimType !== undefined && object.interiorTrimType !== null) + ? VehicleConfig_InteriorTrimType.fromPartial(object.interiorTrimType) + : undefined; + message.driverAssist = (object.driverAssist !== undefined && object.driverAssist !== null) + ? VehicleConfig_DriverAssist.fromPartial(object.driverAssist) + : undefined; + message.performancePackage = (object.performancePackage !== undefined && object.performancePackage !== null) + ? VehicleConfig_PerformancePackage.fromPartial(object.performancePackage) + : undefined; + message.frontDriveUnit = (object.frontDriveUnit !== undefined && object.frontDriveUnit !== null) + ? VehicleConfig_FrontDriveUnit.fromPartial(object.frontDriveUnit) + : undefined; + message.rearDriveUnit = (object.rearDriveUnit !== undefined && object.rearDriveUnit !== null) + ? RearDriveUnit.fromPartial(object.rearDriveUnit) + : undefined; + message.efficiencyPackage = (object.efficiencyPackage !== undefined && object.efficiencyPackage !== null) + ? EfficiencyPackage.fromPartial(object.efficiencyPackage) + : undefined; + message.exteriorTrimType = (object.exteriorTrimType !== undefined && object.exteriorTrimType !== null) + ? VehicleConfig_ExteriorTrimType.fromPartial(object.exteriorTrimType) + : undefined; + message.steeringWheelType = (object.steeringWheelType !== undefined && object.steeringWheelType !== null) + ? VehicleConfig_SteeringWheelType.fromPartial(object.steeringWheelType) + : undefined; + message.redBrakeCalipers = object.redBrakeCalipers ?? undefined; + message.useRangeBadging = object.useRangeBadging ?? undefined; + message.rangePlusBadging = object.rangePlusBadging ?? undefined; + message.hasLudicrousMode = object.hasLudicrousMode ?? undefined; + message.canActuateTrunks = object.canActuateTrunks ?? undefined; + message.hasAirSuspension = object.hasAirSuspension ?? undefined; + message.rhd = object.rhd ?? undefined; + message.plg = object.plg ?? undefined; + message.eceRestrictions = object.eceRestrictions ?? undefined; + message.euVehicle = object.euVehicle ?? undefined; + message.motorizedChargePort = object.motorizedChargePort ?? undefined; + message.canAcceptNavigationRequests = object.canAcceptNavigationRequests ?? undefined; + message.keyVersion = object.keyVersion ?? undefined; + message.mobileEnabled = object.mobileEnabled ?? undefined; + message.defaultChargeToMax = object.defaultChargeToMax ?? undefined; + message.steeringWheelHeaterInstalled = object.steeringWheelHeaterInstalled ?? undefined; + message.sentryModeSupported = object.sentryModeSupported ?? undefined; + message.homelinkSupported = object.homelinkSupported ?? undefined; + message.webcamSupported = object.webcamSupported ?? undefined; + message.bioweaponModeSupported = object.bioweaponModeSupported ?? undefined; + message.dashcamClipSaveSupported = object.dashcamClipSaveSupported ?? undefined; + message.hasPws = object.hasPws ?? undefined; + message.utcOffset = object.utcOffset ?? undefined; + message.hasSeatCooling = object.hasSeatCooling ?? undefined; + message.paintColorOverride = object.paintColorOverride ?? undefined; + message.tpmsPressuresSupported = object.tpmsPressuresSupported ?? undefined; + message.vehicleBadging = object.vehicleBadging ?? undefined; + message.exteriorTrimOverride = object.exteriorTrimOverride ?? undefined; + message.headlampType = object.headlampType ?? undefined; + message.auxParkLamps = object.auxParkLamps ?? undefined; + message.isRaven = object.isRaven ?? undefined; + message.hasAutoSeatClimate = object.hasAutoSeatClimate ?? undefined; + message.hasFrontRowSeatHeaters = object.hasFrontRowSeatHeaters ?? undefined; + message.hasThirdRowSeatHeaters = object.hasThirdRowSeatHeaters ?? undefined; + message.supportsQrPairing = object.supportsQrPairing ?? undefined; + message.vin = object.vin ?? undefined; + message.disableWindowVentClose = object.disableWindowVentClose ?? undefined; + message.webcamSelfieSupported = object.webcamSelfieSupported ?? undefined; + message.copUserSetTempSupported = object.copUserSetTempSupported ?? undefined; + message.hasAutoStwHeat = object.hasAutoStwHeat ?? undefined; + message.rearlightType = object.rearlightType ?? undefined; + message.rearSeatHeaterType = object.rearSeatHeaterType ?? undefined; + message.webcamGridSupported = object.webcamGridSupported ?? undefined; + message.hasTeslaBadge = object.hasTeslaBadge ?? undefined; + message.hasTeslaWordmark = object.hasTeslaWordmark ?? undefined; + message.fasciaType = object.fasciaType ?? undefined; + message.accessoryLightbarType = object.accessoryLightbarType ?? undefined; + message.sentryPreviewSupported = object.sentryPreviewSupported ?? undefined; + message.seatTrimType = object.seatTrimType ?? undefined; + message.drivetrainType = object.drivetrainType ?? undefined; + message.lightshowSupported = object.lightshowSupported ?? undefined; + message.mobileDashcamViewerVersion = object.mobileDashcamViewerVersion ?? undefined; + message.hasPremiumConnectivity = object.hasPremiumConnectivity ?? undefined; + message.carWrapEnabled = object.carWrapEnabled ?? undefined; + message.supportsRideHeight = object.supportsRideHeight ?? undefined; + message.supportsSetArrivalEnergy = object.supportsSetArrivalEnergy ?? undefined; + message.supportsPillarCameraMetadata = object.supportsPillarCameraMetadata ?? undefined; + message.chassisType = object.chassisType ?? undefined; + message.isChinaVehicle = object.isChinaVehicle ?? undefined; + message.isUsingUnrealApviz = object.isUsingUnrealApviz ?? undefined; + message.supportsFlexibleDashcamBitrate = object.supportsFlexibleDashcamBitrate ?? undefined; + message.frontFasciaCameraType = object.frontFasciaCameraType ?? undefined; + message.turnIndicatorControlType = object.turnIndicatorControlType ?? undefined; + message.hasRearDisplay = object.hasRearDisplay ?? undefined; + message.windowTintColor = object.windowTintColor ?? undefined; + message.interiorUpperTrimType = object.interiorUpperTrimType ?? undefined; + message.badgingMaterialType = object.badgingMaterialType ?? undefined; + message.webcamInteriorOnly = object.webcamInteriorOnly ?? undefined; + message.countryCode = object.countryCode ?? undefined; + message.bedLightingType = object.bedLightingType ?? undefined; + message.rearLightHardwareVariant = object.rearLightHardwareVariant ?? undefined; + message.autopilotBase = object.autopilotBase ?? 0; + message.autopilotOverrideState = object.autopilotOverrideState ?? 0; + message.autopilotOverrideExpireTime = object.autopilotOverrideExpireTime ?? undefined; + message.supportsDynamicEnvironments = object.supportsDynamicEnvironments ?? undefined; + message.wheelCapsOn = object.wheelCapsOn ?? undefined; + return message; + }, +}; + +function createBaseVehicleConfig_CarType(): VehicleConfig_CarType { + return { + CarTypeModelS: undefined, + CarTypeModelX: undefined, + CarTypeModelS2: undefined, + CarTypeModel3: undefined, + CarTypeModelY: undefined, + CarTypeSemiTruck: undefined, + CarTypeLychee: undefined, + CarTypeTamarind: undefined, + CarTypeCybertruck: undefined, + CarTypeSemiTruckV2: undefined, + }; +} + +export const VehicleConfig_CarType: MessageFns = { + encode(message: VehicleConfig_CarType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.CarTypeModelS !== undefined) { + Void.encode(message.CarTypeModelS, writer.uint32(10).fork()).join(); + } + if (message.CarTypeModelX !== undefined) { + Void.encode(message.CarTypeModelX, writer.uint32(18).fork()).join(); } - if (message.hasAutoSeatClimate !== undefined) { - obj.hasAutoSeatClimate = message.hasAutoSeatClimate; + if (message.CarTypeModelS2 !== undefined) { + Void.encode(message.CarTypeModelS2, writer.uint32(26).fork()).join(); } - if (message.hasFrontRowSeatHeaters !== undefined) { - obj.hasFrontRowSeatHeaters = message.hasFrontRowSeatHeaters; + if (message.CarTypeModel3 !== undefined) { + Void.encode(message.CarTypeModel3, writer.uint32(34).fork()).join(); } - if (message.hasThirdRowSeatHeaters !== undefined) { - obj.hasThirdRowSeatHeaters = message.hasThirdRowSeatHeaters; + if (message.CarTypeModelY !== undefined) { + Void.encode(message.CarTypeModelY, writer.uint32(42).fork()).join(); } - if (message.supportsQrPairing !== undefined) { - obj.supportsQrPairing = message.supportsQrPairing; + if (message.CarTypeSemiTruck !== undefined) { + Void.encode(message.CarTypeSemiTruck, writer.uint32(50).fork()).join(); } - if (message.disableWindowVentClose !== undefined) { - obj.disableWindowVentClose = message.disableWindowVentClose; + if (message.CarTypeLychee !== undefined) { + Void.encode(message.CarTypeLychee, writer.uint32(58).fork()).join(); } - if (message.webcamSelfieSupported !== undefined) { - obj.webcamSelfieSupported = message.webcamSelfieSupported; + if (message.CarTypeTamarind !== undefined) { + Void.encode(message.CarTypeTamarind, writer.uint32(66).fork()).join(); } - if (message.copUserSetTempSupported !== undefined) { - obj.copUserSetTempSupported = message.copUserSetTempSupported; + if (message.CarTypeCybertruck !== undefined) { + Void.encode(message.CarTypeCybertruck, writer.uint32(74).fork()).join(); } - if (message.hasAutoStwHeat !== undefined) { - obj.hasAutoStwHeat = message.hasAutoStwHeat; + if (message.CarTypeSemiTruckV2 !== undefined) { + Void.encode(message.CarTypeSemiTruckV2, writer.uint32(90).fork()).join(); } - if (message.rearlightType !== undefined) { - obj.rearlightType = vehicleConfig_RearLightTypeToJSON(message.rearlightType); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig_CarType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig_CarType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.CarTypeModelS = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.CarTypeModelX = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.CarTypeModelS2 = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.CarTypeModel3 = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.CarTypeModelY = Void.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.CarTypeSemiTruck = Void.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.CarTypeLychee = Void.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.CarTypeTamarind = Void.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.CarTypeCybertruck = Void.decode(reader, reader.uint32()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.CarTypeSemiTruckV2 = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if (message.rearSeatHeaterType !== undefined) { - obj.rearSeatHeaterType = rearSeatHeaterTypeToJSON(message.rearSeatHeaterType); + return message; + }, + + fromJSON(object: any): VehicleConfig_CarType { + return { + CarTypeModelS: isSet(object.CarTypeModelS) ? Void.fromJSON(object.CarTypeModelS) : undefined, + CarTypeModelX: isSet(object.CarTypeModelX) ? Void.fromJSON(object.CarTypeModelX) : undefined, + CarTypeModelS2: isSet(object.CarTypeModelS2) ? Void.fromJSON(object.CarTypeModelS2) : undefined, + CarTypeModel3: isSet(object.CarTypeModel3) ? Void.fromJSON(object.CarTypeModel3) : undefined, + CarTypeModelY: isSet(object.CarTypeModelY) ? Void.fromJSON(object.CarTypeModelY) : undefined, + CarTypeSemiTruck: isSet(object.CarTypeSemiTruck) ? Void.fromJSON(object.CarTypeSemiTruck) : undefined, + CarTypeLychee: isSet(object.CarTypeLychee) ? Void.fromJSON(object.CarTypeLychee) : undefined, + CarTypeTamarind: isSet(object.CarTypeTamarind) ? Void.fromJSON(object.CarTypeTamarind) : undefined, + CarTypeCybertruck: isSet(object.CarTypeCybertruck) ? Void.fromJSON(object.CarTypeCybertruck) : undefined, + CarTypeSemiTruckV2: isSet(object.CarTypeSemiTruckV2) ? Void.fromJSON(object.CarTypeSemiTruckV2) : undefined, + }; + }, + + toJSON(message: VehicleConfig_CarType): unknown { + const obj: any = {}; + if (message.CarTypeModelS !== undefined) { + obj.CarTypeModelS = Void.toJSON(message.CarTypeModelS); } - if (message.webcamGridSupported !== undefined) { - obj.webcamGridSupported = message.webcamGridSupported; + if (message.CarTypeModelX !== undefined) { + obj.CarTypeModelX = Void.toJSON(message.CarTypeModelX); } - if (message.hasTeslaBadge !== undefined) { - obj.hasTeslaBadge = message.hasTeslaBadge; + if (message.CarTypeModelS2 !== undefined) { + obj.CarTypeModelS2 = Void.toJSON(message.CarTypeModelS2); } - if (message.hasTeslaWordmark !== undefined) { - obj.hasTeslaWordmark = message.hasTeslaWordmark; + if (message.CarTypeModel3 !== undefined) { + obj.CarTypeModel3 = Void.toJSON(message.CarTypeModel3); } - if (message.fasciaType !== undefined) { - obj.fasciaType = fasciaTypeToJSON(message.fasciaType); + if (message.CarTypeModelY !== undefined) { + obj.CarTypeModelY = Void.toJSON(message.CarTypeModelY); } - if (message.accessoryLightbarType !== undefined) { - obj.accessoryLightbarType = accessoryLightbarTypeToJSON(message.accessoryLightbarType); + if (message.CarTypeSemiTruck !== undefined) { + obj.CarTypeSemiTruck = Void.toJSON(message.CarTypeSemiTruck); } - if (message.sentryPreviewSupported !== undefined) { - obj.sentryPreviewSupported = message.sentryPreviewSupported; + if (message.CarTypeLychee !== undefined) { + obj.CarTypeLychee = Void.toJSON(message.CarTypeLychee); } - if (message.seatTrimType !== undefined) { - obj.seatTrimType = vehicleConfig_SeatTrimTypeToJSON(message.seatTrimType); + if (message.CarTypeTamarind !== undefined) { + obj.CarTypeTamarind = Void.toJSON(message.CarTypeTamarind); } - if (message.drivetrainType !== undefined) { - obj.drivetrainType = vehicleConfig_DrivetrainTypeToJSON(message.drivetrainType); + if (message.CarTypeCybertruck !== undefined) { + obj.CarTypeCybertruck = Void.toJSON(message.CarTypeCybertruck); } - if (message.lightshowSupported !== undefined) { - obj.lightshowSupported = message.lightshowSupported; + if (message.CarTypeSemiTruckV2 !== undefined) { + obj.CarTypeSemiTruckV2 = Void.toJSON(message.CarTypeSemiTruckV2); } - if (message.mobileDashcamViewerVersion !== undefined) { - obj.mobileDashcamViewerVersion = Math.round(message.mobileDashcamViewerVersion); + return obj; + }, + + create, I>>(base?: I): VehicleConfig_CarType { + return VehicleConfig_CarType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VehicleConfig_CarType { + const message = createBaseVehicleConfig_CarType(); + message.CarTypeModelS = (object.CarTypeModelS !== undefined && object.CarTypeModelS !== null) + ? Void.fromPartial(object.CarTypeModelS) + : undefined; + message.CarTypeModelX = (object.CarTypeModelX !== undefined && object.CarTypeModelX !== null) + ? Void.fromPartial(object.CarTypeModelX) + : undefined; + message.CarTypeModelS2 = (object.CarTypeModelS2 !== undefined && object.CarTypeModelS2 !== null) + ? Void.fromPartial(object.CarTypeModelS2) + : undefined; + message.CarTypeModel3 = (object.CarTypeModel3 !== undefined && object.CarTypeModel3 !== null) + ? Void.fromPartial(object.CarTypeModel3) + : undefined; + message.CarTypeModelY = (object.CarTypeModelY !== undefined && object.CarTypeModelY !== null) + ? Void.fromPartial(object.CarTypeModelY) + : undefined; + message.CarTypeSemiTruck = (object.CarTypeSemiTruck !== undefined && object.CarTypeSemiTruck !== null) + ? Void.fromPartial(object.CarTypeSemiTruck) + : undefined; + message.CarTypeLychee = (object.CarTypeLychee !== undefined && object.CarTypeLychee !== null) + ? Void.fromPartial(object.CarTypeLychee) + : undefined; + message.CarTypeTamarind = (object.CarTypeTamarind !== undefined && object.CarTypeTamarind !== null) + ? Void.fromPartial(object.CarTypeTamarind) + : undefined; + message.CarTypeCybertruck = (object.CarTypeCybertruck !== undefined && object.CarTypeCybertruck !== null) + ? Void.fromPartial(object.CarTypeCybertruck) + : undefined; + message.CarTypeSemiTruckV2 = (object.CarTypeSemiTruckV2 !== undefined && object.CarTypeSemiTruckV2 !== null) + ? Void.fromPartial(object.CarTypeSemiTruckV2) + : undefined; + return message; + }, +}; + +function createBaseVehicleConfig_DriverAssist(): VehicleConfig_DriverAssist { + return { + None: undefined, + MonoCam: undefined, + ParkerPascal: undefined, + ParkerPascal25: undefined, + TeslaAP3: undefined, + }; +} + +export const VehicleConfig_DriverAssist: MessageFns = { + encode(message: VehicleConfig_DriverAssist, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); } - if (message.hasPremiumConnectivity !== undefined) { - obj.hasPremiumConnectivity = message.hasPremiumConnectivity; + if (message.MonoCam !== undefined) { + Void.encode(message.MonoCam, writer.uint32(18).fork()).join(); } - if (message.carWrapEnabled !== undefined) { - obj.carWrapEnabled = message.carWrapEnabled; + if (message.ParkerPascal !== undefined) { + Void.encode(message.ParkerPascal, writer.uint32(26).fork()).join(); } - if (message.supportsRideHeight !== undefined) { - obj.supportsRideHeight = message.supportsRideHeight; + if (message.ParkerPascal25 !== undefined) { + Void.encode(message.ParkerPascal25, writer.uint32(34).fork()).join(); } - if (message.supportsSetArrivalEnergy !== undefined) { - obj.supportsSetArrivalEnergy = message.supportsSetArrivalEnergy; + if (message.TeslaAP3 !== undefined) { + Void.encode(message.TeslaAP3, writer.uint32(42).fork()).join(); } - if (message.supportsPillarCameraMetadata !== undefined) { - obj.supportsPillarCameraMetadata = message.supportsPillarCameraMetadata; + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig_DriverAssist { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig_DriverAssist(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.MonoCam = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.ParkerPascal = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.ParkerPascal25 = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.TeslaAP3 = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if (message.chassisType !== undefined) { - obj.chassisType = chassisTypeToJSON(message.chassisType); + return message; + }, + + fromJSON(object: any): VehicleConfig_DriverAssist { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + MonoCam: isSet(object.MonoCam) ? Void.fromJSON(object.MonoCam) : undefined, + ParkerPascal: isSet(object.ParkerPascal) ? Void.fromJSON(object.ParkerPascal) : undefined, + ParkerPascal25: isSet(object.ParkerPascal25) ? Void.fromJSON(object.ParkerPascal25) : undefined, + TeslaAP3: isSet(object.TeslaAP3) ? Void.fromJSON(object.TeslaAP3) : undefined, + }; + }, + + toJSON(message: VehicleConfig_DriverAssist): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); } - if (message.isChinaVehicle !== undefined) { - obj.isChinaVehicle = message.isChinaVehicle; + if (message.MonoCam !== undefined) { + obj.MonoCam = Void.toJSON(message.MonoCam); } - if (message.isUsingUnrealApviz !== undefined) { - obj.isUsingUnrealApviz = message.isUsingUnrealApviz; + if (message.ParkerPascal !== undefined) { + obj.ParkerPascal = Void.toJSON(message.ParkerPascal); } - if (message.supportsFlexibleDashcamBitrate !== undefined) { - obj.supportsFlexibleDashcamBitrate = message.supportsFlexibleDashcamBitrate; + if (message.ParkerPascal25 !== undefined) { + obj.ParkerPascal25 = Void.toJSON(message.ParkerPascal25); } - if (message.frontFasciaCameraType !== undefined) { - obj.frontFasciaCameraType = vehicleConfig_FrontFasciaCameraTypeToJSON(message.frontFasciaCameraType); + if (message.TeslaAP3 !== undefined) { + obj.TeslaAP3 = Void.toJSON(message.TeslaAP3); } - if (message.turnIndicatorControlType !== undefined) { - obj.turnIndicatorControlType = vehicleConfig_TurnIndicatorControlTypeToJSON(message.turnIndicatorControlType); + return obj; + }, + + create, I>>(base?: I): VehicleConfig_DriverAssist { + return VehicleConfig_DriverAssist.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VehicleConfig_DriverAssist { + const message = createBaseVehicleConfig_DriverAssist(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.MonoCam = (object.MonoCam !== undefined && object.MonoCam !== null) + ? Void.fromPartial(object.MonoCam) + : undefined; + message.ParkerPascal = (object.ParkerPascal !== undefined && object.ParkerPascal !== null) + ? Void.fromPartial(object.ParkerPascal) + : undefined; + message.ParkerPascal25 = (object.ParkerPascal25 !== undefined && object.ParkerPascal25 !== null) + ? Void.fromPartial(object.ParkerPascal25) + : undefined; + message.TeslaAP3 = (object.TeslaAP3 !== undefined && object.TeslaAP3 !== null) + ? Void.fromPartial(object.TeslaAP3) + : undefined; + return message; + }, +}; + +function createBaseVehicleConfig_PerformancePackage(): VehicleConfig_PerformancePackage { + return { None: undefined, Base: undefined, Performance: undefined, BasePlus: undefined }; +} + +export const VehicleConfig_PerformancePackage: MessageFns = { + encode(message: VehicleConfig_PerformancePackage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.None !== undefined) { + Void.encode(message.None, writer.uint32(10).fork()).join(); } - if (message.hasRearDisplay !== undefined) { - obj.hasRearDisplay = message.hasRearDisplay; + if (message.Base !== undefined) { + Void.encode(message.Base, writer.uint32(18).fork()).join(); } - if (message.windowTintColor !== undefined) { - obj.windowTintColor = message.windowTintColor; + if (message.Performance !== undefined) { + Void.encode(message.Performance, writer.uint32(26).fork()).join(); } - if (message.interiorUpperTrimType !== undefined) { - obj.interiorUpperTrimType = vehicleConfig_InteriorUpperTrimTypeToJSON(message.interiorUpperTrimType); + if (message.BasePlus !== undefined) { + Void.encode(message.BasePlus, writer.uint32(34).fork()).join(); } - if (message.badgingMaterialType !== undefined) { - obj.badgingMaterialType = vehicleConfig_BadgingMaterialTypeToJSON(message.badgingMaterialType); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig_PerformancePackage { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig_PerformancePackage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.None = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Base = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Performance = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.BasePlus = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if (message.webcamInteriorOnly !== undefined) { - obj.webcamInteriorOnly = message.webcamInteriorOnly; + return message; + }, + + fromJSON(object: any): VehicleConfig_PerformancePackage { + return { + None: isSet(object.None) ? Void.fromJSON(object.None) : undefined, + Base: isSet(object.Base) ? Void.fromJSON(object.Base) : undefined, + Performance: isSet(object.Performance) ? Void.fromJSON(object.Performance) : undefined, + BasePlus: isSet(object.BasePlus) ? Void.fromJSON(object.BasePlus) : undefined, + }; + }, + + toJSON(message: VehicleConfig_PerformancePackage): unknown { + const obj: any = {}; + if (message.None !== undefined) { + obj.None = Void.toJSON(message.None); } - if (message.countryCode !== undefined) { - obj.countryCode = message.countryCode; + if (message.Base !== undefined) { + obj.Base = Void.toJSON(message.Base); } - if (message.bedLightingType !== undefined) { - obj.bedLightingType = vehicleConfig_BedLightingTypeToJSON(message.bedLightingType); + if (message.Performance !== undefined) { + obj.Performance = Void.toJSON(message.Performance); } - if (message.rearLightHardwareVariant !== undefined) { - obj.rearLightHardwareVariant = vehicleConfig_RearLightHardwareVariantToJSON(message.rearLightHardwareVariant); + if (message.BasePlus !== undefined) { + obj.BasePlus = Void.toJSON(message.BasePlus); } - if (message.autopilotBase !== undefined) { - obj.autopilotBase = autopilotBaseToJSON(message.autopilotBase); + return obj; + }, + + create, I>>( + base?: I, + ): VehicleConfig_PerformancePackage { + return VehicleConfig_PerformancePackage.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): VehicleConfig_PerformancePackage { + const message = createBaseVehicleConfig_PerformancePackage(); + message.None = (object.None !== undefined && object.None !== null) ? Void.fromPartial(object.None) : undefined; + message.Base = (object.Base !== undefined && object.Base !== null) ? Void.fromPartial(object.Base) : undefined; + message.Performance = (object.Performance !== undefined && object.Performance !== null) + ? Void.fromPartial(object.Performance) + : undefined; + message.BasePlus = (object.BasePlus !== undefined && object.BasePlus !== null) + ? Void.fromPartial(object.BasePlus) + : undefined; + return message; + }, +}; + +function createBaseVehicleConfig_FrontDriveUnit(): VehicleConfig_FrontDriveUnit { + return { NoneOrSmall: undefined, PermanentMagnet: undefined }; +} + +export const VehicleConfig_FrontDriveUnit: MessageFns = { + encode(message: VehicleConfig_FrontDriveUnit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.NoneOrSmall !== undefined) { + Void.encode(message.NoneOrSmall, writer.uint32(10).fork()).join(); } - if (message.autopilotOverrideState !== undefined) { - obj.autopilotOverrideState = autopilotOverrideStateToJSON(message.autopilotOverrideState); + if (message.PermanentMagnet !== undefined) { + Void.encode(message.PermanentMagnet, writer.uint32(18).fork()).join(); } - if (message.autopilotOverrideExpireTime !== undefined) { - obj.autopilotOverrideExpireTime = Math.round(message.autopilotOverrideExpireTime); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig_FrontDriveUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig_FrontDriveUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.NoneOrSmall = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.PermanentMagnet = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); } - if (message.supportsDynamicEnvironments !== undefined) { - obj.supportsDynamicEnvironments = message.supportsDynamicEnvironments; + return message; + }, + + fromJSON(object: any): VehicleConfig_FrontDriveUnit { + return { + NoneOrSmall: isSet(object.NoneOrSmall) ? Void.fromJSON(object.NoneOrSmall) : undefined, + PermanentMagnet: isSet(object.PermanentMagnet) ? Void.fromJSON(object.PermanentMagnet) : undefined, + }; + }, + + toJSON(message: VehicleConfig_FrontDriveUnit): unknown { + const obj: any = {}; + if (message.NoneOrSmall !== undefined) { + obj.NoneOrSmall = Void.toJSON(message.NoneOrSmall); } - if (message.wheelCapsOn !== undefined) { - obj.wheelCapsOn = message.wheelCapsOn; + if (message.PermanentMagnet !== undefined) { + obj.PermanentMagnet = Void.toJSON(message.PermanentMagnet); } return obj; }, - create, I>>(base?: I): VehicleConfig { - return VehicleConfig.fromPartial(base ?? ({} as any)); + create, I>>(base?: I): VehicleConfig_FrontDriveUnit { + return VehicleConfig_FrontDriveUnit.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): VehicleConfig { - const message = createBaseVehicleConfig(); - message.interiorTrimType = (object.interiorTrimType !== undefined && object.interiorTrimType !== null) - ? VehicleConfig_InteriorTrimType.fromPartial(object.interiorTrimType) + fromPartial, I>>(object: I): VehicleConfig_FrontDriveUnit { + const message = createBaseVehicleConfig_FrontDriveUnit(); + message.NoneOrSmall = (object.NoneOrSmall !== undefined && object.NoneOrSmall !== null) + ? Void.fromPartial(object.NoneOrSmall) : undefined; - message.exteriorTrimType = (object.exteriorTrimType !== undefined && object.exteriorTrimType !== null) - ? VehicleConfig_ExteriorTrimType.fromPartial(object.exteriorTrimType) + message.PermanentMagnet = (object.PermanentMagnet !== undefined && object.PermanentMagnet !== null) + ? Void.fromPartial(object.PermanentMagnet) + : undefined; + return message; + }, +}; + +function createBaseVehicleConfig_SteeringWheelType(): VehicleConfig_SteeringWheelType { + return { Unknown: undefined, Round: undefined, Yoke: undefined, Squircle: undefined }; +} + +export const VehicleConfig_SteeringWheelType: MessageFns = { + encode(message: VehicleConfig_SteeringWheelType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Unknown !== undefined) { + Void.encode(message.Unknown, writer.uint32(10).fork()).join(); + } + if (message.Round !== undefined) { + Void.encode(message.Round, writer.uint32(18).fork()).join(); + } + if (message.Yoke !== undefined) { + Void.encode(message.Yoke, writer.uint32(26).fork()).join(); + } + if (message.Squircle !== undefined) { + Void.encode(message.Squircle, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VehicleConfig_SteeringWheelType { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVehicleConfig_SteeringWheelType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Unknown = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Round = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Yoke = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.Squircle = Void.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VehicleConfig_SteeringWheelType { + return { + Unknown: isSet(object.Unknown) ? Void.fromJSON(object.Unknown) : undefined, + Round: isSet(object.Round) ? Void.fromJSON(object.Round) : undefined, + Yoke: isSet(object.Yoke) ? Void.fromJSON(object.Yoke) : undefined, + Squircle: isSet(object.Squircle) ? Void.fromJSON(object.Squircle) : undefined, + }; + }, + + toJSON(message: VehicleConfig_SteeringWheelType): unknown { + const obj: any = {}; + if (message.Unknown !== undefined) { + obj.Unknown = Void.toJSON(message.Unknown); + } + if (message.Round !== undefined) { + obj.Round = Void.toJSON(message.Round); + } + if (message.Yoke !== undefined) { + obj.Yoke = Void.toJSON(message.Yoke); + } + if (message.Squircle !== undefined) { + obj.Squircle = Void.toJSON(message.Squircle); + } + return obj; + }, + + create, I>>(base?: I): VehicleConfig_SteeringWheelType { + return VehicleConfig_SteeringWheelType.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): VehicleConfig_SteeringWheelType { + const message = createBaseVehicleConfig_SteeringWheelType(); + message.Unknown = (object.Unknown !== undefined && object.Unknown !== null) + ? Void.fromPartial(object.Unknown) + : undefined; + message.Round = (object.Round !== undefined && object.Round !== null) ? Void.fromPartial(object.Round) : undefined; + message.Yoke = (object.Yoke !== undefined && object.Yoke !== null) ? Void.fromPartial(object.Yoke) : undefined; + message.Squircle = (object.Squircle !== undefined && object.Squircle !== null) + ? Void.fromPartial(object.Squircle) : undefined; - message.redBrakeCalipers = object.redBrakeCalipers ?? undefined; - message.useRangeBadging = object.useRangeBadging ?? undefined; - message.rangePlusBadging = object.rangePlusBadging ?? undefined; - message.hasLudicrousMode = object.hasLudicrousMode ?? undefined; - message.canActuateTrunks = object.canActuateTrunks ?? undefined; - message.hasAirSuspension = object.hasAirSuspension ?? undefined; - message.eceRestrictions = object.eceRestrictions ?? undefined; - message.euVehicle = object.euVehicle ?? undefined; - message.motorizedChargePort = object.motorizedChargePort ?? undefined; - message.canAcceptNavigationRequests = object.canAcceptNavigationRequests ?? undefined; - message.keyVersion = object.keyVersion ?? undefined; - message.mobileEnabled = object.mobileEnabled ?? undefined; - message.defaultChargeToMax = object.defaultChargeToMax ?? undefined; - message.steeringWheelHeaterInstalled = object.steeringWheelHeaterInstalled ?? undefined; - message.sentryModeSupported = object.sentryModeSupported ?? undefined; - message.homelinkSupported = object.homelinkSupported ?? undefined; - message.webcamSupported = object.webcamSupported ?? undefined; - message.bioweaponModeSupported = object.bioweaponModeSupported ?? undefined; - message.dashcamClipSaveSupported = object.dashcamClipSaveSupported ?? undefined; - message.hasPws = object.hasPws ?? undefined; - message.utcOffset = object.utcOffset ?? undefined; - message.hasSeatCooling = object.hasSeatCooling ?? undefined; - message.paintColorOverride = object.paintColorOverride ?? undefined; - message.tpmsPressuresSupported = object.tpmsPressuresSupported ?? undefined; - message.vehicleBadging = object.vehicleBadging ?? undefined; - message.exteriorTrimOverride = object.exteriorTrimOverride ?? undefined; - message.headlampType = object.headlampType ?? undefined; - message.auxParkLamps = object.auxParkLamps ?? undefined; - message.isRaven = object.isRaven ?? undefined; - message.hasAutoSeatClimate = object.hasAutoSeatClimate ?? undefined; - message.hasFrontRowSeatHeaters = object.hasFrontRowSeatHeaters ?? undefined; - message.hasThirdRowSeatHeaters = object.hasThirdRowSeatHeaters ?? undefined; - message.supportsQrPairing = object.supportsQrPairing ?? undefined; - message.disableWindowVentClose = object.disableWindowVentClose ?? undefined; - message.webcamSelfieSupported = object.webcamSelfieSupported ?? undefined; - message.copUserSetTempSupported = object.copUserSetTempSupported ?? undefined; - message.hasAutoStwHeat = object.hasAutoStwHeat ?? undefined; - message.rearlightType = object.rearlightType ?? undefined; - message.rearSeatHeaterType = object.rearSeatHeaterType ?? undefined; - message.webcamGridSupported = object.webcamGridSupported ?? undefined; - message.hasTeslaBadge = object.hasTeslaBadge ?? undefined; - message.hasTeslaWordmark = object.hasTeslaWordmark ?? undefined; - message.fasciaType = object.fasciaType ?? undefined; - message.accessoryLightbarType = object.accessoryLightbarType ?? undefined; - message.sentryPreviewSupported = object.sentryPreviewSupported ?? undefined; - message.seatTrimType = object.seatTrimType ?? undefined; - message.drivetrainType = object.drivetrainType ?? undefined; - message.lightshowSupported = object.lightshowSupported ?? undefined; - message.mobileDashcamViewerVersion = object.mobileDashcamViewerVersion ?? undefined; - message.hasPremiumConnectivity = object.hasPremiumConnectivity ?? undefined; - message.carWrapEnabled = object.carWrapEnabled ?? undefined; - message.supportsRideHeight = object.supportsRideHeight ?? undefined; - message.supportsSetArrivalEnergy = object.supportsSetArrivalEnergy ?? undefined; - message.supportsPillarCameraMetadata = object.supportsPillarCameraMetadata ?? undefined; - message.chassisType = object.chassisType ?? undefined; - message.isChinaVehicle = object.isChinaVehicle ?? undefined; - message.isUsingUnrealApviz = object.isUsingUnrealApviz ?? undefined; - message.supportsFlexibleDashcamBitrate = object.supportsFlexibleDashcamBitrate ?? undefined; - message.frontFasciaCameraType = object.frontFasciaCameraType ?? undefined; - message.turnIndicatorControlType = object.turnIndicatorControlType ?? undefined; - message.hasRearDisplay = object.hasRearDisplay ?? undefined; - message.windowTintColor = object.windowTintColor ?? undefined; - message.interiorUpperTrimType = object.interiorUpperTrimType ?? undefined; - message.badgingMaterialType = object.badgingMaterialType ?? undefined; - message.webcamInteriorOnly = object.webcamInteriorOnly ?? undefined; - message.countryCode = object.countryCode ?? undefined; - message.bedLightingType = object.bedLightingType ?? undefined; - message.rearLightHardwareVariant = object.rearLightHardwareVariant ?? undefined; - message.autopilotBase = object.autopilotBase ?? 0; - message.autopilotOverrideState = object.autopilotOverrideState ?? 0; - message.autopilotOverrideExpireTime = object.autopilotOverrideExpireTime ?? undefined; - message.supportsDynamicEnvironments = object.supportsDynamicEnvironments ?? undefined; - message.wheelCapsOn = object.wheelCapsOn ?? undefined; return message; }, }; function createBaseVehicleConfig_InteriorTrimType(): VehicleConfig_InteriorTrimType { return { + UNKNOWN: undefined, + BLACK: undefined, + WHITE: undefined, BLACKCONSOLE2: undefined, WHITECONSOLE2: undefined, ALLBLACK: undefined, BLACKANDWHITE: undefined, + CREAM: undefined, WALNUTCREAM: undefined, WALNUTWHITE: undefined, EBONYBLACK: undefined, @@ -19147,6 +26805,15 @@ function createBaseVehicleConfig_InteriorTrimType(): VehicleConfig_InteriorTrimT export const VehicleConfig_InteriorTrimType: MessageFns = { encode(message: VehicleConfig_InteriorTrimType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.UNKNOWN !== undefined) { + Void.encode(message.UNKNOWN, writer.uint32(26).fork()).join(); + } + if (message.BLACK !== undefined) { + Void.encode(message.BLACK, writer.uint32(34).fork()).join(); + } + if (message.WHITE !== undefined) { + Void.encode(message.WHITE, writer.uint32(42).fork()).join(); + } if (message.BLACKCONSOLE2 !== undefined) { Void.encode(message.BLACKCONSOLE2, writer.uint32(50).fork()).join(); } @@ -19159,6 +26826,9 @@ export const VehicleConfig_InteriorTrimType: MessageFns>> 3) { + case 3: { + if (tag !== 26) { + break; + } + + message.UNKNOWN = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.BLACK = Void.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.WHITE = Void.decode(reader, reader.uint32()); + continue; + } case 6: { if (tag !== 50) { break; @@ -19222,6 +26916,14 @@ export const VehicleConfig_InteriorTrimType: MessageFns = { encode(message: VehicleConfig_ExteriorTrimType, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.UNKNOWN !== undefined) { + Void.encode(message.UNKNOWN, writer.uint32(18).fork()).join(); + } if (message.STANDARDCHROME !== undefined) { Void.encode(message.STANDARDCHROME, writer.uint32(26).fork()).join(); } @@ -19407,6 +27134,14 @@ export const VehicleConfig_ExteriorTrimType: MessageFns>> 3) { + case 2: { + if (tag !== 18) { + break; + } + + message.UNKNOWN = Void.decode(reader, reader.uint32()); + continue; + } case 3: { if (tag !== 26) { break; @@ -19434,6 +27169,7 @@ export const VehicleConfig_ExteriorTrimType: MessageFns = { }; function createBaseSohState_SohTestPhase(): SohState_SohTestPhase { - return {}; + return { Discharge: undefined, DischargeRest: undefined, Charge: undefined, ChargeRest: undefined }; } export const SohState_SohTestPhase: MessageFns = { - encode(_: SohState_SohTestPhase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: SohState_SohTestPhase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Discharge !== undefined) { + Void.encode(message.Discharge, writer.uint32(10).fork()).join(); + } + if (message.DischargeRest !== undefined) { + Void.encode(message.DischargeRest, writer.uint32(18).fork()).join(); + } + if (message.Charge !== undefined) { + Void.encode(message.Charge, writer.uint32(26).fork()).join(); + } + if (message.ChargeRest !== undefined) { + Void.encode(message.ChargeRest, writer.uint32(34).fork()).join(); + } return writer; }, @@ -19942,6 +27696,38 @@ export const SohState_SohTestPhase: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Discharge = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.DischargeRest = Void.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.Charge = Void.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.ChargeRest = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -19951,30 +27737,65 @@ export const SohState_SohTestPhase: MessageFns = { return message; }, - fromJSON(_: any): SohState_SohTestPhase { - return {}; + fromJSON(object: any): SohState_SohTestPhase { + return { + Discharge: isSet(object.Discharge) ? Void.fromJSON(object.Discharge) : undefined, + DischargeRest: isSet(object.DischargeRest) ? Void.fromJSON(object.DischargeRest) : undefined, + Charge: isSet(object.Charge) ? Void.fromJSON(object.Charge) : undefined, + ChargeRest: isSet(object.ChargeRest) ? Void.fromJSON(object.ChargeRest) : undefined, + }; }, - toJSON(_: SohState_SohTestPhase): unknown { + toJSON(message: SohState_SohTestPhase): unknown { const obj: any = {}; + if (message.Discharge !== undefined) { + obj.Discharge = Void.toJSON(message.Discharge); + } + if (message.DischargeRest !== undefined) { + obj.DischargeRest = Void.toJSON(message.DischargeRest); + } + if (message.Charge !== undefined) { + obj.Charge = Void.toJSON(message.Charge); + } + if (message.ChargeRest !== undefined) { + obj.ChargeRest = Void.toJSON(message.ChargeRest); + } return obj; }, create, I>>(base?: I): SohState_SohTestPhase { return SohState_SohTestPhase.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): SohState_SohTestPhase { + fromPartial, I>>(object: I): SohState_SohTestPhase { const message = createBaseSohState_SohTestPhase(); + message.Discharge = (object.Discharge !== undefined && object.Discharge !== null) + ? Void.fromPartial(object.Discharge) + : undefined; + message.DischargeRest = (object.DischargeRest !== undefined && object.DischargeRest !== null) + ? Void.fromPartial(object.DischargeRest) + : undefined; + message.Charge = (object.Charge !== undefined && object.Charge !== null) + ? Void.fromPartial(object.Charge) + : undefined; + message.ChargeRest = (object.ChargeRest !== undefined && object.ChargeRest !== null) + ? Void.fromPartial(object.ChargeRest) + : undefined; return message; }, }; function createBaseSohState_SohTestEndMode(): SohState_SohTestEndMode { - return {}; + return { Complete: undefined, Failed: undefined }; } export const SohState_SohTestEndMode: MessageFns = { - encode(_: SohState_SohTestEndMode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: SohState_SohTestEndMode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.Complete !== undefined) { + Void.encode(message.Complete, writer.uint32(10).fork()).join(); + } + if (message.Failed !== undefined) { + Void.encode(message.Failed, writer.uint32(18).fork()).join(); + } return writer; }, @@ -19985,6 +27806,22 @@ export const SohState_SohTestEndMode: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.Complete = Void.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.Failed = Void.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -19994,20 +27831,35 @@ export const SohState_SohTestEndMode: MessageFns = { return message; }, - fromJSON(_: any): SohState_SohTestEndMode { - return {}; + fromJSON(object: any): SohState_SohTestEndMode { + return { + Complete: isSet(object.Complete) ? Void.fromJSON(object.Complete) : undefined, + Failed: isSet(object.Failed) ? Void.fromJSON(object.Failed) : undefined, + }; }, - toJSON(_: SohState_SohTestEndMode): unknown { + toJSON(message: SohState_SohTestEndMode): unknown { const obj: any = {}; + if (message.Complete !== undefined) { + obj.Complete = Void.toJSON(message.Complete); + } + if (message.Failed !== undefined) { + obj.Failed = Void.toJSON(message.Failed); + } return obj; }, create, I>>(base?: I): SohState_SohTestEndMode { return SohState_SohTestEndMode.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): SohState_SohTestEndMode { + fromPartial, I>>(object: I): SohState_SohTestEndMode { const message = createBaseSohState_SohTestEndMode(); + message.Complete = (object.Complete !== undefined && object.Complete !== null) + ? Void.fromPartial(object.Complete) + : undefined; + message.Failed = (object.Failed !== undefined && object.Failed !== null) + ? Void.fromPartial(object.Failed) + : undefined; return message; }, }; @@ -20108,7 +27960,7 @@ export const SohState_SohTestState: MessageFns = { function createBaseSohState_SohResult(): SohState_SohResult { return { - field3: undefined, + soh: undefined, sohCalibrated: undefined, sohLastTestTime: undefined, sohHealthResult: undefined, @@ -20119,8 +27971,8 @@ function createBaseSohState_SohResult(): SohState_SohResult { export const SohState_SohResult: MessageFns = { encode(message: SohState_SohResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.field3 !== undefined) { - writer.uint32(29).float(message.field3); + if (message.soh !== undefined) { + writer.uint32(29).float(message.soh); } if (message.sohCalibrated !== undefined) { writer.uint32(32).bool(message.sohCalibrated); @@ -20152,7 +28004,7 @@ export const SohState_SohResult: MessageFns = { break; } - message.field3 = reader.float(); + message.soh = reader.float(); continue; } case 4: { @@ -20206,7 +28058,7 @@ export const SohState_SohResult: MessageFns = { fromJSON(object: any): SohState_SohResult { return { - field3: isSet(object.field3) ? globalThis.Number(object.field3) : undefined, + soh: isSet(object.soh) ? globalThis.Number(object.soh) : undefined, sohCalibrated: isSet(object.sohCalibrated) ? globalThis.Boolean(object.sohCalibrated) : undefined, sohLastTestTime: isSet(object.sohLastTestTime) ? globalThis.Number(object.sohLastTestTime) : undefined, sohHealthResult: isSet(object.sohHealthResult) @@ -20221,8 +28073,8 @@ export const SohState_SohResult: MessageFns = { toJSON(message: SohState_SohResult): unknown { const obj: any = {}; - if (message.field3 !== undefined) { - obj.field3 = message.field3; + if (message.soh !== undefined) { + obj.soh = message.soh; } if (message.sohCalibrated !== undefined) { obj.sohCalibrated = message.sohCalibrated; @@ -20247,7 +28099,7 @@ export const SohState_SohResult: MessageFns = { }, fromPartial, I>>(object: I): SohState_SohResult { const message = createBaseSohState_SohResult(); - message.field3 = object.field3 ?? undefined; + message.soh = object.soh ?? undefined; message.sohCalibrated = object.sohCalibrated ?? undefined; message.sohLastTestTime = object.sohLastTestTime ?? undefined; message.sohHealthResult = object.sohHealthResult ?? undefined; @@ -21603,6 +29455,102 @@ export const VehicleDetailState: MessageFns = { }, }; +function createBaseKeepOnAccessoryPortsState(): KeepOnAccessoryPortsState { + return { keepOnCabin12vPortRequest: undefined, keepOnCabin48vPortRequest: undefined, timestamp: undefined }; +} + +export const KeepOnAccessoryPortsState: MessageFns = { + encode(message: KeepOnAccessoryPortsState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.keepOnCabin12vPortRequest !== undefined) { + writer.uint32(8).int32(message.keepOnCabin12vPortRequest); + } + if (message.keepOnCabin48vPortRequest !== undefined) { + writer.uint32(16).int32(message.keepOnCabin48vPortRequest); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(16002).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): KeepOnAccessoryPortsState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseKeepOnAccessoryPortsState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.keepOnCabin12vPortRequest = reader.int32() as any; + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.keepOnCabin48vPortRequest = reader.int32() as any; + continue; + } + case 2000: { + if (tag !== 16002) { + break; + } + + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): KeepOnAccessoryPortsState { + return { + keepOnCabin12vPortRequest: isSet(object.keepOnCabin12vPortRequest) + ? keepOnAccessoryPortRequestFromJSON(object.keepOnCabin12vPortRequest) + : undefined, + keepOnCabin48vPortRequest: isSet(object.keepOnCabin48vPortRequest) + ? keepOnAccessoryPortRequestFromJSON(object.keepOnCabin48vPortRequest) + : undefined, + timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, + }; + }, + + toJSON(message: KeepOnAccessoryPortsState): unknown { + const obj: any = {}; + if (message.keepOnCabin12vPortRequest !== undefined) { + obj.keepOnCabin12vPortRequest = keepOnAccessoryPortRequestToJSON(message.keepOnCabin12vPortRequest); + } + if (message.keepOnCabin48vPortRequest !== undefined) { + obj.keepOnCabin48vPortRequest = keepOnAccessoryPortRequestToJSON(message.keepOnCabin48vPortRequest); + } + if (message.timestamp !== undefined) { + obj.timestamp = message.timestamp.toISOString(); + } + return obj; + }, + + create, I>>(base?: I): KeepOnAccessoryPortsState { + return KeepOnAccessoryPortsState.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): KeepOnAccessoryPortsState { + const message = createBaseKeepOnAccessoryPortsState(); + message.keepOnCabin12vPortRequest = object.keepOnCabin12vPortRequest ?? undefined; + message.keepOnCabin48vPortRequest = object.keepOnCabin48vPortRequest ?? undefined; + message.timestamp = object.timestamp ?? undefined; + return message; + }, +}; + function bytesFromBase64(b64: string): Uint8Array { if ((globalThis as any).Buffer) { return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); diff --git a/packages/typescript/src/energy_device/common_api.ts b/packages/typescript/src/energy_device/common_api.ts index e9ec14f..fb17351 100644 --- a/packages/typescript/src/energy_device/common_api.ts +++ b/packages/typescript/src/energy_device/common_api.ts @@ -30,6 +30,13 @@ import { wifiNetworkSecurityTypeFromJSON, wifiNetworkSecurityTypeToJSON, } from "./networking.js"; +import { + AssetSiteUuidOfDeviceResponse, + RegistrationRequest, + RegistrationResponse, + SiteSuggestionRequest, + SiteSuggestionResponse, +} from "./registration_api.js"; import { AcceptedPackage, FirmwareVersion, LocallyAvailablePackage, SystemUpdate } from "./update.js"; export const protobufPackage = "tesla.proto.energy_device.v1"; @@ -48,10 +55,6 @@ export interface ComplianceInformation { radioLegalInformation: RadioLegalInformation[]; } -/** - * Tags 8 and 9 carry bytes. One of them is installed_firmware_signature; - * which one is not known, so both stay unmodelled. - */ export interface CommonAPIGetSystemInfoResponse { deviceId: EcuId | undefined; din: string; @@ -59,6 +62,8 @@ export interface CommonAPIGetSystemInfoResponse { systemUpdate: SystemUpdate | undefined; deviceType: DeviceType; complianceInformation: ComplianceInformation | undefined; + installedFirmwareSignature: Uint8Array; + offlineFirmwareSignature: Uint8Array; } export interface CommonAPISetLocalSiteConfigRequest { @@ -242,6 +247,31 @@ export interface CommonAPIGetTcpdumpInfoResponse { diskQuota: number; } +export interface CommonAPIRegisterRequest { + request: RegistrationRequest | undefined; +} + +export interface CommonAPIRegisterResponse { + /** may be an enum; values not yet known */ + failure: number; + response: RegistrationResponse | undefined; +} + +export interface CommonAPIRetrieveSiteUuidRequest { +} + +export interface CommonAPIRetrieveSiteUuidResponse { + response: AssetSiteUuidOfDeviceResponse | undefined; +} + +export interface CommonAPIRetrieveSiteSuggestionRequest { + request: SiteSuggestionRequest | undefined; +} + +export interface CommonAPIRetrieveSiteSuggestionResponse { + response: SiteSuggestionResponse | undefined; +} + export interface CommonMessages { errorResponse: ErrorResponse | undefined; getSystemInfoRequest?: CommonAPIGetSystemInfoRequest | undefined; @@ -290,16 +320,12 @@ export interface CommonMessages { performUpdateFromLocallyAvailablePackagesResponse?: | CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse | undefined; - /** - * Tags 40-45 carry request/response payloads whose bodies are types from a - * separate, not-yet-modeled proto package; left unmodeled here. - * CommonAPIRegisterRequest registration_request = 40; - * CommonAPIRegisterResponse registration_response = 41; - * CommonAPIRetrieveSiteUuidRequest retrieve_site_uuid_request = 42; - * CommonAPIRetrieveSiteUuidResponse retrieve_site_uuid_response = 43; - * CommonAPIRetrieveSiteSuggestionRequest retrieve_site_suggestion_request = 44; - * CommonAPIRetrieveSiteSuggestionResponse retrieve_site_suggestion_response = 45; - */ + registerRequest?: CommonAPIRegisterRequest | undefined; + registerResponse?: CommonAPIRegisterResponse | undefined; + retrieveSiteUuidRequest?: CommonAPIRetrieveSiteUuidRequest | undefined; + retrieveSiteUuidResponse?: CommonAPIRetrieveSiteUuidResponse | undefined; + retrieveSiteSuggestionRequest?: CommonAPIRetrieveSiteSuggestionRequest | undefined; + retrieveSiteSuggestionResponse?: CommonAPIRetrieveSiteSuggestionResponse | undefined; startTcpdumpRequest?: CommonAPIStartTcpdumpRequest | undefined; startTcpdumpResponse?: CommonAPIStartTcpdumpResponse | undefined; stopTcpdumpRequest?: CommonAPIStopTcpdumpRequest | undefined; @@ -530,6 +556,8 @@ function createBaseCommonAPIGetSystemInfoResponse(): CommonAPIGetSystemInfoRespo systemUpdate: undefined, deviceType: 0, complianceInformation: undefined, + installedFirmwareSignature: new Uint8Array(0), + offlineFirmwareSignature: new Uint8Array(0), }; } @@ -553,6 +581,12 @@ export const CommonAPIGetSystemInfoResponse: MessageFns = { + encode(message: CommonAPIRegisterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + RegistrationRequest.encode(message.request, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRegisterRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRegisterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = RegistrationRequest.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommonAPIRegisterRequest { + return { request: isSet(object.request) ? RegistrationRequest.fromJSON(object.request) : undefined }; + }, + + toJSON(message: CommonAPIRegisterRequest): unknown { + const obj: any = {}; + if (message.request !== undefined) { + obj.request = RegistrationRequest.toJSON(message.request); + } + return obj; + }, + + create, I>>(base?: I): CommonAPIRegisterRequest { + return CommonAPIRegisterRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommonAPIRegisterRequest { + const message = createBaseCommonAPIRegisterRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? RegistrationRequest.fromPartial(object.request) + : undefined; + return message; + }, +}; + +function createBaseCommonAPIRegisterResponse(): CommonAPIRegisterResponse { + return { failure: 0, response: undefined }; +} + +export const CommonAPIRegisterResponse: MessageFns = { + encode(message: CommonAPIRegisterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.failure !== 0) { + writer.uint32(8).int32(message.failure); + } + if (message.response !== undefined) { + RegistrationResponse.encode(message.response, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRegisterResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRegisterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.failure = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.response = RegistrationResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommonAPIRegisterResponse { + return { + failure: isSet(object.failure) ? globalThis.Number(object.failure) : 0, + response: isSet(object.response) ? RegistrationResponse.fromJSON(object.response) : undefined, + }; + }, + + toJSON(message: CommonAPIRegisterResponse): unknown { + const obj: any = {}; + if (message.failure !== undefined) { + obj.failure = Math.round(message.failure); + } + if (message.response !== undefined) { + obj.response = RegistrationResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>(base?: I): CommonAPIRegisterResponse { + return CommonAPIRegisterResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommonAPIRegisterResponse { + const message = createBaseCommonAPIRegisterResponse(); + message.failure = object.failure ?? 0; + message.response = (object.response !== undefined && object.response !== null) + ? RegistrationResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + +function createBaseCommonAPIRetrieveSiteUuidRequest(): CommonAPIRetrieveSiteUuidRequest { + return {}; +} + +export const CommonAPIRetrieveSiteUuidRequest: MessageFns = { + encode(_: CommonAPIRetrieveSiteUuidRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRetrieveSiteUuidRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRetrieveSiteUuidRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): CommonAPIRetrieveSiteUuidRequest { + return {}; + }, + + toJSON(_: CommonAPIRetrieveSiteUuidRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): CommonAPIRetrieveSiteUuidRequest { + return CommonAPIRetrieveSiteUuidRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): CommonAPIRetrieveSiteUuidRequest { + const message = createBaseCommonAPIRetrieveSiteUuidRequest(); + return message; + }, +}; + +function createBaseCommonAPIRetrieveSiteUuidResponse(): CommonAPIRetrieveSiteUuidResponse { + return { response: undefined }; +} + +export const CommonAPIRetrieveSiteUuidResponse: MessageFns = { + encode(message: CommonAPIRetrieveSiteUuidResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response !== undefined) { + AssetSiteUuidOfDeviceResponse.encode(message.response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRetrieveSiteUuidResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRetrieveSiteUuidResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = AssetSiteUuidOfDeviceResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommonAPIRetrieveSiteUuidResponse { + return { response: isSet(object.response) ? AssetSiteUuidOfDeviceResponse.fromJSON(object.response) : undefined }; + }, + + toJSON(message: CommonAPIRetrieveSiteUuidResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = AssetSiteUuidOfDeviceResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>( + base?: I, + ): CommonAPIRetrieveSiteUuidResponse { + return CommonAPIRetrieveSiteUuidResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CommonAPIRetrieveSiteUuidResponse { + const message = createBaseCommonAPIRetrieveSiteUuidResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? AssetSiteUuidOfDeviceResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + +function createBaseCommonAPIRetrieveSiteSuggestionRequest(): CommonAPIRetrieveSiteSuggestionRequest { + return { request: undefined }; +} + +export const CommonAPIRetrieveSiteSuggestionRequest: MessageFns = { + encode(message: CommonAPIRetrieveSiteSuggestionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + SiteSuggestionRequest.encode(message.request, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRetrieveSiteSuggestionRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRetrieveSiteSuggestionRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = SiteSuggestionRequest.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommonAPIRetrieveSiteSuggestionRequest { + return { request: isSet(object.request) ? SiteSuggestionRequest.fromJSON(object.request) : undefined }; + }, + + toJSON(message: CommonAPIRetrieveSiteSuggestionRequest): unknown { + const obj: any = {}; + if (message.request !== undefined) { + obj.request = SiteSuggestionRequest.toJSON(message.request); + } + return obj; + }, + + create, I>>( + base?: I, + ): CommonAPIRetrieveSiteSuggestionRequest { + return CommonAPIRetrieveSiteSuggestionRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CommonAPIRetrieveSiteSuggestionRequest { + const message = createBaseCommonAPIRetrieveSiteSuggestionRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? SiteSuggestionRequest.fromPartial(object.request) + : undefined; + return message; + }, +}; + +function createBaseCommonAPIRetrieveSiteSuggestionResponse(): CommonAPIRetrieveSiteSuggestionResponse { + return { response: undefined }; +} + +export const CommonAPIRetrieveSiteSuggestionResponse: MessageFns = { + encode(message: CommonAPIRetrieveSiteSuggestionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response !== undefined) { + SiteSuggestionResponse.encode(message.response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommonAPIRetrieveSiteSuggestionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommonAPIRetrieveSiteSuggestionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = SiteSuggestionResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommonAPIRetrieveSiteSuggestionResponse { + return { response: isSet(object.response) ? SiteSuggestionResponse.fromJSON(object.response) : undefined }; + }, + + toJSON(message: CommonAPIRetrieveSiteSuggestionResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = SiteSuggestionResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>( + base?: I, + ): CommonAPIRetrieveSiteSuggestionResponse { + return CommonAPIRetrieveSiteSuggestionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CommonAPIRetrieveSiteSuggestionResponse { + const message = createBaseCommonAPIRetrieveSiteSuggestionResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? SiteSuggestionResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + function createBaseCommonMessages(): CommonMessages { return { errorResponse: undefined, @@ -3648,6 +4089,12 @@ function createBaseCommonMessages(): CommonMessages { prepareRegistrationPayloadResponse: undefined, performUpdateFromLocallyAvailablePackagesRequest: undefined, performUpdateFromLocallyAvailablePackagesResponse: undefined, + registerRequest: undefined, + registerResponse: undefined, + retrieveSiteUuidRequest: undefined, + retrieveSiteUuidResponse: undefined, + retrieveSiteSuggestionRequest: undefined, + retrieveSiteSuggestionResponse: undefined, startTcpdumpRequest: undefined, startTcpdumpResponse: undefined, stopTcpdumpRequest: undefined, @@ -3803,6 +4250,26 @@ export const CommonMessages: MessageFns = { writer.uint32(314).fork(), ).join(); } + if (message.registerRequest !== undefined) { + CommonAPIRegisterRequest.encode(message.registerRequest, writer.uint32(322).fork()).join(); + } + if (message.registerResponse !== undefined) { + CommonAPIRegisterResponse.encode(message.registerResponse, writer.uint32(330).fork()).join(); + } + if (message.retrieveSiteUuidRequest !== undefined) { + CommonAPIRetrieveSiteUuidRequest.encode(message.retrieveSiteUuidRequest, writer.uint32(338).fork()).join(); + } + if (message.retrieveSiteUuidResponse !== undefined) { + CommonAPIRetrieveSiteUuidResponse.encode(message.retrieveSiteUuidResponse, writer.uint32(346).fork()).join(); + } + if (message.retrieveSiteSuggestionRequest !== undefined) { + CommonAPIRetrieveSiteSuggestionRequest.encode(message.retrieveSiteSuggestionRequest, writer.uint32(354).fork()) + .join(); + } + if (message.retrieveSiteSuggestionResponse !== undefined) { + CommonAPIRetrieveSiteSuggestionResponse.encode(message.retrieveSiteSuggestionResponse, writer.uint32(362).fork()) + .join(); + } if (message.startTcpdumpRequest !== undefined) { CommonAPIStartTcpdumpRequest.encode(message.startTcpdumpRequest, writer.uint32(370).fork()).join(); } @@ -4160,6 +4627,60 @@ export const CommonMessages: MessageFns = { CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse.decode(reader, reader.uint32()); continue; } + case 40: { + if (tag !== 322) { + break; + } + + message.registerRequest = CommonAPIRegisterRequest.decode(reader, reader.uint32()); + continue; + } + case 41: { + if (tag !== 330) { + break; + } + + message.registerResponse = CommonAPIRegisterResponse.decode(reader, reader.uint32()); + continue; + } + case 42: { + if (tag !== 338) { + break; + } + + message.retrieveSiteUuidRequest = CommonAPIRetrieveSiteUuidRequest.decode(reader, reader.uint32()); + continue; + } + case 43: { + if (tag !== 346) { + break; + } + + message.retrieveSiteUuidResponse = CommonAPIRetrieveSiteUuidResponse.decode(reader, reader.uint32()); + continue; + } + case 44: { + if (tag !== 354) { + break; + } + + message.retrieveSiteSuggestionRequest = CommonAPIRetrieveSiteSuggestionRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 45: { + if (tag !== 362) { + break; + } + + message.retrieveSiteSuggestionResponse = CommonAPIRetrieveSiteSuggestionResponse.decode( + reader, + reader.uint32(), + ); + continue; + } case 46: { if (tag !== 370) { break; @@ -4346,6 +4867,24 @@ export const CommonMessages: MessageFns = { object.performUpdateFromLocallyAvailablePackagesResponse, ) : undefined, + registerRequest: isSet(object.registerRequest) + ? CommonAPIRegisterRequest.fromJSON(object.registerRequest) + : undefined, + registerResponse: isSet(object.registerResponse) + ? CommonAPIRegisterResponse.fromJSON(object.registerResponse) + : undefined, + retrieveSiteUuidRequest: isSet(object.retrieveSiteUuidRequest) + ? CommonAPIRetrieveSiteUuidRequest.fromJSON(object.retrieveSiteUuidRequest) + : undefined, + retrieveSiteUuidResponse: isSet(object.retrieveSiteUuidResponse) + ? CommonAPIRetrieveSiteUuidResponse.fromJSON(object.retrieveSiteUuidResponse) + : undefined, + retrieveSiteSuggestionRequest: isSet(object.retrieveSiteSuggestionRequest) + ? CommonAPIRetrieveSiteSuggestionRequest.fromJSON(object.retrieveSiteSuggestionRequest) + : undefined, + retrieveSiteSuggestionResponse: isSet(object.retrieveSiteSuggestionResponse) + ? CommonAPIRetrieveSiteSuggestionResponse.fromJSON(object.retrieveSiteSuggestionResponse) + : undefined, startTcpdumpRequest: isSet(object.startTcpdumpRequest) ? CommonAPIStartTcpdumpRequest.fromJSON(object.startTcpdumpRequest) : undefined, @@ -4508,6 +5047,28 @@ export const CommonMessages: MessageFns = { obj.performUpdateFromLocallyAvailablePackagesResponse = CommonAPIPerformUpdateFromLocallyAvailablePackagesResponse .toJSON(message.performUpdateFromLocallyAvailablePackagesResponse); } + if (message.registerRequest !== undefined) { + obj.registerRequest = CommonAPIRegisterRequest.toJSON(message.registerRequest); + } + if (message.registerResponse !== undefined) { + obj.registerResponse = CommonAPIRegisterResponse.toJSON(message.registerResponse); + } + if (message.retrieveSiteUuidRequest !== undefined) { + obj.retrieveSiteUuidRequest = CommonAPIRetrieveSiteUuidRequest.toJSON(message.retrieveSiteUuidRequest); + } + if (message.retrieveSiteUuidResponse !== undefined) { + obj.retrieveSiteUuidResponse = CommonAPIRetrieveSiteUuidResponse.toJSON(message.retrieveSiteUuidResponse); + } + if (message.retrieveSiteSuggestionRequest !== undefined) { + obj.retrieveSiteSuggestionRequest = CommonAPIRetrieveSiteSuggestionRequest.toJSON( + message.retrieveSiteSuggestionRequest, + ); + } + if (message.retrieveSiteSuggestionResponse !== undefined) { + obj.retrieveSiteSuggestionResponse = CommonAPIRetrieveSiteSuggestionResponse.toJSON( + message.retrieveSiteSuggestionResponse, + ); + } if (message.startTcpdumpRequest !== undefined) { obj.startTcpdumpRequest = CommonAPIStartTcpdumpRequest.toJSON(message.startTcpdumpRequest); } @@ -4695,6 +5256,28 @@ export const CommonMessages: MessageFns = { object.performUpdateFromLocallyAvailablePackagesResponse, ) : undefined; + message.registerRequest = (object.registerRequest !== undefined && object.registerRequest !== null) + ? CommonAPIRegisterRequest.fromPartial(object.registerRequest) + : undefined; + message.registerResponse = (object.registerResponse !== undefined && object.registerResponse !== null) + ? CommonAPIRegisterResponse.fromPartial(object.registerResponse) + : undefined; + message.retrieveSiteUuidRequest = + (object.retrieveSiteUuidRequest !== undefined && object.retrieveSiteUuidRequest !== null) + ? CommonAPIRetrieveSiteUuidRequest.fromPartial(object.retrieveSiteUuidRequest) + : undefined; + message.retrieveSiteUuidResponse = + (object.retrieveSiteUuidResponse !== undefined && object.retrieveSiteUuidResponse !== null) + ? CommonAPIRetrieveSiteUuidResponse.fromPartial(object.retrieveSiteUuidResponse) + : undefined; + message.retrieveSiteSuggestionRequest = + (object.retrieveSiteSuggestionRequest !== undefined && object.retrieveSiteSuggestionRequest !== null) + ? CommonAPIRetrieveSiteSuggestionRequest.fromPartial(object.retrieveSiteSuggestionRequest) + : undefined; + message.retrieveSiteSuggestionResponse = + (object.retrieveSiteSuggestionResponse !== undefined && object.retrieveSiteSuggestionResponse !== null) + ? CommonAPIRetrieveSiteSuggestionResponse.fromPartial(object.retrieveSiteSuggestionResponse) + : undefined; message.startTcpdumpRequest = (object.startTcpdumpRequest !== undefined && object.startTcpdumpRequest !== null) ? CommonAPIStartTcpdumpRequest.fromPartial(object.startTcpdumpRequest) : undefined; diff --git a/packages/typescript/src/energy_device/registration_api.ts b/packages/typescript/src/energy_device/registration_api.ts new file mode 100644 index 0000000..73b9347 --- /dev/null +++ b/packages/typescript/src/energy_device/registration_api.ts @@ -0,0 +1,4279 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.7.7 +// protoc v6.33.5 +// source: registration_api.proto + +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { DeviceSignedPayload, UUIDv4 } from "./device.js"; +import { Timestamp } from "./google/protobuf/timestamp.js"; +import { BoolValue, FloatValue, Int32Value, StringValue } from "./google/protobuf/wrappers.js"; +import { FirmwareVersion } from "./update.js"; + +export const protobufPackage = "tesla.proto.energy_device.v1"; + +export enum ProjectAccessType { + PROJECT_ACCESS_TYPE_INVALID = 0, + PROJECT_ACCESS_TYPE_SERVICE = 1, + PROJECT_ACCESS_TYPE_MANUFACTURING = 2, + PROJECT_ACCESS_TYPE_ENGINEERING = 3, + PROJECT_ACCESS_TYPE_PRIVATE = 4, + PROJECT_ACCESS_TYPE_PUBLIC = 5, + UNRECOGNIZED = -1, +} + +export function projectAccessTypeFromJSON(object: any): ProjectAccessType { + switch (object) { + case 0: + case "PROJECT_ACCESS_TYPE_INVALID": + return ProjectAccessType.PROJECT_ACCESS_TYPE_INVALID; + case 1: + case "PROJECT_ACCESS_TYPE_SERVICE": + return ProjectAccessType.PROJECT_ACCESS_TYPE_SERVICE; + case 2: + case "PROJECT_ACCESS_TYPE_MANUFACTURING": + return ProjectAccessType.PROJECT_ACCESS_TYPE_MANUFACTURING; + case 3: + case "PROJECT_ACCESS_TYPE_ENGINEERING": + return ProjectAccessType.PROJECT_ACCESS_TYPE_ENGINEERING; + case 4: + case "PROJECT_ACCESS_TYPE_PRIVATE": + return ProjectAccessType.PROJECT_ACCESS_TYPE_PRIVATE; + case 5: + case "PROJECT_ACCESS_TYPE_PUBLIC": + return ProjectAccessType.PROJECT_ACCESS_TYPE_PUBLIC; + case -1: + case "UNRECOGNIZED": + default: + return ProjectAccessType.UNRECOGNIZED; + } +} + +export function projectAccessTypeToJSON(object: ProjectAccessType): string { + switch (object) { + case ProjectAccessType.PROJECT_ACCESS_TYPE_INVALID: + return "PROJECT_ACCESS_TYPE_INVALID"; + case ProjectAccessType.PROJECT_ACCESS_TYPE_SERVICE: + return "PROJECT_ACCESS_TYPE_SERVICE"; + case ProjectAccessType.PROJECT_ACCESS_TYPE_MANUFACTURING: + return "PROJECT_ACCESS_TYPE_MANUFACTURING"; + case ProjectAccessType.PROJECT_ACCESS_TYPE_ENGINEERING: + return "PROJECT_ACCESS_TYPE_ENGINEERING"; + case ProjectAccessType.PROJECT_ACCESS_TYPE_PRIVATE: + return "PROJECT_ACCESS_TYPE_PRIVATE"; + case ProjectAccessType.PROJECT_ACCESS_TYPE_PUBLIC: + return "PROJECT_ACCESS_TYPE_PUBLIC"; + case ProjectAccessType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum PropertyType { + PROPERTY_TYPE_INVALID = 0, + PROPERTY_TYPE_SHOPPING_MALL_CENTER = 1, + PROPERTY_TYPE_RESTAURANT = 2, + PROPERTY_TYPE_GAS_STATION = 3, + PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA = 4, + PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX = 5, + PROPERTY_TYPE_GROCERY_STORE = 6, + PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER = 7, + PROPERTY_TYPE_OFFICE = 8, + PROPERTY_TYPE_RESIDENTIAL_BUILDING = 9, + PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT = 10, + PROPERTY_TYPE_BANK = 11, + PROPERTY_TYPE_AIRPORT = 12, + PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY = 13, + PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION = 14, + PROPERTY_TYPE_UNIVERSITY_SCHOOL = 15, + PROPERTY_TYPE_WINERY = 16, + PROPERTY_TYPE_AUTOMOTIVE = 17, + PROPERTY_TYPE_MIXED_USE = 18, + PROPERTY_TYPE_RECREATION = 19, + PROPERTY_TYPE_RENTAL_PROPERTY = 20, + PROPERTY_TYPE_WORKPLACE = 21, + UNRECOGNIZED = -1, +} + +export function propertyTypeFromJSON(object: any): PropertyType { + switch (object) { + case 0: + case "PROPERTY_TYPE_INVALID": + return PropertyType.PROPERTY_TYPE_INVALID; + case 1: + case "PROPERTY_TYPE_SHOPPING_MALL_CENTER": + return PropertyType.PROPERTY_TYPE_SHOPPING_MALL_CENTER; + case 2: + case "PROPERTY_TYPE_RESTAURANT": + return PropertyType.PROPERTY_TYPE_RESTAURANT; + case 3: + case "PROPERTY_TYPE_GAS_STATION": + return PropertyType.PROPERTY_TYPE_GAS_STATION; + case 4: + case "PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA": + return PropertyType.PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA; + case 5: + case "PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX": + return PropertyType.PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX; + case 6: + case "PROPERTY_TYPE_GROCERY_STORE": + return PropertyType.PROPERTY_TYPE_GROCERY_STORE; + case 7: + case "PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER": + return PropertyType.PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER; + case 8: + case "PROPERTY_TYPE_OFFICE": + return PropertyType.PROPERTY_TYPE_OFFICE; + case 9: + case "PROPERTY_TYPE_RESIDENTIAL_BUILDING": + return PropertyType.PROPERTY_TYPE_RESIDENTIAL_BUILDING; + case 10: + case "PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT": + return PropertyType.PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT; + case 11: + case "PROPERTY_TYPE_BANK": + return PropertyType.PROPERTY_TYPE_BANK; + case 12: + case "PROPERTY_TYPE_AIRPORT": + return PropertyType.PROPERTY_TYPE_AIRPORT; + case 13: + case "PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY": + return PropertyType.PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY; + case 14: + case "PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION": + return PropertyType.PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION; + case 15: + case "PROPERTY_TYPE_UNIVERSITY_SCHOOL": + return PropertyType.PROPERTY_TYPE_UNIVERSITY_SCHOOL; + case 16: + case "PROPERTY_TYPE_WINERY": + return PropertyType.PROPERTY_TYPE_WINERY; + case 17: + case "PROPERTY_TYPE_AUTOMOTIVE": + return PropertyType.PROPERTY_TYPE_AUTOMOTIVE; + case 18: + case "PROPERTY_TYPE_MIXED_USE": + return PropertyType.PROPERTY_TYPE_MIXED_USE; + case 19: + case "PROPERTY_TYPE_RECREATION": + return PropertyType.PROPERTY_TYPE_RECREATION; + case 20: + case "PROPERTY_TYPE_RENTAL_PROPERTY": + return PropertyType.PROPERTY_TYPE_RENTAL_PROPERTY; + case 21: + case "PROPERTY_TYPE_WORKPLACE": + return PropertyType.PROPERTY_TYPE_WORKPLACE; + case -1: + case "UNRECOGNIZED": + default: + return PropertyType.UNRECOGNIZED; + } +} + +export function propertyTypeToJSON(object: PropertyType): string { + switch (object) { + case PropertyType.PROPERTY_TYPE_INVALID: + return "PROPERTY_TYPE_INVALID"; + case PropertyType.PROPERTY_TYPE_SHOPPING_MALL_CENTER: + return "PROPERTY_TYPE_SHOPPING_MALL_CENTER"; + case PropertyType.PROPERTY_TYPE_RESTAURANT: + return "PROPERTY_TYPE_RESTAURANT"; + case PropertyType.PROPERTY_TYPE_GAS_STATION: + return "PROPERTY_TYPE_GAS_STATION"; + case PropertyType.PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA: + return "PROPERTY_TYPE_SERVICE_PLAZA_REST_AREA"; + case PropertyType.PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX: + return "PROPERTY_TYPE_HOTEL_RESORT_TOURIST_COMPLEX"; + case PropertyType.PROPERTY_TYPE_GROCERY_STORE: + return "PROPERTY_TYPE_GROCERY_STORE"; + case PropertyType.PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER: + return "PROPERTY_TYPE_TESLA_STORE_SERVICE_CENTER"; + case PropertyType.PROPERTY_TYPE_OFFICE: + return "PROPERTY_TYPE_OFFICE"; + case PropertyType.PROPERTY_TYPE_RESIDENTIAL_BUILDING: + return "PROPERTY_TYPE_RESIDENTIAL_BUILDING"; + case PropertyType.PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT: + return "PROPERTY_TYPE_PARKING_GARAGE_PUBLIC_PARKING_LOT"; + case PropertyType.PROPERTY_TYPE_BANK: + return "PROPERTY_TYPE_BANK"; + case PropertyType.PROPERTY_TYPE_AIRPORT: + return "PROPERTY_TYPE_AIRPORT"; + case PropertyType.PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY: + return "PROPERTY_TYPE_CITY_VISITOR_CENTER_CITY_PROPERTY"; + case PropertyType.PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION: + return "PROPERTY_TYPE_MUSEUM_AMUSEMENT_ATTRACTION"; + case PropertyType.PROPERTY_TYPE_UNIVERSITY_SCHOOL: + return "PROPERTY_TYPE_UNIVERSITY_SCHOOL"; + case PropertyType.PROPERTY_TYPE_WINERY: + return "PROPERTY_TYPE_WINERY"; + case PropertyType.PROPERTY_TYPE_AUTOMOTIVE: + return "PROPERTY_TYPE_AUTOMOTIVE"; + case PropertyType.PROPERTY_TYPE_MIXED_USE: + return "PROPERTY_TYPE_MIXED_USE"; + case PropertyType.PROPERTY_TYPE_RECREATION: + return "PROPERTY_TYPE_RECREATION"; + case PropertyType.PROPERTY_TYPE_RENTAL_PROPERTY: + return "PROPERTY_TYPE_RENTAL_PROPERTY"; + case PropertyType.PROPERTY_TYPE_WORKPLACE: + return "PROPERTY_TYPE_WORKPLACE"; + case PropertyType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum RegistrationDeviceType { + REGISTRATION_DEVICE_TYPE_INVALID = 0, + REGISTRATION_DEVICE_TYPE_POWERWALL = 1, + REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION = 2, + REGISTRATION_DEVICE_TYPE_PV_INVERTER = 3, + REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR = 4, + REGISTRATION_DEVICE_TYPE_POWERWALL_3 = 5, + REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION = 6, + UNRECOGNIZED = -1, +} + +export function registrationDeviceTypeFromJSON(object: any): RegistrationDeviceType { + switch (object) { + case 0: + case "REGISTRATION_DEVICE_TYPE_INVALID": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_INVALID; + case 1: + case "REGISTRATION_DEVICE_TYPE_POWERWALL": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL; + case 2: + case "REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION; + case 3: + case "REGISTRATION_DEVICE_TYPE_PV_INVERTER": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_PV_INVERTER; + case 4: + case "REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR; + case 5: + case "REGISTRATION_DEVICE_TYPE_POWERWALL_3": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_3; + case 6: + case "REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION": + return RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION; + case -1: + case "UNRECOGNIZED": + default: + return RegistrationDeviceType.UNRECOGNIZED; + } +} + +export function registrationDeviceTypeToJSON(object: RegistrationDeviceType): string { + switch (object) { + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_INVALID: + return "REGISTRATION_DEVICE_TYPE_INVALID"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL: + return "REGISTRATION_DEVICE_TYPE_POWERWALL"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION: + return "REGISTRATION_DEVICE_TYPE_POWERWALL_EXPANSION"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_PV_INVERTER: + return "REGISTRATION_DEVICE_TYPE_PV_INVERTER"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR: + return "REGISTRATION_DEVICE_TYPE_WALL_CONNECTOR"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_3: + return "REGISTRATION_DEVICE_TYPE_POWERWALL_3"; + case RegistrationDeviceType.REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION: + return "REGISTRATION_DEVICE_TYPE_POWERWALL_3_EXPANSION"; + case RegistrationDeviceType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum RegistrationSiteRelationshipType { + REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID = 0, + REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER = 1, + REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER = 2, + REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER = 3, + REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER = 4, + UNRECOGNIZED = -1, +} + +export function registrationSiteRelationshipTypeFromJSON(object: any): RegistrationSiteRelationshipType { + switch (object) { + case 0: + case "REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID": + return RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID; + case 1: + case "REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER": + return RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER; + case 2: + case "REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER": + return RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER; + case 3: + case "REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER": + return RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER; + case 4: + case "REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER": + return RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER; + case -1: + case "UNRECOGNIZED": + default: + return RegistrationSiteRelationshipType.UNRECOGNIZED; + } +} + +export function registrationSiteRelationshipTypeToJSON(object: RegistrationSiteRelationshipType): string { + switch (object) { + case RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID: + return "REGISTRATION_SITE_RELATIONSHIP_TYPE_INVALID"; + case RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER: + return "REGISTRATION_SITE_RELATIONSHIP_TYPE_OWNER"; + case RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER: + return "REGISTRATION_SITE_RELATIONSHIP_TYPE_INSTALLER"; + case RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER: + return "REGISTRATION_SITE_RELATIONSHIP_TYPE_FINANCIER"; + case RegistrationSiteRelationshipType.REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER: + return "REGISTRATION_SITE_RELATIONSHIP_TYPE_SERVICER"; + case RegistrationSiteRelationshipType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum RegistrationSource { + REGISTRATION_SOURCE_INVALID = 0, + REGISTRATION_SOURCE_AUTOCONFIG = 1, + REGISTRATION_SOURCE_INSTALLER = 2, + REGISTRATION_SOURCE_CUSTOMER = 3, + UNRECOGNIZED = -1, +} + +export function registrationSourceFromJSON(object: any): RegistrationSource { + switch (object) { + case 0: + case "REGISTRATION_SOURCE_INVALID": + return RegistrationSource.REGISTRATION_SOURCE_INVALID; + case 1: + case "REGISTRATION_SOURCE_AUTOCONFIG": + return RegistrationSource.REGISTRATION_SOURCE_AUTOCONFIG; + case 2: + case "REGISTRATION_SOURCE_INSTALLER": + return RegistrationSource.REGISTRATION_SOURCE_INSTALLER; + case 3: + case "REGISTRATION_SOURCE_CUSTOMER": + return RegistrationSource.REGISTRATION_SOURCE_CUSTOMER; + case -1: + case "UNRECOGNIZED": + default: + return RegistrationSource.UNRECOGNIZED; + } +} + +export function registrationSourceToJSON(object: RegistrationSource): string { + switch (object) { + case RegistrationSource.REGISTRATION_SOURCE_INVALID: + return "REGISTRATION_SOURCE_INVALID"; + case RegistrationSource.REGISTRATION_SOURCE_AUTOCONFIG: + return "REGISTRATION_SOURCE_AUTOCONFIG"; + case RegistrationSource.REGISTRATION_SOURCE_INSTALLER: + return "REGISTRATION_SOURCE_INSTALLER"; + case RegistrationSource.REGISTRATION_SOURCE_CUSTOMER: + return "REGISTRATION_SOURCE_CUSTOMER"; + case RegistrationSource.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum RegistrationStatus { + REGISTRATION_STATUS_INVALID = 0, + REGISTRATION_STATUS_MISSING_INFO = 1, + REGISTRATION_STATUS_UNDERWAY = 2, + REGISTRATION_STATUS_ALREADY_REGISTERED = 3, + REGISTRATION_STATUS_FAILED = 4, + REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION = 5, + UNRECOGNIZED = -1, +} + +export function registrationStatusFromJSON(object: any): RegistrationStatus { + switch (object) { + case 0: + case "REGISTRATION_STATUS_INVALID": + return RegistrationStatus.REGISTRATION_STATUS_INVALID; + case 1: + case "REGISTRATION_STATUS_MISSING_INFO": + return RegistrationStatus.REGISTRATION_STATUS_MISSING_INFO; + case 2: + case "REGISTRATION_STATUS_UNDERWAY": + return RegistrationStatus.REGISTRATION_STATUS_UNDERWAY; + case 3: + case "REGISTRATION_STATUS_ALREADY_REGISTERED": + return RegistrationStatus.REGISTRATION_STATUS_ALREADY_REGISTERED; + case 4: + case "REGISTRATION_STATUS_FAILED": + return RegistrationStatus.REGISTRATION_STATUS_FAILED; + case 5: + case "REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION": + return RegistrationStatus.REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION; + case -1: + case "UNRECOGNIZED": + default: + return RegistrationStatus.UNRECOGNIZED; + } +} + +export function registrationStatusToJSON(object: RegistrationStatus): string { + switch (object) { + case RegistrationStatus.REGISTRATION_STATUS_INVALID: + return "REGISTRATION_STATUS_INVALID"; + case RegistrationStatus.REGISTRATION_STATUS_MISSING_INFO: + return "REGISTRATION_STATUS_MISSING_INFO"; + case RegistrationStatus.REGISTRATION_STATUS_UNDERWAY: + return "REGISTRATION_STATUS_UNDERWAY"; + case RegistrationStatus.REGISTRATION_STATUS_ALREADY_REGISTERED: + return "REGISTRATION_STATUS_ALREADY_REGISTERED"; + case RegistrationStatus.REGISTRATION_STATUS_FAILED: + return "REGISTRATION_STATUS_FAILED"; + case RegistrationStatus.REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION: + return "REGISTRATION_STATUS_RETRY_WITH_NO_FURTHER_ACTION"; + case RegistrationStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum WCLoadSharingType { + WC_LOAD_SHARING_TYPE_INVALID = 0, + WC_LOAD_SHARING_TYPE_LEADER = 1, + WC_LOAD_SHARING_TYPE_FOLLOWER = 2, + UNRECOGNIZED = -1, +} + +export function wCLoadSharingTypeFromJSON(object: any): WCLoadSharingType { + switch (object) { + case 0: + case "WC_LOAD_SHARING_TYPE_INVALID": + return WCLoadSharingType.WC_LOAD_SHARING_TYPE_INVALID; + case 1: + case "WC_LOAD_SHARING_TYPE_LEADER": + return WCLoadSharingType.WC_LOAD_SHARING_TYPE_LEADER; + case 2: + case "WC_LOAD_SHARING_TYPE_FOLLOWER": + return WCLoadSharingType.WC_LOAD_SHARING_TYPE_FOLLOWER; + case -1: + case "UNRECOGNIZED": + default: + return WCLoadSharingType.UNRECOGNIZED; + } +} + +export function wCLoadSharingTypeToJSON(object: WCLoadSharingType): string { + switch (object) { + case WCLoadSharingType.WC_LOAD_SHARING_TYPE_INVALID: + return "WC_LOAD_SHARING_TYPE_INVALID"; + case WCLoadSharingType.WC_LOAD_SHARING_TYPE_LEADER: + return "WC_LOAD_SHARING_TYPE_LEADER"; + case WCLoadSharingType.WC_LOAD_SHARING_TYPE_FOLLOWER: + return "WC_LOAD_SHARING_TYPE_FOLLOWER"; + case WCLoadSharingType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface AnonymizedSiteDetails { + deviceDetails: DeviceDetail[]; + city: string | undefined; + zip: string | undefined; +} + +export interface AssetSiteDetailsResponse { + devices: DeviceDetail[]; +} + +export interface AssetSiteUuidOfDeviceResponse { + assetSiteUuid: string | undefined; +} + +export interface CommercialChargingDetails { + propertyType: PropertyType; + projectAccessType: ProjectAccessType; + destinationPhoneNumber: string | undefined; + destinationWebsite: string | undefined; +} + +export interface CommercialChargingDeviceProperties { + /** may be an enum; values not yet known */ + mainServiceSize: number; + /** may be an enum; values not yet known */ + nominalVoltage: number; + loadSharing: boolean; + /** may be an enum; values not yet known */ + maxOutput: number; + latitude: number | undefined; + longitude: number | undefined; + label: number | undefined; + rssi: + | number + | undefined; + /** may be an enum; values not yet known */ + powerType: number; + /** may be an enum; values not yet known */ + connectorType: number; + loadSharingType: WCLoadSharingType; +} + +export interface CommercialChargingSiteInfo { + siteAddress: CustomerSiteAddress | undefined; + warpSiteName: string | undefined; + commercialChargingDetails: CommercialChargingDetails | undefined; + siteOwnerEmail: string; +} + +export interface CustomerInfo { + ssoId: UUIDv4 | undefined; + email: string; + givenName: string; + familyName: string; +} + +export interface CustomerLegalConsent { + privacyNotice: boolean | undefined; + limitedWarranty: boolean | undefined; + gridServices: boolean | undefined; + marketing: boolean | undefined; +} + +export interface CustomerSiteAddress { + street: string; + city: string; + state: string; + zip: string; + country: string; + phone: string; +} + +export interface DeactivateDeviceRequest { + dins: string[]; + installerTeslaAuthBearerToken: string; +} + +export interface DeviceDetail { + deviceType: RegistrationDeviceType; + fallbackDescription: string; + din: string; +} + +export interface InstallationInfo { + installationGuid: string; +} + +export interface InstallerInfo { + email: string; + accountMasterId: UUIDv4 | undefined; + companyName: string | undefined; + phone: string | undefined; +} + +export interface InstallerLocation { + latitude: number; + longitude: number; +} + +export interface PartDetail { + partNumber: string; + serialNumber: string; + partType: string; + manufacturer: string | undefined; +} + +export interface PartnerInfo { + accountMasterId: UUIDv4 | undefined; + siteRelationshipType: RegistrationSiteRelationshipType; +} + +export interface RegistrationAPIDeactivateDeviceRequest { + request: DeactivateDeviceRequest | undefined; +} + +export interface RegistrationAPIDeactivateDeviceResponse { +} + +export interface RegistrationAPIPrepareRegistrationPayloadRequest { + customerRegistrationInfo: Uint8Array; +} + +export interface RegistrationAPIPrepareRegistrationPayloadResponse { + signedRegistrationPayload: DeviceSignedPayload | undefined; +} + +export interface RegistrationAPIRegisterRequest { + request: RegistrationRequest | undefined; +} + +export interface RegistrationAPIRegisterResponse { + /** may be an enum; values not yet known */ + failure: number; + response: RegistrationResponse | undefined; +} + +export interface RegistrationAPIRetrieveAssetSiteDetailsRequest { +} + +export interface RegistrationAPIRetrieveAssetSiteDetailsResponse { + response: AssetSiteDetailsResponse | undefined; +} + +export interface RegistrationAPIRetrieveSiteSuggestionRequest { + request: SiteSuggestionRequest | undefined; +} + +export interface RegistrationAPIRetrieveSiteSuggestionResponse { + response: SiteSuggestionResponse | undefined; +} + +export interface RegistrationAPIRetrieveSiteUuidRequest { +} + +export interface RegistrationAPIRetrieveSiteUuidResponse { + response: AssetSiteUuidOfDeviceResponse | undefined; +} + +export interface RegistrationMessages { + prepareRegistrationPayloadRequest?: RegistrationAPIPrepareRegistrationPayloadRequest | undefined; + prepareRegistrationPayloadResponse?: RegistrationAPIPrepareRegistrationPayloadResponse | undefined; + registerRequest?: RegistrationAPIRegisterRequest | undefined; + registerResponse?: RegistrationAPIRegisterResponse | undefined; + retrieveSiteUuidRequest?: RegistrationAPIRetrieveSiteUuidRequest | undefined; + retrieveSiteUuidResponse?: RegistrationAPIRetrieveSiteUuidResponse | undefined; + retrieveSiteSuggestionRequest?: RegistrationAPIRetrieveSiteSuggestionRequest | undefined; + retrieveSiteSuggestionResponse?: RegistrationAPIRetrieveSiteSuggestionResponse | undefined; + retrieveAssetSiteDetailsRequest?: RegistrationAPIRetrieveAssetSiteDetailsRequest | undefined; + retrieveAssetSiteDetailsResponse?: RegistrationAPIRetrieveAssetSiteDetailsResponse | undefined; + deactivateDeviceRequest?: RegistrationAPIDeactivateDeviceRequest | undefined; + deactivateDeviceResponse?: RegistrationAPIDeactivateDeviceResponse | undefined; +} + +export interface RegistrationRequest { + version: FirmwareVersion | undefined; + partDetails: PartDetail[]; + attempt: number; + registrationSource: RegistrationSource; + installer: InstallerInfo | undefined; + customer: CustomerInfo | undefined; + siteAddress: CustomerSiteAddress | undefined; + legalConsent: CustomerLegalConsent | undefined; + installationInfo: InstallationInfo | undefined; + assetSiteId: string | undefined; + additionalPartners: PartnerInfo[]; +} + +export interface RegistrationResponse { + status: RegistrationStatus; + retryDelayS: number; + statusTime: Date | undefined; + assetSiteId: string | undefined; +} + +export interface SiteSuggestion { + assetSiteUuid: string; + anonymizedSiteDetails: AnonymizedSiteDetails | undefined; +} + +export interface SiteSuggestionRequest { + lookup: string; + installerLocation: InstallerLocation | undefined; + installerTeslaAuthBearerToken: string; +} + +export interface SiteSuggestionResponse { + siteSuggestions: SiteSuggestion[]; +} + +export interface WCCommercialRegistrationRequest { + deviceProperties: CommercialChargingDeviceProperties | undefined; + assetSiteId: UUIDv4 | undefined; + siteInfo: CommercialChargingSiteInfo | undefined; + installerInfo: InstallerInfo | undefined; + installationCompleted: boolean; + siteOwnerEmail: string | undefined; +} + +function createBaseAnonymizedSiteDetails(): AnonymizedSiteDetails { + return { deviceDetails: [], city: undefined, zip: undefined }; +} + +export const AnonymizedSiteDetails: MessageFns = { + encode(message: AnonymizedSiteDetails, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.deviceDetails) { + DeviceDetail.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.city !== undefined) { + StringValue.encode({ value: message.city! }, writer.uint32(18).fork()).join(); + } + if (message.zip !== undefined) { + StringValue.encode({ value: message.zip! }, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AnonymizedSiteDetails { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAnonymizedSiteDetails(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.deviceDetails.push(DeviceDetail.decode(reader, reader.uint32())); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.city = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.zip = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AnonymizedSiteDetails { + return { + deviceDetails: globalThis.Array.isArray(object?.deviceDetails) + ? object.deviceDetails.map((e: any) => DeviceDetail.fromJSON(e)) + : [], + city: isSet(object.city) ? String(object.city) : undefined, + zip: isSet(object.zip) ? String(object.zip) : undefined, + }; + }, + + toJSON(message: AnonymizedSiteDetails): unknown { + const obj: any = {}; + if (message.deviceDetails?.length) { + obj.deviceDetails = message.deviceDetails.map((e) => DeviceDetail.toJSON(e)); + } + if (message.city !== undefined) { + obj.city = message.city; + } + if (message.zip !== undefined) { + obj.zip = message.zip; + } + return obj; + }, + + create, I>>(base?: I): AnonymizedSiteDetails { + return AnonymizedSiteDetails.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AnonymizedSiteDetails { + const message = createBaseAnonymizedSiteDetails(); + message.deviceDetails = object.deviceDetails?.map((e) => DeviceDetail.fromPartial(e)) || []; + message.city = object.city ?? undefined; + message.zip = object.zip ?? undefined; + return message; + }, +}; + +function createBaseAssetSiteDetailsResponse(): AssetSiteDetailsResponse { + return { devices: [] }; +} + +export const AssetSiteDetailsResponse: MessageFns = { + encode(message: AssetSiteDetailsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.devices) { + DeviceDetail.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AssetSiteDetailsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAssetSiteDetailsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.devices.push(DeviceDetail.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AssetSiteDetailsResponse { + return { + devices: globalThis.Array.isArray(object?.devices) + ? object.devices.map((e: any) => DeviceDetail.fromJSON(e)) + : [], + }; + }, + + toJSON(message: AssetSiteDetailsResponse): unknown { + const obj: any = {}; + if (message.devices?.length) { + obj.devices = message.devices.map((e) => DeviceDetail.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): AssetSiteDetailsResponse { + return AssetSiteDetailsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): AssetSiteDetailsResponse { + const message = createBaseAssetSiteDetailsResponse(); + message.devices = object.devices?.map((e) => DeviceDetail.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseAssetSiteUuidOfDeviceResponse(): AssetSiteUuidOfDeviceResponse { + return { assetSiteUuid: undefined }; +} + +export const AssetSiteUuidOfDeviceResponse: MessageFns = { + encode(message: AssetSiteUuidOfDeviceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.assetSiteUuid !== undefined) { + StringValue.encode({ value: message.assetSiteUuid! }, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AssetSiteUuidOfDeviceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAssetSiteUuidOfDeviceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.assetSiteUuid = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AssetSiteUuidOfDeviceResponse { + return { assetSiteUuid: isSet(object.assetSiteUuid) ? String(object.assetSiteUuid) : undefined }; + }, + + toJSON(message: AssetSiteUuidOfDeviceResponse): unknown { + const obj: any = {}; + if (message.assetSiteUuid !== undefined) { + obj.assetSiteUuid = message.assetSiteUuid; + } + return obj; + }, + + create, I>>(base?: I): AssetSiteUuidOfDeviceResponse { + return AssetSiteUuidOfDeviceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): AssetSiteUuidOfDeviceResponse { + const message = createBaseAssetSiteUuidOfDeviceResponse(); + message.assetSiteUuid = object.assetSiteUuid ?? undefined; + return message; + }, +}; + +function createBaseCommercialChargingDetails(): CommercialChargingDetails { + return { propertyType: 0, projectAccessType: 0, destinationPhoneNumber: undefined, destinationWebsite: undefined }; +} + +export const CommercialChargingDetails: MessageFns = { + encode(message: CommercialChargingDetails, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.propertyType !== 0) { + writer.uint32(8).int32(message.propertyType); + } + if (message.projectAccessType !== 0) { + writer.uint32(16).int32(message.projectAccessType); + } + if (message.destinationPhoneNumber !== undefined) { + StringValue.encode({ value: message.destinationPhoneNumber! }, writer.uint32(26).fork()).join(); + } + if (message.destinationWebsite !== undefined) { + StringValue.encode({ value: message.destinationWebsite! }, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommercialChargingDetails { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommercialChargingDetails(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.propertyType = reader.int32() as any; + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.projectAccessType = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.destinationPhoneNumber = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.destinationWebsite = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommercialChargingDetails { + return { + propertyType: isSet(object.propertyType) ? propertyTypeFromJSON(object.propertyType) : 0, + projectAccessType: isSet(object.projectAccessType) ? projectAccessTypeFromJSON(object.projectAccessType) : 0, + destinationPhoneNumber: isSet(object.destinationPhoneNumber) ? String(object.destinationPhoneNumber) : undefined, + destinationWebsite: isSet(object.destinationWebsite) ? String(object.destinationWebsite) : undefined, + }; + }, + + toJSON(message: CommercialChargingDetails): unknown { + const obj: any = {}; + if (message.propertyType !== undefined) { + obj.propertyType = propertyTypeToJSON(message.propertyType); + } + if (message.projectAccessType !== undefined) { + obj.projectAccessType = projectAccessTypeToJSON(message.projectAccessType); + } + if (message.destinationPhoneNumber !== undefined) { + obj.destinationPhoneNumber = message.destinationPhoneNumber; + } + if (message.destinationWebsite !== undefined) { + obj.destinationWebsite = message.destinationWebsite; + } + return obj; + }, + + create, I>>(base?: I): CommercialChargingDetails { + return CommercialChargingDetails.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommercialChargingDetails { + const message = createBaseCommercialChargingDetails(); + message.propertyType = object.propertyType ?? 0; + message.projectAccessType = object.projectAccessType ?? 0; + message.destinationPhoneNumber = object.destinationPhoneNumber ?? undefined; + message.destinationWebsite = object.destinationWebsite ?? undefined; + return message; + }, +}; + +function createBaseCommercialChargingDeviceProperties(): CommercialChargingDeviceProperties { + return { + mainServiceSize: 0, + nominalVoltage: 0, + loadSharing: false, + maxOutput: 0, + latitude: undefined, + longitude: undefined, + label: undefined, + rssi: undefined, + powerType: 0, + connectorType: 0, + loadSharingType: 0, + }; +} + +export const CommercialChargingDeviceProperties: MessageFns = { + encode(message: CommercialChargingDeviceProperties, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.mainServiceSize !== 0) { + writer.uint32(8).int32(message.mainServiceSize); + } + if (message.nominalVoltage !== 0) { + writer.uint32(16).int32(message.nominalVoltage); + } + if (message.loadSharing !== false) { + writer.uint32(24).bool(message.loadSharing); + } + if (message.maxOutput !== 0) { + writer.uint32(32).int32(message.maxOutput); + } + if (message.latitude !== undefined) { + FloatValue.encode({ value: message.latitude! }, writer.uint32(42).fork()).join(); + } + if (message.longitude !== undefined) { + FloatValue.encode({ value: message.longitude! }, writer.uint32(50).fork()).join(); + } + if (message.label !== undefined) { + Int32Value.encode({ value: message.label! }, writer.uint32(58).fork()).join(); + } + if (message.rssi !== undefined) { + Int32Value.encode({ value: message.rssi! }, writer.uint32(66).fork()).join(); + } + if (message.powerType !== 0) { + writer.uint32(72).int32(message.powerType); + } + if (message.connectorType !== 0) { + writer.uint32(80).int32(message.connectorType); + } + if (message.loadSharingType !== 0) { + writer.uint32(88).int32(message.loadSharingType); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommercialChargingDeviceProperties { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommercialChargingDeviceProperties(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.mainServiceSize = reader.int32(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.nominalVoltage = reader.int32(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.loadSharing = reader.bool(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.maxOutput = reader.int32(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.latitude = FloatValue.decode(reader, reader.uint32()).value; + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.longitude = FloatValue.decode(reader, reader.uint32()).value; + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.label = Int32Value.decode(reader, reader.uint32()).value; + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.rssi = Int32Value.decode(reader, reader.uint32()).value; + continue; + } + case 9: { + if (tag !== 72) { + break; + } + + message.powerType = reader.int32(); + continue; + } + case 10: { + if (tag !== 80) { + break; + } + + message.connectorType = reader.int32(); + continue; + } + case 11: { + if (tag !== 88) { + break; + } + + message.loadSharingType = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommercialChargingDeviceProperties { + return { + mainServiceSize: isSet(object.mainServiceSize) ? globalThis.Number(object.mainServiceSize) : 0, + nominalVoltage: isSet(object.nominalVoltage) ? globalThis.Number(object.nominalVoltage) : 0, + loadSharing: isSet(object.loadSharing) ? globalThis.Boolean(object.loadSharing) : false, + maxOutput: isSet(object.maxOutput) ? globalThis.Number(object.maxOutput) : 0, + latitude: isSet(object.latitude) ? Number(object.latitude) : undefined, + longitude: isSet(object.longitude) ? Number(object.longitude) : undefined, + label: isSet(object.label) ? Number(object.label) : undefined, + rssi: isSet(object.rssi) ? Number(object.rssi) : undefined, + powerType: isSet(object.powerType) ? globalThis.Number(object.powerType) : 0, + connectorType: isSet(object.connectorType) ? globalThis.Number(object.connectorType) : 0, + loadSharingType: isSet(object.loadSharingType) ? wCLoadSharingTypeFromJSON(object.loadSharingType) : 0, + }; + }, + + toJSON(message: CommercialChargingDeviceProperties): unknown { + const obj: any = {}; + if (message.mainServiceSize !== undefined) { + obj.mainServiceSize = Math.round(message.mainServiceSize); + } + if (message.nominalVoltage !== undefined) { + obj.nominalVoltage = Math.round(message.nominalVoltage); + } + if (message.loadSharing !== undefined) { + obj.loadSharing = message.loadSharing; + } + if (message.maxOutput !== undefined) { + obj.maxOutput = Math.round(message.maxOutput); + } + if (message.latitude !== undefined) { + obj.latitude = message.latitude; + } + if (message.longitude !== undefined) { + obj.longitude = message.longitude; + } + if (message.label !== undefined) { + obj.label = message.label; + } + if (message.rssi !== undefined) { + obj.rssi = message.rssi; + } + if (message.powerType !== undefined) { + obj.powerType = Math.round(message.powerType); + } + if (message.connectorType !== undefined) { + obj.connectorType = Math.round(message.connectorType); + } + if (message.loadSharingType !== undefined) { + obj.loadSharingType = wCLoadSharingTypeToJSON(message.loadSharingType); + } + return obj; + }, + + create, I>>( + base?: I, + ): CommercialChargingDeviceProperties { + return CommercialChargingDeviceProperties.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): CommercialChargingDeviceProperties { + const message = createBaseCommercialChargingDeviceProperties(); + message.mainServiceSize = object.mainServiceSize ?? 0; + message.nominalVoltage = object.nominalVoltage ?? 0; + message.loadSharing = object.loadSharing ?? false; + message.maxOutput = object.maxOutput ?? 0; + message.latitude = object.latitude ?? undefined; + message.longitude = object.longitude ?? undefined; + message.label = object.label ?? undefined; + message.rssi = object.rssi ?? undefined; + message.powerType = object.powerType ?? 0; + message.connectorType = object.connectorType ?? 0; + message.loadSharingType = object.loadSharingType ?? 0; + return message; + }, +}; + +function createBaseCommercialChargingSiteInfo(): CommercialChargingSiteInfo { + return { siteAddress: undefined, warpSiteName: undefined, commercialChargingDetails: undefined, siteOwnerEmail: "" }; +} + +export const CommercialChargingSiteInfo: MessageFns = { + encode(message: CommercialChargingSiteInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.siteAddress !== undefined) { + CustomerSiteAddress.encode(message.siteAddress, writer.uint32(10).fork()).join(); + } + if (message.warpSiteName !== undefined) { + StringValue.encode({ value: message.warpSiteName! }, writer.uint32(18).fork()).join(); + } + if (message.commercialChargingDetails !== undefined) { + CommercialChargingDetails.encode(message.commercialChargingDetails, writer.uint32(26).fork()).join(); + } + if (message.siteOwnerEmail !== "") { + writer.uint32(34).string(message.siteOwnerEmail); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CommercialChargingSiteInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommercialChargingSiteInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.siteAddress = CustomerSiteAddress.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.warpSiteName = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.commercialChargingDetails = CommercialChargingDetails.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.siteOwnerEmail = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CommercialChargingSiteInfo { + return { + siteAddress: isSet(object.siteAddress) ? CustomerSiteAddress.fromJSON(object.siteAddress) : undefined, + warpSiteName: isSet(object.warpSiteName) ? String(object.warpSiteName) : undefined, + commercialChargingDetails: isSet(object.commercialChargingDetails) + ? CommercialChargingDetails.fromJSON(object.commercialChargingDetails) + : undefined, + siteOwnerEmail: isSet(object.siteOwnerEmail) ? globalThis.String(object.siteOwnerEmail) : "", + }; + }, + + toJSON(message: CommercialChargingSiteInfo): unknown { + const obj: any = {}; + if (message.siteAddress !== undefined) { + obj.siteAddress = CustomerSiteAddress.toJSON(message.siteAddress); + } + if (message.warpSiteName !== undefined) { + obj.warpSiteName = message.warpSiteName; + } + if (message.commercialChargingDetails !== undefined) { + obj.commercialChargingDetails = CommercialChargingDetails.toJSON(message.commercialChargingDetails); + } + if (message.siteOwnerEmail !== undefined) { + obj.siteOwnerEmail = message.siteOwnerEmail; + } + return obj; + }, + + create, I>>(base?: I): CommercialChargingSiteInfo { + return CommercialChargingSiteInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CommercialChargingSiteInfo { + const message = createBaseCommercialChargingSiteInfo(); + message.siteAddress = (object.siteAddress !== undefined && object.siteAddress !== null) + ? CustomerSiteAddress.fromPartial(object.siteAddress) + : undefined; + message.warpSiteName = object.warpSiteName ?? undefined; + message.commercialChargingDetails = + (object.commercialChargingDetails !== undefined && object.commercialChargingDetails !== null) + ? CommercialChargingDetails.fromPartial(object.commercialChargingDetails) + : undefined; + message.siteOwnerEmail = object.siteOwnerEmail ?? ""; + return message; + }, +}; + +function createBaseCustomerInfo(): CustomerInfo { + return { ssoId: undefined, email: "", givenName: "", familyName: "" }; +} + +export const CustomerInfo: MessageFns = { + encode(message: CustomerInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.ssoId !== undefined) { + UUIDv4.encode(message.ssoId, writer.uint32(10).fork()).join(); + } + if (message.email !== "") { + writer.uint32(18).string(message.email); + } + if (message.givenName !== "") { + writer.uint32(26).string(message.givenName); + } + if (message.familyName !== "") { + writer.uint32(34).string(message.familyName); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CustomerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCustomerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.ssoId = UUIDv4.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.email = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.givenName = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.familyName = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CustomerInfo { + return { + ssoId: isSet(object.ssoId) ? UUIDv4.fromJSON(object.ssoId) : undefined, + email: isSet(object.email) ? globalThis.String(object.email) : "", + givenName: isSet(object.givenName) ? globalThis.String(object.givenName) : "", + familyName: isSet(object.familyName) ? globalThis.String(object.familyName) : "", + }; + }, + + toJSON(message: CustomerInfo): unknown { + const obj: any = {}; + if (message.ssoId !== undefined) { + obj.ssoId = UUIDv4.toJSON(message.ssoId); + } + if (message.email !== undefined) { + obj.email = message.email; + } + if (message.givenName !== undefined) { + obj.givenName = message.givenName; + } + if (message.familyName !== undefined) { + obj.familyName = message.familyName; + } + return obj; + }, + + create, I>>(base?: I): CustomerInfo { + return CustomerInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CustomerInfo { + const message = createBaseCustomerInfo(); + message.ssoId = (object.ssoId !== undefined && object.ssoId !== null) + ? UUIDv4.fromPartial(object.ssoId) + : undefined; + message.email = object.email ?? ""; + message.givenName = object.givenName ?? ""; + message.familyName = object.familyName ?? ""; + return message; + }, +}; + +function createBaseCustomerLegalConsent(): CustomerLegalConsent { + return { privacyNotice: undefined, limitedWarranty: undefined, gridServices: undefined, marketing: undefined }; +} + +export const CustomerLegalConsent: MessageFns = { + encode(message: CustomerLegalConsent, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.privacyNotice !== undefined) { + BoolValue.encode({ value: message.privacyNotice! }, writer.uint32(10).fork()).join(); + } + if (message.limitedWarranty !== undefined) { + BoolValue.encode({ value: message.limitedWarranty! }, writer.uint32(18).fork()).join(); + } + if (message.gridServices !== undefined) { + BoolValue.encode({ value: message.gridServices! }, writer.uint32(26).fork()).join(); + } + if (message.marketing !== undefined) { + BoolValue.encode({ value: message.marketing! }, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CustomerLegalConsent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCustomerLegalConsent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.privacyNotice = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.limitedWarranty = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.gridServices = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.marketing = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CustomerLegalConsent { + return { + privacyNotice: isSet(object.privacyNotice) ? Boolean(object.privacyNotice) : undefined, + limitedWarranty: isSet(object.limitedWarranty) ? Boolean(object.limitedWarranty) : undefined, + gridServices: isSet(object.gridServices) ? Boolean(object.gridServices) : undefined, + marketing: isSet(object.marketing) ? Boolean(object.marketing) : undefined, + }; + }, + + toJSON(message: CustomerLegalConsent): unknown { + const obj: any = {}; + if (message.privacyNotice !== undefined) { + obj.privacyNotice = message.privacyNotice; + } + if (message.limitedWarranty !== undefined) { + obj.limitedWarranty = message.limitedWarranty; + } + if (message.gridServices !== undefined) { + obj.gridServices = message.gridServices; + } + if (message.marketing !== undefined) { + obj.marketing = message.marketing; + } + return obj; + }, + + create, I>>(base?: I): CustomerLegalConsent { + return CustomerLegalConsent.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CustomerLegalConsent { + const message = createBaseCustomerLegalConsent(); + message.privacyNotice = object.privacyNotice ?? undefined; + message.limitedWarranty = object.limitedWarranty ?? undefined; + message.gridServices = object.gridServices ?? undefined; + message.marketing = object.marketing ?? undefined; + return message; + }, +}; + +function createBaseCustomerSiteAddress(): CustomerSiteAddress { + return { street: "", city: "", state: "", zip: "", country: "", phone: "" }; +} + +export const CustomerSiteAddress: MessageFns = { + encode(message: CustomerSiteAddress, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.street !== "") { + writer.uint32(10).string(message.street); + } + if (message.city !== "") { + writer.uint32(18).string(message.city); + } + if (message.state !== "") { + writer.uint32(26).string(message.state); + } + if (message.zip !== "") { + writer.uint32(34).string(message.zip); + } + if (message.country !== "") { + writer.uint32(42).string(message.country); + } + if (message.phone !== "") { + writer.uint32(50).string(message.phone); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CustomerSiteAddress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCustomerSiteAddress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.street = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.city = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.state = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.zip = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.country = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.phone = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CustomerSiteAddress { + return { + street: isSet(object.street) ? globalThis.String(object.street) : "", + city: isSet(object.city) ? globalThis.String(object.city) : "", + state: isSet(object.state) ? globalThis.String(object.state) : "", + zip: isSet(object.zip) ? globalThis.String(object.zip) : "", + country: isSet(object.country) ? globalThis.String(object.country) : "", + phone: isSet(object.phone) ? globalThis.String(object.phone) : "", + }; + }, + + toJSON(message: CustomerSiteAddress): unknown { + const obj: any = {}; + if (message.street !== undefined) { + obj.street = message.street; + } + if (message.city !== undefined) { + obj.city = message.city; + } + if (message.state !== undefined) { + obj.state = message.state; + } + if (message.zip !== undefined) { + obj.zip = message.zip; + } + if (message.country !== undefined) { + obj.country = message.country; + } + if (message.phone !== undefined) { + obj.phone = message.phone; + } + return obj; + }, + + create, I>>(base?: I): CustomerSiteAddress { + return CustomerSiteAddress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): CustomerSiteAddress { + const message = createBaseCustomerSiteAddress(); + message.street = object.street ?? ""; + message.city = object.city ?? ""; + message.state = object.state ?? ""; + message.zip = object.zip ?? ""; + message.country = object.country ?? ""; + message.phone = object.phone ?? ""; + return message; + }, +}; + +function createBaseDeactivateDeviceRequest(): DeactivateDeviceRequest { + return { dins: [], installerTeslaAuthBearerToken: "" }; +} + +export const DeactivateDeviceRequest: MessageFns = { + encode(message: DeactivateDeviceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.dins) { + writer.uint32(10).string(v!); + } + if (message.installerTeslaAuthBearerToken !== "") { + writer.uint32(18).string(message.installerTeslaAuthBearerToken); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeactivateDeviceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeactivateDeviceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.dins.push(reader.string()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.installerTeslaAuthBearerToken = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeactivateDeviceRequest { + return { + dins: globalThis.Array.isArray(object?.dins) ? object.dins.map((e: any) => globalThis.String(e)) : [], + installerTeslaAuthBearerToken: isSet(object.installerTeslaAuthBearerToken) + ? globalThis.String(object.installerTeslaAuthBearerToken) + : "", + }; + }, + + toJSON(message: DeactivateDeviceRequest): unknown { + const obj: any = {}; + if (message.dins?.length) { + obj.dins = message.dins; + } + if (message.installerTeslaAuthBearerToken !== undefined) { + obj.installerTeslaAuthBearerToken = message.installerTeslaAuthBearerToken; + } + return obj; + }, + + create, I>>(base?: I): DeactivateDeviceRequest { + return DeactivateDeviceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeactivateDeviceRequest { + const message = createBaseDeactivateDeviceRequest(); + message.dins = object.dins?.map((e) => e) || []; + message.installerTeslaAuthBearerToken = object.installerTeslaAuthBearerToken ?? ""; + return message; + }, +}; + +function createBaseDeviceDetail(): DeviceDetail { + return { deviceType: 0, fallbackDescription: "", din: "" }; +} + +export const DeviceDetail: MessageFns = { + encode(message: DeviceDetail, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.deviceType !== 0) { + writer.uint32(8).int32(message.deviceType); + } + if (message.fallbackDescription !== "") { + writer.uint32(18).string(message.fallbackDescription); + } + if (message.din !== "") { + writer.uint32(26).string(message.din); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeviceDetail { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeviceDetail(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.deviceType = reader.int32() as any; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.fallbackDescription = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.din = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeviceDetail { + return { + deviceType: isSet(object.deviceType) ? registrationDeviceTypeFromJSON(object.deviceType) : 0, + fallbackDescription: isSet(object.fallbackDescription) ? globalThis.String(object.fallbackDescription) : "", + din: isSet(object.din) ? globalThis.String(object.din) : "", + }; + }, + + toJSON(message: DeviceDetail): unknown { + const obj: any = {}; + if (message.deviceType !== undefined) { + obj.deviceType = registrationDeviceTypeToJSON(message.deviceType); + } + if (message.fallbackDescription !== undefined) { + obj.fallbackDescription = message.fallbackDescription; + } + if (message.din !== undefined) { + obj.din = message.din; + } + return obj; + }, + + create, I>>(base?: I): DeviceDetail { + return DeviceDetail.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeviceDetail { + const message = createBaseDeviceDetail(); + message.deviceType = object.deviceType ?? 0; + message.fallbackDescription = object.fallbackDescription ?? ""; + message.din = object.din ?? ""; + return message; + }, +}; + +function createBaseInstallationInfo(): InstallationInfo { + return { installationGuid: "" }; +} + +export const InstallationInfo: MessageFns = { + encode(message: InstallationInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.installationGuid !== "") { + writer.uint32(10).string(message.installationGuid); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InstallationInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstallationInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.installationGuid = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InstallationInfo { + return { installationGuid: isSet(object.installationGuid) ? globalThis.String(object.installationGuid) : "" }; + }, + + toJSON(message: InstallationInfo): unknown { + const obj: any = {}; + if (message.installationGuid !== undefined) { + obj.installationGuid = message.installationGuid; + } + return obj; + }, + + create, I>>(base?: I): InstallationInfo { + return InstallationInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InstallationInfo { + const message = createBaseInstallationInfo(); + message.installationGuid = object.installationGuid ?? ""; + return message; + }, +}; + +function createBaseInstallerInfo(): InstallerInfo { + return { email: "", accountMasterId: undefined, companyName: undefined, phone: undefined }; +} + +export const InstallerInfo: MessageFns = { + encode(message: InstallerInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.email !== "") { + writer.uint32(10).string(message.email); + } + if (message.accountMasterId !== undefined) { + UUIDv4.encode(message.accountMasterId, writer.uint32(18).fork()).join(); + } + if (message.companyName !== undefined) { + StringValue.encode({ value: message.companyName! }, writer.uint32(26).fork()).join(); + } + if (message.phone !== undefined) { + StringValue.encode({ value: message.phone! }, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InstallerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstallerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.email = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.accountMasterId = UUIDv4.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.companyName = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.phone = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InstallerInfo { + return { + email: isSet(object.email) ? globalThis.String(object.email) : "", + accountMasterId: isSet(object.accountMasterId) ? UUIDv4.fromJSON(object.accountMasterId) : undefined, + companyName: isSet(object.companyName) ? String(object.companyName) : undefined, + phone: isSet(object.phone) ? String(object.phone) : undefined, + }; + }, + + toJSON(message: InstallerInfo): unknown { + const obj: any = {}; + if (message.email !== undefined) { + obj.email = message.email; + } + if (message.accountMasterId !== undefined) { + obj.accountMasterId = UUIDv4.toJSON(message.accountMasterId); + } + if (message.companyName !== undefined) { + obj.companyName = message.companyName; + } + if (message.phone !== undefined) { + obj.phone = message.phone; + } + return obj; + }, + + create, I>>(base?: I): InstallerInfo { + return InstallerInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InstallerInfo { + const message = createBaseInstallerInfo(); + message.email = object.email ?? ""; + message.accountMasterId = (object.accountMasterId !== undefined && object.accountMasterId !== null) + ? UUIDv4.fromPartial(object.accountMasterId) + : undefined; + message.companyName = object.companyName ?? undefined; + message.phone = object.phone ?? undefined; + return message; + }, +}; + +function createBaseInstallerLocation(): InstallerLocation { + return { latitude: 0, longitude: 0 }; +} + +export const InstallerLocation: MessageFns = { + encode(message: InstallerLocation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.latitude !== 0) { + writer.uint32(13).float(message.latitude); + } + if (message.longitude !== 0) { + writer.uint32(21).float(message.longitude); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): InstallerLocation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstallerLocation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 13) { + break; + } + + message.latitude = reader.float(); + continue; + } + case 2: { + if (tag !== 21) { + break; + } + + message.longitude = reader.float(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): InstallerLocation { + return { + latitude: isSet(object.latitude) ? globalThis.Number(object.latitude) : 0, + longitude: isSet(object.longitude) ? globalThis.Number(object.longitude) : 0, + }; + }, + + toJSON(message: InstallerLocation): unknown { + const obj: any = {}; + if (message.latitude !== undefined) { + obj.latitude = message.latitude; + } + if (message.longitude !== undefined) { + obj.longitude = message.longitude; + } + return obj; + }, + + create, I>>(base?: I): InstallerLocation { + return InstallerLocation.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): InstallerLocation { + const message = createBaseInstallerLocation(); + message.latitude = object.latitude ?? 0; + message.longitude = object.longitude ?? 0; + return message; + }, +}; + +function createBasePartDetail(): PartDetail { + return { partNumber: "", serialNumber: "", partType: "", manufacturer: undefined }; +} + +export const PartDetail: MessageFns = { + encode(message: PartDetail, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.partNumber !== "") { + writer.uint32(10).string(message.partNumber); + } + if (message.serialNumber !== "") { + writer.uint32(18).string(message.serialNumber); + } + if (message.partType !== "") { + writer.uint32(26).string(message.partType); + } + if (message.manufacturer !== undefined) { + StringValue.encode({ value: message.manufacturer! }, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PartDetail { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePartDetail(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.partNumber = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.serialNumber = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.partType = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.manufacturer = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PartDetail { + return { + partNumber: isSet(object.partNumber) ? globalThis.String(object.partNumber) : "", + serialNumber: isSet(object.serialNumber) ? globalThis.String(object.serialNumber) : "", + partType: isSet(object.partType) ? globalThis.String(object.partType) : "", + manufacturer: isSet(object.manufacturer) ? String(object.manufacturer) : undefined, + }; + }, + + toJSON(message: PartDetail): unknown { + const obj: any = {}; + if (message.partNumber !== undefined) { + obj.partNumber = message.partNumber; + } + if (message.serialNumber !== undefined) { + obj.serialNumber = message.serialNumber; + } + if (message.partType !== undefined) { + obj.partType = message.partType; + } + if (message.manufacturer !== undefined) { + obj.manufacturer = message.manufacturer; + } + return obj; + }, + + create, I>>(base?: I): PartDetail { + return PartDetail.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PartDetail { + const message = createBasePartDetail(); + message.partNumber = object.partNumber ?? ""; + message.serialNumber = object.serialNumber ?? ""; + message.partType = object.partType ?? ""; + message.manufacturer = object.manufacturer ?? undefined; + return message; + }, +}; + +function createBasePartnerInfo(): PartnerInfo { + return { accountMasterId: undefined, siteRelationshipType: 0 }; +} + +export const PartnerInfo: MessageFns = { + encode(message: PartnerInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.accountMasterId !== undefined) { + UUIDv4.encode(message.accountMasterId, writer.uint32(10).fork()).join(); + } + if (message.siteRelationshipType !== 0) { + writer.uint32(16).int32(message.siteRelationshipType); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PartnerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePartnerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.accountMasterId = UUIDv4.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.siteRelationshipType = reader.int32() as any; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PartnerInfo { + return { + accountMasterId: isSet(object.accountMasterId) ? UUIDv4.fromJSON(object.accountMasterId) : undefined, + siteRelationshipType: isSet(object.siteRelationshipType) + ? registrationSiteRelationshipTypeFromJSON(object.siteRelationshipType) + : 0, + }; + }, + + toJSON(message: PartnerInfo): unknown { + const obj: any = {}; + if (message.accountMasterId !== undefined) { + obj.accountMasterId = UUIDv4.toJSON(message.accountMasterId); + } + if (message.siteRelationshipType !== undefined) { + obj.siteRelationshipType = registrationSiteRelationshipTypeToJSON(message.siteRelationshipType); + } + return obj; + }, + + create, I>>(base?: I): PartnerInfo { + return PartnerInfo.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PartnerInfo { + const message = createBasePartnerInfo(); + message.accountMasterId = (object.accountMasterId !== undefined && object.accountMasterId !== null) + ? UUIDv4.fromPartial(object.accountMasterId) + : undefined; + message.siteRelationshipType = object.siteRelationshipType ?? 0; + return message; + }, +}; + +function createBaseRegistrationAPIDeactivateDeviceRequest(): RegistrationAPIDeactivateDeviceRequest { + return { request: undefined }; +} + +export const RegistrationAPIDeactivateDeviceRequest: MessageFns = { + encode(message: RegistrationAPIDeactivateDeviceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + DeactivateDeviceRequest.encode(message.request, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIDeactivateDeviceRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIDeactivateDeviceRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = DeactivateDeviceRequest.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIDeactivateDeviceRequest { + return { request: isSet(object.request) ? DeactivateDeviceRequest.fromJSON(object.request) : undefined }; + }, + + toJSON(message: RegistrationAPIDeactivateDeviceRequest): unknown { + const obj: any = {}; + if (message.request !== undefined) { + obj.request = DeactivateDeviceRequest.toJSON(message.request); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIDeactivateDeviceRequest { + return RegistrationAPIDeactivateDeviceRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIDeactivateDeviceRequest { + const message = createBaseRegistrationAPIDeactivateDeviceRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? DeactivateDeviceRequest.fromPartial(object.request) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIDeactivateDeviceResponse(): RegistrationAPIDeactivateDeviceResponse { + return {}; +} + +export const RegistrationAPIDeactivateDeviceResponse: MessageFns = { + encode(_: RegistrationAPIDeactivateDeviceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIDeactivateDeviceResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIDeactivateDeviceResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RegistrationAPIDeactivateDeviceResponse { + return {}; + }, + + toJSON(_: RegistrationAPIDeactivateDeviceResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIDeactivateDeviceResponse { + return RegistrationAPIDeactivateDeviceResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): RegistrationAPIDeactivateDeviceResponse { + const message = createBaseRegistrationAPIDeactivateDeviceResponse(); + return message; + }, +}; + +function createBaseRegistrationAPIPrepareRegistrationPayloadRequest(): RegistrationAPIPrepareRegistrationPayloadRequest { + return { customerRegistrationInfo: new Uint8Array(0) }; +} + +export const RegistrationAPIPrepareRegistrationPayloadRequest: MessageFns< + RegistrationAPIPrepareRegistrationPayloadRequest +> = { + encode( + message: RegistrationAPIPrepareRegistrationPayloadRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.customerRegistrationInfo.length !== 0) { + writer.uint32(10).bytes(message.customerRegistrationInfo); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIPrepareRegistrationPayloadRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIPrepareRegistrationPayloadRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.customerRegistrationInfo = reader.bytes(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIPrepareRegistrationPayloadRequest { + return { + customerRegistrationInfo: isSet(object.customerRegistrationInfo) + ? bytesFromBase64(object.customerRegistrationInfo) + : new Uint8Array(0), + }; + }, + + toJSON(message: RegistrationAPIPrepareRegistrationPayloadRequest): unknown { + const obj: any = {}; + if (message.customerRegistrationInfo !== undefined) { + obj.customerRegistrationInfo = base64FromBytes(message.customerRegistrationInfo); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIPrepareRegistrationPayloadRequest { + return RegistrationAPIPrepareRegistrationPayloadRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIPrepareRegistrationPayloadRequest { + const message = createBaseRegistrationAPIPrepareRegistrationPayloadRequest(); + message.customerRegistrationInfo = object.customerRegistrationInfo ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseRegistrationAPIPrepareRegistrationPayloadResponse(): RegistrationAPIPrepareRegistrationPayloadResponse { + return { signedRegistrationPayload: undefined }; +} + +export const RegistrationAPIPrepareRegistrationPayloadResponse: MessageFns< + RegistrationAPIPrepareRegistrationPayloadResponse +> = { + encode( + message: RegistrationAPIPrepareRegistrationPayloadResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.signedRegistrationPayload !== undefined) { + DeviceSignedPayload.encode(message.signedRegistrationPayload, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIPrepareRegistrationPayloadResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIPrepareRegistrationPayloadResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.signedRegistrationPayload = DeviceSignedPayload.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIPrepareRegistrationPayloadResponse { + return { + signedRegistrationPayload: isSet(object.signedRegistrationPayload) + ? DeviceSignedPayload.fromJSON(object.signedRegistrationPayload) + : undefined, + }; + }, + + toJSON(message: RegistrationAPIPrepareRegistrationPayloadResponse): unknown { + const obj: any = {}; + if (message.signedRegistrationPayload !== undefined) { + obj.signedRegistrationPayload = DeviceSignedPayload.toJSON(message.signedRegistrationPayload); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIPrepareRegistrationPayloadResponse { + return RegistrationAPIPrepareRegistrationPayloadResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIPrepareRegistrationPayloadResponse { + const message = createBaseRegistrationAPIPrepareRegistrationPayloadResponse(); + message.signedRegistrationPayload = + (object.signedRegistrationPayload !== undefined && object.signedRegistrationPayload !== null) + ? DeviceSignedPayload.fromPartial(object.signedRegistrationPayload) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIRegisterRequest(): RegistrationAPIRegisterRequest { + return { request: undefined }; +} + +export const RegistrationAPIRegisterRequest: MessageFns = { + encode(message: RegistrationAPIRegisterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + RegistrationRequest.encode(message.request, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRegisterRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRegisterRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = RegistrationRequest.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRegisterRequest { + return { request: isSet(object.request) ? RegistrationRequest.fromJSON(object.request) : undefined }; + }, + + toJSON(message: RegistrationAPIRegisterRequest): unknown { + const obj: any = {}; + if (message.request !== undefined) { + obj.request = RegistrationRequest.toJSON(message.request); + } + return obj; + }, + + create, I>>(base?: I): RegistrationAPIRegisterRequest { + return RegistrationAPIRegisterRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRegisterRequest { + const message = createBaseRegistrationAPIRegisterRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? RegistrationRequest.fromPartial(object.request) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIRegisterResponse(): RegistrationAPIRegisterResponse { + return { failure: 0, response: undefined }; +} + +export const RegistrationAPIRegisterResponse: MessageFns = { + encode(message: RegistrationAPIRegisterResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.failure !== 0) { + writer.uint32(8).int32(message.failure); + } + if (message.response !== undefined) { + RegistrationResponse.encode(message.response, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRegisterResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRegisterResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.failure = reader.int32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.response = RegistrationResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRegisterResponse { + return { + failure: isSet(object.failure) ? globalThis.Number(object.failure) : 0, + response: isSet(object.response) ? RegistrationResponse.fromJSON(object.response) : undefined, + }; + }, + + toJSON(message: RegistrationAPIRegisterResponse): unknown { + const obj: any = {}; + if (message.failure !== undefined) { + obj.failure = Math.round(message.failure); + } + if (message.response !== undefined) { + obj.response = RegistrationResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>(base?: I): RegistrationAPIRegisterResponse { + return RegistrationAPIRegisterResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRegisterResponse { + const message = createBaseRegistrationAPIRegisterResponse(); + message.failure = object.failure ?? 0; + message.response = (object.response !== undefined && object.response !== null) + ? RegistrationResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIRetrieveAssetSiteDetailsRequest(): RegistrationAPIRetrieveAssetSiteDetailsRequest { + return {}; +} + +export const RegistrationAPIRetrieveAssetSiteDetailsRequest: MessageFns< + RegistrationAPIRetrieveAssetSiteDetailsRequest +> = { + encode(_: RegistrationAPIRetrieveAssetSiteDetailsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveAssetSiteDetailsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveAssetSiteDetailsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RegistrationAPIRetrieveAssetSiteDetailsRequest { + return {}; + }, + + toJSON(_: RegistrationAPIRetrieveAssetSiteDetailsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveAssetSiteDetailsRequest { + return RegistrationAPIRetrieveAssetSiteDetailsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): RegistrationAPIRetrieveAssetSiteDetailsRequest { + const message = createBaseRegistrationAPIRetrieveAssetSiteDetailsRequest(); + return message; + }, +}; + +function createBaseRegistrationAPIRetrieveAssetSiteDetailsResponse(): RegistrationAPIRetrieveAssetSiteDetailsResponse { + return { response: undefined }; +} + +export const RegistrationAPIRetrieveAssetSiteDetailsResponse: MessageFns< + RegistrationAPIRetrieveAssetSiteDetailsResponse +> = { + encode( + message: RegistrationAPIRetrieveAssetSiteDetailsResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.response !== undefined) { + AssetSiteDetailsResponse.encode(message.response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveAssetSiteDetailsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveAssetSiteDetailsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = AssetSiteDetailsResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRetrieveAssetSiteDetailsResponse { + return { response: isSet(object.response) ? AssetSiteDetailsResponse.fromJSON(object.response) : undefined }; + }, + + toJSON(message: RegistrationAPIRetrieveAssetSiteDetailsResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = AssetSiteDetailsResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveAssetSiteDetailsResponse { + return RegistrationAPIRetrieveAssetSiteDetailsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRetrieveAssetSiteDetailsResponse { + const message = createBaseRegistrationAPIRetrieveAssetSiteDetailsResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? AssetSiteDetailsResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIRetrieveSiteSuggestionRequest(): RegistrationAPIRetrieveSiteSuggestionRequest { + return { request: undefined }; +} + +export const RegistrationAPIRetrieveSiteSuggestionRequest: MessageFns = { + encode( + message: RegistrationAPIRetrieveSiteSuggestionRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.request !== undefined) { + SiteSuggestionRequest.encode(message.request, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveSiteSuggestionRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveSiteSuggestionRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = SiteSuggestionRequest.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRetrieveSiteSuggestionRequest { + return { request: isSet(object.request) ? SiteSuggestionRequest.fromJSON(object.request) : undefined }; + }, + + toJSON(message: RegistrationAPIRetrieveSiteSuggestionRequest): unknown { + const obj: any = {}; + if (message.request !== undefined) { + obj.request = SiteSuggestionRequest.toJSON(message.request); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveSiteSuggestionRequest { + return RegistrationAPIRetrieveSiteSuggestionRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRetrieveSiteSuggestionRequest { + const message = createBaseRegistrationAPIRetrieveSiteSuggestionRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? SiteSuggestionRequest.fromPartial(object.request) + : undefined; + return message; + }, +}; + +function createBaseRegistrationAPIRetrieveSiteSuggestionResponse(): RegistrationAPIRetrieveSiteSuggestionResponse { + return { response: undefined }; +} + +export const RegistrationAPIRetrieveSiteSuggestionResponse: MessageFns = + { + encode( + message: RegistrationAPIRetrieveSiteSuggestionResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.response !== undefined) { + SiteSuggestionResponse.encode(message.response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveSiteSuggestionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveSiteSuggestionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = SiteSuggestionResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRetrieveSiteSuggestionResponse { + return { response: isSet(object.response) ? SiteSuggestionResponse.fromJSON(object.response) : undefined }; + }, + + toJSON(message: RegistrationAPIRetrieveSiteSuggestionResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = SiteSuggestionResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveSiteSuggestionResponse { + return RegistrationAPIRetrieveSiteSuggestionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRetrieveSiteSuggestionResponse { + const message = createBaseRegistrationAPIRetrieveSiteSuggestionResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? SiteSuggestionResponse.fromPartial(object.response) + : undefined; + return message; + }, + }; + +function createBaseRegistrationAPIRetrieveSiteUuidRequest(): RegistrationAPIRetrieveSiteUuidRequest { + return {}; +} + +export const RegistrationAPIRetrieveSiteUuidRequest: MessageFns = { + encode(_: RegistrationAPIRetrieveSiteUuidRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveSiteUuidRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveSiteUuidRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): RegistrationAPIRetrieveSiteUuidRequest { + return {}; + }, + + toJSON(_: RegistrationAPIRetrieveSiteUuidRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveSiteUuidRequest { + return RegistrationAPIRetrieveSiteUuidRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): RegistrationAPIRetrieveSiteUuidRequest { + const message = createBaseRegistrationAPIRetrieveSiteUuidRequest(); + return message; + }, +}; + +function createBaseRegistrationAPIRetrieveSiteUuidResponse(): RegistrationAPIRetrieveSiteUuidResponse { + return { response: undefined }; +} + +export const RegistrationAPIRetrieveSiteUuidResponse: MessageFns = { + encode(message: RegistrationAPIRetrieveSiteUuidResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response !== undefined) { + AssetSiteUuidOfDeviceResponse.encode(message.response, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationAPIRetrieveSiteUuidResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationAPIRetrieveSiteUuidResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = AssetSiteUuidOfDeviceResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationAPIRetrieveSiteUuidResponse { + return { response: isSet(object.response) ? AssetSiteUuidOfDeviceResponse.fromJSON(object.response) : undefined }; + }, + + toJSON(message: RegistrationAPIRetrieveSiteUuidResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = AssetSiteUuidOfDeviceResponse.toJSON(message.response); + } + return obj; + }, + + create, I>>( + base?: I, + ): RegistrationAPIRetrieveSiteUuidResponse { + return RegistrationAPIRetrieveSiteUuidResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): RegistrationAPIRetrieveSiteUuidResponse { + const message = createBaseRegistrationAPIRetrieveSiteUuidResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? AssetSiteUuidOfDeviceResponse.fromPartial(object.response) + : undefined; + return message; + }, +}; + +function createBaseRegistrationMessages(): RegistrationMessages { + return { + prepareRegistrationPayloadRequest: undefined, + prepareRegistrationPayloadResponse: undefined, + registerRequest: undefined, + registerResponse: undefined, + retrieveSiteUuidRequest: undefined, + retrieveSiteUuidResponse: undefined, + retrieveSiteSuggestionRequest: undefined, + retrieveSiteSuggestionResponse: undefined, + retrieveAssetSiteDetailsRequest: undefined, + retrieveAssetSiteDetailsResponse: undefined, + deactivateDeviceRequest: undefined, + deactivateDeviceResponse: undefined, + }; +} + +export const RegistrationMessages: MessageFns = { + encode(message: RegistrationMessages, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.prepareRegistrationPayloadRequest !== undefined) { + RegistrationAPIPrepareRegistrationPayloadRequest.encode( + message.prepareRegistrationPayloadRequest, + writer.uint32(10).fork(), + ).join(); + } + if (message.prepareRegistrationPayloadResponse !== undefined) { + RegistrationAPIPrepareRegistrationPayloadResponse.encode( + message.prepareRegistrationPayloadResponse, + writer.uint32(18).fork(), + ).join(); + } + if (message.registerRequest !== undefined) { + RegistrationAPIRegisterRequest.encode(message.registerRequest, writer.uint32(26).fork()).join(); + } + if (message.registerResponse !== undefined) { + RegistrationAPIRegisterResponse.encode(message.registerResponse, writer.uint32(34).fork()).join(); + } + if (message.retrieveSiteUuidRequest !== undefined) { + RegistrationAPIRetrieveSiteUuidRequest.encode(message.retrieveSiteUuidRequest, writer.uint32(42).fork()).join(); + } + if (message.retrieveSiteUuidResponse !== undefined) { + RegistrationAPIRetrieveSiteUuidResponse.encode(message.retrieveSiteUuidResponse, writer.uint32(50).fork()).join(); + } + if (message.retrieveSiteSuggestionRequest !== undefined) { + RegistrationAPIRetrieveSiteSuggestionRequest.encode( + message.retrieveSiteSuggestionRequest, + writer.uint32(58).fork(), + ).join(); + } + if (message.retrieveSiteSuggestionResponse !== undefined) { + RegistrationAPIRetrieveSiteSuggestionResponse.encode( + message.retrieveSiteSuggestionResponse, + writer.uint32(66).fork(), + ).join(); + } + if (message.retrieveAssetSiteDetailsRequest !== undefined) { + RegistrationAPIRetrieveAssetSiteDetailsRequest.encode( + message.retrieveAssetSiteDetailsRequest, + writer.uint32(74).fork(), + ).join(); + } + if (message.retrieveAssetSiteDetailsResponse !== undefined) { + RegistrationAPIRetrieveAssetSiteDetailsResponse.encode( + message.retrieveAssetSiteDetailsResponse, + writer.uint32(82).fork(), + ).join(); + } + if (message.deactivateDeviceRequest !== undefined) { + RegistrationAPIDeactivateDeviceRequest.encode(message.deactivateDeviceRequest, writer.uint32(90).fork()).join(); + } + if (message.deactivateDeviceResponse !== undefined) { + RegistrationAPIDeactivateDeviceResponse.encode(message.deactivateDeviceResponse, writer.uint32(98).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationMessages { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationMessages(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.prepareRegistrationPayloadRequest = RegistrationAPIPrepareRegistrationPayloadRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.prepareRegistrationPayloadResponse = RegistrationAPIPrepareRegistrationPayloadResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.registerRequest = RegistrationAPIRegisterRequest.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.registerResponse = RegistrationAPIRegisterResponse.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.retrieveSiteUuidRequest = RegistrationAPIRetrieveSiteUuidRequest.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.retrieveSiteUuidResponse = RegistrationAPIRetrieveSiteUuidResponse.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.retrieveSiteSuggestionRequest = RegistrationAPIRetrieveSiteSuggestionRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.retrieveSiteSuggestionResponse = RegistrationAPIRetrieveSiteSuggestionResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.retrieveAssetSiteDetailsRequest = RegistrationAPIRetrieveAssetSiteDetailsRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.retrieveAssetSiteDetailsResponse = RegistrationAPIRetrieveAssetSiteDetailsResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.deactivateDeviceRequest = RegistrationAPIDeactivateDeviceRequest.decode(reader, reader.uint32()); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.deactivateDeviceResponse = RegistrationAPIDeactivateDeviceResponse.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationMessages { + return { + prepareRegistrationPayloadRequest: isSet(object.prepareRegistrationPayloadRequest) + ? RegistrationAPIPrepareRegistrationPayloadRequest.fromJSON(object.prepareRegistrationPayloadRequest) + : undefined, + prepareRegistrationPayloadResponse: isSet(object.prepareRegistrationPayloadResponse) + ? RegistrationAPIPrepareRegistrationPayloadResponse.fromJSON(object.prepareRegistrationPayloadResponse) + : undefined, + registerRequest: isSet(object.registerRequest) + ? RegistrationAPIRegisterRequest.fromJSON(object.registerRequest) + : undefined, + registerResponse: isSet(object.registerResponse) + ? RegistrationAPIRegisterResponse.fromJSON(object.registerResponse) + : undefined, + retrieveSiteUuidRequest: isSet(object.retrieveSiteUuidRequest) + ? RegistrationAPIRetrieveSiteUuidRequest.fromJSON(object.retrieveSiteUuidRequest) + : undefined, + retrieveSiteUuidResponse: isSet(object.retrieveSiteUuidResponse) + ? RegistrationAPIRetrieveSiteUuidResponse.fromJSON(object.retrieveSiteUuidResponse) + : undefined, + retrieveSiteSuggestionRequest: isSet(object.retrieveSiteSuggestionRequest) + ? RegistrationAPIRetrieveSiteSuggestionRequest.fromJSON(object.retrieveSiteSuggestionRequest) + : undefined, + retrieveSiteSuggestionResponse: isSet(object.retrieveSiteSuggestionResponse) + ? RegistrationAPIRetrieveSiteSuggestionResponse.fromJSON(object.retrieveSiteSuggestionResponse) + : undefined, + retrieveAssetSiteDetailsRequest: isSet(object.retrieveAssetSiteDetailsRequest) + ? RegistrationAPIRetrieveAssetSiteDetailsRequest.fromJSON(object.retrieveAssetSiteDetailsRequest) + : undefined, + retrieveAssetSiteDetailsResponse: isSet(object.retrieveAssetSiteDetailsResponse) + ? RegistrationAPIRetrieveAssetSiteDetailsResponse.fromJSON(object.retrieveAssetSiteDetailsResponse) + : undefined, + deactivateDeviceRequest: isSet(object.deactivateDeviceRequest) + ? RegistrationAPIDeactivateDeviceRequest.fromJSON(object.deactivateDeviceRequest) + : undefined, + deactivateDeviceResponse: isSet(object.deactivateDeviceResponse) + ? RegistrationAPIDeactivateDeviceResponse.fromJSON(object.deactivateDeviceResponse) + : undefined, + }; + }, + + toJSON(message: RegistrationMessages): unknown { + const obj: any = {}; + if (message.prepareRegistrationPayloadRequest !== undefined) { + obj.prepareRegistrationPayloadRequest = RegistrationAPIPrepareRegistrationPayloadRequest.toJSON( + message.prepareRegistrationPayloadRequest, + ); + } + if (message.prepareRegistrationPayloadResponse !== undefined) { + obj.prepareRegistrationPayloadResponse = RegistrationAPIPrepareRegistrationPayloadResponse.toJSON( + message.prepareRegistrationPayloadResponse, + ); + } + if (message.registerRequest !== undefined) { + obj.registerRequest = RegistrationAPIRegisterRequest.toJSON(message.registerRequest); + } + if (message.registerResponse !== undefined) { + obj.registerResponse = RegistrationAPIRegisterResponse.toJSON(message.registerResponse); + } + if (message.retrieveSiteUuidRequest !== undefined) { + obj.retrieveSiteUuidRequest = RegistrationAPIRetrieveSiteUuidRequest.toJSON(message.retrieveSiteUuidRequest); + } + if (message.retrieveSiteUuidResponse !== undefined) { + obj.retrieveSiteUuidResponse = RegistrationAPIRetrieveSiteUuidResponse.toJSON(message.retrieveSiteUuidResponse); + } + if (message.retrieveSiteSuggestionRequest !== undefined) { + obj.retrieveSiteSuggestionRequest = RegistrationAPIRetrieveSiteSuggestionRequest.toJSON( + message.retrieveSiteSuggestionRequest, + ); + } + if (message.retrieveSiteSuggestionResponse !== undefined) { + obj.retrieveSiteSuggestionResponse = RegistrationAPIRetrieveSiteSuggestionResponse.toJSON( + message.retrieveSiteSuggestionResponse, + ); + } + if (message.retrieveAssetSiteDetailsRequest !== undefined) { + obj.retrieveAssetSiteDetailsRequest = RegistrationAPIRetrieveAssetSiteDetailsRequest.toJSON( + message.retrieveAssetSiteDetailsRequest, + ); + } + if (message.retrieveAssetSiteDetailsResponse !== undefined) { + obj.retrieveAssetSiteDetailsResponse = RegistrationAPIRetrieveAssetSiteDetailsResponse.toJSON( + message.retrieveAssetSiteDetailsResponse, + ); + } + if (message.deactivateDeviceRequest !== undefined) { + obj.deactivateDeviceRequest = RegistrationAPIDeactivateDeviceRequest.toJSON(message.deactivateDeviceRequest); + } + if (message.deactivateDeviceResponse !== undefined) { + obj.deactivateDeviceResponse = RegistrationAPIDeactivateDeviceResponse.toJSON(message.deactivateDeviceResponse); + } + return obj; + }, + + create, I>>(base?: I): RegistrationMessages { + return RegistrationMessages.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RegistrationMessages { + const message = createBaseRegistrationMessages(); + message.prepareRegistrationPayloadRequest = + (object.prepareRegistrationPayloadRequest !== undefined && object.prepareRegistrationPayloadRequest !== null) + ? RegistrationAPIPrepareRegistrationPayloadRequest.fromPartial(object.prepareRegistrationPayloadRequest) + : undefined; + message.prepareRegistrationPayloadResponse = + (object.prepareRegistrationPayloadResponse !== undefined && object.prepareRegistrationPayloadResponse !== null) + ? RegistrationAPIPrepareRegistrationPayloadResponse.fromPartial(object.prepareRegistrationPayloadResponse) + : undefined; + message.registerRequest = (object.registerRequest !== undefined && object.registerRequest !== null) + ? RegistrationAPIRegisterRequest.fromPartial(object.registerRequest) + : undefined; + message.registerResponse = (object.registerResponse !== undefined && object.registerResponse !== null) + ? RegistrationAPIRegisterResponse.fromPartial(object.registerResponse) + : undefined; + message.retrieveSiteUuidRequest = + (object.retrieveSiteUuidRequest !== undefined && object.retrieveSiteUuidRequest !== null) + ? RegistrationAPIRetrieveSiteUuidRequest.fromPartial(object.retrieveSiteUuidRequest) + : undefined; + message.retrieveSiteUuidResponse = + (object.retrieveSiteUuidResponse !== undefined && object.retrieveSiteUuidResponse !== null) + ? RegistrationAPIRetrieveSiteUuidResponse.fromPartial(object.retrieveSiteUuidResponse) + : undefined; + message.retrieveSiteSuggestionRequest = + (object.retrieveSiteSuggestionRequest !== undefined && object.retrieveSiteSuggestionRequest !== null) + ? RegistrationAPIRetrieveSiteSuggestionRequest.fromPartial(object.retrieveSiteSuggestionRequest) + : undefined; + message.retrieveSiteSuggestionResponse = + (object.retrieveSiteSuggestionResponse !== undefined && object.retrieveSiteSuggestionResponse !== null) + ? RegistrationAPIRetrieveSiteSuggestionResponse.fromPartial(object.retrieveSiteSuggestionResponse) + : undefined; + message.retrieveAssetSiteDetailsRequest = + (object.retrieveAssetSiteDetailsRequest !== undefined && object.retrieveAssetSiteDetailsRequest !== null) + ? RegistrationAPIRetrieveAssetSiteDetailsRequest.fromPartial(object.retrieveAssetSiteDetailsRequest) + : undefined; + message.retrieveAssetSiteDetailsResponse = + (object.retrieveAssetSiteDetailsResponse !== undefined && object.retrieveAssetSiteDetailsResponse !== null) + ? RegistrationAPIRetrieveAssetSiteDetailsResponse.fromPartial(object.retrieveAssetSiteDetailsResponse) + : undefined; + message.deactivateDeviceRequest = + (object.deactivateDeviceRequest !== undefined && object.deactivateDeviceRequest !== null) + ? RegistrationAPIDeactivateDeviceRequest.fromPartial(object.deactivateDeviceRequest) + : undefined; + message.deactivateDeviceResponse = + (object.deactivateDeviceResponse !== undefined && object.deactivateDeviceResponse !== null) + ? RegistrationAPIDeactivateDeviceResponse.fromPartial(object.deactivateDeviceResponse) + : undefined; + return message; + }, +}; + +function createBaseRegistrationRequest(): RegistrationRequest { + return { + version: undefined, + partDetails: [], + attempt: 0, + registrationSource: 0, + installer: undefined, + customer: undefined, + siteAddress: undefined, + legalConsent: undefined, + installationInfo: undefined, + assetSiteId: undefined, + additionalPartners: [], + }; +} + +export const RegistrationRequest: MessageFns = { + encode(message: RegistrationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.version !== undefined) { + FirmwareVersion.encode(message.version, writer.uint32(10).fork()).join(); + } + for (const v of message.partDetails) { + PartDetail.encode(v!, writer.uint32(18).fork()).join(); + } + if (message.attempt !== 0) { + writer.uint32(24).uint32(message.attempt); + } + if (message.registrationSource !== 0) { + writer.uint32(32).int32(message.registrationSource); + } + if (message.installer !== undefined) { + InstallerInfo.encode(message.installer, writer.uint32(42).fork()).join(); + } + if (message.customer !== undefined) { + CustomerInfo.encode(message.customer, writer.uint32(50).fork()).join(); + } + if (message.siteAddress !== undefined) { + CustomerSiteAddress.encode(message.siteAddress, writer.uint32(58).fork()).join(); + } + if (message.legalConsent !== undefined) { + CustomerLegalConsent.encode(message.legalConsent, writer.uint32(66).fork()).join(); + } + if (message.installationInfo !== undefined) { + InstallationInfo.encode(message.installationInfo, writer.uint32(74).fork()).join(); + } + if (message.assetSiteId !== undefined) { + StringValue.encode({ value: message.assetSiteId! }, writer.uint32(82).fork()).join(); + } + for (const v of message.additionalPartners) { + PartnerInfo.encode(v!, writer.uint32(90).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.version = FirmwareVersion.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.partDetails.push(PartDetail.decode(reader, reader.uint32())); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.attempt = reader.uint32(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.registrationSource = reader.int32() as any; + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.installer = InstallerInfo.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.customer = CustomerInfo.decode(reader, reader.uint32()); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.siteAddress = CustomerSiteAddress.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.legalConsent = CustomerLegalConsent.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.installationInfo = InstallationInfo.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.assetSiteId = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.additionalPartners.push(PartnerInfo.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationRequest { + return { + version: isSet(object.version) ? FirmwareVersion.fromJSON(object.version) : undefined, + partDetails: globalThis.Array.isArray(object?.partDetails) + ? object.partDetails.map((e: any) => PartDetail.fromJSON(e)) + : [], + attempt: isSet(object.attempt) ? globalThis.Number(object.attempt) : 0, + registrationSource: isSet(object.registrationSource) ? registrationSourceFromJSON(object.registrationSource) : 0, + installer: isSet(object.installer) ? InstallerInfo.fromJSON(object.installer) : undefined, + customer: isSet(object.customer) ? CustomerInfo.fromJSON(object.customer) : undefined, + siteAddress: isSet(object.siteAddress) ? CustomerSiteAddress.fromJSON(object.siteAddress) : undefined, + legalConsent: isSet(object.legalConsent) ? CustomerLegalConsent.fromJSON(object.legalConsent) : undefined, + installationInfo: isSet(object.installationInfo) ? InstallationInfo.fromJSON(object.installationInfo) : undefined, + assetSiteId: isSet(object.assetSiteId) ? String(object.assetSiteId) : undefined, + additionalPartners: globalThis.Array.isArray(object?.additionalPartners) + ? object.additionalPartners.map((e: any) => PartnerInfo.fromJSON(e)) + : [], + }; + }, + + toJSON(message: RegistrationRequest): unknown { + const obj: any = {}; + if (message.version !== undefined) { + obj.version = FirmwareVersion.toJSON(message.version); + } + if (message.partDetails?.length) { + obj.partDetails = message.partDetails.map((e) => PartDetail.toJSON(e)); + } + if (message.attempt !== undefined) { + obj.attempt = Math.round(message.attempt); + } + if (message.registrationSource !== undefined) { + obj.registrationSource = registrationSourceToJSON(message.registrationSource); + } + if (message.installer !== undefined) { + obj.installer = InstallerInfo.toJSON(message.installer); + } + if (message.customer !== undefined) { + obj.customer = CustomerInfo.toJSON(message.customer); + } + if (message.siteAddress !== undefined) { + obj.siteAddress = CustomerSiteAddress.toJSON(message.siteAddress); + } + if (message.legalConsent !== undefined) { + obj.legalConsent = CustomerLegalConsent.toJSON(message.legalConsent); + } + if (message.installationInfo !== undefined) { + obj.installationInfo = InstallationInfo.toJSON(message.installationInfo); + } + if (message.assetSiteId !== undefined) { + obj.assetSiteId = message.assetSiteId; + } + if (message.additionalPartners?.length) { + obj.additionalPartners = message.additionalPartners.map((e) => PartnerInfo.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): RegistrationRequest { + return RegistrationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RegistrationRequest { + const message = createBaseRegistrationRequest(); + message.version = (object.version !== undefined && object.version !== null) + ? FirmwareVersion.fromPartial(object.version) + : undefined; + message.partDetails = object.partDetails?.map((e) => PartDetail.fromPartial(e)) || []; + message.attempt = object.attempt ?? 0; + message.registrationSource = object.registrationSource ?? 0; + message.installer = (object.installer !== undefined && object.installer !== null) + ? InstallerInfo.fromPartial(object.installer) + : undefined; + message.customer = (object.customer !== undefined && object.customer !== null) + ? CustomerInfo.fromPartial(object.customer) + : undefined; + message.siteAddress = (object.siteAddress !== undefined && object.siteAddress !== null) + ? CustomerSiteAddress.fromPartial(object.siteAddress) + : undefined; + message.legalConsent = (object.legalConsent !== undefined && object.legalConsent !== null) + ? CustomerLegalConsent.fromPartial(object.legalConsent) + : undefined; + message.installationInfo = (object.installationInfo !== undefined && object.installationInfo !== null) + ? InstallationInfo.fromPartial(object.installationInfo) + : undefined; + message.assetSiteId = object.assetSiteId ?? undefined; + message.additionalPartners = object.additionalPartners?.map((e) => PartnerInfo.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseRegistrationResponse(): RegistrationResponse { + return { status: 0, retryDelayS: 0, statusTime: undefined, assetSiteId: undefined }; +} + +export const RegistrationResponse: MessageFns = { + encode(message: RegistrationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + if (message.retryDelayS !== 0) { + writer.uint32(16).uint32(message.retryDelayS); + } + if (message.statusTime !== undefined) { + Timestamp.encode(toTimestamp(message.statusTime), writer.uint32(26).fork()).join(); + } + if (message.assetSiteId !== undefined) { + StringValue.encode({ value: message.assetSiteId! }, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegistrationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegistrationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.status = reader.int32() as any; + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.retryDelayS = reader.uint32(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.statusTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.assetSiteId = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegistrationResponse { + return { + status: isSet(object.status) ? registrationStatusFromJSON(object.status) : 0, + retryDelayS: isSet(object.retryDelayS) ? globalThis.Number(object.retryDelayS) : 0, + statusTime: isSet(object.statusTime) ? fromJsonTimestamp(object.statusTime) : undefined, + assetSiteId: isSet(object.assetSiteId) ? String(object.assetSiteId) : undefined, + }; + }, + + toJSON(message: RegistrationResponse): unknown { + const obj: any = {}; + if (message.status !== undefined) { + obj.status = registrationStatusToJSON(message.status); + } + if (message.retryDelayS !== undefined) { + obj.retryDelayS = Math.round(message.retryDelayS); + } + if (message.statusTime !== undefined) { + obj.statusTime = message.statusTime.toISOString(); + } + if (message.assetSiteId !== undefined) { + obj.assetSiteId = message.assetSiteId; + } + return obj; + }, + + create, I>>(base?: I): RegistrationResponse { + return RegistrationResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): RegistrationResponse { + const message = createBaseRegistrationResponse(); + message.status = object.status ?? 0; + message.retryDelayS = object.retryDelayS ?? 0; + message.statusTime = object.statusTime ?? undefined; + message.assetSiteId = object.assetSiteId ?? undefined; + return message; + }, +}; + +function createBaseSiteSuggestion(): SiteSuggestion { + return { assetSiteUuid: "", anonymizedSiteDetails: undefined }; +} + +export const SiteSuggestion: MessageFns = { + encode(message: SiteSuggestion, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.assetSiteUuid !== "") { + writer.uint32(10).string(message.assetSiteUuid); + } + if (message.anonymizedSiteDetails !== undefined) { + AnonymizedSiteDetails.encode(message.anonymizedSiteDetails, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SiteSuggestion { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSiteSuggestion(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.assetSiteUuid = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.anonymizedSiteDetails = AnonymizedSiteDetails.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SiteSuggestion { + return { + assetSiteUuid: isSet(object.assetSiteUuid) ? globalThis.String(object.assetSiteUuid) : "", + anonymizedSiteDetails: isSet(object.anonymizedSiteDetails) + ? AnonymizedSiteDetails.fromJSON(object.anonymizedSiteDetails) + : undefined, + }; + }, + + toJSON(message: SiteSuggestion): unknown { + const obj: any = {}; + if (message.assetSiteUuid !== undefined) { + obj.assetSiteUuid = message.assetSiteUuid; + } + if (message.anonymizedSiteDetails !== undefined) { + obj.anonymizedSiteDetails = AnonymizedSiteDetails.toJSON(message.anonymizedSiteDetails); + } + return obj; + }, + + create, I>>(base?: I): SiteSuggestion { + return SiteSuggestion.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SiteSuggestion { + const message = createBaseSiteSuggestion(); + message.assetSiteUuid = object.assetSiteUuid ?? ""; + message.anonymizedSiteDetails = + (object.anonymizedSiteDetails !== undefined && object.anonymizedSiteDetails !== null) + ? AnonymizedSiteDetails.fromPartial(object.anonymizedSiteDetails) + : undefined; + return message; + }, +}; + +function createBaseSiteSuggestionRequest(): SiteSuggestionRequest { + return { lookup: "", installerLocation: undefined, installerTeslaAuthBearerToken: "" }; +} + +export const SiteSuggestionRequest: MessageFns = { + encode(message: SiteSuggestionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.lookup !== "") { + writer.uint32(10).string(message.lookup); + } + if (message.installerLocation !== undefined) { + InstallerLocation.encode(message.installerLocation, writer.uint32(18).fork()).join(); + } + if (message.installerTeslaAuthBearerToken !== "") { + writer.uint32(26).string(message.installerTeslaAuthBearerToken); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SiteSuggestionRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSiteSuggestionRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.lookup = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.installerLocation = InstallerLocation.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.installerTeslaAuthBearerToken = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SiteSuggestionRequest { + return { + lookup: isSet(object.lookup) ? globalThis.String(object.lookup) : "", + installerLocation: isSet(object.installerLocation) + ? InstallerLocation.fromJSON(object.installerLocation) + : undefined, + installerTeslaAuthBearerToken: isSet(object.installerTeslaAuthBearerToken) + ? globalThis.String(object.installerTeslaAuthBearerToken) + : "", + }; + }, + + toJSON(message: SiteSuggestionRequest): unknown { + const obj: any = {}; + if (message.lookup !== undefined) { + obj.lookup = message.lookup; + } + if (message.installerLocation !== undefined) { + obj.installerLocation = InstallerLocation.toJSON(message.installerLocation); + } + if (message.installerTeslaAuthBearerToken !== undefined) { + obj.installerTeslaAuthBearerToken = message.installerTeslaAuthBearerToken; + } + return obj; + }, + + create, I>>(base?: I): SiteSuggestionRequest { + return SiteSuggestionRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SiteSuggestionRequest { + const message = createBaseSiteSuggestionRequest(); + message.lookup = object.lookup ?? ""; + message.installerLocation = (object.installerLocation !== undefined && object.installerLocation !== null) + ? InstallerLocation.fromPartial(object.installerLocation) + : undefined; + message.installerTeslaAuthBearerToken = object.installerTeslaAuthBearerToken ?? ""; + return message; + }, +}; + +function createBaseSiteSuggestionResponse(): SiteSuggestionResponse { + return { siteSuggestions: [] }; +} + +export const SiteSuggestionResponse: MessageFns = { + encode(message: SiteSuggestionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.siteSuggestions) { + SiteSuggestion.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SiteSuggestionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSiteSuggestionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.siteSuggestions.push(SiteSuggestion.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SiteSuggestionResponse { + return { + siteSuggestions: globalThis.Array.isArray(object?.siteSuggestions) + ? object.siteSuggestions.map((e: any) => SiteSuggestion.fromJSON(e)) + : [], + }; + }, + + toJSON(message: SiteSuggestionResponse): unknown { + const obj: any = {}; + if (message.siteSuggestions?.length) { + obj.siteSuggestions = message.siteSuggestions.map((e) => SiteSuggestion.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): SiteSuggestionResponse { + return SiteSuggestionResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SiteSuggestionResponse { + const message = createBaseSiteSuggestionResponse(); + message.siteSuggestions = object.siteSuggestions?.map((e) => SiteSuggestion.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseWCCommercialRegistrationRequest(): WCCommercialRegistrationRequest { + return { + deviceProperties: undefined, + assetSiteId: undefined, + siteInfo: undefined, + installerInfo: undefined, + installationCompleted: false, + siteOwnerEmail: undefined, + }; +} + +export const WCCommercialRegistrationRequest: MessageFns = { + encode(message: WCCommercialRegistrationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.deviceProperties !== undefined) { + CommercialChargingDeviceProperties.encode(message.deviceProperties, writer.uint32(10).fork()).join(); + } + if (message.assetSiteId !== undefined) { + UUIDv4.encode(message.assetSiteId, writer.uint32(18).fork()).join(); + } + if (message.siteInfo !== undefined) { + CommercialChargingSiteInfo.encode(message.siteInfo, writer.uint32(26).fork()).join(); + } + if (message.installerInfo !== undefined) { + InstallerInfo.encode(message.installerInfo, writer.uint32(34).fork()).join(); + } + if (message.installationCompleted !== false) { + writer.uint32(40).bool(message.installationCompleted); + } + if (message.siteOwnerEmail !== undefined) { + StringValue.encode({ value: message.siteOwnerEmail! }, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): WCCommercialRegistrationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWCCommercialRegistrationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.deviceProperties = CommercialChargingDeviceProperties.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.assetSiteId = UUIDv4.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.siteInfo = CommercialChargingSiteInfo.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.installerInfo = InstallerInfo.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.installationCompleted = reader.bool(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.siteOwnerEmail = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): WCCommercialRegistrationRequest { + return { + deviceProperties: isSet(object.deviceProperties) + ? CommercialChargingDeviceProperties.fromJSON(object.deviceProperties) + : undefined, + assetSiteId: isSet(object.assetSiteId) ? UUIDv4.fromJSON(object.assetSiteId) : undefined, + siteInfo: isSet(object.siteInfo) ? CommercialChargingSiteInfo.fromJSON(object.siteInfo) : undefined, + installerInfo: isSet(object.installerInfo) ? InstallerInfo.fromJSON(object.installerInfo) : undefined, + installationCompleted: isSet(object.installationCompleted) + ? globalThis.Boolean(object.installationCompleted) + : false, + siteOwnerEmail: isSet(object.siteOwnerEmail) ? String(object.siteOwnerEmail) : undefined, + }; + }, + + toJSON(message: WCCommercialRegistrationRequest): unknown { + const obj: any = {}; + if (message.deviceProperties !== undefined) { + obj.deviceProperties = CommercialChargingDeviceProperties.toJSON(message.deviceProperties); + } + if (message.assetSiteId !== undefined) { + obj.assetSiteId = UUIDv4.toJSON(message.assetSiteId); + } + if (message.siteInfo !== undefined) { + obj.siteInfo = CommercialChargingSiteInfo.toJSON(message.siteInfo); + } + if (message.installerInfo !== undefined) { + obj.installerInfo = InstallerInfo.toJSON(message.installerInfo); + } + if (message.installationCompleted !== undefined) { + obj.installationCompleted = message.installationCompleted; + } + if (message.siteOwnerEmail !== undefined) { + obj.siteOwnerEmail = message.siteOwnerEmail; + } + return obj; + }, + + create, I>>(base?: I): WCCommercialRegistrationRequest { + return WCCommercialRegistrationRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): WCCommercialRegistrationRequest { + const message = createBaseWCCommercialRegistrationRequest(); + message.deviceProperties = (object.deviceProperties !== undefined && object.deviceProperties !== null) + ? CommercialChargingDeviceProperties.fromPartial(object.deviceProperties) + : undefined; + message.assetSiteId = (object.assetSiteId !== undefined && object.assetSiteId !== null) + ? UUIDv4.fromPartial(object.assetSiteId) + : undefined; + message.siteInfo = (object.siteInfo !== undefined && object.siteInfo !== null) + ? CommercialChargingSiteInfo.fromPartial(object.siteInfo) + : undefined; + message.installerInfo = (object.installerInfo !== undefined && object.installerInfo !== null) + ? InstallerInfo.fromPartial(object.installerInfo) + : undefined; + message.installationCompleted = object.installationCompleted ?? false; + message.siteOwnerEmail = object.siteOwnerEmail ?? undefined; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} + +export interface MessageFns { + encode(message: T, writer?: BinaryWriter): BinaryWriter; + decode(input: BinaryReader | Uint8Array, length?: number): T; + fromJSON(object: any): T; + toJSON(message: T): unknown; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; +} diff --git a/packages/typescript/src/energy_device/supercharger_api.ts b/packages/typescript/src/energy_device/supercharger_api.ts new file mode 100644 index 0000000..05791d0 --- /dev/null +++ b/packages/typescript/src/energy_device/supercharger_api.ts @@ -0,0 +1,3743 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.7.7 +// protoc v6.33.5 +// source: supercharger_api.proto + +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { BoolValue, StringValue } from "./google/protobuf/wrappers.js"; + +export const protobufPackage = "tesla.proto.energy_device.v1"; + +export enum ConnectedKioskError { + CONNECTED_KIOSK_ERROR_INVALID = 0, + CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED = 1, + CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR = 2, + UNRECOGNIZED = -1, +} + +export function connectedKioskErrorFromJSON(object: any): ConnectedKioskError { + switch (object) { + case 0: + case "CONNECTED_KIOSK_ERROR_INVALID": + return ConnectedKioskError.CONNECTED_KIOSK_ERROR_INVALID; + case 1: + case "CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED": + return ConnectedKioskError.CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED; + case 2: + case "CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR": + return ConnectedKioskError.CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR; + case -1: + case "UNRECOGNIZED": + default: + return ConnectedKioskError.UNRECOGNIZED; + } +} + +export function connectedKioskErrorToJSON(object: ConnectedKioskError): string { + switch (object) { + case ConnectedKioskError.CONNECTED_KIOSK_ERROR_INVALID: + return "CONNECTED_KIOSK_ERROR_INVALID"; + case ConnectedKioskError.CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED: + return "CONNECTED_KIOSK_ERROR_SITEMANAGER_STARTED"; + case ConnectedKioskError.CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR: + return "CONNECTED_KIOSK_ERROR_UNEXPECTED_ERROR"; + case ConnectedKioskError.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum EcuFirmwareUpdateStage { + ECU_FIRMWARE_UPDATE_STAGE_INVALID = 0, + ECU_FIRMWARE_UPDATE_STAGE_WAITING = 1, + ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO = 2, + ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED = 3, + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL = 4, + ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED = 5, + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP = 6, + ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS = 7, + ECU_FIRMWARE_UPDATE_STAGE_PASS = 8, + ECU_FIRMWARE_UPDATE_STAGE_FAIL = 9, + UNRECOGNIZED = -1, +} + +export function ecuFirmwareUpdateStageFromJSON(object: any): EcuFirmwareUpdateStage { + switch (object) { + case 0: + case "ECU_FIRMWARE_UPDATE_STAGE_INVALID": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_INVALID; + case 1: + case "ECU_FIRMWARE_UPDATE_STAGE_WAITING": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_WAITING; + case 2: + case "ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO; + case 3: + case "ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED; + case 4: + case "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL; + case 5: + case "ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED; + case 6: + case "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP; + case 7: + case "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS; + case 8: + case "ECU_FIRMWARE_UPDATE_STAGE_PASS": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_PASS; + case 9: + case "ECU_FIRMWARE_UPDATE_STAGE_FAIL": + return EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_FAIL; + case -1: + case "UNRECOGNIZED": + default: + return EcuFirmwareUpdateStage.UNRECOGNIZED; + } +} + +export function ecuFirmwareUpdateStageToJSON(object: EcuFirmwareUpdateStage): string { + switch (object) { + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_INVALID: + return "ECU_FIRMWARE_UPDATE_STAGE_INVALID"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_WAITING: + return "ECU_FIRMWARE_UPDATE_STAGE_WAITING"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO: + return "ECU_FIRMWARE_UPDATE_STAGE_GET_DEVICE_INFO"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED: + return "ECU_FIRMWARE_UPDATE_STAGE_CHECK_BL_UPDATE_REQUIRED"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL: + return "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_BL"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED: + return "ECU_FIRMWARE_UPDATE_STAGE_CHECK_APP_UPDATE_REQUIRED"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP: + return "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_APP"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS: + return "ECU_FIRMWARE_UPDATE_STAGE_UPDATE_SUBCOMPONENTS"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_PASS: + return "ECU_FIRMWARE_UPDATE_STAGE_PASS"; + case EcuFirmwareUpdateStage.ECU_FIRMWARE_UPDATE_STAGE_FAIL: + return "ECU_FIRMWARE_UPDATE_STAGE_FAIL"; + case EcuFirmwareUpdateStage.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export enum SetDcMeterCommissionedError { + SET_DC_METER_COMMISSIONED_ERROR_INVALID = 0, + SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID = 1, + SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED = 2, + SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE = 3, + SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED = 4, + SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED = 5, + UNRECOGNIZED = -1, +} + +export function setDcMeterCommissionedErrorFromJSON(object: any): SetDcMeterCommissionedError { + switch (object) { + case 0: + case "SET_DC_METER_COMMISSIONED_ERROR_INVALID": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_INVALID; + case 1: + case "SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID; + case 2: + case "SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED; + case 3: + case "SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE; + case 4: + case "SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED; + case 5: + case "SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED": + return SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED; + case -1: + case "UNRECOGNIZED": + default: + return SetDcMeterCommissionedError.UNRECOGNIZED; + } +} + +export function setDcMeterCommissionedErrorToJSON(object: SetDcMeterCommissionedError): string { + switch (object) { + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_INVALID: + return "SET_DC_METER_COMMISSIONED_ERROR_INVALID"; + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID: + return "SET_DC_METER_COMMISSIONED_ERROR_INVALID_POST_ID"; + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED: + return "SET_DC_METER_COMMISSIONED_ERROR_DC_METER_NOT_INSTALLED"; + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE: + return "SET_DC_METER_COMMISSIONED_ERROR_UNAVAILABLE"; + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED: + return "SET_DC_METER_COMMISSIONED_ERROR_SECURITY_UNLOCK_FAILED"; + case SetDcMeterCommissionedError.SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED: + return "SET_DC_METER_COMMISSIONED_ERROR_WRITE_FAILED"; + case SetDcMeterCommissionedError.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +export interface ConnectedKiosk { + verifoneKiosk: VerifoneKiosk | undefined; +} + +export interface DcMeterCommissioningStatus { + postId: number; + installed: boolean | undefined; + commissioned: boolean | undefined; +} + +export interface DeviceIDAndSerialNumber { + serialNumber: string; + deviceId: string; +} + +export interface EcuFirmwareModuleUpdateResult { + ecuModule: string; + moduleUpdateStatus: EcuFirmwareModuleUpdateStatus | undefined; +} + +export interface EcuFirmwareModuleUpdateStatus { + pass: EcuFirmwareModuleUpdateStatusPass | undefined; + fail: EcuFirmwareModuleUpdateStatusFail | undefined; + skipped: EcuFirmwareModuleUpdateStatusSkipped | undefined; +} + +export interface EcuFirmwareModuleUpdateStatusFail { + reason: string | undefined; + preUpdateVersion: string | undefined; + postUpdateVersion: string | undefined; +} + +export interface EcuFirmwareModuleUpdateStatusPass { + preUpdateVersion: string | undefined; + postUpdateVersion: string | undefined; +} + +export interface EcuFirmwareModuleUpdateStatusSkipped { + reason: string | undefined; +} + +export interface EcuFirmwareUpdateAttempts { + attempts: EcuFirmwareUpdateEcuResult[]; +} + +export interface EcuFirmwareUpdateEcuResult { + ecuName: string; + moduleUpdateResults: EcuFirmwareModuleUpdateResult[]; +} + +export interface EcuFirmwareUpdateInProgress { + default: { [key: string]: EcuFirmwareUpdateNodeProgress }; +} + +export interface EcuFirmwareUpdateInProgress_DefaultEntry { + key: string; + value: EcuFirmwareUpdateNodeProgress | undefined; +} + +export interface EcuFirmwareUpdateNodeProgress { + nodePath: string; + stage: EcuFirmwareUpdateStage; + message: string; +} + +export interface EcuFirmwareUpdateResult { + systemUpdateStatus: EcuFirmwareUpdateStatus | undefined; + default: { [key: string]: EcuFirmwareUpdateAttempts }; +} + +export interface EcuFirmwareUpdateResult_DefaultEntry { + key: string; + value: EcuFirmwareUpdateAttempts | undefined; +} + +export interface EcuFirmwareUpdateStatus { + pass: EcuFirmwareUpdateStatusPass | undefined; + fail: EcuFirmwareUpdateStatusFail | undefined; +} + +export interface EcuFirmwareUpdateStatusFail { + reason: string; +} + +export interface EcuFirmwareUpdateStatusPass { +} + +export interface PayterPostStatus { + postIndex: number; + serialNumber: string; + activated: boolean; +} + +export interface SuperchargerAPIGetConnectedKiosksRequest { +} + +export interface SuperchargerAPIGetConnectedKiosksResponse { + error: ConnectedKioskError; + connectedKiosks: ConnectedKiosk[]; +} + +export interface SuperchargerAPIGetDcMetersCommissioningRequest { +} + +export interface SuperchargerAPIGetDcMetersCommissioningResponse { + dcMeters: DcMeterCommissioningStatus[]; + /** may be an enum; values not yet known */ + error: number; +} + +export interface SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { +} + +export interface SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + finished: EcuFirmwareUpdateResult | undefined; + inProgress: EcuFirmwareUpdateInProgress | undefined; +} + +export interface SuperchargerAPIGetPayterPostStatusRequest { +} + +export interface SuperchargerAPIGetPayterPostStatusResponse { + payterDevices: PayterPostStatus[]; +} + +export interface SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { +} + +export interface SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + deviceIds: DeviceIDAndSerialNumber[]; +} + +export interface SuperchargerAPIOdinCommandRequest { + command: string; + args: Uint8Array; +} + +export interface SuperchargerAPIOdinCommandResponse { + response: Uint8Array; + error: string; +} + +export interface SuperchargerAPISetDcMeterCommissionedRequest { + postId: number; +} + +export interface SuperchargerAPISetDcMeterCommissionedResponse { + success: boolean; + error: SetDcMeterCommissionedError; + errorMessage: string; +} + +export interface SuperchargerAPIUnlockMagicDockRequest { + cabinetId: string; + postId: number; +} + +export interface SuperchargerAPIUnlockMagicDockResponse { +} + +export interface SuperchargerAPIUpdateFollowersRequest { + dins: string[]; +} + +export interface SuperchargerAPIUpdateFollowersResponse { +} + +export interface SuperchargerMessages { + unlockMagicDockRequest?: SuperchargerAPIUnlockMagicDockRequest | undefined; + unlockMagicDockResponse?: SuperchargerAPIUnlockMagicDockResponse | undefined; + getConnectedKiosksRequest?: SuperchargerAPIGetConnectedKiosksRequest | undefined; + getConnectedKiosksResponse?: SuperchargerAPIGetConnectedKiosksResponse | undefined; + getVerifoneKioskDeviceIdsRequest?: SuperchargerAPIGetVerifoneKioskDeviceIdsRequest | undefined; + getVerifoneKioskDeviceIdsResponse?: SuperchargerAPIGetVerifoneKioskDeviceIdsResponse | undefined; + updateFollowersRequest?: SuperchargerAPIUpdateFollowersRequest | undefined; + updateFollowersResponse?: SuperchargerAPIUpdateFollowersResponse | undefined; + getDcMetersCommissioningRequest?: SuperchargerAPIGetDcMetersCommissioningRequest | undefined; + getDcMetersCommissioningResponse?: SuperchargerAPIGetDcMetersCommissioningResponse | undefined; + setDcMeterCommissionedRequest?: SuperchargerAPISetDcMeterCommissionedRequest | undefined; + setDcMeterCommissionedResponse?: SuperchargerAPISetDcMeterCommissionedResponse | undefined; + odinCommandRequest?: SuperchargerAPIOdinCommandRequest | undefined; + odinCommandResponse?: SuperchargerAPIOdinCommandResponse | undefined; + getPayterPostStatusRequest?: SuperchargerAPIGetPayterPostStatusRequest | undefined; + getPayterPostStatusResponse?: SuperchargerAPIGetPayterPostStatusResponse | undefined; + getEcuFirmwareUpdateProgressRequest?: SuperchargerAPIGetEcuFirmwareUpdateProgressRequest | undefined; + getEcuFirmwareUpdateProgressResponse?: SuperchargerAPIGetEcuFirmwareUpdateProgressResponse | undefined; +} + +export interface VerifoneKiosk { + serialNumber: string; + subjectKeyIdentifer: string; +} + +function createBaseConnectedKiosk(): ConnectedKiosk { + return { verifoneKiosk: undefined }; +} + +export const ConnectedKiosk: MessageFns = { + encode(message: ConnectedKiosk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.verifoneKiosk !== undefined) { + VerifoneKiosk.encode(message.verifoneKiosk, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ConnectedKiosk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConnectedKiosk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.verifoneKiosk = VerifoneKiosk.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ConnectedKiosk { + return { verifoneKiosk: isSet(object.verifoneKiosk) ? VerifoneKiosk.fromJSON(object.verifoneKiosk) : undefined }; + }, + + toJSON(message: ConnectedKiosk): unknown { + const obj: any = {}; + if (message.verifoneKiosk !== undefined) { + obj.verifoneKiosk = VerifoneKiosk.toJSON(message.verifoneKiosk); + } + return obj; + }, + + create, I>>(base?: I): ConnectedKiosk { + return ConnectedKiosk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ConnectedKiosk { + const message = createBaseConnectedKiosk(); + message.verifoneKiosk = (object.verifoneKiosk !== undefined && object.verifoneKiosk !== null) + ? VerifoneKiosk.fromPartial(object.verifoneKiosk) + : undefined; + return message; + }, +}; + +function createBaseDcMeterCommissioningStatus(): DcMeterCommissioningStatus { + return { postId: 0, installed: undefined, commissioned: undefined }; +} + +export const DcMeterCommissioningStatus: MessageFns = { + encode(message: DcMeterCommissioningStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.postId !== 0) { + writer.uint32(8).uint32(message.postId); + } + if (message.installed !== undefined) { + BoolValue.encode({ value: message.installed! }, writer.uint32(18).fork()).join(); + } + if (message.commissioned !== undefined) { + BoolValue.encode({ value: message.commissioned! }, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DcMeterCommissioningStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDcMeterCommissioningStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.postId = reader.uint32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.installed = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.commissioned = BoolValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DcMeterCommissioningStatus { + return { + postId: isSet(object.postId) ? globalThis.Number(object.postId) : 0, + installed: isSet(object.installed) ? Boolean(object.installed) : undefined, + commissioned: isSet(object.commissioned) ? Boolean(object.commissioned) : undefined, + }; + }, + + toJSON(message: DcMeterCommissioningStatus): unknown { + const obj: any = {}; + if (message.postId !== undefined) { + obj.postId = Math.round(message.postId); + } + if (message.installed !== undefined) { + obj.installed = message.installed; + } + if (message.commissioned !== undefined) { + obj.commissioned = message.commissioned; + } + return obj; + }, + + create, I>>(base?: I): DcMeterCommissioningStatus { + return DcMeterCommissioningStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DcMeterCommissioningStatus { + const message = createBaseDcMeterCommissioningStatus(); + message.postId = object.postId ?? 0; + message.installed = object.installed ?? undefined; + message.commissioned = object.commissioned ?? undefined; + return message; + }, +}; + +function createBaseDeviceIDAndSerialNumber(): DeviceIDAndSerialNumber { + return { serialNumber: "", deviceId: "" }; +} + +export const DeviceIDAndSerialNumber: MessageFns = { + encode(message: DeviceIDAndSerialNumber, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.serialNumber !== "") { + writer.uint32(10).string(message.serialNumber); + } + if (message.deviceId !== "") { + writer.uint32(18).string(message.deviceId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeviceIDAndSerialNumber { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeviceIDAndSerialNumber(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.serialNumber = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.deviceId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeviceIDAndSerialNumber { + return { + serialNumber: isSet(object.serialNumber) ? globalThis.String(object.serialNumber) : "", + deviceId: isSet(object.deviceId) ? globalThis.String(object.deviceId) : "", + }; + }, + + toJSON(message: DeviceIDAndSerialNumber): unknown { + const obj: any = {}; + if (message.serialNumber !== undefined) { + obj.serialNumber = message.serialNumber; + } + if (message.deviceId !== undefined) { + obj.deviceId = message.deviceId; + } + return obj; + }, + + create, I>>(base?: I): DeviceIDAndSerialNumber { + return DeviceIDAndSerialNumber.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): DeviceIDAndSerialNumber { + const message = createBaseDeviceIDAndSerialNumber(); + message.serialNumber = object.serialNumber ?? ""; + message.deviceId = object.deviceId ?? ""; + return message; + }, +}; + +function createBaseEcuFirmwareModuleUpdateResult(): EcuFirmwareModuleUpdateResult { + return { ecuModule: "", moduleUpdateStatus: undefined }; +} + +export const EcuFirmwareModuleUpdateResult: MessageFns = { + encode(message: EcuFirmwareModuleUpdateResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.ecuModule !== "") { + writer.uint32(10).string(message.ecuModule); + } + if (message.moduleUpdateStatus !== undefined) { + EcuFirmwareModuleUpdateStatus.encode(message.moduleUpdateStatus, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareModuleUpdateResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareModuleUpdateResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.ecuModule = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.moduleUpdateStatus = EcuFirmwareModuleUpdateStatus.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareModuleUpdateResult { + return { + ecuModule: isSet(object.ecuModule) ? globalThis.String(object.ecuModule) : "", + moduleUpdateStatus: isSet(object.moduleUpdateStatus) + ? EcuFirmwareModuleUpdateStatus.fromJSON(object.moduleUpdateStatus) + : undefined, + }; + }, + + toJSON(message: EcuFirmwareModuleUpdateResult): unknown { + const obj: any = {}; + if (message.ecuModule !== undefined) { + obj.ecuModule = message.ecuModule; + } + if (message.moduleUpdateStatus !== undefined) { + obj.moduleUpdateStatus = EcuFirmwareModuleUpdateStatus.toJSON(message.moduleUpdateStatus); + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareModuleUpdateResult { + return EcuFirmwareModuleUpdateResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareModuleUpdateResult { + const message = createBaseEcuFirmwareModuleUpdateResult(); + message.ecuModule = object.ecuModule ?? ""; + message.moduleUpdateStatus = (object.moduleUpdateStatus !== undefined && object.moduleUpdateStatus !== null) + ? EcuFirmwareModuleUpdateStatus.fromPartial(object.moduleUpdateStatus) + : undefined; + return message; + }, +}; + +function createBaseEcuFirmwareModuleUpdateStatus(): EcuFirmwareModuleUpdateStatus { + return { pass: undefined, fail: undefined, skipped: undefined }; +} + +export const EcuFirmwareModuleUpdateStatus: MessageFns = { + encode(message: EcuFirmwareModuleUpdateStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pass !== undefined) { + EcuFirmwareModuleUpdateStatusPass.encode(message.pass, writer.uint32(10).fork()).join(); + } + if (message.fail !== undefined) { + EcuFirmwareModuleUpdateStatusFail.encode(message.fail, writer.uint32(18).fork()).join(); + } + if (message.skipped !== undefined) { + EcuFirmwareModuleUpdateStatusSkipped.encode(message.skipped, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareModuleUpdateStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareModuleUpdateStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.pass = EcuFirmwareModuleUpdateStatusPass.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.fail = EcuFirmwareModuleUpdateStatusFail.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.skipped = EcuFirmwareModuleUpdateStatusSkipped.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareModuleUpdateStatus { + return { + pass: isSet(object.pass) ? EcuFirmwareModuleUpdateStatusPass.fromJSON(object.pass) : undefined, + fail: isSet(object.fail) ? EcuFirmwareModuleUpdateStatusFail.fromJSON(object.fail) : undefined, + skipped: isSet(object.skipped) ? EcuFirmwareModuleUpdateStatusSkipped.fromJSON(object.skipped) : undefined, + }; + }, + + toJSON(message: EcuFirmwareModuleUpdateStatus): unknown { + const obj: any = {}; + if (message.pass !== undefined) { + obj.pass = EcuFirmwareModuleUpdateStatusPass.toJSON(message.pass); + } + if (message.fail !== undefined) { + obj.fail = EcuFirmwareModuleUpdateStatusFail.toJSON(message.fail); + } + if (message.skipped !== undefined) { + obj.skipped = EcuFirmwareModuleUpdateStatusSkipped.toJSON(message.skipped); + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareModuleUpdateStatus { + return EcuFirmwareModuleUpdateStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareModuleUpdateStatus { + const message = createBaseEcuFirmwareModuleUpdateStatus(); + message.pass = (object.pass !== undefined && object.pass !== null) + ? EcuFirmwareModuleUpdateStatusPass.fromPartial(object.pass) + : undefined; + message.fail = (object.fail !== undefined && object.fail !== null) + ? EcuFirmwareModuleUpdateStatusFail.fromPartial(object.fail) + : undefined; + message.skipped = (object.skipped !== undefined && object.skipped !== null) + ? EcuFirmwareModuleUpdateStatusSkipped.fromPartial(object.skipped) + : undefined; + return message; + }, +}; + +function createBaseEcuFirmwareModuleUpdateStatusFail(): EcuFirmwareModuleUpdateStatusFail { + return { reason: undefined, preUpdateVersion: undefined, postUpdateVersion: undefined }; +} + +export const EcuFirmwareModuleUpdateStatusFail: MessageFns = { + encode(message: EcuFirmwareModuleUpdateStatusFail, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.reason !== undefined) { + StringValue.encode({ value: message.reason! }, writer.uint32(10).fork()).join(); + } + if (message.preUpdateVersion !== undefined) { + StringValue.encode({ value: message.preUpdateVersion! }, writer.uint32(18).fork()).join(); + } + if (message.postUpdateVersion !== undefined) { + StringValue.encode({ value: message.postUpdateVersion! }, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareModuleUpdateStatusFail { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareModuleUpdateStatusFail(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.reason = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.preUpdateVersion = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.postUpdateVersion = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareModuleUpdateStatusFail { + return { + reason: isSet(object.reason) ? String(object.reason) : undefined, + preUpdateVersion: isSet(object.preUpdateVersion) ? String(object.preUpdateVersion) : undefined, + postUpdateVersion: isSet(object.postUpdateVersion) ? String(object.postUpdateVersion) : undefined, + }; + }, + + toJSON(message: EcuFirmwareModuleUpdateStatusFail): unknown { + const obj: any = {}; + if (message.reason !== undefined) { + obj.reason = message.reason; + } + if (message.preUpdateVersion !== undefined) { + obj.preUpdateVersion = message.preUpdateVersion; + } + if (message.postUpdateVersion !== undefined) { + obj.postUpdateVersion = message.postUpdateVersion; + } + return obj; + }, + + create, I>>( + base?: I, + ): EcuFirmwareModuleUpdateStatusFail { + return EcuFirmwareModuleUpdateStatusFail.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareModuleUpdateStatusFail { + const message = createBaseEcuFirmwareModuleUpdateStatusFail(); + message.reason = object.reason ?? undefined; + message.preUpdateVersion = object.preUpdateVersion ?? undefined; + message.postUpdateVersion = object.postUpdateVersion ?? undefined; + return message; + }, +}; + +function createBaseEcuFirmwareModuleUpdateStatusPass(): EcuFirmwareModuleUpdateStatusPass { + return { preUpdateVersion: undefined, postUpdateVersion: undefined }; +} + +export const EcuFirmwareModuleUpdateStatusPass: MessageFns = { + encode(message: EcuFirmwareModuleUpdateStatusPass, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.preUpdateVersion !== undefined) { + StringValue.encode({ value: message.preUpdateVersion! }, writer.uint32(10).fork()).join(); + } + if (message.postUpdateVersion !== undefined) { + StringValue.encode({ value: message.postUpdateVersion! }, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareModuleUpdateStatusPass { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareModuleUpdateStatusPass(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.preUpdateVersion = StringValue.decode(reader, reader.uint32()).value; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.postUpdateVersion = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareModuleUpdateStatusPass { + return { + preUpdateVersion: isSet(object.preUpdateVersion) ? String(object.preUpdateVersion) : undefined, + postUpdateVersion: isSet(object.postUpdateVersion) ? String(object.postUpdateVersion) : undefined, + }; + }, + + toJSON(message: EcuFirmwareModuleUpdateStatusPass): unknown { + const obj: any = {}; + if (message.preUpdateVersion !== undefined) { + obj.preUpdateVersion = message.preUpdateVersion; + } + if (message.postUpdateVersion !== undefined) { + obj.postUpdateVersion = message.postUpdateVersion; + } + return obj; + }, + + create, I>>( + base?: I, + ): EcuFirmwareModuleUpdateStatusPass { + return EcuFirmwareModuleUpdateStatusPass.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareModuleUpdateStatusPass { + const message = createBaseEcuFirmwareModuleUpdateStatusPass(); + message.preUpdateVersion = object.preUpdateVersion ?? undefined; + message.postUpdateVersion = object.postUpdateVersion ?? undefined; + return message; + }, +}; + +function createBaseEcuFirmwareModuleUpdateStatusSkipped(): EcuFirmwareModuleUpdateStatusSkipped { + return { reason: undefined }; +} + +export const EcuFirmwareModuleUpdateStatusSkipped: MessageFns = { + encode(message: EcuFirmwareModuleUpdateStatusSkipped, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.reason !== undefined) { + StringValue.encode({ value: message.reason! }, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareModuleUpdateStatusSkipped { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareModuleUpdateStatusSkipped(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.reason = StringValue.decode(reader, reader.uint32()).value; + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareModuleUpdateStatusSkipped { + return { reason: isSet(object.reason) ? String(object.reason) : undefined }; + }, + + toJSON(message: EcuFirmwareModuleUpdateStatusSkipped): unknown { + const obj: any = {}; + if (message.reason !== undefined) { + obj.reason = message.reason; + } + return obj; + }, + + create, I>>( + base?: I, + ): EcuFirmwareModuleUpdateStatusSkipped { + return EcuFirmwareModuleUpdateStatusSkipped.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareModuleUpdateStatusSkipped { + const message = createBaseEcuFirmwareModuleUpdateStatusSkipped(); + message.reason = object.reason ?? undefined; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateAttempts(): EcuFirmwareUpdateAttempts { + return { attempts: [] }; +} + +export const EcuFirmwareUpdateAttempts: MessageFns = { + encode(message: EcuFirmwareUpdateAttempts, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.attempts) { + EcuFirmwareUpdateEcuResult.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateAttempts { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateAttempts(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.attempts.push(EcuFirmwareUpdateEcuResult.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateAttempts { + return { + attempts: globalThis.Array.isArray(object?.attempts) + ? object.attempts.map((e: any) => EcuFirmwareUpdateEcuResult.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EcuFirmwareUpdateAttempts): unknown { + const obj: any = {}; + if (message.attempts?.length) { + obj.attempts = message.attempts.map((e) => EcuFirmwareUpdateEcuResult.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateAttempts { + return EcuFirmwareUpdateAttempts.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateAttempts { + const message = createBaseEcuFirmwareUpdateAttempts(); + message.attempts = object.attempts?.map((e) => EcuFirmwareUpdateEcuResult.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateEcuResult(): EcuFirmwareUpdateEcuResult { + return { ecuName: "", moduleUpdateResults: [] }; +} + +export const EcuFirmwareUpdateEcuResult: MessageFns = { + encode(message: EcuFirmwareUpdateEcuResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.ecuName !== "") { + writer.uint32(10).string(message.ecuName); + } + for (const v of message.moduleUpdateResults) { + EcuFirmwareModuleUpdateResult.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateEcuResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateEcuResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.ecuName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.moduleUpdateResults.push(EcuFirmwareModuleUpdateResult.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateEcuResult { + return { + ecuName: isSet(object.ecuName) ? globalThis.String(object.ecuName) : "", + moduleUpdateResults: globalThis.Array.isArray(object?.moduleUpdateResults) + ? object.moduleUpdateResults.map((e: any) => EcuFirmwareModuleUpdateResult.fromJSON(e)) + : [], + }; + }, + + toJSON(message: EcuFirmwareUpdateEcuResult): unknown { + const obj: any = {}; + if (message.ecuName !== undefined) { + obj.ecuName = message.ecuName; + } + if (message.moduleUpdateResults?.length) { + obj.moduleUpdateResults = message.moduleUpdateResults.map((e) => EcuFirmwareModuleUpdateResult.toJSON(e)); + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateEcuResult { + return EcuFirmwareUpdateEcuResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateEcuResult { + const message = createBaseEcuFirmwareUpdateEcuResult(); + message.ecuName = object.ecuName ?? ""; + message.moduleUpdateResults = + object.moduleUpdateResults?.map((e) => EcuFirmwareModuleUpdateResult.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateInProgress(): EcuFirmwareUpdateInProgress { + return { default: {} }; +} + +export const EcuFirmwareUpdateInProgress: MessageFns = { + encode(message: EcuFirmwareUpdateInProgress, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + Object.entries(message.default).forEach(([key, value]) => { + EcuFirmwareUpdateInProgress_DefaultEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); + }); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateInProgress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateInProgress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + const entry1 = EcuFirmwareUpdateInProgress_DefaultEntry.decode(reader, reader.uint32()); + if (entry1.value !== undefined) { + message.default[entry1.key] = entry1.value; + } + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateInProgress { + return { + default: isObject(object.default) + ? Object.entries(object.default).reduce<{ [key: string]: EcuFirmwareUpdateNodeProgress }>( + (acc, [key, value]) => { + acc[key] = EcuFirmwareUpdateNodeProgress.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + }; + }, + + toJSON(message: EcuFirmwareUpdateInProgress): unknown { + const obj: any = {}; + if (message.default) { + const entries = Object.entries(message.default); + if (entries.length > 0) { + obj.default = {}; + entries.forEach(([k, v]) => { + obj.default[k] = EcuFirmwareUpdateNodeProgress.toJSON(v); + }); + } + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateInProgress { + return EcuFirmwareUpdateInProgress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateInProgress { + const message = createBaseEcuFirmwareUpdateInProgress(); + message.default = Object.entries(object.default ?? {}).reduce<{ [key: string]: EcuFirmwareUpdateNodeProgress }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = EcuFirmwareUpdateNodeProgress.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseEcuFirmwareUpdateInProgress_DefaultEntry(): EcuFirmwareUpdateInProgress_DefaultEntry { + return { key: "", value: undefined }; +} + +export const EcuFirmwareUpdateInProgress_DefaultEntry: MessageFns = { + encode(message: EcuFirmwareUpdateInProgress_DefaultEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + EcuFirmwareUpdateNodeProgress.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateInProgress_DefaultEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateInProgress_DefaultEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = EcuFirmwareUpdateNodeProgress.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateInProgress_DefaultEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? EcuFirmwareUpdateNodeProgress.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: EcuFirmwareUpdateInProgress_DefaultEntry): unknown { + const obj: any = {}; + if (message.key !== undefined) { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = EcuFirmwareUpdateNodeProgress.toJSON(message.value); + } + return obj; + }, + + create, I>>( + base?: I, + ): EcuFirmwareUpdateInProgress_DefaultEntry { + return EcuFirmwareUpdateInProgress_DefaultEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareUpdateInProgress_DefaultEntry { + const message = createBaseEcuFirmwareUpdateInProgress_DefaultEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? EcuFirmwareUpdateNodeProgress.fromPartial(object.value) + : undefined; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateNodeProgress(): EcuFirmwareUpdateNodeProgress { + return { nodePath: "", stage: 0, message: "" }; +} + +export const EcuFirmwareUpdateNodeProgress: MessageFns = { + encode(message: EcuFirmwareUpdateNodeProgress, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.nodePath !== "") { + writer.uint32(10).string(message.nodePath); + } + if (message.stage !== 0) { + writer.uint32(16).int32(message.stage); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateNodeProgress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateNodeProgress(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.nodePath = reader.string(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.stage = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateNodeProgress { + return { + nodePath: isSet(object.nodePath) ? globalThis.String(object.nodePath) : "", + stage: isSet(object.stage) ? ecuFirmwareUpdateStageFromJSON(object.stage) : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + }; + }, + + toJSON(message: EcuFirmwareUpdateNodeProgress): unknown { + const obj: any = {}; + if (message.nodePath !== undefined) { + obj.nodePath = message.nodePath; + } + if (message.stage !== undefined) { + obj.stage = ecuFirmwareUpdateStageToJSON(message.stage); + } + if (message.message !== undefined) { + obj.message = message.message; + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateNodeProgress { + return EcuFirmwareUpdateNodeProgress.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareUpdateNodeProgress { + const message = createBaseEcuFirmwareUpdateNodeProgress(); + message.nodePath = object.nodePath ?? ""; + message.stage = object.stage ?? 0; + message.message = object.message ?? ""; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateResult(): EcuFirmwareUpdateResult { + return { systemUpdateStatus: undefined, default: {} }; +} + +export const EcuFirmwareUpdateResult: MessageFns = { + encode(message: EcuFirmwareUpdateResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.systemUpdateStatus !== undefined) { + EcuFirmwareUpdateStatus.encode(message.systemUpdateStatus, writer.uint32(10).fork()).join(); + } + Object.entries(message.default).forEach(([key, value]) => { + EcuFirmwareUpdateResult_DefaultEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).join(); + }); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.systemUpdateStatus = EcuFirmwareUpdateStatus.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + const entry2 = EcuFirmwareUpdateResult_DefaultEntry.decode(reader, reader.uint32()); + if (entry2.value !== undefined) { + message.default[entry2.key] = entry2.value; + } + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateResult { + return { + systemUpdateStatus: isSet(object.systemUpdateStatus) + ? EcuFirmwareUpdateStatus.fromJSON(object.systemUpdateStatus) + : undefined, + default: isObject(object.default) + ? Object.entries(object.default).reduce<{ [key: string]: EcuFirmwareUpdateAttempts }>((acc, [key, value]) => { + acc[key] = EcuFirmwareUpdateAttempts.fromJSON(value); + return acc; + }, {}) + : {}, + }; + }, + + toJSON(message: EcuFirmwareUpdateResult): unknown { + const obj: any = {}; + if (message.systemUpdateStatus !== undefined) { + obj.systemUpdateStatus = EcuFirmwareUpdateStatus.toJSON(message.systemUpdateStatus); + } + if (message.default) { + const entries = Object.entries(message.default); + if (entries.length > 0) { + obj.default = {}; + entries.forEach(([k, v]) => { + obj.default[k] = EcuFirmwareUpdateAttempts.toJSON(v); + }); + } + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateResult { + return EcuFirmwareUpdateResult.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateResult { + const message = createBaseEcuFirmwareUpdateResult(); + message.systemUpdateStatus = (object.systemUpdateStatus !== undefined && object.systemUpdateStatus !== null) + ? EcuFirmwareUpdateStatus.fromPartial(object.systemUpdateStatus) + : undefined; + message.default = Object.entries(object.default ?? {}).reduce<{ [key: string]: EcuFirmwareUpdateAttempts }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = EcuFirmwareUpdateAttempts.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseEcuFirmwareUpdateResult_DefaultEntry(): EcuFirmwareUpdateResult_DefaultEntry { + return { key: "", value: undefined }; +} + +export const EcuFirmwareUpdateResult_DefaultEntry: MessageFns = { + encode(message: EcuFirmwareUpdateResult_DefaultEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + EcuFirmwareUpdateAttempts.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateResult_DefaultEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateResult_DefaultEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = EcuFirmwareUpdateAttempts.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateResult_DefaultEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? EcuFirmwareUpdateAttempts.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: EcuFirmwareUpdateResult_DefaultEntry): unknown { + const obj: any = {}; + if (message.key !== undefined) { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = EcuFirmwareUpdateAttempts.toJSON(message.value); + } + return obj; + }, + + create, I>>( + base?: I, + ): EcuFirmwareUpdateResult_DefaultEntry { + return EcuFirmwareUpdateResult_DefaultEntry.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): EcuFirmwareUpdateResult_DefaultEntry { + const message = createBaseEcuFirmwareUpdateResult_DefaultEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? EcuFirmwareUpdateAttempts.fromPartial(object.value) + : undefined; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateStatus(): EcuFirmwareUpdateStatus { + return { pass: undefined, fail: undefined }; +} + +export const EcuFirmwareUpdateStatus: MessageFns = { + encode(message: EcuFirmwareUpdateStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.pass !== undefined) { + EcuFirmwareUpdateStatusPass.encode(message.pass, writer.uint32(18).fork()).join(); + } + if (message.fail !== undefined) { + EcuFirmwareUpdateStatusFail.encode(message.fail, writer.uint32(26).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (tag !== 18) { + break; + } + + message.pass = EcuFirmwareUpdateStatusPass.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.fail = EcuFirmwareUpdateStatusFail.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateStatus { + return { + pass: isSet(object.pass) ? EcuFirmwareUpdateStatusPass.fromJSON(object.pass) : undefined, + fail: isSet(object.fail) ? EcuFirmwareUpdateStatusFail.fromJSON(object.fail) : undefined, + }; + }, + + toJSON(message: EcuFirmwareUpdateStatus): unknown { + const obj: any = {}; + if (message.pass !== undefined) { + obj.pass = EcuFirmwareUpdateStatusPass.toJSON(message.pass); + } + if (message.fail !== undefined) { + obj.fail = EcuFirmwareUpdateStatusFail.toJSON(message.fail); + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateStatus { + return EcuFirmwareUpdateStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateStatus { + const message = createBaseEcuFirmwareUpdateStatus(); + message.pass = (object.pass !== undefined && object.pass !== null) + ? EcuFirmwareUpdateStatusPass.fromPartial(object.pass) + : undefined; + message.fail = (object.fail !== undefined && object.fail !== null) + ? EcuFirmwareUpdateStatusFail.fromPartial(object.fail) + : undefined; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateStatusFail(): EcuFirmwareUpdateStatusFail { + return { reason: "" }; +} + +export const EcuFirmwareUpdateStatusFail: MessageFns = { + encode(message: EcuFirmwareUpdateStatusFail, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.reason !== "") { + writer.uint32(10).string(message.reason); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateStatusFail { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateStatusFail(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.reason = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): EcuFirmwareUpdateStatusFail { + return { reason: isSet(object.reason) ? globalThis.String(object.reason) : "" }; + }, + + toJSON(message: EcuFirmwareUpdateStatusFail): unknown { + const obj: any = {}; + if (message.reason !== undefined) { + obj.reason = message.reason; + } + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateStatusFail { + return EcuFirmwareUpdateStatusFail.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): EcuFirmwareUpdateStatusFail { + const message = createBaseEcuFirmwareUpdateStatusFail(); + message.reason = object.reason ?? ""; + return message; + }, +}; + +function createBaseEcuFirmwareUpdateStatusPass(): EcuFirmwareUpdateStatusPass { + return {}; +} + +export const EcuFirmwareUpdateStatusPass: MessageFns = { + encode(_: EcuFirmwareUpdateStatusPass, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): EcuFirmwareUpdateStatusPass { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEcuFirmwareUpdateStatusPass(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): EcuFirmwareUpdateStatusPass { + return {}; + }, + + toJSON(_: EcuFirmwareUpdateStatusPass): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): EcuFirmwareUpdateStatusPass { + return EcuFirmwareUpdateStatusPass.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(_: I): EcuFirmwareUpdateStatusPass { + const message = createBaseEcuFirmwareUpdateStatusPass(); + return message; + }, +}; + +function createBasePayterPostStatus(): PayterPostStatus { + return { postIndex: 0, serialNumber: "", activated: false }; +} + +export const PayterPostStatus: MessageFns = { + encode(message: PayterPostStatus, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.postIndex !== 0) { + writer.uint32(8).uint32(message.postIndex); + } + if (message.serialNumber !== "") { + writer.uint32(18).string(message.serialNumber); + } + if (message.activated !== false) { + writer.uint32(24).bool(message.activated); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): PayterPostStatus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePayterPostStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.postIndex = reader.uint32(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.serialNumber = reader.string(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.activated = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): PayterPostStatus { + return { + postIndex: isSet(object.postIndex) ? globalThis.Number(object.postIndex) : 0, + serialNumber: isSet(object.serialNumber) ? globalThis.String(object.serialNumber) : "", + activated: isSet(object.activated) ? globalThis.Boolean(object.activated) : false, + }; + }, + + toJSON(message: PayterPostStatus): unknown { + const obj: any = {}; + if (message.postIndex !== undefined) { + obj.postIndex = Math.round(message.postIndex); + } + if (message.serialNumber !== undefined) { + obj.serialNumber = message.serialNumber; + } + if (message.activated !== undefined) { + obj.activated = message.activated; + } + return obj; + }, + + create, I>>(base?: I): PayterPostStatus { + return PayterPostStatus.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): PayterPostStatus { + const message = createBasePayterPostStatus(); + message.postIndex = object.postIndex ?? 0; + message.serialNumber = object.serialNumber ?? ""; + message.activated = object.activated ?? false; + return message; + }, +}; + +function createBaseSuperchargerAPIGetConnectedKiosksRequest(): SuperchargerAPIGetConnectedKiosksRequest { + return {}; +} + +export const SuperchargerAPIGetConnectedKiosksRequest: MessageFns = { + encode(_: SuperchargerAPIGetConnectedKiosksRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetConnectedKiosksRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetConnectedKiosksRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIGetConnectedKiosksRequest { + return {}; + }, + + toJSON(_: SuperchargerAPIGetConnectedKiosksRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetConnectedKiosksRequest { + return SuperchargerAPIGetConnectedKiosksRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIGetConnectedKiosksRequest { + const message = createBaseSuperchargerAPIGetConnectedKiosksRequest(); + return message; + }, +}; + +function createBaseSuperchargerAPIGetConnectedKiosksResponse(): SuperchargerAPIGetConnectedKiosksResponse { + return { error: 0, connectedKiosks: [] }; +} + +export const SuperchargerAPIGetConnectedKiosksResponse: MessageFns = { + encode(message: SuperchargerAPIGetConnectedKiosksResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.error !== 0) { + writer.uint32(8).int32(message.error); + } + for (const v of message.connectedKiosks) { + ConnectedKiosk.encode(v!, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetConnectedKiosksResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetConnectedKiosksResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.error = reader.int32() as any; + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.connectedKiosks.push(ConnectedKiosk.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIGetConnectedKiosksResponse { + return { + error: isSet(object.error) ? connectedKioskErrorFromJSON(object.error) : 0, + connectedKiosks: globalThis.Array.isArray(object?.connectedKiosks) + ? object.connectedKiosks.map((e: any) => ConnectedKiosk.fromJSON(e)) + : [], + }; + }, + + toJSON(message: SuperchargerAPIGetConnectedKiosksResponse): unknown { + const obj: any = {}; + if (message.error !== undefined) { + obj.error = connectedKioskErrorToJSON(message.error); + } + if (message.connectedKiosks?.length) { + obj.connectedKiosks = message.connectedKiosks.map((e) => ConnectedKiosk.toJSON(e)); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetConnectedKiosksResponse { + return SuperchargerAPIGetConnectedKiosksResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIGetConnectedKiosksResponse { + const message = createBaseSuperchargerAPIGetConnectedKiosksResponse(); + message.error = object.error ?? 0; + message.connectedKiosks = object.connectedKiosks?.map((e) => ConnectedKiosk.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSuperchargerAPIGetDcMetersCommissioningRequest(): SuperchargerAPIGetDcMetersCommissioningRequest { + return {}; +} + +export const SuperchargerAPIGetDcMetersCommissioningRequest: MessageFns< + SuperchargerAPIGetDcMetersCommissioningRequest +> = { + encode(_: SuperchargerAPIGetDcMetersCommissioningRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetDcMetersCommissioningRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetDcMetersCommissioningRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIGetDcMetersCommissioningRequest { + return {}; + }, + + toJSON(_: SuperchargerAPIGetDcMetersCommissioningRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetDcMetersCommissioningRequest { + return SuperchargerAPIGetDcMetersCommissioningRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIGetDcMetersCommissioningRequest { + const message = createBaseSuperchargerAPIGetDcMetersCommissioningRequest(); + return message; + }, +}; + +function createBaseSuperchargerAPIGetDcMetersCommissioningResponse(): SuperchargerAPIGetDcMetersCommissioningResponse { + return { dcMeters: [], error: 0 }; +} + +export const SuperchargerAPIGetDcMetersCommissioningResponse: MessageFns< + SuperchargerAPIGetDcMetersCommissioningResponse +> = { + encode( + message: SuperchargerAPIGetDcMetersCommissioningResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + for (const v of message.dcMeters) { + DcMeterCommissioningStatus.encode(v!, writer.uint32(10).fork()).join(); + } + if (message.error !== 0) { + writer.uint32(16).int32(message.error); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetDcMetersCommissioningResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetDcMetersCommissioningResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.dcMeters.push(DcMeterCommissioningStatus.decode(reader, reader.uint32())); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.error = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIGetDcMetersCommissioningResponse { + return { + dcMeters: globalThis.Array.isArray(object?.dcMeters) + ? object.dcMeters.map((e: any) => DcMeterCommissioningStatus.fromJSON(e)) + : [], + error: isSet(object.error) ? globalThis.Number(object.error) : 0, + }; + }, + + toJSON(message: SuperchargerAPIGetDcMetersCommissioningResponse): unknown { + const obj: any = {}; + if (message.dcMeters?.length) { + obj.dcMeters = message.dcMeters.map((e) => DcMeterCommissioningStatus.toJSON(e)); + } + if (message.error !== undefined) { + obj.error = Math.round(message.error); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetDcMetersCommissioningResponse { + return SuperchargerAPIGetDcMetersCommissioningResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIGetDcMetersCommissioningResponse { + const message = createBaseSuperchargerAPIGetDcMetersCommissioningResponse(); + message.dcMeters = object.dcMeters?.map((e) => DcMeterCommissioningStatus.fromPartial(e)) || []; + message.error = object.error ?? 0; + return message; + }, +}; + +function createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressRequest(): SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { + return {}; +} + +export const SuperchargerAPIGetEcuFirmwareUpdateProgressRequest: MessageFns< + SuperchargerAPIGetEcuFirmwareUpdateProgressRequest +> = { + encode( + _: SuperchargerAPIGetEcuFirmwareUpdateProgressRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { + return {}; + }, + + toJSON(_: SuperchargerAPIGetEcuFirmwareUpdateProgressRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { + return SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { + const message = createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressRequest(); + return message; + }, +}; + +function createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressResponse(): SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + return { finished: undefined, inProgress: undefined }; +} + +export const SuperchargerAPIGetEcuFirmwareUpdateProgressResponse: MessageFns< + SuperchargerAPIGetEcuFirmwareUpdateProgressResponse +> = { + encode( + message: SuperchargerAPIGetEcuFirmwareUpdateProgressResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.finished !== undefined) { + EcuFirmwareUpdateResult.encode(message.finished, writer.uint32(10).fork()).join(); + } + if (message.inProgress !== undefined) { + EcuFirmwareUpdateInProgress.encode(message.inProgress, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.finished = EcuFirmwareUpdateResult.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.inProgress = EcuFirmwareUpdateInProgress.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + return { + finished: isSet(object.finished) ? EcuFirmwareUpdateResult.fromJSON(object.finished) : undefined, + inProgress: isSet(object.inProgress) ? EcuFirmwareUpdateInProgress.fromJSON(object.inProgress) : undefined, + }; + }, + + toJSON(message: SuperchargerAPIGetEcuFirmwareUpdateProgressResponse): unknown { + const obj: any = {}; + if (message.finished !== undefined) { + obj.finished = EcuFirmwareUpdateResult.toJSON(message.finished); + } + if (message.inProgress !== undefined) { + obj.inProgress = EcuFirmwareUpdateInProgress.toJSON(message.inProgress); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + return SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + const message = createBaseSuperchargerAPIGetEcuFirmwareUpdateProgressResponse(); + message.finished = (object.finished !== undefined && object.finished !== null) + ? EcuFirmwareUpdateResult.fromPartial(object.finished) + : undefined; + message.inProgress = (object.inProgress !== undefined && object.inProgress !== null) + ? EcuFirmwareUpdateInProgress.fromPartial(object.inProgress) + : undefined; + return message; + }, +}; + +function createBaseSuperchargerAPIGetPayterPostStatusRequest(): SuperchargerAPIGetPayterPostStatusRequest { + return {}; +} + +export const SuperchargerAPIGetPayterPostStatusRequest: MessageFns = { + encode(_: SuperchargerAPIGetPayterPostStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetPayterPostStatusRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetPayterPostStatusRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIGetPayterPostStatusRequest { + return {}; + }, + + toJSON(_: SuperchargerAPIGetPayterPostStatusRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetPayterPostStatusRequest { + return SuperchargerAPIGetPayterPostStatusRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIGetPayterPostStatusRequest { + const message = createBaseSuperchargerAPIGetPayterPostStatusRequest(); + return message; + }, +}; + +function createBaseSuperchargerAPIGetPayterPostStatusResponse(): SuperchargerAPIGetPayterPostStatusResponse { + return { payterDevices: [] }; +} + +export const SuperchargerAPIGetPayterPostStatusResponse: MessageFns = { + encode(message: SuperchargerAPIGetPayterPostStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.payterDevices) { + PayterPostStatus.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetPayterPostStatusResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetPayterPostStatusResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.payterDevices.push(PayterPostStatus.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIGetPayterPostStatusResponse { + return { + payterDevices: globalThis.Array.isArray(object?.payterDevices) + ? object.payterDevices.map((e: any) => PayterPostStatus.fromJSON(e)) + : [], + }; + }, + + toJSON(message: SuperchargerAPIGetPayterPostStatusResponse): unknown { + const obj: any = {}; + if (message.payterDevices?.length) { + obj.payterDevices = message.payterDevices.map((e) => PayterPostStatus.toJSON(e)); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetPayterPostStatusResponse { + return SuperchargerAPIGetPayterPostStatusResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIGetPayterPostStatusResponse { + const message = createBaseSuperchargerAPIGetPayterPostStatusResponse(); + message.payterDevices = object.payterDevices?.map((e) => PayterPostStatus.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsRequest(): SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { + return {}; +} + +export const SuperchargerAPIGetVerifoneKioskDeviceIdsRequest: MessageFns< + SuperchargerAPIGetVerifoneKioskDeviceIdsRequest +> = { + encode(_: SuperchargerAPIGetVerifoneKioskDeviceIdsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { + return {}; + }, + + toJSON(_: SuperchargerAPIGetVerifoneKioskDeviceIdsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { + return SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { + const message = createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsRequest(); + return message; + }, +}; + +function createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsResponse(): SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + return { deviceIds: [] }; +} + +export const SuperchargerAPIGetVerifoneKioskDeviceIdsResponse: MessageFns< + SuperchargerAPIGetVerifoneKioskDeviceIdsResponse +> = { + encode( + message: SuperchargerAPIGetVerifoneKioskDeviceIdsResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + for (const v of message.deviceIds) { + DeviceIDAndSerialNumber.encode(v!, writer.uint32(10).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.deviceIds.push(DeviceIDAndSerialNumber.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + return { + deviceIds: globalThis.Array.isArray(object?.deviceIds) + ? object.deviceIds.map((e: any) => DeviceIDAndSerialNumber.fromJSON(e)) + : [], + }; + }, + + toJSON(message: SuperchargerAPIGetVerifoneKioskDeviceIdsResponse): unknown { + const obj: any = {}; + if (message.deviceIds?.length) { + obj.deviceIds = message.deviceIds.map((e) => DeviceIDAndSerialNumber.toJSON(e)); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + return SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + const message = createBaseSuperchargerAPIGetVerifoneKioskDeviceIdsResponse(); + message.deviceIds = object.deviceIds?.map((e) => DeviceIDAndSerialNumber.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSuperchargerAPIOdinCommandRequest(): SuperchargerAPIOdinCommandRequest { + return { command: "", args: new Uint8Array(0) }; +} + +export const SuperchargerAPIOdinCommandRequest: MessageFns = { + encode(message: SuperchargerAPIOdinCommandRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.command !== "") { + writer.uint32(10).string(message.command); + } + if (message.args.length !== 0) { + writer.uint32(18).bytes(message.args); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIOdinCommandRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIOdinCommandRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.command = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.args = reader.bytes(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIOdinCommandRequest { + return { + command: isSet(object.command) ? globalThis.String(object.command) : "", + args: isSet(object.args) ? bytesFromBase64(object.args) : new Uint8Array(0), + }; + }, + + toJSON(message: SuperchargerAPIOdinCommandRequest): unknown { + const obj: any = {}; + if (message.command !== undefined) { + obj.command = message.command; + } + if (message.args !== undefined) { + obj.args = base64FromBytes(message.args); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIOdinCommandRequest { + return SuperchargerAPIOdinCommandRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIOdinCommandRequest { + const message = createBaseSuperchargerAPIOdinCommandRequest(); + message.command = object.command ?? ""; + message.args = object.args ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseSuperchargerAPIOdinCommandResponse(): SuperchargerAPIOdinCommandResponse { + return { response: new Uint8Array(0), error: "" }; +} + +export const SuperchargerAPIOdinCommandResponse: MessageFns = { + encode(message: SuperchargerAPIOdinCommandResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response.length !== 0) { + writer.uint32(10).bytes(message.response); + } + if (message.error !== "") { + writer.uint32(18).string(message.error); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIOdinCommandResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIOdinCommandResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = reader.bytes(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.error = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIOdinCommandResponse { + return { + response: isSet(object.response) ? bytesFromBase64(object.response) : new Uint8Array(0), + error: isSet(object.error) ? globalThis.String(object.error) : "", + }; + }, + + toJSON(message: SuperchargerAPIOdinCommandResponse): unknown { + const obj: any = {}; + if (message.response !== undefined) { + obj.response = base64FromBytes(message.response); + } + if (message.error !== undefined) { + obj.error = message.error; + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIOdinCommandResponse { + return SuperchargerAPIOdinCommandResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIOdinCommandResponse { + const message = createBaseSuperchargerAPIOdinCommandResponse(); + message.response = object.response ?? new Uint8Array(0); + message.error = object.error ?? ""; + return message; + }, +}; + +function createBaseSuperchargerAPISetDcMeterCommissionedRequest(): SuperchargerAPISetDcMeterCommissionedRequest { + return { postId: 0 }; +} + +export const SuperchargerAPISetDcMeterCommissionedRequest: MessageFns = { + encode( + message: SuperchargerAPISetDcMeterCommissionedRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.postId !== 0) { + writer.uint32(8).uint32(message.postId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPISetDcMeterCommissionedRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPISetDcMeterCommissionedRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.postId = reader.uint32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPISetDcMeterCommissionedRequest { + return { postId: isSet(object.postId) ? globalThis.Number(object.postId) : 0 }; + }, + + toJSON(message: SuperchargerAPISetDcMeterCommissionedRequest): unknown { + const obj: any = {}; + if (message.postId !== undefined) { + obj.postId = Math.round(message.postId); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPISetDcMeterCommissionedRequest { + return SuperchargerAPISetDcMeterCommissionedRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPISetDcMeterCommissionedRequest { + const message = createBaseSuperchargerAPISetDcMeterCommissionedRequest(); + message.postId = object.postId ?? 0; + return message; + }, +}; + +function createBaseSuperchargerAPISetDcMeterCommissionedResponse(): SuperchargerAPISetDcMeterCommissionedResponse { + return { success: false, error: 0, errorMessage: "" }; +} + +export const SuperchargerAPISetDcMeterCommissionedResponse: MessageFns = + { + encode( + message: SuperchargerAPISetDcMeterCommissionedResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.error !== 0) { + writer.uint32(16).int32(message.error); + } + if (message.errorMessage !== "") { + writer.uint32(26).string(message.errorMessage); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPISetDcMeterCommissionedResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPISetDcMeterCommissionedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.error = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.errorMessage = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPISetDcMeterCommissionedResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + error: isSet(object.error) ? setDcMeterCommissionedErrorFromJSON(object.error) : 0, + errorMessage: isSet(object.errorMessage) ? globalThis.String(object.errorMessage) : "", + }; + }, + + toJSON(message: SuperchargerAPISetDcMeterCommissionedResponse): unknown { + const obj: any = {}; + if (message.success !== undefined) { + obj.success = message.success; + } + if (message.error !== undefined) { + obj.error = setDcMeterCommissionedErrorToJSON(message.error); + } + if (message.errorMessage !== undefined) { + obj.errorMessage = message.errorMessage; + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPISetDcMeterCommissionedResponse { + return SuperchargerAPISetDcMeterCommissionedResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPISetDcMeterCommissionedResponse { + const message = createBaseSuperchargerAPISetDcMeterCommissionedResponse(); + message.success = object.success ?? false; + message.error = object.error ?? 0; + message.errorMessage = object.errorMessage ?? ""; + return message; + }, + }; + +function createBaseSuperchargerAPIUnlockMagicDockRequest(): SuperchargerAPIUnlockMagicDockRequest { + return { cabinetId: "", postId: 0 }; +} + +export const SuperchargerAPIUnlockMagicDockRequest: MessageFns = { + encode(message: SuperchargerAPIUnlockMagicDockRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.cabinetId !== "") { + writer.uint32(10).string(message.cabinetId); + } + if (message.postId !== 0) { + writer.uint32(16).uint32(message.postId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIUnlockMagicDockRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIUnlockMagicDockRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.cabinetId = reader.string(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.postId = reader.uint32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIUnlockMagicDockRequest { + return { + cabinetId: isSet(object.cabinetId) ? globalThis.String(object.cabinetId) : "", + postId: isSet(object.postId) ? globalThis.Number(object.postId) : 0, + }; + }, + + toJSON(message: SuperchargerAPIUnlockMagicDockRequest): unknown { + const obj: any = {}; + if (message.cabinetId !== undefined) { + obj.cabinetId = message.cabinetId; + } + if (message.postId !== undefined) { + obj.postId = Math.round(message.postId); + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIUnlockMagicDockRequest { + return SuperchargerAPIUnlockMagicDockRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIUnlockMagicDockRequest { + const message = createBaseSuperchargerAPIUnlockMagicDockRequest(); + message.cabinetId = object.cabinetId ?? ""; + message.postId = object.postId ?? 0; + return message; + }, +}; + +function createBaseSuperchargerAPIUnlockMagicDockResponse(): SuperchargerAPIUnlockMagicDockResponse { + return {}; +} + +export const SuperchargerAPIUnlockMagicDockResponse: MessageFns = { + encode(_: SuperchargerAPIUnlockMagicDockResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIUnlockMagicDockResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIUnlockMagicDockResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIUnlockMagicDockResponse { + return {}; + }, + + toJSON(_: SuperchargerAPIUnlockMagicDockResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIUnlockMagicDockResponse { + return SuperchargerAPIUnlockMagicDockResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIUnlockMagicDockResponse { + const message = createBaseSuperchargerAPIUnlockMagicDockResponse(); + return message; + }, +}; + +function createBaseSuperchargerAPIUpdateFollowersRequest(): SuperchargerAPIUpdateFollowersRequest { + return { dins: [] }; +} + +export const SuperchargerAPIUpdateFollowersRequest: MessageFns = { + encode(message: SuperchargerAPIUpdateFollowersRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.dins) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIUpdateFollowersRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIUpdateFollowersRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.dins.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerAPIUpdateFollowersRequest { + return { dins: globalThis.Array.isArray(object?.dins) ? object.dins.map((e: any) => globalThis.String(e)) : [] }; + }, + + toJSON(message: SuperchargerAPIUpdateFollowersRequest): unknown { + const obj: any = {}; + if (message.dins?.length) { + obj.dins = message.dins; + } + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIUpdateFollowersRequest { + return SuperchargerAPIUpdateFollowersRequest.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + object: I, + ): SuperchargerAPIUpdateFollowersRequest { + const message = createBaseSuperchargerAPIUpdateFollowersRequest(); + message.dins = object.dins?.map((e) => e) || []; + return message; + }, +}; + +function createBaseSuperchargerAPIUpdateFollowersResponse(): SuperchargerAPIUpdateFollowersResponse { + return {}; +} + +export const SuperchargerAPIUpdateFollowersResponse: MessageFns = { + encode(_: SuperchargerAPIUpdateFollowersResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerAPIUpdateFollowersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerAPIUpdateFollowersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(_: any): SuperchargerAPIUpdateFollowersResponse { + return {}; + }, + + toJSON(_: SuperchargerAPIUpdateFollowersResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): SuperchargerAPIUpdateFollowersResponse { + return SuperchargerAPIUpdateFollowersResponse.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>( + _: I, + ): SuperchargerAPIUpdateFollowersResponse { + const message = createBaseSuperchargerAPIUpdateFollowersResponse(); + return message; + }, +}; + +function createBaseSuperchargerMessages(): SuperchargerMessages { + return { + unlockMagicDockRequest: undefined, + unlockMagicDockResponse: undefined, + getConnectedKiosksRequest: undefined, + getConnectedKiosksResponse: undefined, + getVerifoneKioskDeviceIdsRequest: undefined, + getVerifoneKioskDeviceIdsResponse: undefined, + updateFollowersRequest: undefined, + updateFollowersResponse: undefined, + getDcMetersCommissioningRequest: undefined, + getDcMetersCommissioningResponse: undefined, + setDcMeterCommissionedRequest: undefined, + setDcMeterCommissionedResponse: undefined, + odinCommandRequest: undefined, + odinCommandResponse: undefined, + getPayterPostStatusRequest: undefined, + getPayterPostStatusResponse: undefined, + getEcuFirmwareUpdateProgressRequest: undefined, + getEcuFirmwareUpdateProgressResponse: undefined, + }; +} + +export const SuperchargerMessages: MessageFns = { + encode(message: SuperchargerMessages, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.unlockMagicDockRequest !== undefined) { + SuperchargerAPIUnlockMagicDockRequest.encode(message.unlockMagicDockRequest, writer.uint32(10).fork()).join(); + } + if (message.unlockMagicDockResponse !== undefined) { + SuperchargerAPIUnlockMagicDockResponse.encode(message.unlockMagicDockResponse, writer.uint32(18).fork()).join(); + } + if (message.getConnectedKiosksRequest !== undefined) { + SuperchargerAPIGetConnectedKiosksRequest.encode(message.getConnectedKiosksRequest, writer.uint32(26).fork()) + .join(); + } + if (message.getConnectedKiosksResponse !== undefined) { + SuperchargerAPIGetConnectedKiosksResponse.encode(message.getConnectedKiosksResponse, writer.uint32(34).fork()) + .join(); + } + if (message.getVerifoneKioskDeviceIdsRequest !== undefined) { + SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.encode( + message.getVerifoneKioskDeviceIdsRequest, + writer.uint32(42).fork(), + ).join(); + } + if (message.getVerifoneKioskDeviceIdsResponse !== undefined) { + SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.encode( + message.getVerifoneKioskDeviceIdsResponse, + writer.uint32(50).fork(), + ).join(); + } + if (message.updateFollowersRequest !== undefined) { + SuperchargerAPIUpdateFollowersRequest.encode(message.updateFollowersRequest, writer.uint32(58).fork()).join(); + } + if (message.updateFollowersResponse !== undefined) { + SuperchargerAPIUpdateFollowersResponse.encode(message.updateFollowersResponse, writer.uint32(66).fork()).join(); + } + if (message.getDcMetersCommissioningRequest !== undefined) { + SuperchargerAPIGetDcMetersCommissioningRequest.encode( + message.getDcMetersCommissioningRequest, + writer.uint32(74).fork(), + ).join(); + } + if (message.getDcMetersCommissioningResponse !== undefined) { + SuperchargerAPIGetDcMetersCommissioningResponse.encode( + message.getDcMetersCommissioningResponse, + writer.uint32(82).fork(), + ).join(); + } + if (message.setDcMeterCommissionedRequest !== undefined) { + SuperchargerAPISetDcMeterCommissionedRequest.encode( + message.setDcMeterCommissionedRequest, + writer.uint32(90).fork(), + ).join(); + } + if (message.setDcMeterCommissionedResponse !== undefined) { + SuperchargerAPISetDcMeterCommissionedResponse.encode( + message.setDcMeterCommissionedResponse, + writer.uint32(98).fork(), + ).join(); + } + if (message.odinCommandRequest !== undefined) { + SuperchargerAPIOdinCommandRequest.encode(message.odinCommandRequest, writer.uint32(106).fork()).join(); + } + if (message.odinCommandResponse !== undefined) { + SuperchargerAPIOdinCommandResponse.encode(message.odinCommandResponse, writer.uint32(114).fork()).join(); + } + if (message.getPayterPostStatusRequest !== undefined) { + SuperchargerAPIGetPayterPostStatusRequest.encode(message.getPayterPostStatusRequest, writer.uint32(122).fork()) + .join(); + } + if (message.getPayterPostStatusResponse !== undefined) { + SuperchargerAPIGetPayterPostStatusResponse.encode(message.getPayterPostStatusResponse, writer.uint32(130).fork()) + .join(); + } + if (message.getEcuFirmwareUpdateProgressRequest !== undefined) { + SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.encode( + message.getEcuFirmwareUpdateProgressRequest, + writer.uint32(138).fork(), + ).join(); + } + if (message.getEcuFirmwareUpdateProgressResponse !== undefined) { + SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.encode( + message.getEcuFirmwareUpdateProgressResponse, + writer.uint32(146).fork(), + ).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SuperchargerMessages { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSuperchargerMessages(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.unlockMagicDockRequest = SuperchargerAPIUnlockMagicDockRequest.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.unlockMagicDockResponse = SuperchargerAPIUnlockMagicDockResponse.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.getConnectedKiosksRequest = SuperchargerAPIGetConnectedKiosksRequest.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.getConnectedKiosksResponse = SuperchargerAPIGetConnectedKiosksResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.getVerifoneKioskDeviceIdsRequest = SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.getVerifoneKioskDeviceIdsResponse = SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.updateFollowersRequest = SuperchargerAPIUpdateFollowersRequest.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.updateFollowersResponse = SuperchargerAPIUpdateFollowersResponse.decode(reader, reader.uint32()); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.getDcMetersCommissioningRequest = SuperchargerAPIGetDcMetersCommissioningRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.getDcMetersCommissioningResponse = SuperchargerAPIGetDcMetersCommissioningResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.setDcMeterCommissionedRequest = SuperchargerAPISetDcMeterCommissionedRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.setDcMeterCommissionedResponse = SuperchargerAPISetDcMeterCommissionedResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.odinCommandRequest = SuperchargerAPIOdinCommandRequest.decode(reader, reader.uint32()); + continue; + } + case 14: { + if (tag !== 114) { + break; + } + + message.odinCommandResponse = SuperchargerAPIOdinCommandResponse.decode(reader, reader.uint32()); + continue; + } + case 15: { + if (tag !== 122) { + break; + } + + message.getPayterPostStatusRequest = SuperchargerAPIGetPayterPostStatusRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.getPayterPostStatusResponse = SuperchargerAPIGetPayterPostStatusResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.getEcuFirmwareUpdateProgressRequest = SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.decode( + reader, + reader.uint32(), + ); + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.getEcuFirmwareUpdateProgressResponse = SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.decode( + reader, + reader.uint32(), + ); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SuperchargerMessages { + return { + unlockMagicDockRequest: isSet(object.unlockMagicDockRequest) + ? SuperchargerAPIUnlockMagicDockRequest.fromJSON(object.unlockMagicDockRequest) + : undefined, + unlockMagicDockResponse: isSet(object.unlockMagicDockResponse) + ? SuperchargerAPIUnlockMagicDockResponse.fromJSON(object.unlockMagicDockResponse) + : undefined, + getConnectedKiosksRequest: isSet(object.getConnectedKiosksRequest) + ? SuperchargerAPIGetConnectedKiosksRequest.fromJSON(object.getConnectedKiosksRequest) + : undefined, + getConnectedKiosksResponse: isSet(object.getConnectedKiosksResponse) + ? SuperchargerAPIGetConnectedKiosksResponse.fromJSON(object.getConnectedKiosksResponse) + : undefined, + getVerifoneKioskDeviceIdsRequest: isSet(object.getVerifoneKioskDeviceIdsRequest) + ? SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.fromJSON(object.getVerifoneKioskDeviceIdsRequest) + : undefined, + getVerifoneKioskDeviceIdsResponse: isSet(object.getVerifoneKioskDeviceIdsResponse) + ? SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.fromJSON(object.getVerifoneKioskDeviceIdsResponse) + : undefined, + updateFollowersRequest: isSet(object.updateFollowersRequest) + ? SuperchargerAPIUpdateFollowersRequest.fromJSON(object.updateFollowersRequest) + : undefined, + updateFollowersResponse: isSet(object.updateFollowersResponse) + ? SuperchargerAPIUpdateFollowersResponse.fromJSON(object.updateFollowersResponse) + : undefined, + getDcMetersCommissioningRequest: isSet(object.getDcMetersCommissioningRequest) + ? SuperchargerAPIGetDcMetersCommissioningRequest.fromJSON(object.getDcMetersCommissioningRequest) + : undefined, + getDcMetersCommissioningResponse: isSet(object.getDcMetersCommissioningResponse) + ? SuperchargerAPIGetDcMetersCommissioningResponse.fromJSON(object.getDcMetersCommissioningResponse) + : undefined, + setDcMeterCommissionedRequest: isSet(object.setDcMeterCommissionedRequest) + ? SuperchargerAPISetDcMeterCommissionedRequest.fromJSON(object.setDcMeterCommissionedRequest) + : undefined, + setDcMeterCommissionedResponse: isSet(object.setDcMeterCommissionedResponse) + ? SuperchargerAPISetDcMeterCommissionedResponse.fromJSON(object.setDcMeterCommissionedResponse) + : undefined, + odinCommandRequest: isSet(object.odinCommandRequest) + ? SuperchargerAPIOdinCommandRequest.fromJSON(object.odinCommandRequest) + : undefined, + odinCommandResponse: isSet(object.odinCommandResponse) + ? SuperchargerAPIOdinCommandResponse.fromJSON(object.odinCommandResponse) + : undefined, + getPayterPostStatusRequest: isSet(object.getPayterPostStatusRequest) + ? SuperchargerAPIGetPayterPostStatusRequest.fromJSON(object.getPayterPostStatusRequest) + : undefined, + getPayterPostStatusResponse: isSet(object.getPayterPostStatusResponse) + ? SuperchargerAPIGetPayterPostStatusResponse.fromJSON(object.getPayterPostStatusResponse) + : undefined, + getEcuFirmwareUpdateProgressRequest: isSet(object.getEcuFirmwareUpdateProgressRequest) + ? SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.fromJSON(object.getEcuFirmwareUpdateProgressRequest) + : undefined, + getEcuFirmwareUpdateProgressResponse: isSet(object.getEcuFirmwareUpdateProgressResponse) + ? SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.fromJSON(object.getEcuFirmwareUpdateProgressResponse) + : undefined, + }; + }, + + toJSON(message: SuperchargerMessages): unknown { + const obj: any = {}; + if (message.unlockMagicDockRequest !== undefined) { + obj.unlockMagicDockRequest = SuperchargerAPIUnlockMagicDockRequest.toJSON(message.unlockMagicDockRequest); + } + if (message.unlockMagicDockResponse !== undefined) { + obj.unlockMagicDockResponse = SuperchargerAPIUnlockMagicDockResponse.toJSON(message.unlockMagicDockResponse); + } + if (message.getConnectedKiosksRequest !== undefined) { + obj.getConnectedKiosksRequest = SuperchargerAPIGetConnectedKiosksRequest.toJSON( + message.getConnectedKiosksRequest, + ); + } + if (message.getConnectedKiosksResponse !== undefined) { + obj.getConnectedKiosksResponse = SuperchargerAPIGetConnectedKiosksResponse.toJSON( + message.getConnectedKiosksResponse, + ); + } + if (message.getVerifoneKioskDeviceIdsRequest !== undefined) { + obj.getVerifoneKioskDeviceIdsRequest = SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.toJSON( + message.getVerifoneKioskDeviceIdsRequest, + ); + } + if (message.getVerifoneKioskDeviceIdsResponse !== undefined) { + obj.getVerifoneKioskDeviceIdsResponse = SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.toJSON( + message.getVerifoneKioskDeviceIdsResponse, + ); + } + if (message.updateFollowersRequest !== undefined) { + obj.updateFollowersRequest = SuperchargerAPIUpdateFollowersRequest.toJSON(message.updateFollowersRequest); + } + if (message.updateFollowersResponse !== undefined) { + obj.updateFollowersResponse = SuperchargerAPIUpdateFollowersResponse.toJSON(message.updateFollowersResponse); + } + if (message.getDcMetersCommissioningRequest !== undefined) { + obj.getDcMetersCommissioningRequest = SuperchargerAPIGetDcMetersCommissioningRequest.toJSON( + message.getDcMetersCommissioningRequest, + ); + } + if (message.getDcMetersCommissioningResponse !== undefined) { + obj.getDcMetersCommissioningResponse = SuperchargerAPIGetDcMetersCommissioningResponse.toJSON( + message.getDcMetersCommissioningResponse, + ); + } + if (message.setDcMeterCommissionedRequest !== undefined) { + obj.setDcMeterCommissionedRequest = SuperchargerAPISetDcMeterCommissionedRequest.toJSON( + message.setDcMeterCommissionedRequest, + ); + } + if (message.setDcMeterCommissionedResponse !== undefined) { + obj.setDcMeterCommissionedResponse = SuperchargerAPISetDcMeterCommissionedResponse.toJSON( + message.setDcMeterCommissionedResponse, + ); + } + if (message.odinCommandRequest !== undefined) { + obj.odinCommandRequest = SuperchargerAPIOdinCommandRequest.toJSON(message.odinCommandRequest); + } + if (message.odinCommandResponse !== undefined) { + obj.odinCommandResponse = SuperchargerAPIOdinCommandResponse.toJSON(message.odinCommandResponse); + } + if (message.getPayterPostStatusRequest !== undefined) { + obj.getPayterPostStatusRequest = SuperchargerAPIGetPayterPostStatusRequest.toJSON( + message.getPayterPostStatusRequest, + ); + } + if (message.getPayterPostStatusResponse !== undefined) { + obj.getPayterPostStatusResponse = SuperchargerAPIGetPayterPostStatusResponse.toJSON( + message.getPayterPostStatusResponse, + ); + } + if (message.getEcuFirmwareUpdateProgressRequest !== undefined) { + obj.getEcuFirmwareUpdateProgressRequest = SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.toJSON( + message.getEcuFirmwareUpdateProgressRequest, + ); + } + if (message.getEcuFirmwareUpdateProgressResponse !== undefined) { + obj.getEcuFirmwareUpdateProgressResponse = SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.toJSON( + message.getEcuFirmwareUpdateProgressResponse, + ); + } + return obj; + }, + + create, I>>(base?: I): SuperchargerMessages { + return SuperchargerMessages.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): SuperchargerMessages { + const message = createBaseSuperchargerMessages(); + message.unlockMagicDockRequest = + (object.unlockMagicDockRequest !== undefined && object.unlockMagicDockRequest !== null) + ? SuperchargerAPIUnlockMagicDockRequest.fromPartial(object.unlockMagicDockRequest) + : undefined; + message.unlockMagicDockResponse = + (object.unlockMagicDockResponse !== undefined && object.unlockMagicDockResponse !== null) + ? SuperchargerAPIUnlockMagicDockResponse.fromPartial(object.unlockMagicDockResponse) + : undefined; + message.getConnectedKiosksRequest = + (object.getConnectedKiosksRequest !== undefined && object.getConnectedKiosksRequest !== null) + ? SuperchargerAPIGetConnectedKiosksRequest.fromPartial(object.getConnectedKiosksRequest) + : undefined; + message.getConnectedKiosksResponse = + (object.getConnectedKiosksResponse !== undefined && object.getConnectedKiosksResponse !== null) + ? SuperchargerAPIGetConnectedKiosksResponse.fromPartial(object.getConnectedKiosksResponse) + : undefined; + message.getVerifoneKioskDeviceIdsRequest = + (object.getVerifoneKioskDeviceIdsRequest !== undefined && object.getVerifoneKioskDeviceIdsRequest !== null) + ? SuperchargerAPIGetVerifoneKioskDeviceIdsRequest.fromPartial(object.getVerifoneKioskDeviceIdsRequest) + : undefined; + message.getVerifoneKioskDeviceIdsResponse = + (object.getVerifoneKioskDeviceIdsResponse !== undefined && object.getVerifoneKioskDeviceIdsResponse !== null) + ? SuperchargerAPIGetVerifoneKioskDeviceIdsResponse.fromPartial(object.getVerifoneKioskDeviceIdsResponse) + : undefined; + message.updateFollowersRequest = + (object.updateFollowersRequest !== undefined && object.updateFollowersRequest !== null) + ? SuperchargerAPIUpdateFollowersRequest.fromPartial(object.updateFollowersRequest) + : undefined; + message.updateFollowersResponse = + (object.updateFollowersResponse !== undefined && object.updateFollowersResponse !== null) + ? SuperchargerAPIUpdateFollowersResponse.fromPartial(object.updateFollowersResponse) + : undefined; + message.getDcMetersCommissioningRequest = + (object.getDcMetersCommissioningRequest !== undefined && object.getDcMetersCommissioningRequest !== null) + ? SuperchargerAPIGetDcMetersCommissioningRequest.fromPartial(object.getDcMetersCommissioningRequest) + : undefined; + message.getDcMetersCommissioningResponse = + (object.getDcMetersCommissioningResponse !== undefined && object.getDcMetersCommissioningResponse !== null) + ? SuperchargerAPIGetDcMetersCommissioningResponse.fromPartial(object.getDcMetersCommissioningResponse) + : undefined; + message.setDcMeterCommissionedRequest = + (object.setDcMeterCommissionedRequest !== undefined && object.setDcMeterCommissionedRequest !== null) + ? SuperchargerAPISetDcMeterCommissionedRequest.fromPartial(object.setDcMeterCommissionedRequest) + : undefined; + message.setDcMeterCommissionedResponse = + (object.setDcMeterCommissionedResponse !== undefined && object.setDcMeterCommissionedResponse !== null) + ? SuperchargerAPISetDcMeterCommissionedResponse.fromPartial(object.setDcMeterCommissionedResponse) + : undefined; + message.odinCommandRequest = (object.odinCommandRequest !== undefined && object.odinCommandRequest !== null) + ? SuperchargerAPIOdinCommandRequest.fromPartial(object.odinCommandRequest) + : undefined; + message.odinCommandResponse = (object.odinCommandResponse !== undefined && object.odinCommandResponse !== null) + ? SuperchargerAPIOdinCommandResponse.fromPartial(object.odinCommandResponse) + : undefined; + message.getPayterPostStatusRequest = + (object.getPayterPostStatusRequest !== undefined && object.getPayterPostStatusRequest !== null) + ? SuperchargerAPIGetPayterPostStatusRequest.fromPartial(object.getPayterPostStatusRequest) + : undefined; + message.getPayterPostStatusResponse = + (object.getPayterPostStatusResponse !== undefined && object.getPayterPostStatusResponse !== null) + ? SuperchargerAPIGetPayterPostStatusResponse.fromPartial(object.getPayterPostStatusResponse) + : undefined; + message.getEcuFirmwareUpdateProgressRequest = + (object.getEcuFirmwareUpdateProgressRequest !== undefined && object.getEcuFirmwareUpdateProgressRequest !== null) + ? SuperchargerAPIGetEcuFirmwareUpdateProgressRequest.fromPartial(object.getEcuFirmwareUpdateProgressRequest) + : undefined; + message.getEcuFirmwareUpdateProgressResponse = + (object.getEcuFirmwareUpdateProgressResponse !== undefined && + object.getEcuFirmwareUpdateProgressResponse !== null) + ? SuperchargerAPIGetEcuFirmwareUpdateProgressResponse.fromPartial(object.getEcuFirmwareUpdateProgressResponse) + : undefined; + return message; + }, +}; + +function createBaseVerifoneKiosk(): VerifoneKiosk { + return { serialNumber: "", subjectKeyIdentifer: "" }; +} + +export const VerifoneKiosk: MessageFns = { + encode(message: VerifoneKiosk, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.serialNumber !== "") { + writer.uint32(10).string(message.serialNumber); + } + if (message.subjectKeyIdentifer !== "") { + writer.uint32(18).string(message.subjectKeyIdentifer); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): VerifoneKiosk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVerifoneKiosk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.serialNumber = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.subjectKeyIdentifer = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): VerifoneKiosk { + return { + serialNumber: isSet(object.serialNumber) ? globalThis.String(object.serialNumber) : "", + subjectKeyIdentifer: isSet(object.subjectKeyIdentifer) ? globalThis.String(object.subjectKeyIdentifer) : "", + }; + }, + + toJSON(message: VerifoneKiosk): unknown { + const obj: any = {}; + if (message.serialNumber !== undefined) { + obj.serialNumber = message.serialNumber; + } + if (message.subjectKeyIdentifer !== undefined) { + obj.subjectKeyIdentifer = message.subjectKeyIdentifer; + } + return obj; + }, + + create, I>>(base?: I): VerifoneKiosk { + return VerifoneKiosk.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): VerifoneKiosk { + const message = createBaseVerifoneKiosk(); + message.serialNumber = object.serialNumber ?? ""; + message.subjectKeyIdentifer = object.subjectKeyIdentifer ?? ""; + return message; + }, +}; + +function bytesFromBase64(b64: string): Uint8Array { + if ((globalThis as any).Buffer) { + return Uint8Array.from(globalThis.Buffer.from(b64, "base64")); + } else { + const bin = globalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if ((globalThis as any).Buffer) { + return globalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(globalThis.String.fromCharCode(byte)); + }); + return globalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +export type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function isObject(value: any): boolean { + return typeof value === "object" && value !== null; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} + +export interface MessageFns { + encode(message: T, writer?: BinaryWriter): BinaryWriter; + decode(input: BinaryReader | Uint8Array, length?: number): T; + fromJSON(object: any): T; + toJSON(message: T): unknown; + create, I>>(base?: I): T; + fromPartial, I>>(object: I): T; +} diff --git a/packages/typescript/src/energy_device/teg_api.ts b/packages/typescript/src/energy_device/teg_api.ts index a791ede..e052c25 100644 --- a/packages/typescript/src/energy_device/teg_api.ts +++ b/packages/typescript/src/energy_device/teg_api.ts @@ -13,6 +13,13 @@ import { import { DeviceType, deviceTypeFromJSON, deviceTypeToJSON, Din } from "./device.js"; import { Timestamp } from "./google/protobuf/timestamp.js"; import { NetworkInterface, WifiConfig } from "./networking.js"; +import { + AssetSiteUuidOfDeviceResponse, + RegistrationRequest, + RegistrationResponse, + SiteSuggestionRequest, + SiteSuggestionResponse, +} from "./registration_api.js"; export const protobufPackage = "tesla.proto.energy_device.v1"; @@ -267,19 +274,13 @@ export interface TEGAPIDetectWiredMetersRequest { export interface TEGAPIDetectWiredMetersResponse { } -/** - * Field 1 (registration_request) is a type from a separate, not-yet-modeled - * proto package; left unmodeled here. - */ export interface TEGAPIRegisterRequest { + registrationRequest: RegistrationRequest | undefined; } export interface TEGAPIRegisterResponse { - /** - * Field 2 (registration_response) is a type from a separate, not-yet-modeled - * proto package; left unmodeled here. - */ failure: number; + registrationResponse: RegistrationResponse | undefined; } export interface TEGAPITriggerPowerwall2PhaseDetectionRequest { @@ -810,25 +811,16 @@ export interface TEGAPIClearPowerwall3LockoutAlertsResponse { export interface TEGAPIRetrieveSiteUuidRequest { } -/** - * Field 1 (response) is a type from a separate, not-yet-modeled proto - * package; left unmodeled here. - */ export interface TEGAPIRetrieveSiteUuidResponse { + response: AssetSiteUuidOfDeviceResponse | undefined; } -/** - * Field 1 (request) is a type from a separate, not-yet-modeled proto - * package; left unmodeled here. - */ export interface TEGAPIRetrieveSiteSuggestionRequest { + request: SiteSuggestionRequest | undefined; } -/** - * Field 1 (response) is a type from a separate, not-yet-modeled proto - * package; left unmodeled here. - */ export interface TEGAPIRetrieveSiteSuggestionResponse { + response: SiteSuggestionResponse | undefined; } export interface TEGMessages { @@ -2286,11 +2278,14 @@ export const TEGAPIDetectWiredMetersResponse: MessageFns = { - encode(_: TEGAPIRegisterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: TEGAPIRegisterRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.registrationRequest !== undefined) { + RegistrationRequest.encode(message.registrationRequest, writer.uint32(10).fork()).join(); + } return writer; }, @@ -2301,6 +2296,14 @@ export const TEGAPIRegisterRequest: MessageFns = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.registrationRequest = RegistrationRequest.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -2310,26 +2313,36 @@ export const TEGAPIRegisterRequest: MessageFns = { return message; }, - fromJSON(_: any): TEGAPIRegisterRequest { - return {}; + fromJSON(object: any): TEGAPIRegisterRequest { + return { + registrationRequest: isSet(object.registrationRequest) + ? RegistrationRequest.fromJSON(object.registrationRequest) + : undefined, + }; }, - toJSON(_: TEGAPIRegisterRequest): unknown { + toJSON(message: TEGAPIRegisterRequest): unknown { const obj: any = {}; + if (message.registrationRequest !== undefined) { + obj.registrationRequest = RegistrationRequest.toJSON(message.registrationRequest); + } return obj; }, create, I>>(base?: I): TEGAPIRegisterRequest { return TEGAPIRegisterRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): TEGAPIRegisterRequest { + fromPartial, I>>(object: I): TEGAPIRegisterRequest { const message = createBaseTEGAPIRegisterRequest(); + message.registrationRequest = (object.registrationRequest !== undefined && object.registrationRequest !== null) + ? RegistrationRequest.fromPartial(object.registrationRequest) + : undefined; return message; }, }; function createBaseTEGAPIRegisterResponse(): TEGAPIRegisterResponse { - return { failure: 0 }; + return { failure: 0, registrationResponse: undefined }; } export const TEGAPIRegisterResponse: MessageFns = { @@ -2337,6 +2350,9 @@ export const TEGAPIRegisterResponse: MessageFns = { if (message.failure !== 0) { writer.uint32(8).int32(message.failure); } + if (message.registrationResponse !== undefined) { + RegistrationResponse.encode(message.registrationResponse, writer.uint32(18).fork()).join(); + } return writer; }, @@ -2355,6 +2371,14 @@ export const TEGAPIRegisterResponse: MessageFns = { message.failure = reader.int32(); continue; } + case 2: { + if (tag !== 18) { + break; + } + + message.registrationResponse = RegistrationResponse.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -2365,7 +2389,12 @@ export const TEGAPIRegisterResponse: MessageFns = { }, fromJSON(object: any): TEGAPIRegisterResponse { - return { failure: isSet(object.failure) ? globalThis.Number(object.failure) : 0 }; + return { + failure: isSet(object.failure) ? globalThis.Number(object.failure) : 0, + registrationResponse: isSet(object.registrationResponse) + ? RegistrationResponse.fromJSON(object.registrationResponse) + : undefined, + }; }, toJSON(message: TEGAPIRegisterResponse): unknown { @@ -2373,6 +2402,9 @@ export const TEGAPIRegisterResponse: MessageFns = { if (message.failure !== undefined) { obj.failure = Math.round(message.failure); } + if (message.registrationResponse !== undefined) { + obj.registrationResponse = RegistrationResponse.toJSON(message.registrationResponse); + } return obj; }, @@ -2382,6 +2414,9 @@ export const TEGAPIRegisterResponse: MessageFns = { fromPartial, I>>(object: I): TEGAPIRegisterResponse { const message = createBaseTEGAPIRegisterResponse(); message.failure = object.failure ?? 0; + message.registrationResponse = (object.registrationResponse !== undefined && object.registrationResponse !== null) + ? RegistrationResponse.fromPartial(object.registrationResponse) + : undefined; return message; }, }; @@ -7473,11 +7508,14 @@ export const TEGAPIRetrieveSiteUuidRequest: MessageFns = { - encode(_: TEGAPIRetrieveSiteUuidResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: TEGAPIRetrieveSiteUuidResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response !== undefined) { + AssetSiteUuidOfDeviceResponse.encode(message.response, writer.uint32(10).fork()).join(); + } return writer; }, @@ -7488,6 +7526,14 @@ export const TEGAPIRetrieveSiteUuidResponse: MessageFns>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = AssetSiteUuidOfDeviceResponse.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -7497,30 +7543,41 @@ export const TEGAPIRetrieveSiteUuidResponse: MessageFns, I>>(base?: I): TEGAPIRetrieveSiteUuidResponse { return TEGAPIRetrieveSiteUuidResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): TEGAPIRetrieveSiteUuidResponse { + fromPartial, I>>( + object: I, + ): TEGAPIRetrieveSiteUuidResponse { const message = createBaseTEGAPIRetrieveSiteUuidResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? AssetSiteUuidOfDeviceResponse.fromPartial(object.response) + : undefined; return message; }, }; function createBaseTEGAPIRetrieveSiteSuggestionRequest(): TEGAPIRetrieveSiteSuggestionRequest { - return {}; + return { request: undefined }; } export const TEGAPIRetrieveSiteSuggestionRequest: MessageFns = { - encode(_: TEGAPIRetrieveSiteSuggestionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: TEGAPIRetrieveSiteSuggestionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + SiteSuggestionRequest.encode(message.request, writer.uint32(10).fork()).join(); + } return writer; }, @@ -7531,6 +7588,14 @@ export const TEGAPIRetrieveSiteSuggestionRequest: MessageFns>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = SiteSuggestionRequest.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -7540,12 +7605,15 @@ export const TEGAPIRetrieveSiteSuggestionRequest: MessageFns, I>>( - _: I, + object: I, ): TEGAPIRetrieveSiteSuggestionRequest { const message = createBaseTEGAPIRetrieveSiteSuggestionRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? SiteSuggestionRequest.fromPartial(object.request) + : undefined; return message; }, }; function createBaseTEGAPIRetrieveSiteSuggestionResponse(): TEGAPIRetrieveSiteSuggestionResponse { - return {}; + return { response: undefined }; } export const TEGAPIRetrieveSiteSuggestionResponse: MessageFns = { - encode(_: TEGAPIRetrieveSiteSuggestionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: TEGAPIRetrieveSiteSuggestionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.response !== undefined) { + SiteSuggestionResponse.encode(message.response, writer.uint32(10).fork()).join(); + } return writer; }, @@ -7578,6 +7652,14 @@ export const TEGAPIRetrieveSiteSuggestionResponse: MessageFns>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.response = SiteSuggestionResponse.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -7587,12 +7669,15 @@ export const TEGAPIRetrieveSiteSuggestionResponse: MessageFns, I>>( - _: I, + object: I, ): TEGAPIRetrieveSiteSuggestionResponse { const message = createBaseTEGAPIRetrieveSiteSuggestionResponse(); + message.response = (object.response !== undefined && object.response !== null) + ? SiteSuggestionResponse.fromPartial(object.response) + : undefined; return message; }, }; diff --git a/packages/typescript/src/energy_device/transport.ts b/packages/typescript/src/energy_device/transport.ts index b7039ae..6cda0de 100644 --- a/packages/typescript/src/energy_device/transport.ts +++ b/packages/typescript/src/energy_device/transport.ts @@ -20,6 +20,8 @@ import { IntraSiteMessages } from "./intra_site_api.js"; import { LocalAuthMessages } from "./local_auth_api.js"; import { NeurioMeterMessages } from "./neurio_meter_api.js"; import { PVIMessages } from "./pvi_api.js"; +import { RegistrationMessages } from "./registration_api.js"; +import { SuperchargerMessages } from "./supercharger_api.js"; import { TEGMessages } from "./teg_api.js"; import { WCMessages } from "./wall_connector.js"; @@ -202,6 +204,12 @@ export interface Participant { teslaService?: TeslaService | undefined; local?: LocalParticipant | undefined; authorizedClient?: AuthorizedClientType | undefined; + proxiedDevice?: ProxiedDevice | undefined; +} + +export interface ProxiedDevice { + proxyDin: string; + targetDin: string; } export interface RegistrationPayload { @@ -224,6 +232,8 @@ export interface MessageEnvelope { authorization?: AuthorizationMessages | undefined; filestore?: FileStoreMessages | undefined; graphql?: GraphQLMessages | undefined; + supercharger?: SuperchargerMessages | undefined; + registration?: RegistrationMessages | undefined; } function createBaseExternalAuth(): ExternalAuth { @@ -363,7 +373,13 @@ export const AuthEnvelope: MessageFns = { }; function createBaseParticipant(): Participant { - return { din: undefined, teslaService: undefined, local: undefined, authorizedClient: undefined }; + return { + din: undefined, + teslaService: undefined, + local: undefined, + authorizedClient: undefined, + proxiedDevice: undefined, + }; } export const Participant: MessageFns = { @@ -380,6 +396,9 @@ export const Participant: MessageFns = { if (message.authorizedClient !== undefined) { writer.uint32(32).int32(message.authorizedClient); } + if (message.proxiedDevice !== undefined) { + ProxiedDevice.encode(message.proxiedDevice, writer.uint32(42).fork()).join(); + } return writer; }, @@ -422,6 +441,14 @@ export const Participant: MessageFns = { message.authorizedClient = reader.int32() as any; continue; } + case 5: { + if (tag !== 42) { + break; + } + + message.proxiedDevice = ProxiedDevice.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -439,6 +466,7 @@ export const Participant: MessageFns = { authorizedClient: isSet(object.authorizedClient) ? authorizedClientTypeFromJSON(object.authorizedClient) : undefined, + proxiedDevice: isSet(object.proxiedDevice) ? ProxiedDevice.fromJSON(object.proxiedDevice) : undefined, }; }, @@ -456,6 +484,9 @@ export const Participant: MessageFns = { if (message.authorizedClient !== undefined) { obj.authorizedClient = authorizedClientTypeToJSON(message.authorizedClient); } + if (message.proxiedDevice !== undefined) { + obj.proxiedDevice = ProxiedDevice.toJSON(message.proxiedDevice); + } return obj; }, @@ -468,6 +499,85 @@ export const Participant: MessageFns = { message.teslaService = object.teslaService ?? undefined; message.local = object.local ?? undefined; message.authorizedClient = object.authorizedClient ?? undefined; + message.proxiedDevice = (object.proxiedDevice !== undefined && object.proxiedDevice !== null) + ? ProxiedDevice.fromPartial(object.proxiedDevice) + : undefined; + return message; + }, +}; + +function createBaseProxiedDevice(): ProxiedDevice { + return { proxyDin: "", targetDin: "" }; +} + +export const ProxiedDevice: MessageFns = { + encode(message: ProxiedDevice, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.proxyDin !== "") { + writer.uint32(10).string(message.proxyDin); + } + if (message.targetDin !== "") { + writer.uint32(18).string(message.targetDin); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ProxiedDevice { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProxiedDevice(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.proxyDin = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.targetDin = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ProxiedDevice { + return { + proxyDin: isSet(object.proxyDin) ? globalThis.String(object.proxyDin) : "", + targetDin: isSet(object.targetDin) ? globalThis.String(object.targetDin) : "", + }; + }, + + toJSON(message: ProxiedDevice): unknown { + const obj: any = {}; + if (message.proxyDin !== undefined) { + obj.proxyDin = message.proxyDin; + } + if (message.targetDin !== undefined) { + obj.targetDin = message.targetDin; + } + return obj; + }, + + create, I>>(base?: I): ProxiedDevice { + return ProxiedDevice.fromPartial(base ?? ({} as any)); + }, + fromPartial, I>>(object: I): ProxiedDevice { + const message = createBaseProxiedDevice(); + message.proxyDin = object.proxyDin ?? ""; + message.targetDin = object.targetDin ?? ""; return message; }, }; @@ -566,6 +676,8 @@ function createBaseMessageEnvelope(): MessageEnvelope { authorization: undefined, filestore: undefined, graphql: undefined, + supercharger: undefined, + registration: undefined, }; } @@ -613,6 +725,12 @@ export const MessageEnvelope: MessageFns = { if (message.graphql !== undefined) { GraphQLMessages.encode(message.graphql, writer.uint32(130).fork()).join(); } + if (message.supercharger !== undefined) { + SuperchargerMessages.encode(message.supercharger, writer.uint32(138).fork()).join(); + } + if (message.registration !== undefined) { + RegistrationMessages.encode(message.registration, writer.uint32(146).fork()).join(); + } return writer; }, @@ -735,6 +853,22 @@ export const MessageEnvelope: MessageFns = { message.graphql = GraphQLMessages.decode(reader, reader.uint32()); continue; } + case 17: { + if (tag !== 138) { + break; + } + + message.supercharger = SuperchargerMessages.decode(reader, reader.uint32()); + continue; + } + case 18: { + if (tag !== 146) { + break; + } + + message.registration = RegistrationMessages.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -760,6 +894,8 @@ export const MessageEnvelope: MessageFns = { authorization: isSet(object.authorization) ? AuthorizationMessages.fromJSON(object.authorization) : undefined, filestore: isSet(object.filestore) ? FileStoreMessages.fromJSON(object.filestore) : undefined, graphql: isSet(object.graphql) ? GraphQLMessages.fromJSON(object.graphql) : undefined, + supercharger: isSet(object.supercharger) ? SuperchargerMessages.fromJSON(object.supercharger) : undefined, + registration: isSet(object.registration) ? RegistrationMessages.fromJSON(object.registration) : undefined, }; }, @@ -807,6 +943,12 @@ export const MessageEnvelope: MessageFns = { if (message.graphql !== undefined) { obj.graphql = GraphQLMessages.toJSON(message.graphql); } + if (message.supercharger !== undefined) { + obj.supercharger = SuperchargerMessages.toJSON(message.supercharger); + } + if (message.registration !== undefined) { + obj.registration = RegistrationMessages.toJSON(message.registration); + } return obj; }, @@ -849,6 +991,12 @@ export const MessageEnvelope: MessageFns = { message.graphql = (object.graphql !== undefined && object.graphql !== null) ? GraphQLMessages.fromPartial(object.graphql) : undefined; + message.supercharger = (object.supercharger !== undefined && object.supercharger !== null) + ? SuperchargerMessages.fromPartial(object.supercharger) + : undefined; + message.registration = (object.registration !== undefined && object.registration !== null) + ? RegistrationMessages.fromPartial(object.registration) + : undefined; return message; }, }; diff --git a/packages/typescript/src/energy_device/update.ts b/packages/typescript/src/energy_device/update.ts index 23b4d53..bf82998 100644 --- a/packages/typescript/src/energy_device/update.ts +++ b/packages/typescript/src/energy_device/update.ts @@ -15,6 +15,8 @@ export enum UpdateStatus { UPDATE_STATUS_DOWNLOADING = 2, UPDATE_STATUS_DOWNLOADED = 3, UPDATE_STATUS_STAGED = 4, + UPDATE_STATUS_COMMITTING = 5, + UPDATE_STATUS_CHECKING = 6, UNRECOGNIZED = -1, } @@ -35,6 +37,12 @@ export function updateStatusFromJSON(object: any): UpdateStatus { case 4: case "UPDATE_STATUS_STAGED": return UpdateStatus.UPDATE_STATUS_STAGED; + case 5: + case "UPDATE_STATUS_COMMITTING": + return UpdateStatus.UPDATE_STATUS_COMMITTING; + case 6: + case "UPDATE_STATUS_CHECKING": + return UpdateStatus.UPDATE_STATUS_CHECKING; case -1: case "UNRECOGNIZED": default: @@ -54,6 +62,10 @@ export function updateStatusToJSON(object: UpdateStatus): string { return "UPDATE_STATUS_DOWNLOADED"; case UpdateStatus.UPDATE_STATUS_STAGED: return "UPDATE_STATUS_STAGED"; + case UpdateStatus.UPDATE_STATUS_COMMITTING: + return "UPDATE_STATUS_COMMITTING"; + case UpdateStatus.UPDATE_STATUS_CHECKING: + return "UPDATE_STATUS_CHECKING"; case UpdateStatus.UNRECOGNIZED: default: return "UNRECOGNIZED"; diff --git a/packages/typescript/src/energy_device/wall_connector.ts b/packages/typescript/src/energy_device/wall_connector.ts index a7e33df..bf9818f 100644 --- a/packages/typescript/src/energy_device/wall_connector.ts +++ b/packages/typescript/src/energy_device/wall_connector.ts @@ -12,6 +12,7 @@ import { Timestamp } from "./google/protobuf/timestamp.js"; import { FloatValue } from "./google/protobuf/wrappers.js"; import { NetworkInterface, WifiConfig } from "./networking.js"; import { NeurioMeterInterface } from "./neurio_meter_api.js"; +import { RegistrationResponse, WCCommercialRegistrationRequest } from "./registration_api.js"; export const protobufPackage = "tesla.proto.energy_device.v1"; @@ -624,6 +625,7 @@ export enum WCThirdPartyVehicleMode { WC_THIRD_PARTY_VEHICLE_MODE_DISABLED = 2, WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER = 3, WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST = 4, + WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY = 5, UNRECOGNIZED = -1, } @@ -644,6 +646,9 @@ export function wCThirdPartyVehicleModeFromJSON(object: any): WCThirdPartyVehicl case 4: case "WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST": return WCThirdPartyVehicleMode.WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST; + case 5: + case "WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY": + return WCThirdPartyVehicleMode.WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY; case -1: case "UNRECOGNIZED": default: @@ -663,6 +668,8 @@ export function wCThirdPartyVehicleModeToJSON(object: WCThirdPartyVehicleMode): return "WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER"; case WCThirdPartyVehicleMode.WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST: return "WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST"; + case WCThirdPartyVehicleMode.WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY: + return "WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY"; case WCThirdPartyVehicleMode.UNRECOGNIZED: default: return "UNRECOGNIZED"; @@ -684,6 +691,9 @@ export enum WCEvseNotReadyReason { WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST = 11, WC_EVSE_NOT_READY_REASON_PAY_PER_USE = 12, WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE = 13, + WC_EVSE_NOT_READY_REASON_VF_TRIPPED = 14, + WC_EVSE_NOT_READY_REASON_V2G = 15, + WC_EVSE_NOT_READY_REASON_V2HPW = 16, UNRECOGNIZED = -1, } @@ -731,6 +741,15 @@ export function wCEvseNotReadyReasonFromJSON(object: any): WCEvseNotReadyReason case 13: case "WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE": return WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE; + case 14: + case "WC_EVSE_NOT_READY_REASON_VF_TRIPPED": + return WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_VF_TRIPPED; + case 15: + case "WC_EVSE_NOT_READY_REASON_V2G": + return WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_V2G; + case 16: + case "WC_EVSE_NOT_READY_REASON_V2HPW": + return WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_V2HPW; case -1: case "UNRECOGNIZED": default: @@ -768,6 +787,12 @@ export function wCEvseNotReadyReasonToJSON(object: WCEvseNotReadyReason): string return "WC_EVSE_NOT_READY_REASON_PAY_PER_USE"; case WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE: return "WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE"; + case WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_VF_TRIPPED: + return "WC_EVSE_NOT_READY_REASON_VF_TRIPPED"; + case WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_V2G: + return "WC_EVSE_NOT_READY_REASON_V2G"; + case WCEvseNotReadyReason.WC_EVSE_NOT_READY_REASON_V2HPW: + return "WC_EVSE_NOT_READY_REASON_V2HPW"; case WCEvseNotReadyReason.UNRECOGNIZED: default: return "UNRECOGNIZED"; @@ -1869,19 +1894,13 @@ export interface WCAPIPushSmartChargingCommandRequest { export interface WCAPIPushSmartChargingCommandResponse { } -/** - * Field 1 (request) is a type from a separate, not-yet-modeled proto - * package; left unmodeled here. - */ export interface WCAPIRegisterCommercialRequest { + request: WCCommercialRegistrationRequest | undefined; } export interface WCAPIRegisterCommercialResponse { - /** - * Field 2 (response) is a type from a separate, not-yet-modeled proto - * package; left unmodeled here. - */ failure: number; + response: RegistrationResponse | undefined; } export interface WCAPIPushPowershareCommandRequest { @@ -10247,11 +10266,14 @@ export const WCAPIPushSmartChargingCommandResponse: MessageFns = { - encode(_: WCAPIRegisterCommercialRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode(message: WCAPIRegisterCommercialRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.request !== undefined) { + WCCommercialRegistrationRequest.encode(message.request, writer.uint32(10).fork()).join(); + } return writer; }, @@ -10262,6 +10284,14 @@ export const WCAPIRegisterCommercialRequest: MessageFns>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.request = WCCommercialRegistrationRequest.decode(reader, reader.uint32()); + continue; + } } if ((tag & 7) === 4 || tag === 0) { break; @@ -10271,26 +10301,34 @@ export const WCAPIRegisterCommercialRequest: MessageFns, I>>(base?: I): WCAPIRegisterCommercialRequest { return WCAPIRegisterCommercialRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): WCAPIRegisterCommercialRequest { + fromPartial, I>>( + object: I, + ): WCAPIRegisterCommercialRequest { const message = createBaseWCAPIRegisterCommercialRequest(); + message.request = (object.request !== undefined && object.request !== null) + ? WCCommercialRegistrationRequest.fromPartial(object.request) + : undefined; return message; }, }; function createBaseWCAPIRegisterCommercialResponse(): WCAPIRegisterCommercialResponse { - return { failure: 0 }; + return { failure: 0, response: undefined }; } export const WCAPIRegisterCommercialResponse: MessageFns = { @@ -10298,6 +10336,9 @@ export const WCAPIRegisterCommercialResponse: MessageFns default = 1; +} + +message EcuFirmwareUpdateNodeProgress { + string node_path = 1; + EcuFirmwareUpdateStage stage = 2; + string message = 3; +} + +message EcuFirmwareUpdateResult { + EcuFirmwareUpdateStatus system_update_status = 1; + map default = 2; +} + +message EcuFirmwareUpdateStatus { + EcuFirmwareUpdateStatusPass pass_ = 2; + EcuFirmwareUpdateStatusFail fail = 3; +} + +message EcuFirmwareUpdateStatusFail { + string reason = 1; +} + +message EcuFirmwareUpdateStatusPass { +} + +message PayterPostStatus { + uint32 post_index = 1; + string serial_number = 2; + bool activated = 3; +} + +message SuperchargerAPIGetConnectedKiosksRequest { +} + +message SuperchargerAPIGetConnectedKiosksResponse { + ConnectedKioskError error = 1; + repeated ConnectedKiosk connected_kiosks = 2; +} + +message SuperchargerAPIGetDcMetersCommissioningRequest { +} + +message SuperchargerAPIGetDcMetersCommissioningResponse { + repeated DcMeterCommissioningStatus dc_meters = 1; + int32 error = 2; // may be an enum; values not yet known +} + +message SuperchargerAPIGetEcuFirmwareUpdateProgressRequest { +} + +message SuperchargerAPIGetEcuFirmwareUpdateProgressResponse { + EcuFirmwareUpdateResult finished = 1; + EcuFirmwareUpdateInProgress in_progress = 2; +} + +message SuperchargerAPIGetPayterPostStatusRequest { +} + +message SuperchargerAPIGetPayterPostStatusResponse { + repeated PayterPostStatus payter_devices = 1; +} + +message SuperchargerAPIGetVerifoneKioskDeviceIdsRequest { +} + +message SuperchargerAPIGetVerifoneKioskDeviceIdsResponse { + repeated DeviceIDAndSerialNumber device_ids = 1; +} + +message SuperchargerAPIOdinCommandRequest { + string command = 1; + bytes args = 2; +} + +message SuperchargerAPIOdinCommandResponse { + bytes response = 1; + string error = 2; +} + +message SuperchargerAPISetDcMeterCommissionedRequest { + uint32 post_id = 1; +} + +message SuperchargerAPISetDcMeterCommissionedResponse { + bool success = 1; + SetDcMeterCommissionedError error = 2; + string error_message = 3; +} + +message SuperchargerAPIUnlockMagicDockRequest { + string cabinet_id = 1; + uint32 post_id = 2; +} + +message SuperchargerAPIUnlockMagicDockResponse { +} + +message SuperchargerAPIUpdateFollowersRequest { + repeated string dins = 1; +} + +message SuperchargerAPIUpdateFollowersResponse { +} + +message SuperchargerMessages { + oneof message { + SuperchargerAPIUnlockMagicDockRequest unlock_magic_dock_request = 1; + SuperchargerAPIUnlockMagicDockResponse unlock_magic_dock_response = 2; + SuperchargerAPIGetConnectedKiosksRequest get_connected_kiosks_request = 3; + SuperchargerAPIGetConnectedKiosksResponse get_connected_kiosks_response = 4; + SuperchargerAPIGetVerifoneKioskDeviceIdsRequest get_verifone_kiosk_device_ids_request = 5; + SuperchargerAPIGetVerifoneKioskDeviceIdsResponse get_verifone_kiosk_device_ids_response = 6; + SuperchargerAPIUpdateFollowersRequest update_followers_request = 7; + SuperchargerAPIUpdateFollowersResponse update_followers_response = 8; + SuperchargerAPIGetDcMetersCommissioningRequest get_dc_meters_commissioning_request = 9; + SuperchargerAPIGetDcMetersCommissioningResponse get_dc_meters_commissioning_response = 10; + SuperchargerAPISetDcMeterCommissionedRequest set_dc_meter_commissioned_request = 11; + SuperchargerAPISetDcMeterCommissionedResponse set_dc_meter_commissioned_response = 12; + SuperchargerAPIOdinCommandRequest odin_command_request = 13; + SuperchargerAPIOdinCommandResponse odin_command_response = 14; + SuperchargerAPIGetPayterPostStatusRequest get_payter_post_status_request = 15; + SuperchargerAPIGetPayterPostStatusResponse get_payter_post_status_response = 16; + SuperchargerAPIGetEcuFirmwareUpdateProgressRequest get_ecu_firmware_update_progress_request = 17; + SuperchargerAPIGetEcuFirmwareUpdateProgressResponse get_ecu_firmware_update_progress_response = 18; + } +} + +message VerifoneKiosk { + string serial_number = 1; + string subject_key_identifer = 2; +} diff --git a/proto/energy_device/teg_api.proto b/proto/energy_device/teg_api.proto index 4be8266..af25f35 100644 --- a/proto/energy_device/teg_api.proto +++ b/proto/energy_device/teg_api.proto @@ -10,6 +10,7 @@ import "google/protobuf/timestamp.proto"; import "device.proto"; import "networking.proto"; import "common_api.proto"; +import "registration_api.proto"; message TEGSettings { } @@ -117,14 +118,12 @@ message TEGAPIDetectWiredMetersResponse { } message TEGAPIRegisterRequest { - // Field 1 (registration_request) is a type from a separate, not-yet-modeled - // proto package; left unmodeled here. + RegistrationRequest registration_request = 1; } message TEGAPIRegisterResponse { - int32 failure = 1; - // Field 2 (registration_response) is a type from a separate, not-yet-modeled - // proto package; left unmodeled here. + int32 failure = 1; + RegistrationResponse registration_response = 2; } message TEGAPITriggerPowerwall2PhaseDetectionRequest { @@ -473,18 +472,15 @@ message TEGAPIRetrieveSiteUuidRequest { } message TEGAPIRetrieveSiteUuidResponse { - // Field 1 (response) is a type from a separate, not-yet-modeled proto - // package; left unmodeled here. + AssetSiteUuidOfDeviceResponse response = 1; } message TEGAPIRetrieveSiteSuggestionRequest { - // Field 1 (request) is a type from a separate, not-yet-modeled proto - // package; left unmodeled here. + SiteSuggestionRequest request = 1; } message TEGAPIRetrieveSiteSuggestionResponse { - // Field 1 (response) is a type from a separate, not-yet-modeled proto - // package; left unmodeled here. + SiteSuggestionResponse response = 1; } message TEGMessages { diff --git a/proto/energy_device/transport.proto b/proto/energy_device/transport.proto index e4eb4a5..8d972b7 100644 --- a/proto/energy_device/transport.proto +++ b/proto/energy_device/transport.proto @@ -18,6 +18,8 @@ import "energy_site_net.proto"; import "intra_site_api.proto"; import "filestore_api.proto"; import "graphql_api.proto"; +import "registration_api.proto"; +import "supercharger_api.proto"; enum DeliveryChannel { DELIVERY_CHANNEL_INVALID = 0; @@ -62,9 +64,15 @@ message Participant { TeslaService tesla_service = 2; LocalParticipant local = 3; AuthorizedClientType authorized_client = 4; + ProxiedDevice proxied_device = 5; } } +message ProxiedDevice { + string proxy_din = 1; + string target_din = 2; +} + message RegistrationPayload { bytes customer_registration_info = 1; bytes nonce = 2; @@ -74,6 +82,7 @@ message MessageEnvelope { DeliveryChannel delivery_channel = 1; Participant sender = 2; Participant recipient = 3; + // 13 (wmsa) and 14 (sm) carry payloads whose message types this repo does not publish. reserved 13, 14; oneof payload { CommonMessages common = 4; @@ -87,5 +96,7 @@ message MessageEnvelope { AuthorizationMessages authorization = 12; FileStoreMessages filestore = 15; GraphQLMessages graphql = 16; + SuperchargerMessages supercharger = 17; + RegistrationMessages registration = 18; } } diff --git a/proto/energy_device/update.proto b/proto/energy_device/update.proto index faedd46..82faae9 100644 --- a/proto/energy_device/update.proto +++ b/proto/energy_device/update.proto @@ -12,6 +12,8 @@ enum UpdateStatus { UPDATE_STATUS_DOWNLOADING = 2; UPDATE_STATUS_DOWNLOADED = 3; UPDATE_STATUS_STAGED = 4; + UPDATE_STATUS_COMMITTING = 5; + UPDATE_STATUS_CHECKING = 6; } enum UpdateHandshakeResult { diff --git a/proto/energy_device/wall_connector.proto b/proto/energy_device/wall_connector.proto index 2b6dc07..ef234e7 100644 --- a/proto/energy_device/wall_connector.proto +++ b/proto/energy_device/wall_connector.proto @@ -12,6 +12,7 @@ import "device.proto"; import "networking.proto"; import "energy.proto"; import "neurio_meter_api.proto"; +import "registration_api.proto"; enum WCChargeScheduleChargingStatus { WC_CHARGE_SCHEDULE_CHARGING_STATUS_INVALID = 0; @@ -114,6 +115,7 @@ enum WCThirdPartyVehicleMode { WC_THIRD_PARTY_VEHICLE_MODE_DISABLED = 2; WC_THIRD_PARTY_VEHICLE_MODE_DISABLED_NO_ROADSTER = 3; WC_THIRD_PARTY_VEHICLE_MODE_VIN_ALLOW_LIST = 4; + WC_THIRD_PARTY_VEHICLE_MODE_COMPATIBILITY = 5; } enum WCEvseNotReadyReason { @@ -131,6 +133,9 @@ enum WCEvseNotReadyReason { WC_EVSE_NOT_READY_REASON_ACCESS_CONTROL_LIST = 11; WC_EVSE_NOT_READY_REASON_PAY_PER_USE = 12; WC_EVSE_NOT_READY_REASON_THIRD_PARTY_VEHICLE = 13; + WC_EVSE_NOT_READY_REASON_VF_TRIPPED = 14; + WC_EVSE_NOT_READY_REASON_V2G = 15; + WC_EVSE_NOT_READY_REASON_V2HPW = 16; } enum WCOcppStatus { @@ -740,14 +745,12 @@ message WCAPIPushSmartChargingCommandResponse { } message WCAPIRegisterCommercialRequest { - // Field 1 (request) is a type from a separate, not-yet-modeled proto - // package; left unmodeled here. + WCCommercialRegistrationRequest request = 1; } message WCAPIRegisterCommercialResponse { - int32 failure = 1; - // Field 2 (response) is a type from a separate, not-yet-modeled proto - // package; left unmodeled here. + int32 failure = 1; + RegistrationResponse response = 2; } message WCAPIPushPowershareCommandRequest { diff --git a/scripts/test_build_catalog.py b/scripts/test_build_catalog.py index dfcf729..6fee81b 100644 --- a/scripts/test_build_catalog.py +++ b/scripts/test_build_catalog.py @@ -166,8 +166,8 @@ def test_every_group_maps_to_both_generated_packages(self): def test_status_proto_import_only_is_excluded_from_totals_but_catalogued(self): energy_device = next(g for g in self.catalog["groups"] if g["name"] == "energy_device") - self.assertEqual(energy_device["source_files"], 20) - self.assertEqual(energy_device["compiled_top_level_inputs"], 19) + self.assertEqual(energy_device["source_files"], 22) + self.assertEqual(energy_device["compiled_top_level_inputs"], 21) import_only = [f for f in energy_device["files"] if not f["compiled_top_level_input"]] self.assertEqual(len(import_only), 1) self.assertEqual(import_only[0]["path"], "proto/energy_device/google/rpc/status.proto") @@ -182,11 +182,11 @@ def test_baseline_totals(self): # proto/ is authoritative: these document the current surface size so an # unintended change shows up, they don't freeze it. Update on purpose. totals = self.catalog["totals"] - self.assertEqual(totals["source_files"], 39) + self.assertEqual(totals["source_files"], 41) self.assertEqual(totals["groups"], 7) - self.assertEqual(totals["messages"], 905) - self.assertEqual(totals["enums"], 254) - self.assertEqual(totals["fields"], 3016) + self.assertEqual(totals["messages"], 1019) + self.assertEqual(totals["enums"], 271) + self.assertEqual(totals["fields"], 3588) def test_rebuild_is_deterministic(self): second = build_catalog.build_catalog()