tesla-fleet-api 0.9.5__py3-none-any.whl → 0.9.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tesla_fleet_api/const.py +1 -1
- tesla_fleet_api/exceptions.py +239 -46
- tesla_fleet_api/pb2/__init__.pyi +9 -0
- tesla_fleet_api/pb2/car_server_pb2.py +164 -386
- tesla_fleet_api/pb2/car_server_pb2.pyi +904 -0
- tesla_fleet_api/pb2/common_pb2.py +26 -60
- tesla_fleet_api/pb2/common_pb2.pyi +130 -0
- tesla_fleet_api/pb2/errors_pb2.py +10 -22
- tesla_fleet_api/pb2/errors_pb2.pyi +32 -0
- tesla_fleet_api/pb2/keys_pb2.py +8 -16
- tesla_fleet_api/pb2/keys_pb2.pyi +21 -0
- tesla_fleet_api/pb2/managed_charging_pb2.py +8 -14
- tesla_fleet_api/pb2/managed_charging_pb2.pyi +17 -0
- tesla_fleet_api/pb2/signatures_pb2.py +28 -75
- tesla_fleet_api/pb2/signatures_pb2.pyi +152 -0
- tesla_fleet_api/pb2/universal_message_pb2.py +22 -78
- tesla_fleet_api/pb2/universal_message_pb2.pyi +148 -0
- tesla_fleet_api/pb2/vcsec_pb2.py +70 -236
- tesla_fleet_api/pb2/vcsec_pb2.pyi +482 -0
- tesla_fleet_api/pb2/vehicle_pb2.py +114 -267
- tesla_fleet_api/pb2/vehicle_pb2.pyi +1183 -0
- tesla_fleet_api/teslafleetapi.py +7 -5
- tesla_fleet_api/teslafleetoauth.py +1 -1
- tesla_fleet_api/teslemetry.py +2 -2
- tesla_fleet_api/vehicle.py +1 -1
- tesla_fleet_api/vehiclesigned.py +142 -94
- {tesla_fleet_api-0.9.5.dist-info → tesla_fleet_api-0.9.6.dist-info}/METADATA +12 -3
- tesla_fleet_api-0.9.6.dist-info/RECORD +42 -0
- {tesla_fleet_api-0.9.5.dist-info → tesla_fleet_api-0.9.6.dist-info}/WHEEL +1 -1
- tesla_fleet_api-0.9.5.dist-info/RECORD +0 -33
- {tesla_fleet_api-0.9.5.dist-info → tesla_fleet_api-0.9.6.dist-info}/LICENSE +0 -0
- {tesla_fleet_api-0.9.5.dist-info → tesla_fleet_api-0.9.6.dist-info}/top_level.txt +0 -0
tesla_fleet_api/const.py
CHANGED
tesla_fleet_api/exceptions.py
CHANGED
@@ -148,6 +148,7 @@ class SubscriptionRequired(TeslaFleetError): # Teslemetry specific
|
|
148
148
|
status = 402
|
149
149
|
key = "subscription_required"
|
150
150
|
|
151
|
+
|
151
152
|
class VehicleSubscriptionRequired(TeslaFleetError): # Teslemetry specific
|
152
153
|
"""Subscription is required in order to use Teslemetry."""
|
153
154
|
|
@@ -155,6 +156,7 @@ class VehicleSubscriptionRequired(TeslaFleetError): # Teslemetry specific
|
|
155
156
|
status = 402
|
156
157
|
key = "vehicle_subscription_required"
|
157
158
|
|
159
|
+
|
158
160
|
class InsufficientCredits(TeslaFleetError):
|
159
161
|
"""Account has insufficient credits to make this request."""
|
160
162
|
|
@@ -162,6 +164,7 @@ class InsufficientCredits(TeslaFleetError):
|
|
162
164
|
status = 402
|
163
165
|
key = "insufficient_credits"
|
164
166
|
|
167
|
+
|
165
168
|
class Forbidden(TeslaFleetError):
|
166
169
|
"""Access to this resource is not authorized, developers should check required Scope."""
|
167
170
|
|
@@ -318,18 +321,21 @@ class UnknownFault(TeslaFleetInformationFault):
|
|
318
321
|
message = "Unknown fault on signed command."
|
319
322
|
code = 1
|
320
323
|
|
324
|
+
|
321
325
|
class NotOnWhitelistFault(TeslaFleetInformationFault):
|
322
326
|
"""Not on whitelist fault on signed command."""
|
323
327
|
|
324
328
|
message = "Not on whitelist fault on signed command."
|
325
329
|
code = 2
|
326
330
|
|
331
|
+
|
327
332
|
class IVSmallerThanExpectedFault(TeslaFleetInformationFault):
|
328
333
|
"""IV smaller than expected fault on signed command."""
|
329
334
|
|
330
335
|
message = "IV smaller than expected fault on signed command."
|
331
336
|
code = 3
|
332
337
|
|
338
|
+
|
333
339
|
class InvalidTokenFault(TeslaFleetInformationFault):
|
334
340
|
"""Invalid token fault on signed command."""
|
335
341
|
|
@@ -473,166 +479,184 @@ class TeslaFleetMessageFault(TeslaFleetError):
|
|
473
479
|
|
474
480
|
|
475
481
|
class TeslaFleetMessageFaultBusy(TeslaFleetMessageFault):
|
476
|
-
"""
|
482
|
+
"""Required vehicle subsystem is busy. Try again"""
|
477
483
|
|
478
|
-
message = "
|
484
|
+
message = "Required vehicle subsystem is busy. Try again"
|
479
485
|
code = 1
|
480
486
|
|
481
487
|
|
482
488
|
class TeslaFleetMessageFaultTimeout(TeslaFleetMessageFault):
|
483
|
-
"""Vehicle
|
489
|
+
"""Vehicle subsystem did not respond. Try again"""
|
484
490
|
|
485
|
-
message = "Vehicle
|
491
|
+
message = "Vehicle subsystem did not respond. Try again"
|
486
492
|
code = 2
|
487
493
|
|
488
494
|
|
489
495
|
class TeslaFleetMessageFaultUnknownKeyId(TeslaFleetMessageFault):
|
490
|
-
"""
|
496
|
+
"""Vehicle did not recognize the key used to authorize command. Make sure your key is paired with the vehicle"""
|
491
497
|
|
492
|
-
message = "
|
498
|
+
message = "Vehicle did not recognize the key used to authorize command. Make sure your key is paired with the vehicle"
|
493
499
|
code = 3
|
494
500
|
|
495
501
|
|
496
502
|
class TeslaFleetMessageFaultInactiveKey(TeslaFleetMessageFault):
|
497
|
-
"""
|
503
|
+
"""Key used to authorize command has been disabled"""
|
498
504
|
|
499
|
-
message = "
|
505
|
+
message = "Key used to authorize command has been disabled"
|
500
506
|
code = 4
|
501
507
|
|
502
508
|
|
503
509
|
class TeslaFleetMessageFaultInvalidSignature(TeslaFleetMessageFault):
|
504
|
-
"""
|
510
|
+
"""Command signature/MAC is incorrect. Use included session info to update session and try again"""
|
505
511
|
|
506
|
-
message = "
|
512
|
+
message = "Command signature/MAC is incorrect. Use included session info to update session and try again"
|
507
513
|
code = 5
|
508
514
|
|
509
515
|
|
510
516
|
class TeslaFleetMessageFaultInvalidTokenOrCounter(TeslaFleetMessageFault):
|
511
|
-
"""
|
517
|
+
"""Command anti-replay counter has been used before. Use included session info to update session and try again"""
|
512
518
|
|
513
|
-
message = "
|
519
|
+
message = "Command anti-replay counter has been used before. Use included session info to update session and try again"
|
514
520
|
code = 6
|
515
521
|
|
516
522
|
|
517
523
|
class TeslaFleetMessageFaultInsufficientPrivileges(TeslaFleetMessageFault):
|
518
|
-
"""
|
524
|
+
"""User is not authorized to execute command. This can be because of the role or because of vehicle state"""
|
519
525
|
|
520
|
-
message = "
|
526
|
+
message = "User is not authorized to execute command. This can be because of the role or because of vehicle state"
|
521
527
|
code = 7
|
522
528
|
|
523
529
|
|
524
530
|
class TeslaFleetMessageFaultInvalidDomains(TeslaFleetMessageFault):
|
525
|
-
"""
|
531
|
+
"""Command was malformed or addressed to an unrecognized vehicle system. May indicate client error or older vehicle firmware"""
|
526
532
|
|
527
|
-
message = "
|
533
|
+
message = "Command was malformed or addressed to an unrecognized vehicle system. May indicate client error or older vehicle firmware"
|
528
534
|
code = 8
|
529
535
|
|
530
536
|
|
531
537
|
class TeslaFleetMessageFaultInvalidCommand(TeslaFleetMessageFault):
|
532
|
-
"""
|
538
|
+
"""Unrecognized command. May indicate client error or unsupported vehicle firmware"""
|
533
539
|
|
534
|
-
message = "
|
540
|
+
message = "Unrecognized command. May indicate client error or unsupported vehicle firmware"
|
535
541
|
code = 9
|
536
542
|
|
537
543
|
|
538
544
|
class TeslaFleetMessageFaultDecoding(TeslaFleetMessageFault):
|
539
|
-
"""
|
545
|
+
"""Could not parse command. Indicates client error"""
|
540
546
|
|
541
|
-
message = "
|
547
|
+
message = "Could not parse command. Indicates client error"
|
542
548
|
code = 10
|
543
549
|
|
544
550
|
|
545
551
|
class TeslaFleetMessageFaultInternal(TeslaFleetMessageFault):
|
546
|
-
"""Internal
|
552
|
+
"""Internal vehicle error. Try again. Most commonly encountered when the vehicle has not finished booting"""
|
547
553
|
|
548
|
-
message = "Internal
|
554
|
+
message = "Internal vehicle error. Try again. Most commonly encountered when the vehicle has not finished booting"
|
549
555
|
code = 11
|
550
556
|
|
551
557
|
|
552
558
|
class TeslaFleetMessageFaultWrongPersonalization(TeslaFleetMessageFault):
|
553
|
-
"""
|
559
|
+
"""Command sent to wrong VIN"""
|
554
560
|
|
555
|
-
message = "
|
561
|
+
message = "Command sent to wrong VIN"
|
556
562
|
code = 12
|
557
563
|
|
558
564
|
|
559
565
|
class TeslaFleetMessageFaultBadParameter(TeslaFleetMessageFault):
|
560
|
-
"""
|
566
|
+
"""Command was malformed or used a deprecated parameter"""
|
561
567
|
|
562
|
-
message = "
|
568
|
+
message = "Command was malformed or used a deprecated parameter"
|
563
569
|
code = 13
|
564
570
|
|
565
571
|
|
566
572
|
class TeslaFleetMessageFaultKeychainIsFull(TeslaFleetMessageFault):
|
567
|
-
"""
|
573
|
+
"""Vehicle's keychain is full. You must delete a key before you can add another"""
|
568
574
|
|
569
|
-
message =
|
575
|
+
message = (
|
576
|
+
"Vehicle's keychain is full. You must delete a key before you can add another"
|
577
|
+
)
|
570
578
|
code = 14
|
571
579
|
|
572
580
|
|
573
581
|
class TeslaFleetMessageFaultIncorrectEpoch(TeslaFleetMessageFault):
|
574
|
-
"""
|
582
|
+
"""Session ID mismatch. Use included session info to update session and try again"""
|
575
583
|
|
576
|
-
message =
|
584
|
+
message = (
|
585
|
+
"Session ID mismatch. Use included session info to update session and try again"
|
586
|
+
)
|
577
587
|
code = 15
|
578
588
|
|
579
589
|
|
580
590
|
class TeslaFleetMessageFaultIVIncorrectLength(TeslaFleetMessageFault):
|
581
|
-
"""
|
591
|
+
"""Initialization Value length is incorrect (AES-GCM must use 12-byte IVs). Indicates a client programming error"""
|
582
592
|
|
583
|
-
message = "
|
593
|
+
message = "Initialization Value length is incorrect (AES-GCM must use 12-byte IVs). Indicates a client programming error"
|
584
594
|
code = 16
|
585
595
|
|
586
596
|
|
587
597
|
class TeslaFleetMessageFaultTimeExpired(TeslaFleetMessageFault):
|
588
|
-
"""
|
598
|
+
"""Command expired. Use included session info to determine if clocks have desynchronized and try again"""
|
589
599
|
|
590
|
-
message = "
|
600
|
+
message = "Command expired. Use included session info to determine if clocks have desynchronized and try again"
|
591
601
|
code = 17
|
592
602
|
|
593
603
|
|
594
604
|
class TeslaFleetMessageFaultNotProvisionedWithIdentity(TeslaFleetMessageFault):
|
595
|
-
"""
|
605
|
+
"""Vehicle has not been provisioned with a VIN and may require service"""
|
596
606
|
|
597
|
-
message = "
|
607
|
+
message = "Vehicle has not been provisioned with a VIN and may require service"
|
598
608
|
code = 18
|
599
609
|
|
600
610
|
|
601
611
|
class TeslaFleetMessageFaultCouldNotHashMetadata(TeslaFleetMessageFault):
|
602
|
-
"""
|
612
|
+
"""Internal vehicle error"""
|
603
613
|
|
604
|
-
message = "
|
614
|
+
message = "Internal vehicle error"
|
605
615
|
code = 19
|
606
616
|
|
607
617
|
|
608
618
|
class TeslaFleetMessageFaultTimeToLiveTooLong(TeslaFleetMessageFault):
|
609
|
-
"""
|
619
|
+
"""Vehicle rejected command because its expiration time was too far in the future. This is a security precaution"""
|
610
620
|
|
611
|
-
message = "
|
621
|
+
message = "Vehicle rejected command because its expiration time was too far in the future. This is a security precaution"
|
612
622
|
code = 20
|
613
623
|
|
614
624
|
|
615
625
|
class TeslaFleetMessageFaultRemoteAccessDisabled(TeslaFleetMessageFault):
|
616
|
-
"""
|
626
|
+
"""The vehicle owner has disabled Mobile access"""
|
617
627
|
|
618
|
-
message = "
|
628
|
+
message = "The vehicle owner has disabled Mobile access"
|
619
629
|
code = 21
|
620
630
|
|
621
631
|
|
622
632
|
class TeslaFleetMessageFaultRemoteServiceAccessDisabled(TeslaFleetMessageFault):
|
623
|
-
"""
|
633
|
+
"""The command was authorized with a Service key, but the vehicle has not been configured to permit remote service commands"""
|
624
634
|
|
625
|
-
message = "
|
635
|
+
message = "The command was authorized with a Service key, but the vehicle has not been configured to permit remote service commands"
|
626
636
|
code = 22
|
627
637
|
|
628
638
|
|
629
639
|
class TeslaFleetMessageFaultCommandRequiresAccountCredentials(TeslaFleetMessageFault):
|
630
|
-
"""
|
640
|
+
"""The command requires proof of Tesla account credentials but was not sent over a channel that provides this proof. Resend the command using Fleet API"""
|
631
641
|
|
632
|
-
message = "
|
642
|
+
message = "The command requires proof of Tesla account credentials but was not sent over a channel that provides this proof. Resend the command using Fleet API"
|
633
643
|
code = 23
|
634
644
|
|
635
645
|
|
646
|
+
class TeslaFleetMessageFaultFieldExceedsMTU(TeslaFleetMessageFault):
|
647
|
+
"""Client sent a request with a field that exceeds MTU"""
|
648
|
+
|
649
|
+
message = "Client sent a request with a field that exceeds MTU"
|
650
|
+
code = 24
|
651
|
+
|
652
|
+
|
653
|
+
class TeslaFleetMessageFaultResponseSizeExceedsMTU(TeslaFleetMessageFault):
|
654
|
+
"""Client's request was received, but response size exceeded MTU"""
|
655
|
+
|
656
|
+
message = "Client's request was received, but response size exceeded MTU"
|
657
|
+
code = 25
|
658
|
+
|
659
|
+
|
636
660
|
MESSAGE_FAULTS = [
|
637
661
|
None,
|
638
662
|
TeslaFleetMessageFaultBusy,
|
@@ -658,6 +682,175 @@ MESSAGE_FAULTS = [
|
|
658
682
|
TeslaFleetMessageFaultRemoteAccessDisabled,
|
659
683
|
TeslaFleetMessageFaultRemoteServiceAccessDisabled,
|
660
684
|
TeslaFleetMessageFaultCommandRequiresAccountCredentials,
|
685
|
+
TeslaFleetMessageFaultFieldExceedsMTU,
|
686
|
+
TeslaFleetMessageFaultResponseSizeExceedsMTU,
|
687
|
+
None,
|
688
|
+
None,
|
689
|
+
None,
|
690
|
+
]
|
691
|
+
|
692
|
+
class SignedMessageInformationFault(TeslaFleetError):
|
693
|
+
"""Vehicle has responded with an error when sending a signed command"""
|
694
|
+
|
695
|
+
message = "Vehicle has responded with an error when sending a signed command"
|
696
|
+
|
697
|
+
|
698
|
+
class SignedMessageInformationFaultUnknown(SignedMessageInformationFault):
|
699
|
+
"""Unknown fault on signed command."""
|
700
|
+
|
701
|
+
message = "Unknown fault on signed command."
|
702
|
+
code = 1
|
703
|
+
|
704
|
+
|
705
|
+
class SignedMessageInformationFaultNotOnWhitelist(SignedMessageInformationFault):
|
706
|
+
"""Not on whitelist fault on signed command."""
|
707
|
+
|
708
|
+
message = "Not on whitelist fault on signed command."
|
709
|
+
code = 2
|
710
|
+
|
711
|
+
|
712
|
+
class SignedMessageInformationFaultIVSmallerThanExpected(SignedMessageInformationFault):
|
713
|
+
"""IV smaller than expected fault on signed command."""
|
714
|
+
|
715
|
+
message = "IV smaller than expected fault on signed command."
|
716
|
+
code = 3
|
717
|
+
|
718
|
+
|
719
|
+
class SignedMessageInformationFaultInvalidToken(SignedMessageInformationFault):
|
720
|
+
"""Invalid token fault on signed command."""
|
721
|
+
|
722
|
+
message = "Invalid token fault on signed command."
|
723
|
+
code = 4
|
724
|
+
|
725
|
+
|
726
|
+
class SignedMessageInformationFaultTokenAndCounterInvalid(SignedMessageInformationFault):
|
727
|
+
"""Token and counter invalid fault on signed command."""
|
728
|
+
|
729
|
+
message = "Token and counter invalid fault on signed command."
|
730
|
+
code = 5
|
731
|
+
|
732
|
+
|
733
|
+
class SignedMessageInformationFaultAESDecryptAuth(SignedMessageInformationFault):
|
734
|
+
"""AES decrypt auth fault on signed command."""
|
735
|
+
|
736
|
+
message = "AES decrypt auth fault on signed command."
|
737
|
+
code = 6
|
738
|
+
|
739
|
+
|
740
|
+
class SignedMessageInformationFaultECDSAInput(SignedMessageInformationFault):
|
741
|
+
"""ECDSA input fault on signed command."""
|
742
|
+
|
743
|
+
message = "ECDSA input fault on signed command."
|
744
|
+
code = 7
|
745
|
+
|
746
|
+
|
747
|
+
class SignedMessageInformationFaultECDSASignature(SignedMessageInformationFault):
|
748
|
+
"""ECDSA signature fault on signed command."""
|
749
|
+
|
750
|
+
message = "ECDSA signature fault on signed command."
|
751
|
+
code = 8
|
752
|
+
|
753
|
+
|
754
|
+
class SignedMessageInformationFaultLocalEntityStart(SignedMessageInformationFault):
|
755
|
+
"""Local entity start fault on signed command."""
|
756
|
+
|
757
|
+
message = "Local entity start fault on signed command."
|
758
|
+
code = 9
|
759
|
+
|
760
|
+
|
761
|
+
class SignedMessageInformationFaultLocalEntityResult(SignedMessageInformationFault):
|
762
|
+
"""Local entity result fault on signed command."""
|
763
|
+
|
764
|
+
message = "Local entity result fault on signed command."
|
765
|
+
code = 10
|
766
|
+
|
767
|
+
|
768
|
+
class SignedMessageInformationFaultCouldNotRetrieveKey(SignedMessageInformationFault):
|
769
|
+
"""Could not retrieve key fault on signed command."""
|
770
|
+
|
771
|
+
message = "Could not retrieve key fault on signed command."
|
772
|
+
code = 11
|
773
|
+
|
774
|
+
|
775
|
+
class SignedMessageInformationFaultCouldNotRetrieveToken(SignedMessageInformationFault):
|
776
|
+
"""Could not retrieve token fault on signed command."""
|
777
|
+
|
778
|
+
message = "Could not retrieve token fault on signed command."
|
779
|
+
code = 12
|
780
|
+
|
781
|
+
|
782
|
+
class SignedMessageInformationFaultSignatureTooShort(SignedMessageInformationFault):
|
783
|
+
"""Signature too short fault on signed command."""
|
784
|
+
|
785
|
+
message = "Signature too short fault on signed command."
|
786
|
+
code = 13
|
787
|
+
|
788
|
+
|
789
|
+
class SignedMessageInformationFaultTokenIsIncorrectLength(SignedMessageInformationFault):
|
790
|
+
"""Token is incorrect length fault on signed command."""
|
791
|
+
|
792
|
+
message = "Token is incorrect length fault on signed command."
|
793
|
+
code = 14
|
794
|
+
|
795
|
+
|
796
|
+
class SignedMessageInformationFaultIncorrectEpoch(SignedMessageInformationFault):
|
797
|
+
"""Incorrect epoch fault on signed command."""
|
798
|
+
|
799
|
+
message = "Incorrect epoch fault on signed command."
|
800
|
+
code = 15
|
801
|
+
|
802
|
+
|
803
|
+
class SignedMessageInformationFaultIVIncorrectLength(SignedMessageInformationFault):
|
804
|
+
"""IV incorrect length fault on signed command."""
|
805
|
+
|
806
|
+
message = "IV incorrect length fault on signed command."
|
807
|
+
code = 16
|
808
|
+
|
809
|
+
|
810
|
+
class SignedMessageInformationFaultTimeExpired(SignedMessageInformationFault):
|
811
|
+
"""Time expired fault on signed command."""
|
812
|
+
|
813
|
+
message = "Time expired fault on signed command."
|
814
|
+
code = 17
|
815
|
+
|
816
|
+
|
817
|
+
class SignedMessageInformationFaultNotProvisionedWithIdentity(
|
818
|
+
SignedMessageInformationFault
|
819
|
+
):
|
820
|
+
"""Not provisioned with identity fault on signed command."""
|
821
|
+
|
822
|
+
message = "Not provisioned with identity fault on signed command."
|
823
|
+
code = 18
|
824
|
+
|
825
|
+
|
826
|
+
class SignedMessageInformationFaultCouldNotHashMetadata(SignedMessageInformationFault):
|
827
|
+
"""Could not hash metadata fault on signed command."""
|
828
|
+
|
829
|
+
message = "Could not hash metadata fault on signed command."
|
830
|
+
code = 19
|
831
|
+
|
832
|
+
|
833
|
+
SIGNED_MESSAGE_INFORMATION_FAULTS = [
|
834
|
+
None,
|
835
|
+
SignedMessageInformationFaultUnknown,
|
836
|
+
SignedMessageInformationFaultNotOnWhitelist,
|
837
|
+
SignedMessageInformationFaultIVSmallerThanExpected,
|
838
|
+
SignedMessageInformationFaultInvalidToken,
|
839
|
+
SignedMessageInformationFaultTokenAndCounterInvalid,
|
840
|
+
SignedMessageInformationFaultAESDecryptAuth,
|
841
|
+
SignedMessageInformationFaultECDSAInput,
|
842
|
+
SignedMessageInformationFaultECDSASignature,
|
843
|
+
SignedMessageInformationFaultLocalEntityStart,
|
844
|
+
SignedMessageInformationFaultLocalEntityResult,
|
845
|
+
SignedMessageInformationFaultCouldNotRetrieveKey,
|
846
|
+
SignedMessageInformationFaultCouldNotRetrieveToken,
|
847
|
+
SignedMessageInformationFaultSignatureTooShort,
|
848
|
+
SignedMessageInformationFaultTokenIsIncorrectLength,
|
849
|
+
SignedMessageInformationFaultIncorrectEpoch,
|
850
|
+
SignedMessageInformationFaultIVIncorrectLength,
|
851
|
+
SignedMessageInformationFaultTimeExpired,
|
852
|
+
SignedMessageInformationFaultNotProvisionedWithIdentity,
|
853
|
+
SignedMessageInformationFaultCouldNotHashMetadata,
|
661
854
|
]
|
662
855
|
|
663
856
|
|
tesla_fleet_api/pb2/__init__.pyi
CHANGED
@@ -0,0 +1,9 @@
|
|
1
|
+
from . import car_server_pb2
|
2
|
+
from . import common_pb2
|
3
|
+
from . import errors_pb2
|
4
|
+
from . import keys_pb2
|
5
|
+
from . import managed_charging_pb2
|
6
|
+
from . import signatures_pb2
|
7
|
+
from . import universal_message_pb2
|
8
|
+
from . import vcsec_pb2
|
9
|
+
from . import vehicle_pb2
|