tesla-fleet-api 0.7.8__py3-none-any.whl → 0.8.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- tesla_fleet_api/const.py +1 -1
- tesla_fleet_api/energyspecific.py +2 -2
- tesla_fleet_api/exceptions.py +163 -0
- tesla_fleet_api/pb2/__init__.py +0 -0
- tesla_fleet_api/pb2/__init__.pyi +0 -0
- tesla_fleet_api/pb2/car_server_pb2.py +332 -0
- tesla_fleet_api/pb2/common_pb2.py +47 -0
- tesla_fleet_api/pb2/errors_pb2.py +29 -0
- tesla_fleet_api/pb2/keys_pb2.py +23 -0
- tesla_fleet_api/pb2/signatures_pb2.py +74 -0
- tesla_fleet_api/pb2/universal_message_pb2.py +80 -0
- tesla_fleet_api/pb2/vcsec_pb2.py +245 -0
- tesla_fleet_api/pb2/vehicle_pb2.py +28 -0
- tesla_fleet_api/teslafleetapi.py +40 -1
- tesla_fleet_api/teslemetry.py +22 -13
- tesla_fleet_api/vehicle.py +9 -1
- tesla_fleet_api/vehiclesigned.py +1074 -0
- {tesla_fleet_api-0.7.8.dist-info → tesla_fleet_api-0.8.0.dist-info}/METADATA +1 -1
- tesla_fleet_api-0.8.0.dist-info/RECORD +32 -0
- {tesla_fleet_api-0.7.8.dist-info → tesla_fleet_api-0.8.0.dist-info}/WHEEL +1 -1
- tesla_fleet_api-0.7.8.dist-info/RECORD +0 -21
- {tesla_fleet_api-0.7.8.dist-info → tesla_fleet_api-0.8.0.dist-info}/LICENSE +0 -0
- {tesla_fleet_api-0.7.8.dist-info → tesla_fleet_api-0.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf.internal import enum_type_wrapper
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
4
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
5
|
+
from google.protobuf import message as _message
|
6
|
+
from google.protobuf import reflection as _reflection
|
7
|
+
from google.protobuf import symbol_database as _symbol_database
|
8
|
+
_sym_db = _symbol_database.Default()
|
9
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cerrors.proto\x12\x06Errors"<\n\x0cNominalError\x12,\n\x0cgenericError\x18\x01 \x01(\x0e2\x16.Errors.GenericError_E*\x9c\x02\n\x0eGenericError_E\x12\x15\n\x11GENERICERROR_NONE\x10\x00\x12\x18\n\x14GENERICERROR_UNKNOWN\x10\x01\x12\x1e\n\x1aGENERICERROR_CLOSURES_OPEN\x10\x02\x12\x1b\n\x17GENERICERROR_ALREADY_ON\x10\x03\x12*\n&GENERICERROR_DISABLED_FOR_USER_COMMAND\x10\x04\x12$\n GENERICERROR_VEHICLE_NOT_IN_PARK\x10\x05\x12\x1d\n\x19GENERICERROR_UNAUTHORIZED\x10\x06\x12+\n\'GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT\x10\x07Ba\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errorsb\x06proto3')
|
10
|
+
_GENERICERROR_E = DESCRIPTOR.enum_types_by_name['GenericError_E']
|
11
|
+
GenericError_E = enum_type_wrapper.EnumTypeWrapper(_GENERICERROR_E)
|
12
|
+
GENERICERROR_NONE = 0
|
13
|
+
GENERICERROR_UNKNOWN = 1
|
14
|
+
GENERICERROR_CLOSURES_OPEN = 2
|
15
|
+
GENERICERROR_ALREADY_ON = 3
|
16
|
+
GENERICERROR_DISABLED_FOR_USER_COMMAND = 4
|
17
|
+
GENERICERROR_VEHICLE_NOT_IN_PARK = 5
|
18
|
+
GENERICERROR_UNAUTHORIZED = 6
|
19
|
+
GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT = 7
|
20
|
+
_NOMINALERROR = DESCRIPTOR.message_types_by_name['NominalError']
|
21
|
+
NominalError = _reflection.GeneratedProtocolMessageType('NominalError', (_message.Message,), {'DESCRIPTOR': _NOMINALERROR, '__module__': 'errors_pb2'})
|
22
|
+
_sym_db.RegisterMessage(NominalError)
|
23
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
24
|
+
DESCRIPTOR._options = None
|
25
|
+
DESCRIPTOR._serialized_options = b'\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errors'
|
26
|
+
_GENERICERROR_E._serialized_start = 87
|
27
|
+
_GENERICERROR_E._serialized_end = 371
|
28
|
+
_NOMINALERROR._serialized_start = 24
|
29
|
+
_NOMINALERROR._serialized_end = 84
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf.internal import enum_type_wrapper
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
4
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
5
|
+
from google.protobuf import message as _message
|
6
|
+
from google.protobuf import reflection as _reflection
|
7
|
+
from google.protobuf import symbol_database as _symbol_database
|
8
|
+
_sym_db = _symbol_database.Default()
|
9
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nkeys.proto\x12\x04Keys*\x8a\x01\n\x04Role\x12\r\n\tROLE_NONE\x10\x00\x12\x10\n\x0cROLE_SERVICE\x10\x01\x12\x0e\n\nROLE_OWNER\x10\x02\x12\x0f\n\x0bROLE_DRIVER\x10\x03\x12\x0b\n\x07ROLE_FM\x10\x04\x12\x18\n\x14ROLE_VEHICLE_MONITOR\x10\x05\x12\x19\n\x15ROLE_CHARGING_MANAGER\x10\x06B]\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keysb\x06proto3')
|
10
|
+
_ROLE = DESCRIPTOR.enum_types_by_name['Role']
|
11
|
+
Role = enum_type_wrapper.EnumTypeWrapper(_ROLE)
|
12
|
+
ROLE_NONE = 0
|
13
|
+
ROLE_SERVICE = 1
|
14
|
+
ROLE_OWNER = 2
|
15
|
+
ROLE_DRIVER = 3
|
16
|
+
ROLE_FM = 4
|
17
|
+
ROLE_VEHICLE_MONITOR = 5
|
18
|
+
ROLE_CHARGING_MANAGER = 6
|
19
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
20
|
+
DESCRIPTOR._options = None
|
21
|
+
DESCRIPTOR._serialized_options = b'\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keys'
|
22
|
+
_ROLE._serialized_start = 21
|
23
|
+
_ROLE._serialized_end = 159
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf.internal import enum_type_wrapper
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
4
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
5
|
+
from google.protobuf import message as _message
|
6
|
+
from google.protobuf import reflection as _reflection
|
7
|
+
from google.protobuf import symbol_database as _symbol_database
|
8
|
+
_sym_db = _symbol_database.Default()
|
9
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10signatures.proto\x12\nSignatures"L\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00B\x0f\n\ridentity_typeJ\x04\x08\x02\x10\x03"u\n#AES_GCM_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07counter\x18\x03 \x01(\r\x12\x12\n\nexpires_at\x18\x04 \x01(\x07\x12\x0b\n\x03tag\x18\x05 \x01(\x0c""\n\x13HMAC_Signature_Data\x12\x0b\n\x03tag\x18\x01 \x01(\x0c"c\n HMAC_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\x0f\n\x07counter\x18\x02 \x01(\r\x12\x12\n\nexpires_at\x18\x03 \x01(\x07\x12\x0b\n\x03tag\x18\x04 \x01(\x0c"\xb6\x02\n\rSignatureData\x120\n\x0fsigner_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity\x12T\n\x19AES_GCM_Personalized_data\x18\x05 \x01(\x0b2/.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12;\n\x10session_info_tag\x18\x06 \x01(\x0b2\x1f.Signatures.HMAC_Signature_DataH\x00\x12N\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b2,.Signatures.HMAC_Personalized_Signature_DataH\x00B\n\n\x08sig_typeJ\x04\x08\x07\x10\x08"F\n\x15GetSessionInfoRequest\x12-\n\x0ckey_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity"\x95\x01\n\x0bSessionInfo\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\r\n\x05epoch\x18\x03 \x01(\x0c\x12\x12\n\nclock_time\x18\x04 \x01(\x07\x12/\n\x06status\x18\x05 \x01(\x0e2\x1f.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r*\xaa\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\x0c\n\x07TAG_END\x10\xff\x01*\x99\x01\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\'\n#SIGNATURE_TYPE_AES_GCM_PERSONALIZED\x10\x05\x12\x17\n\x13SIGNATURE_TYPE_HMAC\x10\x06\x12$\n SIGNATURE_TYPE_HMAC_PERSONALIZED\x10\x08"\x04\x08\x07\x10\x07*_\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01Bi\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3')
|
10
|
+
_TAG = DESCRIPTOR.enum_types_by_name['Tag']
|
11
|
+
Tag = enum_type_wrapper.EnumTypeWrapper(_TAG)
|
12
|
+
_SIGNATURETYPE = DESCRIPTOR.enum_types_by_name['SignatureType']
|
13
|
+
SignatureType = enum_type_wrapper.EnumTypeWrapper(_SIGNATURETYPE)
|
14
|
+
_SESSION_INFO_STATUS = DESCRIPTOR.enum_types_by_name['Session_Info_Status']
|
15
|
+
Session_Info_Status = enum_type_wrapper.EnumTypeWrapper(_SESSION_INFO_STATUS)
|
16
|
+
TAG_SIGNATURE_TYPE = 0
|
17
|
+
TAG_DOMAIN = 1
|
18
|
+
TAG_PERSONALIZATION = 2
|
19
|
+
TAG_EPOCH = 3
|
20
|
+
TAG_EXPIRES_AT = 4
|
21
|
+
TAG_COUNTER = 5
|
22
|
+
TAG_CHALLENGE = 6
|
23
|
+
TAG_FLAGS = 7
|
24
|
+
TAG_END = 255
|
25
|
+
SIGNATURE_TYPE_AES_GCM = 0
|
26
|
+
SIGNATURE_TYPE_AES_GCM_PERSONALIZED = 5
|
27
|
+
SIGNATURE_TYPE_HMAC = 6
|
28
|
+
SIGNATURE_TYPE_HMAC_PERSONALIZED = 8
|
29
|
+
SESSION_INFO_STATUS_OK = 0
|
30
|
+
SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST = 1
|
31
|
+
_KEYIDENTITY = DESCRIPTOR.message_types_by_name['KeyIdentity']
|
32
|
+
_AES_GCM_PERSONALIZED_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['AES_GCM_Personalized_Signature_Data']
|
33
|
+
_HMAC_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['HMAC_Signature_Data']
|
34
|
+
_HMAC_PERSONALIZED_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['HMAC_Personalized_Signature_Data']
|
35
|
+
_SIGNATUREDATA = DESCRIPTOR.message_types_by_name['SignatureData']
|
36
|
+
_GETSESSIONINFOREQUEST = DESCRIPTOR.message_types_by_name['GetSessionInfoRequest']
|
37
|
+
_SESSIONINFO = DESCRIPTOR.message_types_by_name['SessionInfo']
|
38
|
+
KeyIdentity = _reflection.GeneratedProtocolMessageType('KeyIdentity', (_message.Message,), {'DESCRIPTOR': _KEYIDENTITY, '__module__': 'signatures_pb2'})
|
39
|
+
_sym_db.RegisterMessage(KeyIdentity)
|
40
|
+
AES_GCM_Personalized_Signature_Data = _reflection.GeneratedProtocolMessageType('AES_GCM_Personalized_Signature_Data', (_message.Message,), {'DESCRIPTOR': _AES_GCM_PERSONALIZED_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
|
41
|
+
_sym_db.RegisterMessage(AES_GCM_Personalized_Signature_Data)
|
42
|
+
HMAC_Signature_Data = _reflection.GeneratedProtocolMessageType('HMAC_Signature_Data', (_message.Message,), {'DESCRIPTOR': _HMAC_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
|
43
|
+
_sym_db.RegisterMessage(HMAC_Signature_Data)
|
44
|
+
HMAC_Personalized_Signature_Data = _reflection.GeneratedProtocolMessageType('HMAC_Personalized_Signature_Data', (_message.Message,), {'DESCRIPTOR': _HMAC_PERSONALIZED_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
|
45
|
+
_sym_db.RegisterMessage(HMAC_Personalized_Signature_Data)
|
46
|
+
SignatureData = _reflection.GeneratedProtocolMessageType('SignatureData', (_message.Message,), {'DESCRIPTOR': _SIGNATUREDATA, '__module__': 'signatures_pb2'})
|
47
|
+
_sym_db.RegisterMessage(SignatureData)
|
48
|
+
GetSessionInfoRequest = _reflection.GeneratedProtocolMessageType('GetSessionInfoRequest', (_message.Message,), {'DESCRIPTOR': _GETSESSIONINFOREQUEST, '__module__': 'signatures_pb2'})
|
49
|
+
_sym_db.RegisterMessage(GetSessionInfoRequest)
|
50
|
+
SessionInfo = _reflection.GeneratedProtocolMessageType('SessionInfo', (_message.Message,), {'DESCRIPTOR': _SESSIONINFO, '__module__': 'signatures_pb2'})
|
51
|
+
_sym_db.RegisterMessage(SessionInfo)
|
52
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
53
|
+
DESCRIPTOR._options = None
|
54
|
+
DESCRIPTOR._serialized_options = b'\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signatures'
|
55
|
+
_TAG._serialized_start = 904
|
56
|
+
_TAG._serialized_end = 1074
|
57
|
+
_SIGNATURETYPE._serialized_start = 1077
|
58
|
+
_SIGNATURETYPE._serialized_end = 1230
|
59
|
+
_SESSION_INFO_STATUS._serialized_start = 1232
|
60
|
+
_SESSION_INFO_STATUS._serialized_end = 1327
|
61
|
+
_KEYIDENTITY._serialized_start = 32
|
62
|
+
_KEYIDENTITY._serialized_end = 108
|
63
|
+
_AES_GCM_PERSONALIZED_SIGNATURE_DATA._serialized_start = 110
|
64
|
+
_AES_GCM_PERSONALIZED_SIGNATURE_DATA._serialized_end = 227
|
65
|
+
_HMAC_SIGNATURE_DATA._serialized_start = 229
|
66
|
+
_HMAC_SIGNATURE_DATA._serialized_end = 263
|
67
|
+
_HMAC_PERSONALIZED_SIGNATURE_DATA._serialized_start = 265
|
68
|
+
_HMAC_PERSONALIZED_SIGNATURE_DATA._serialized_end = 364
|
69
|
+
_SIGNATUREDATA._serialized_start = 367
|
70
|
+
_SIGNATUREDATA._serialized_end = 677
|
71
|
+
_GETSESSIONINFOREQUEST._serialized_start = 679
|
72
|
+
_GETSESSIONINFOREQUEST._serialized_end = 749
|
73
|
+
_SESSIONINFO._serialized_start = 752
|
74
|
+
_SESSIONINFO._serialized_end = 901
|
@@ -0,0 +1,80 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf.internal import enum_type_wrapper
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
4
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
5
|
+
from google.protobuf import message as _message
|
6
|
+
from google.protobuf import reflection as _reflection
|
7
|
+
from google.protobuf import symbol_database as _symbol_database
|
8
|
+
_sym_db = _symbol_database.Default()
|
9
|
+
from . import signatures_pb2 as signatures__pb2
|
10
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17universal_message.proto\x12\x10UniversalMessage\x1a\x10signatures.proto"g\n\x0bDestination\x12*\n\x06domain\x18\x01 \x01(\x0e2\x18.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00B\x11\n\x0fsub_destination"\x8e\x01\n\rMessageStatus\x12=\n\x10operation_status\x18\x01 \x01(\x0e2#.UniversalMessage.OperationStatus_E\x12>\n\x14signed_message_fault\x18\x02 \x01(\x0e2 .UniversalMessage.MessageFault_E";\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c"\xd6\x03\n\x0fRoutableMessage\x125\n\x0eto_destination\x18\x06 \x01(\x0b2\x1d.UniversalMessage.Destination\x127\n\x10from_destination\x18\x07 \x01(\x0b2\x1d.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12D\n\x14session_info_request\x18\x0e \x01(\x0b2$.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x123\n\x0esignature_data\x18\r \x01(\x0b2\x19.Signatures.SignatureDataH\x01\x12<\n\x13signedMessageStatus\x18\x0c \x01(\x0b2\x1f.UniversalMessage.MessageStatus\x12\x14\n\x0crequest_uuid\x182 \x01(\x0c\x12\x0c\n\x04uuid\x183 \x01(\x0c\x12\r\n\x05flags\x184 \x01(\rB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*T\n\x06Domain\x12\x14\n\x10DOMAIN_BROADCAST\x10\x00\x12\x1b\n\x17DOMAIN_VEHICLE_SECURITY\x10\x02\x12\x17\n\x13DOMAIN_INFOTAINMENT\x10\x03*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\x80\x08\n\x0eMessageFault_E\x12\x1b\n\x17MESSAGEFAULT_ERROR_NONE\x10\x00\x12\x1b\n\x17MESSAGEFAULT_ERROR_BUSY\x10\x01\x12\x1e\n\x1aMESSAGEFAULT_ERROR_TIMEOUT\x10\x02\x12%\n!MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID\x10\x03\x12#\n\x1fMESSAGEFAULT_ERROR_INACTIVE_KEY\x10\x04\x12(\n$MESSAGEFAULT_ERROR_INVALID_SIGNATURE\x10\x05\x12/\n+MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER\x10\x06\x12.\n*MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES\x10\x07\x12&\n"MESSAGEFAULT_ERROR_INVALID_DOMAINS\x10\x08\x12&\n"MESSAGEFAULT_ERROR_INVALID_COMMAND\x10\t\x12\x1f\n\x1bMESSAGEFAULT_ERROR_DECODING\x10\n\x12\x1f\n\x1bMESSAGEFAULT_ERROR_INTERNAL\x10\x0b\x12,\n(MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION\x10\x0c\x12$\n MESSAGEFAULT_ERROR_BAD_PARAMETER\x10\r\x12\'\n#MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL\x10\x0e\x12&\n"MESSAGEFAULT_ERROR_INCORRECT_EPOCH\x10\x0f\x12*\n&MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH\x10\x10\x12#\n\x1fMESSAGEFAULT_ERROR_TIME_EXPIRED\x10\x11\x124\n0MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12.\n*MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA\x10\x13\x12,\n(MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG\x10\x14\x12-\n)MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED\x10\x15\x125\n1MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED\x10\x16\x12;\n7MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS\x10\x17*\x1e\n\x05Flags\x12\x15\n\x11FLAG_USER_COMMAND\x10\x00Bu\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3')
|
11
|
+
_DOMAIN = DESCRIPTOR.enum_types_by_name['Domain']
|
12
|
+
Domain = enum_type_wrapper.EnumTypeWrapper(_DOMAIN)
|
13
|
+
_OPERATIONSTATUS_E = DESCRIPTOR.enum_types_by_name['OperationStatus_E']
|
14
|
+
OperationStatus_E = enum_type_wrapper.EnumTypeWrapper(_OPERATIONSTATUS_E)
|
15
|
+
_MESSAGEFAULT_E = DESCRIPTOR.enum_types_by_name['MessageFault_E']
|
16
|
+
MessageFault_E = enum_type_wrapper.EnumTypeWrapper(_MESSAGEFAULT_E)
|
17
|
+
_FLAGS = DESCRIPTOR.enum_types_by_name['Flags']
|
18
|
+
Flags = enum_type_wrapper.EnumTypeWrapper(_FLAGS)
|
19
|
+
DOMAIN_BROADCAST = 0
|
20
|
+
DOMAIN_VEHICLE_SECURITY = 2
|
21
|
+
DOMAIN_INFOTAINMENT = 3
|
22
|
+
OPERATIONSTATUS_OK = 0
|
23
|
+
OPERATIONSTATUS_WAIT = 1
|
24
|
+
OPERATIONSTATUS_ERROR = 2
|
25
|
+
MESSAGEFAULT_ERROR_NONE = 0
|
26
|
+
MESSAGEFAULT_ERROR_BUSY = 1
|
27
|
+
MESSAGEFAULT_ERROR_TIMEOUT = 2
|
28
|
+
MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID = 3
|
29
|
+
MESSAGEFAULT_ERROR_INACTIVE_KEY = 4
|
30
|
+
MESSAGEFAULT_ERROR_INVALID_SIGNATURE = 5
|
31
|
+
MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER = 6
|
32
|
+
MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES = 7
|
33
|
+
MESSAGEFAULT_ERROR_INVALID_DOMAINS = 8
|
34
|
+
MESSAGEFAULT_ERROR_INVALID_COMMAND = 9
|
35
|
+
MESSAGEFAULT_ERROR_DECODING = 10
|
36
|
+
MESSAGEFAULT_ERROR_INTERNAL = 11
|
37
|
+
MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION = 12
|
38
|
+
MESSAGEFAULT_ERROR_BAD_PARAMETER = 13
|
39
|
+
MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL = 14
|
40
|
+
MESSAGEFAULT_ERROR_INCORRECT_EPOCH = 15
|
41
|
+
MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH = 16
|
42
|
+
MESSAGEFAULT_ERROR_TIME_EXPIRED = 17
|
43
|
+
MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY = 18
|
44
|
+
MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA = 19
|
45
|
+
MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG = 20
|
46
|
+
MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED = 21
|
47
|
+
MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED = 22
|
48
|
+
MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS = 23
|
49
|
+
FLAG_USER_COMMAND = 0
|
50
|
+
_DESTINATION = DESCRIPTOR.message_types_by_name['Destination']
|
51
|
+
_MESSAGESTATUS = DESCRIPTOR.message_types_by_name['MessageStatus']
|
52
|
+
_SESSIONINFOREQUEST = DESCRIPTOR.message_types_by_name['SessionInfoRequest']
|
53
|
+
_ROUTABLEMESSAGE = DESCRIPTOR.message_types_by_name['RoutableMessage']
|
54
|
+
Destination = _reflection.GeneratedProtocolMessageType('Destination', (_message.Message,), {'DESCRIPTOR': _DESTINATION, '__module__': 'universal_message_pb2'})
|
55
|
+
_sym_db.RegisterMessage(Destination)
|
56
|
+
MessageStatus = _reflection.GeneratedProtocolMessageType('MessageStatus', (_message.Message,), {'DESCRIPTOR': _MESSAGESTATUS, '__module__': 'universal_message_pb2'})
|
57
|
+
_sym_db.RegisterMessage(MessageStatus)
|
58
|
+
SessionInfoRequest = _reflection.GeneratedProtocolMessageType('SessionInfoRequest', (_message.Message,), {'DESCRIPTOR': _SESSIONINFOREQUEST, '__module__': 'universal_message_pb2'})
|
59
|
+
_sym_db.RegisterMessage(SessionInfoRequest)
|
60
|
+
RoutableMessage = _reflection.GeneratedProtocolMessageType('RoutableMessage', (_message.Message,), {'DESCRIPTOR': _ROUTABLEMESSAGE, '__module__': 'universal_message_pb2'})
|
61
|
+
_sym_db.RegisterMessage(RoutableMessage)
|
62
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
63
|
+
DESCRIPTOR._options = None
|
64
|
+
DESCRIPTOR._serialized_options = b'\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessage'
|
65
|
+
_DOMAIN._serialized_start = 847
|
66
|
+
_DOMAIN._serialized_end = 931
|
67
|
+
_OPERATIONSTATUS_E._serialized_start = 933
|
68
|
+
_OPERATIONSTATUS_E._serialized_end = 1029
|
69
|
+
_MESSAGEFAULT_E._serialized_start = 1032
|
70
|
+
_MESSAGEFAULT_E._serialized_end = 2056
|
71
|
+
_FLAGS._serialized_start = 2058
|
72
|
+
_FLAGS._serialized_end = 2088
|
73
|
+
_DESTINATION._serialized_start = 63
|
74
|
+
_DESTINATION._serialized_end = 166
|
75
|
+
_MESSAGESTATUS._serialized_start = 169
|
76
|
+
_MESSAGESTATUS._serialized_end = 311
|
77
|
+
_SESSIONINFOREQUEST._serialized_start = 313
|
78
|
+
_SESSIONINFOREQUEST._serialized_end = 372
|
79
|
+
_ROUTABLEMESSAGE._serialized_start = 375
|
80
|
+
_ROUTABLEMESSAGE._serialized_end = 845
|
@@ -0,0 +1,245 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf.internal import enum_type_wrapper
|
3
|
+
from google.protobuf import descriptor as _descriptor
|
4
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
5
|
+
from google.protobuf import message as _message
|
6
|
+
from google.protobuf import reflection as _reflection
|
7
|
+
from google.protobuf import symbol_database as _symbol_database
|
8
|
+
_sym_db = _symbol_database.Default()
|
9
|
+
from . import keys_pb2 as keys__pb2
|
10
|
+
from . import errors_pb2 as errors__pb2
|
11
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bvcsec.proto\x12\x05VCSEC\x1a\nkeys.proto\x1a\x0cerrors.proto"\\\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12+\n\rsignatureType\x18\x03 \x01(\x0e2\x14.VCSEC.SignatureType"=\n\x0eToVCSECMessage\x12+\n\rsignedMessage\x18\x01 \x01(\x0b2\x14.VCSEC.SignedMessage"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c":\n\x0bKeyMetadata\x12+\n\rkeyFormFactor\x18\x01 \x01(\x0e2\x14.VCSEC.KeyFormFactor"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c"j\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12.\n\x10whitelistEntries\x18\x02 \x03(\x0b2\x14.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r"\xb5\x01\n\x12WhitelistEntryInfo\x12#\n\x05keyId\x18\x01 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x12#\n\tpublicKey\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKey\x12*\n\x0emetadataForKey\x18\x04 \x01(\x0b2\x12.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\x1b\n\x07keyRole\x18\x07 \x01(\x0e2\n.Keys.Role"\xa6\x01\n\x12InformationRequest\x12=\n\x16informationRequestType\x18\x01 \x01(\x0e2\x1d.VCSEC.InformationRequestType\x12%\n\x05keyId\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifierH\x00\x12\x13\n\tpublicKey\x18\x03 \x01(\x0cH\x00\x12\x0e\n\x04slot\x18\x04 \x01(\rH\x00B\x05\n\x03key"\x98\x03\n\x12ClosureMoveRequest\x121\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x124\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x120\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x123\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12+\n\trearTrunk\x18\x05 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nfrontTrunk\x18\x06 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nchargePort\x18\x07 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12)\n\x07tonneau\x18\x08 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E"i\n\x10PermissionChange\x12\x1d\n\x03key\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role"\xbb\x01\n\nReplaceKey\x12.\n\x12publicKeyToReplace\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12"\n\x08keyToAdd\x18\x03 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08B\x0e\n\x0ckeyToReplace"\x8c\x05\n\x12WhitelistOperation\x123\n\x17addPublicKeyToWhitelist\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x128\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12<\n\x19addPermissionsToPublicKey\x18\x03 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12A\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12:\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x124\n\x11addImpermanentKey\x18\x08 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\'\n\nreplaceKey\x18\x11 \x01(\x0b2\x11.VCSEC.ReplaceKeyH\x00\x12*\n\x0emetadataForKey\x18\x06 \x01(\x0b2\x12.VCSEC.KeyMetadataB\r\n\x0bsub_message"\xcf\x01\n\x19WhitelistOperation_status\x12N\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e2\'.VCSEC.WhitelistOperation_information_E\x12/\n\x11signerOfOperation\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x121\n\x0foperationStatus\x18\x03 \x01(\x0e2\x18.VCSEC.OperationStatus_E"m\n\x14SignedMessage_status\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12D\n\x18signedMessageInformation\x18\x02 \x01(\x0e2".VCSEC.SignedMessage_information_E"\xd3\x01\n\rCommandStatus\x121\n\x0foperationStatus\x18\x01 \x01(\x0e2\x18.VCSEC.OperationStatus_E\x12:\n\x13signedMessageStatus\x18\x02 \x01(\x0b2\x1b.VCSEC.SignedMessage_statusH\x00\x12D\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b2 .VCSEC.WhitelistOperation_statusH\x00B\r\n\x0bsub_message"\x92\x02\n\x0fUnsignedMessage\x127\n\x12InformationRequest\x18\x01 \x01(\x0b2\x19.VCSEC.InformationRequestH\x00\x12\'\n\tRKEAction\x18\x02 \x01(\x0e2\x12.VCSEC.RKEAction_EH\x00\x127\n\x12closureMoveRequest\x18\x04 \x01(\x0b2\x19.VCSEC.ClosureMoveRequestH\x00\x127\n\x12WhitelistOperation\x18\x10 \x01(\x0b2\x19.VCSEC.WhitelistOperationH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e"\xfd\x02\n\x0fClosureStatuses\x12.\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x15.VCSEC.ClosureState_E\x121\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12-\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x15.VCSEC.ClosureState_E\x120\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12(\n\trearTrunk\x18\x05 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nfrontTrunk\x18\x06 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nchargePort\x18\x07 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12&\n\x07tonneau\x18\x08 \x01(\x0e2\x15.VCSEC.ClosureState_E"3\n\x15DetailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r"\x98\x02\n\rVehicleStatus\x12/\n\x0fclosureStatuses\x18\x01 \x01(\x0b2\x16.VCSEC.ClosureStatuses\x123\n\x10vehicleLockState\x18\x02 \x01(\x0e2\x19.VCSEC.VehicleLockState_E\x127\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e2\x1b.VCSEC.VehicleSleepStatus_E\x12+\n\x0cuserPresence\x18\x04 \x01(\x0e2\x15.VCSEC.UserPresence_E\x12;\n\x15detailedClosureStatus\x18\x05 \x01(\x0b2\x1c.VCSEC.DetailedClosureStatus"\x9b\x02\n\x10FromVCSECMessage\x12-\n\rvehicleStatus\x18\x01 \x01(\x0b2\x14.VCSEC.VehicleStatusH\x00\x12-\n\rcommandStatus\x18\x04 \x01(\x0b2\x14.VCSEC.CommandStatusH\x00\x12-\n\rwhitelistInfo\x18\x10 \x01(\x0b2\x14.VCSEC.WhitelistInfoH\x00\x127\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b2\x19.VCSEC.WhitelistEntryInfoH\x00\x12,\n\x0cnominalError\x18. \x01(\x0b2\x14.Errors.NominalErrorH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*H\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02*\xad\x01\n\rKeyFormFactor\x12\x1b\n\x17KEY_FORM_FACTOR_UNKNOWN\x10\x00\x12\x1c\n\x18KEY_FORM_FACTOR_NFC_CARD\x10\x01\x12\x1e\n\x1aKEY_FORM_FACTOR_IOS_DEVICE\x10\x06\x12"\n\x1eKEY_FORM_FACTOR_ANDROID_DEVICE\x10\x07\x12\x1d\n\x19KEY_FORM_FACTOR_CLOUD_KEY\x10\t*\xa9\x01\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x125\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06*\x97\x01\n\x0bRKEAction_E\x12\x15\n\x11RKE_ACTION_UNLOCK\x10\x00\x12\x13\n\x0fRKE_ACTION_LOCK\x10\x01\x12\x1b\n\x17RKE_ACTION_REMOTE_DRIVE\x10\x14\x12"\n\x1eRKE_ACTION_AUTO_SECURE_VEHICLE\x10\x1d\x12\x1b\n\x17RKE_ACTION_WAKE_VEHICLE\x10\x1e*\xa0\x01\n\x11ClosureMoveType_E\x12\x1a\n\x16CLOSURE_MOVE_TYPE_NONE\x10\x00\x12\x1a\n\x16CLOSURE_MOVE_TYPE_MOVE\x10\x01\x12\x1a\n\x16CLOSURE_MOVE_TYPE_STOP\x10\x02\x12\x1a\n\x16CLOSURE_MOVE_TYPE_OPEN\x10\x03\x12\x1b\n\x17CLOSURE_MOVE_TYPE_CLOSE\x10\x04*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xf3\x08\n\x1bSignedMessage_information_E\x12"\n\x1eSIGNEDMESSAGE_INFORMATION_NONE\x10\x00\x12+\n\'SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN\x10\x01\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST\x10\x02\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED\x10\x03\x121\n-SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN\x10\x04\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID\x10\x05\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH\x10\x06\x12/\n+SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT\x10\x07\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE\x10\x08\x126\n2SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START\x10\t\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT\x10\n\x12:\n6SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY\x10\x0b\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN\x10\x0c\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT\x10\r\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH\x10\x0e\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH\x10\x0f\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH\x10\x10\x120\n,SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED\x10\x11\x12A\n=SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12;\n7SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA\x10\x13*\xc3\x0c\n WhitelistOperation_information_E\x12\'\n#WHITELISTOPERATION_INFORMATION_NONE\x10\x00\x125\n1WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR\x10\x01\x12B\n>WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF\x10\x02\x124\n0WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL\x10\x03\x121\n-WHITELISTOPERATION_INFORMATION_WHITELIST_FULL\x10\x04\x127\n3WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD\x10\x05\x125\n1WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY\x10\x06\x12:\n6WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE\x10\x07\x12F\nBWHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS\x10\x08\x12L\nHWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF\x10\t\x12K\nGWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF\x10\n\x12G\nCWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS\x10\x0b\x12>\n:WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST\x10\x0c\x12Y\nUWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST\x10\r\x12F\nBWHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER\x10\x0e\x12A\n=WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE\x10\x0f\x12E\nAWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY\x10\x10\x12H\nDWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY\x10\x11\x129\n5WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL\x10\x12\x12E\nAWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE\x10\x13\x12J\nFWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE\x10\x14\x12Q\nMWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH\x10\x15\x12b\n^WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE\x10\x16*\xc6\x01\n\x0eClosureState_E\x12\x17\n\x13CLOSURESTATE_CLOSED\x10\x00\x12\x15\n\x11CLOSURESTATE_OPEN\x10\x01\x12\x15\n\x11CLOSURESTATE_AJAR\x10\x02\x12\x18\n\x14CLOSURESTATE_UNKNOWN\x10\x03\x12\x1f\n\x1bCLOSURESTATE_FAILED_UNLATCH\x10\x04\x12\x18\n\x14CLOSURESTATE_OPENING\x10\x05\x12\x18\n\x14CLOSURESTATE_CLOSING\x10\x06*\x9f\x01\n\x12VehicleLockState_E\x12\x1d\n\x19VEHICLELOCKSTATE_UNLOCKED\x10\x00\x12\x1b\n\x17VEHICLELOCKSTATE_LOCKED\x10\x01\x12$\n VEHICLELOCKSTATE_INTERNAL_LOCKED\x10\x02\x12\'\n#VEHICLELOCKSTATE_SELECTIVE_UNLOCKED\x10\x03*y\n\x14VehicleSleepStatus_E\x12 \n\x1cVEHICLE_SLEEP_STATUS_UNKNOWN\x10\x00\x12\x1e\n\x1aVEHICLE_SLEEP_STATUS_AWAKE\x10\x01\x12\x1f\n\x1bVEHICLE_SLEEP_STATUS_ASLEEP\x10\x02*}\n\x0eUserPresence_E\x12!\n\x1dVEHICLE_USER_PRESENCE_UNKNOWN\x10\x00\x12%\n!VEHICLE_USER_PRESENCE_NOT_PRESENT\x10\x01\x12!\n\x1dVEHICLE_USER_PRESENCE_PRESENT\x10\x02B_\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3')
|
12
|
+
_SIGNATURETYPE = DESCRIPTOR.enum_types_by_name['SignatureType']
|
13
|
+
SignatureType = enum_type_wrapper.EnumTypeWrapper(_SIGNATURETYPE)
|
14
|
+
_KEYFORMFACTOR = DESCRIPTOR.enum_types_by_name['KeyFormFactor']
|
15
|
+
KeyFormFactor = enum_type_wrapper.EnumTypeWrapper(_KEYFORMFACTOR)
|
16
|
+
_INFORMATIONREQUESTTYPE = DESCRIPTOR.enum_types_by_name['InformationRequestType']
|
17
|
+
InformationRequestType = enum_type_wrapper.EnumTypeWrapper(_INFORMATIONREQUESTTYPE)
|
18
|
+
_RKEACTION_E = DESCRIPTOR.enum_types_by_name['RKEAction_E']
|
19
|
+
RKEAction_E = enum_type_wrapper.EnumTypeWrapper(_RKEACTION_E)
|
20
|
+
_CLOSUREMOVETYPE_E = DESCRIPTOR.enum_types_by_name['ClosureMoveType_E']
|
21
|
+
ClosureMoveType_E = enum_type_wrapper.EnumTypeWrapper(_CLOSUREMOVETYPE_E)
|
22
|
+
_OPERATIONSTATUS_E = DESCRIPTOR.enum_types_by_name['OperationStatus_E']
|
23
|
+
OperationStatus_E = enum_type_wrapper.EnumTypeWrapper(_OPERATIONSTATUS_E)
|
24
|
+
_SIGNEDMESSAGE_INFORMATION_E = DESCRIPTOR.enum_types_by_name['SignedMessage_information_E']
|
25
|
+
SignedMessage_information_E = enum_type_wrapper.EnumTypeWrapper(_SIGNEDMESSAGE_INFORMATION_E)
|
26
|
+
_WHITELISTOPERATION_INFORMATION_E = DESCRIPTOR.enum_types_by_name['WhitelistOperation_information_E']
|
27
|
+
WhitelistOperation_information_E = enum_type_wrapper.EnumTypeWrapper(_WHITELISTOPERATION_INFORMATION_E)
|
28
|
+
_CLOSURESTATE_E = DESCRIPTOR.enum_types_by_name['ClosureState_E']
|
29
|
+
ClosureState_E = enum_type_wrapper.EnumTypeWrapper(_CLOSURESTATE_E)
|
30
|
+
_VEHICLELOCKSTATE_E = DESCRIPTOR.enum_types_by_name['VehicleLockState_E']
|
31
|
+
VehicleLockState_E = enum_type_wrapper.EnumTypeWrapper(_VEHICLELOCKSTATE_E)
|
32
|
+
_VEHICLESLEEPSTATUS_E = DESCRIPTOR.enum_types_by_name['VehicleSleepStatus_E']
|
33
|
+
VehicleSleepStatus_E = enum_type_wrapper.EnumTypeWrapper(_VEHICLESLEEPSTATUS_E)
|
34
|
+
_USERPRESENCE_E = DESCRIPTOR.enum_types_by_name['UserPresence_E']
|
35
|
+
UserPresence_E = enum_type_wrapper.EnumTypeWrapper(_USERPRESENCE_E)
|
36
|
+
SIGNATURE_TYPE_NONE = 0
|
37
|
+
SIGNATURE_TYPE_PRESENT_KEY = 2
|
38
|
+
KEY_FORM_FACTOR_UNKNOWN = 0
|
39
|
+
KEY_FORM_FACTOR_NFC_CARD = 1
|
40
|
+
KEY_FORM_FACTOR_IOS_DEVICE = 6
|
41
|
+
KEY_FORM_FACTOR_ANDROID_DEVICE = 7
|
42
|
+
KEY_FORM_FACTOR_CLOUD_KEY = 9
|
43
|
+
INFORMATION_REQUEST_TYPE_GET_STATUS = 0
|
44
|
+
INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO = 5
|
45
|
+
INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO = 6
|
46
|
+
RKE_ACTION_UNLOCK = 0
|
47
|
+
RKE_ACTION_LOCK = 1
|
48
|
+
RKE_ACTION_REMOTE_DRIVE = 20
|
49
|
+
RKE_ACTION_AUTO_SECURE_VEHICLE = 29
|
50
|
+
RKE_ACTION_WAKE_VEHICLE = 30
|
51
|
+
CLOSURE_MOVE_TYPE_NONE = 0
|
52
|
+
CLOSURE_MOVE_TYPE_MOVE = 1
|
53
|
+
CLOSURE_MOVE_TYPE_STOP = 2
|
54
|
+
CLOSURE_MOVE_TYPE_OPEN = 3
|
55
|
+
CLOSURE_MOVE_TYPE_CLOSE = 4
|
56
|
+
OPERATIONSTATUS_OK = 0
|
57
|
+
OPERATIONSTATUS_WAIT = 1
|
58
|
+
OPERATIONSTATUS_ERROR = 2
|
59
|
+
SIGNEDMESSAGE_INFORMATION_NONE = 0
|
60
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN = 1
|
61
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST = 2
|
62
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED = 3
|
63
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN = 4
|
64
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID = 5
|
65
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH = 6
|
66
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT = 7
|
67
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE = 8
|
68
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START = 9
|
69
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT = 10
|
70
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY = 11
|
71
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN = 12
|
72
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT = 13
|
73
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH = 14
|
74
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH = 15
|
75
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH = 16
|
76
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED = 17
|
77
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY = 18
|
78
|
+
SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA = 19
|
79
|
+
WHITELISTOPERATION_INFORMATION_NONE = 0
|
80
|
+
WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR = 1
|
81
|
+
WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF = 2
|
82
|
+
WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL = 3
|
83
|
+
WHITELISTOPERATION_INFORMATION_WHITELIST_FULL = 4
|
84
|
+
WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD = 5
|
85
|
+
WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY = 6
|
86
|
+
WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE = 7
|
87
|
+
WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS = 8
|
88
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF = 9
|
89
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF = 10
|
90
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS = 11
|
91
|
+
WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST = 12
|
92
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST = 13
|
93
|
+
WHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER = 14
|
94
|
+
WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE = 15
|
95
|
+
WHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY = 16
|
96
|
+
WHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY = 17
|
97
|
+
WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL = 18
|
98
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE = 19
|
99
|
+
WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE = 20
|
100
|
+
WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH = 21
|
101
|
+
WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE = 22
|
102
|
+
CLOSURESTATE_CLOSED = 0
|
103
|
+
CLOSURESTATE_OPEN = 1
|
104
|
+
CLOSURESTATE_AJAR = 2
|
105
|
+
CLOSURESTATE_UNKNOWN = 3
|
106
|
+
CLOSURESTATE_FAILED_UNLATCH = 4
|
107
|
+
CLOSURESTATE_OPENING = 5
|
108
|
+
CLOSURESTATE_CLOSING = 6
|
109
|
+
VEHICLELOCKSTATE_UNLOCKED = 0
|
110
|
+
VEHICLELOCKSTATE_LOCKED = 1
|
111
|
+
VEHICLELOCKSTATE_INTERNAL_LOCKED = 2
|
112
|
+
VEHICLELOCKSTATE_SELECTIVE_UNLOCKED = 3
|
113
|
+
VEHICLE_SLEEP_STATUS_UNKNOWN = 0
|
114
|
+
VEHICLE_SLEEP_STATUS_AWAKE = 1
|
115
|
+
VEHICLE_SLEEP_STATUS_ASLEEP = 2
|
116
|
+
VEHICLE_USER_PRESENCE_UNKNOWN = 0
|
117
|
+
VEHICLE_USER_PRESENCE_NOT_PRESENT = 1
|
118
|
+
VEHICLE_USER_PRESENCE_PRESENT = 2
|
119
|
+
_SIGNEDMESSAGE = DESCRIPTOR.message_types_by_name['SignedMessage']
|
120
|
+
_TOVCSECMESSAGE = DESCRIPTOR.message_types_by_name['ToVCSECMessage']
|
121
|
+
_KEYIDENTIFIER = DESCRIPTOR.message_types_by_name['KeyIdentifier']
|
122
|
+
_KEYMETADATA = DESCRIPTOR.message_types_by_name['KeyMetadata']
|
123
|
+
_PUBLICKEY = DESCRIPTOR.message_types_by_name['PublicKey']
|
124
|
+
_WHITELISTINFO = DESCRIPTOR.message_types_by_name['WhitelistInfo']
|
125
|
+
_WHITELISTENTRYINFO = DESCRIPTOR.message_types_by_name['WhitelistEntryInfo']
|
126
|
+
_INFORMATIONREQUEST = DESCRIPTOR.message_types_by_name['InformationRequest']
|
127
|
+
_CLOSUREMOVEREQUEST = DESCRIPTOR.message_types_by_name['ClosureMoveRequest']
|
128
|
+
_PERMISSIONCHANGE = DESCRIPTOR.message_types_by_name['PermissionChange']
|
129
|
+
_REPLACEKEY = DESCRIPTOR.message_types_by_name['ReplaceKey']
|
130
|
+
_WHITELISTOPERATION = DESCRIPTOR.message_types_by_name['WhitelistOperation']
|
131
|
+
_WHITELISTOPERATION_STATUS = DESCRIPTOR.message_types_by_name['WhitelistOperation_status']
|
132
|
+
_SIGNEDMESSAGE_STATUS = DESCRIPTOR.message_types_by_name['SignedMessage_status']
|
133
|
+
_COMMANDSTATUS = DESCRIPTOR.message_types_by_name['CommandStatus']
|
134
|
+
_UNSIGNEDMESSAGE = DESCRIPTOR.message_types_by_name['UnsignedMessage']
|
135
|
+
_CLOSURESTATUSES = DESCRIPTOR.message_types_by_name['ClosureStatuses']
|
136
|
+
_DETAILEDCLOSURESTATUS = DESCRIPTOR.message_types_by_name['DetailedClosureStatus']
|
137
|
+
_VEHICLESTATUS = DESCRIPTOR.message_types_by_name['VehicleStatus']
|
138
|
+
_FROMVCSECMESSAGE = DESCRIPTOR.message_types_by_name['FromVCSECMessage']
|
139
|
+
SignedMessage = _reflection.GeneratedProtocolMessageType('SignedMessage', (_message.Message,), {'DESCRIPTOR': _SIGNEDMESSAGE, '__module__': 'vcsec_pb2'})
|
140
|
+
_sym_db.RegisterMessage(SignedMessage)
|
141
|
+
ToVCSECMessage = _reflection.GeneratedProtocolMessageType('ToVCSECMessage', (_message.Message,), {'DESCRIPTOR': _TOVCSECMESSAGE, '__module__': 'vcsec_pb2'})
|
142
|
+
_sym_db.RegisterMessage(ToVCSECMessage)
|
143
|
+
KeyIdentifier = _reflection.GeneratedProtocolMessageType('KeyIdentifier', (_message.Message,), {'DESCRIPTOR': _KEYIDENTIFIER, '__module__': 'vcsec_pb2'})
|
144
|
+
_sym_db.RegisterMessage(KeyIdentifier)
|
145
|
+
KeyMetadata = _reflection.GeneratedProtocolMessageType('KeyMetadata', (_message.Message,), {'DESCRIPTOR': _KEYMETADATA, '__module__': 'vcsec_pb2'})
|
146
|
+
_sym_db.RegisterMessage(KeyMetadata)
|
147
|
+
PublicKey = _reflection.GeneratedProtocolMessageType('PublicKey', (_message.Message,), {'DESCRIPTOR': _PUBLICKEY, '__module__': 'vcsec_pb2'})
|
148
|
+
_sym_db.RegisterMessage(PublicKey)
|
149
|
+
WhitelistInfo = _reflection.GeneratedProtocolMessageType('WhitelistInfo', (_message.Message,), {'DESCRIPTOR': _WHITELISTINFO, '__module__': 'vcsec_pb2'})
|
150
|
+
_sym_db.RegisterMessage(WhitelistInfo)
|
151
|
+
WhitelistEntryInfo = _reflection.GeneratedProtocolMessageType('WhitelistEntryInfo', (_message.Message,), {'DESCRIPTOR': _WHITELISTENTRYINFO, '__module__': 'vcsec_pb2'})
|
152
|
+
_sym_db.RegisterMessage(WhitelistEntryInfo)
|
153
|
+
InformationRequest = _reflection.GeneratedProtocolMessageType('InformationRequest', (_message.Message,), {'DESCRIPTOR': _INFORMATIONREQUEST, '__module__': 'vcsec_pb2'})
|
154
|
+
_sym_db.RegisterMessage(InformationRequest)
|
155
|
+
ClosureMoveRequest = _reflection.GeneratedProtocolMessageType('ClosureMoveRequest', (_message.Message,), {'DESCRIPTOR': _CLOSUREMOVEREQUEST, '__module__': 'vcsec_pb2'})
|
156
|
+
_sym_db.RegisterMessage(ClosureMoveRequest)
|
157
|
+
PermissionChange = _reflection.GeneratedProtocolMessageType('PermissionChange', (_message.Message,), {'DESCRIPTOR': _PERMISSIONCHANGE, '__module__': 'vcsec_pb2'})
|
158
|
+
_sym_db.RegisterMessage(PermissionChange)
|
159
|
+
ReplaceKey = _reflection.GeneratedProtocolMessageType('ReplaceKey', (_message.Message,), {'DESCRIPTOR': _REPLACEKEY, '__module__': 'vcsec_pb2'})
|
160
|
+
_sym_db.RegisterMessage(ReplaceKey)
|
161
|
+
WhitelistOperation = _reflection.GeneratedProtocolMessageType('WhitelistOperation', (_message.Message,), {'DESCRIPTOR': _WHITELISTOPERATION, '__module__': 'vcsec_pb2'})
|
162
|
+
_sym_db.RegisterMessage(WhitelistOperation)
|
163
|
+
WhitelistOperation_status = _reflection.GeneratedProtocolMessageType('WhitelistOperation_status', (_message.Message,), {'DESCRIPTOR': _WHITELISTOPERATION_STATUS, '__module__': 'vcsec_pb2'})
|
164
|
+
_sym_db.RegisterMessage(WhitelistOperation_status)
|
165
|
+
SignedMessage_status = _reflection.GeneratedProtocolMessageType('SignedMessage_status', (_message.Message,), {'DESCRIPTOR': _SIGNEDMESSAGE_STATUS, '__module__': 'vcsec_pb2'})
|
166
|
+
_sym_db.RegisterMessage(SignedMessage_status)
|
167
|
+
CommandStatus = _reflection.GeneratedProtocolMessageType('CommandStatus', (_message.Message,), {'DESCRIPTOR': _COMMANDSTATUS, '__module__': 'vcsec_pb2'})
|
168
|
+
_sym_db.RegisterMessage(CommandStatus)
|
169
|
+
UnsignedMessage = _reflection.GeneratedProtocolMessageType('UnsignedMessage', (_message.Message,), {'DESCRIPTOR': _UNSIGNEDMESSAGE, '__module__': 'vcsec_pb2'})
|
170
|
+
_sym_db.RegisterMessage(UnsignedMessage)
|
171
|
+
ClosureStatuses = _reflection.GeneratedProtocolMessageType('ClosureStatuses', (_message.Message,), {'DESCRIPTOR': _CLOSURESTATUSES, '__module__': 'vcsec_pb2'})
|
172
|
+
_sym_db.RegisterMessage(ClosureStatuses)
|
173
|
+
DetailedClosureStatus = _reflection.GeneratedProtocolMessageType('DetailedClosureStatus', (_message.Message,), {'DESCRIPTOR': _DETAILEDCLOSURESTATUS, '__module__': 'vcsec_pb2'})
|
174
|
+
_sym_db.RegisterMessage(DetailedClosureStatus)
|
175
|
+
VehicleStatus = _reflection.GeneratedProtocolMessageType('VehicleStatus', (_message.Message,), {'DESCRIPTOR': _VEHICLESTATUS, '__module__': 'vcsec_pb2'})
|
176
|
+
_sym_db.RegisterMessage(VehicleStatus)
|
177
|
+
FromVCSECMessage = _reflection.GeneratedProtocolMessageType('FromVCSECMessage', (_message.Message,), {'DESCRIPTOR': _FROMVCSECMESSAGE, '__module__': 'vcsec_pb2'})
|
178
|
+
_sym_db.RegisterMessage(FromVCSECMessage)
|
179
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
180
|
+
DESCRIPTOR._options = None
|
181
|
+
DESCRIPTOR._serialized_options = b'\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsec'
|
182
|
+
_SIGNATURETYPE._serialized_start = 3982
|
183
|
+
_SIGNATURETYPE._serialized_end = 4054
|
184
|
+
_KEYFORMFACTOR._serialized_start = 4057
|
185
|
+
_KEYFORMFACTOR._serialized_end = 4230
|
186
|
+
_INFORMATIONREQUESTTYPE._serialized_start = 4233
|
187
|
+
_INFORMATIONREQUESTTYPE._serialized_end = 4402
|
188
|
+
_RKEACTION_E._serialized_start = 4405
|
189
|
+
_RKEACTION_E._serialized_end = 4556
|
190
|
+
_CLOSUREMOVETYPE_E._serialized_start = 4559
|
191
|
+
_CLOSUREMOVETYPE_E._serialized_end = 4719
|
192
|
+
_OPERATIONSTATUS_E._serialized_start = 4721
|
193
|
+
_OPERATIONSTATUS_E._serialized_end = 4817
|
194
|
+
_SIGNEDMESSAGE_INFORMATION_E._serialized_start = 4820
|
195
|
+
_SIGNEDMESSAGE_INFORMATION_E._serialized_end = 5959
|
196
|
+
_WHITELISTOPERATION_INFORMATION_E._serialized_start = 5962
|
197
|
+
_WHITELISTOPERATION_INFORMATION_E._serialized_end = 7565
|
198
|
+
_CLOSURESTATE_E._serialized_start = 7568
|
199
|
+
_CLOSURESTATE_E._serialized_end = 7766
|
200
|
+
_VEHICLELOCKSTATE_E._serialized_start = 7769
|
201
|
+
_VEHICLELOCKSTATE_E._serialized_end = 7928
|
202
|
+
_VEHICLESLEEPSTATUS_E._serialized_start = 7930
|
203
|
+
_VEHICLESLEEPSTATUS_E._serialized_end = 8051
|
204
|
+
_USERPRESENCE_E._serialized_start = 8053
|
205
|
+
_USERPRESENCE_E._serialized_end = 8178
|
206
|
+
_SIGNEDMESSAGE._serialized_start = 48
|
207
|
+
_SIGNEDMESSAGE._serialized_end = 140
|
208
|
+
_TOVCSECMESSAGE._serialized_start = 142
|
209
|
+
_TOVCSECMESSAGE._serialized_end = 203
|
210
|
+
_KEYIDENTIFIER._serialized_start = 205
|
211
|
+
_KEYIDENTIFIER._serialized_end = 243
|
212
|
+
_KEYMETADATA._serialized_start = 245
|
213
|
+
_KEYMETADATA._serialized_end = 303
|
214
|
+
_PUBLICKEY._serialized_start = 305
|
215
|
+
_PUBLICKEY._serialized_end = 338
|
216
|
+
_WHITELISTINFO._serialized_start = 340
|
217
|
+
_WHITELISTINFO._serialized_end = 446
|
218
|
+
_WHITELISTENTRYINFO._serialized_start = 449
|
219
|
+
_WHITELISTENTRYINFO._serialized_end = 630
|
220
|
+
_INFORMATIONREQUEST._serialized_start = 633
|
221
|
+
_INFORMATIONREQUEST._serialized_end = 799
|
222
|
+
_CLOSUREMOVEREQUEST._serialized_start = 802
|
223
|
+
_CLOSUREMOVEREQUEST._serialized_end = 1210
|
224
|
+
_PERMISSIONCHANGE._serialized_start = 1212
|
225
|
+
_PERMISSIONCHANGE._serialized_end = 1317
|
226
|
+
_REPLACEKEY._serialized_start = 1320
|
227
|
+
_REPLACEKEY._serialized_end = 1507
|
228
|
+
_WHITELISTOPERATION._serialized_start = 1510
|
229
|
+
_WHITELISTOPERATION._serialized_end = 2162
|
230
|
+
_WHITELISTOPERATION_STATUS._serialized_start = 2165
|
231
|
+
_WHITELISTOPERATION_STATUS._serialized_end = 2372
|
232
|
+
_SIGNEDMESSAGE_STATUS._serialized_start = 2374
|
233
|
+
_SIGNEDMESSAGE_STATUS._serialized_end = 2483
|
234
|
+
_COMMANDSTATUS._serialized_start = 2486
|
235
|
+
_COMMANDSTATUS._serialized_end = 2697
|
236
|
+
_UNSIGNEDMESSAGE._serialized_start = 2700
|
237
|
+
_UNSIGNEDMESSAGE._serialized_end = 2974
|
238
|
+
_CLOSURESTATUSES._serialized_start = 2977
|
239
|
+
_CLOSURESTATUSES._serialized_end = 3358
|
240
|
+
_DETAILEDCLOSURESTATUS._serialized_start = 3360
|
241
|
+
_DETAILEDCLOSURESTATUS._serialized_end = 3411
|
242
|
+
_VEHICLESTATUS._serialized_start = 3414
|
243
|
+
_VEHICLESTATUS._serialized_end = 3694
|
244
|
+
_FROMVCSECMESSAGE._serialized_start = 3697
|
245
|
+
_FROMVCSECMESSAGE._serialized_end = 3980
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"""Generated protocol buffer code."""
|
2
|
+
from google.protobuf import descriptor as _descriptor
|
3
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
4
|
+
from google.protobuf import message as _message
|
5
|
+
from google.protobuf import reflection as _reflection
|
6
|
+
from google.protobuf import symbol_database as _symbol_database
|
7
|
+
_sym_db = _symbol_database.Default()
|
8
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rvehicle.proto\x12\tCarServer"j\n\x0cVehicleState\x124\n\tguestMode\x18J \x01(\x0b2!.CarServer.VehicleState.GuestMode\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08"\x98\x01\n\x0cClimateState"\x87\x01\n\x11CopActivationTemp\x12 \n\x1cCopActivationTempUnspecified\x10\x00\x12\x18\n\x14CopActivationTempLow\x10\x01\x12\x1b\n\x17CopActivationTempMedium\x10\x02\x12\x19\n\x15CopActivationTempHigh\x10\x03Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3')
|
9
|
+
_VEHICLESTATE = DESCRIPTOR.message_types_by_name['VehicleState']
|
10
|
+
_VEHICLESTATE_GUESTMODE = _VEHICLESTATE.nested_types_by_name['GuestMode']
|
11
|
+
_CLIMATESTATE = DESCRIPTOR.message_types_by_name['ClimateState']
|
12
|
+
_CLIMATESTATE_COPACTIVATIONTEMP = _CLIMATESTATE.enum_types_by_name['CopActivationTemp']
|
13
|
+
VehicleState = _reflection.GeneratedProtocolMessageType('VehicleState', (_message.Message,), {'GuestMode': _reflection.GeneratedProtocolMessageType('GuestMode', (_message.Message,), {'DESCRIPTOR': _VEHICLESTATE_GUESTMODE, '__module__': 'vehicle_pb2'}), 'DESCRIPTOR': _VEHICLESTATE, '__module__': 'vehicle_pb2'})
|
14
|
+
_sym_db.RegisterMessage(VehicleState)
|
15
|
+
_sym_db.RegisterMessage(VehicleState.GuestMode)
|
16
|
+
ClimateState = _reflection.GeneratedProtocolMessageType('ClimateState', (_message.Message,), {'DESCRIPTOR': _CLIMATESTATE, '__module__': 'vehicle_pb2'})
|
17
|
+
_sym_db.RegisterMessage(ClimateState)
|
18
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
19
|
+
DESCRIPTOR._options = None
|
20
|
+
DESCRIPTOR._serialized_options = b'\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver'
|
21
|
+
_VEHICLESTATE._serialized_start = 28
|
22
|
+
_VEHICLESTATE._serialized_end = 134
|
23
|
+
_VEHICLESTATE_GUESTMODE._serialized_start = 98
|
24
|
+
_VEHICLESTATE_GUESTMODE._serialized_end = 134
|
25
|
+
_CLIMATESTATE._serialized_start = 137
|
26
|
+
_CLIMATESTATE._serialized_end = 289
|
27
|
+
_CLIMATESTATE_COPACTIVATIONTEMP._serialized_start = 154
|
28
|
+
_CLIMATESTATE_COPACTIVATIONTEMP._serialized_end = 289
|
tesla_fleet_api/teslafleetapi.py
CHANGED
@@ -2,8 +2,15 @@
|
|
2
2
|
|
3
3
|
from json import dumps
|
4
4
|
from typing import Any, Awaitable
|
5
|
+
from os.path import exists
|
5
6
|
import aiohttp
|
6
7
|
|
8
|
+
# cryptography
|
9
|
+
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
|
10
|
+
from cryptography.hazmat.primitives.asymmetric import ec
|
11
|
+
from cryptography.hazmat.primitives import hashes, serialization
|
12
|
+
from cryptography.hazmat.backends import default_backend
|
13
|
+
|
7
14
|
from .exceptions import raise_for_status, InvalidRegion, LibraryError, ResponseError
|
8
15
|
from .const import SERVERS, Method, LOGGER, VERSION
|
9
16
|
from .charging import Charging
|
@@ -23,6 +30,7 @@ class TeslaFleetApi:
|
|
23
30
|
session: aiohttp.ClientSession
|
24
31
|
headers: dict[str, str]
|
25
32
|
refresh_hook: Awaitable | None = None
|
33
|
+
_private_key: ec.EllipticCurvePrivateKey
|
26
34
|
|
27
35
|
def __init__(
|
28
36
|
self,
|
@@ -98,7 +106,6 @@ class TeslaFleetApi:
|
|
98
106
|
if access_token := await self.refresh_hook():
|
99
107
|
self.access_token = access_token
|
100
108
|
|
101
|
-
|
102
109
|
# Remove None values from params and json
|
103
110
|
if params:
|
104
111
|
params = {k: v for k, v in params.items() if v is not None}
|
@@ -153,3 +160,35 @@ class TeslaFleetApi:
|
|
153
160
|
Method.GET,
|
154
161
|
"api/1/products",
|
155
162
|
)
|
163
|
+
|
164
|
+
def private_key(self, path: str = "private_key.pem") -> ec.EllipticCurvePrivateKey:
|
165
|
+
"""Create or load the private key."""
|
166
|
+
if not exists(path):
|
167
|
+
self._private_key = ec.generate_private_key(
|
168
|
+
ec.SECP256R1(), default_backend()
|
169
|
+
)
|
170
|
+
# save the key
|
171
|
+
pem = self._private_key.private_bytes(
|
172
|
+
encoding=serialization.Encoding.PEM,
|
173
|
+
format=serialization.PrivateFormat.TraditionalOpenSSL,
|
174
|
+
encryption_algorithm=serialization.NoEncryption(),
|
175
|
+
)
|
176
|
+
with open(path, "wb") as key_file:
|
177
|
+
key_file.write(pem)
|
178
|
+
return self._private_key
|
179
|
+
else:
|
180
|
+
try:
|
181
|
+
with open(path, "rb") as key_file:
|
182
|
+
key_data = key_file.read()
|
183
|
+
value = serialization.load_pem_private_key(
|
184
|
+
key_data, password=None, backend=default_backend()
|
185
|
+
)
|
186
|
+
except FileNotFoundError:
|
187
|
+
raise FileNotFoundError(f"Private key file not found at {path}")
|
188
|
+
except PermissionError:
|
189
|
+
raise PermissionError(f"Permission denied when trying to read {path}")
|
190
|
+
|
191
|
+
if not isinstance(value, ec.EllipticCurvePrivateKey):
|
192
|
+
raise AssertionError("Loaded key is not an EllipticCurvePrivateKey")
|
193
|
+
self._private_key = value
|
194
|
+
return self._private_key
|
tesla_fleet_api/teslemetry.py
CHANGED
@@ -14,6 +14,7 @@ from .const import Method, LOGGER, Scope
|
|
14
14
|
# Rate limit should be global, even if multiple instances are created
|
15
15
|
rate_limit = AsyncLimiter(5, 10)
|
16
16
|
|
17
|
+
|
17
18
|
class Teslemetry(TeslaFleetApi):
|
18
19
|
def __init__(
|
19
20
|
self,
|
@@ -26,7 +27,7 @@ class Teslemetry(TeslaFleetApi):
|
|
26
27
|
access_token=access_token,
|
27
28
|
server="https://api.teslemetry.com",
|
28
29
|
user_scope=False,
|
29
|
-
partner_scope=False
|
30
|
+
partner_scope=False,
|
30
31
|
)
|
31
32
|
self.rate_limit = rate_limit
|
32
33
|
|
@@ -75,22 +76,30 @@ class Teslemetry(TeslaFleetApi):
|
|
75
76
|
assert self.region
|
76
77
|
return self.region
|
77
78
|
|
78
|
-
async def server_side_polling(
|
79
|
+
async def server_side_polling(
|
80
|
+
self, vin: str, value: bool | None = None
|
81
|
+
) -> bool | None:
|
79
82
|
"""Get or set Auto mode."""
|
80
83
|
if value is True:
|
81
|
-
return (
|
82
|
-
|
83
|
-
|
84
|
-
|
84
|
+
return (
|
85
|
+
await self._request(
|
86
|
+
Method.POST,
|
87
|
+
f"api/auto/{vin}",
|
88
|
+
)
|
89
|
+
).get("response")
|
85
90
|
if value is False:
|
86
|
-
return (
|
87
|
-
|
91
|
+
return (
|
92
|
+
await self._request(
|
93
|
+
Method.DELETE,
|
94
|
+
f"api/auto/{vin}",
|
95
|
+
)
|
96
|
+
).get("response")
|
97
|
+
return (
|
98
|
+
await self._request(
|
99
|
+
Method.GET,
|
88
100
|
f"api/auto/{vin}",
|
89
|
-
)
|
90
|
-
|
91
|
-
Method.GET,
|
92
|
-
f"api/auto/{vin}",
|
93
|
-
)).get("response")
|
101
|
+
)
|
102
|
+
).get("response")
|
94
103
|
|
95
104
|
async def _request(
|
96
105
|
self,
|