tesla-fleet-api 0.9.9__tar.gz → 0.9.10__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. {tesla_fleet_api-0.9.9/tesla_fleet_api.egg-info → tesla_fleet_api-0.9.10}/PKG-INFO +1 -1
  2. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/setup.py +1 -1
  3. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/const.py +1 -1
  4. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/vehicle.py +4 -2
  5. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/vehiclesigned.py +13 -11
  6. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/vehiclespecific.py +6 -2
  7. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10/tesla_fleet_api.egg-info}/PKG-INFO +1 -1
  8. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/LICENSE +0 -0
  9. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/README.md +0 -0
  10. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/setup.cfg +0 -0
  11. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/__init__.py +0 -0
  12. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/charging.py +0 -0
  13. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/energy.py +0 -0
  14. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/energyspecific.py +0 -0
  15. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/exceptions.py +0 -0
  16. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/partner.py +0 -0
  17. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/__init__.py +0 -0
  18. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/__init__.pyi +0 -0
  19. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/car_server_pb2.py +0 -0
  20. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/car_server_pb2.pyi +0 -0
  21. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/common_pb2.py +0 -0
  22. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/common_pb2.pyi +0 -0
  23. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/errors_pb2.py +0 -0
  24. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/errors_pb2.pyi +0 -0
  25. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/keys_pb2.py +0 -0
  26. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/keys_pb2.pyi +0 -0
  27. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/managed_charging_pb2.py +0 -0
  28. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/managed_charging_pb2.pyi +0 -0
  29. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/signatures_pb2.py +0 -0
  30. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/signatures_pb2.pyi +0 -0
  31. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/universal_message_pb2.py +0 -0
  32. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/universal_message_pb2.pyi +0 -0
  33. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/vcsec_pb2.py +0 -0
  34. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/vcsec_pb2.pyi +0 -0
  35. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/vehicle_pb2.py +0 -0
  36. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/pb2/vehicle_pb2.pyi +0 -0
  37. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/ratecalculator.py +0 -0
  38. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/teslafleetapi.py +0 -0
  39. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/teslafleetoauth.py +0 -0
  40. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/teslafleetopensource.py +0 -0
  41. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/teslemetry.py +0 -0
  42. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/tessie.py +0 -0
  43. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api/user.py +0 -0
  44. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api.egg-info/SOURCES.txt +0 -0
  45. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api.egg-info/dependency_links.txt +0 -0
  46. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api.egg-info/requires.txt +0 -0
  47. {tesla_fleet_api-0.9.9 → tesla_fleet_api-0.9.10}/tesla_fleet_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tesla_fleet_api
3
- Version: 0.9.9
3
+ Version: 0.9.10
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/python-tesla-fleet-api
6
6
  Author: Brett Adams
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tesla_fleet_api",
8
- version="0.9.9",
8
+ version="0.9.10",
9
9
  author="Brett Adams",
10
10
  author_email="hello@teslemetry.com",
11
11
  description="Tesla Fleet API library for Python",
@@ -3,7 +3,7 @@
3
3
  from enum import Enum
4
4
  import logging
5
5
 
6
- VERSION = "0.9.9"
6
+ VERSION = "0.9.10"
7
7
  LOGGER = logging.getLogger(__package__)
8
8
  SERVERS = {
9
9
  "na": "https://fleet-api.prd.na.vn.cloud.tesla.com",
@@ -795,7 +795,7 @@ class Vehicle:
795
795
  async def add_charge_schedule(
796
796
  self,
797
797
  vehicle_tag: str | int,
798
- days_of_week: str,
798
+ days_of_week: str | int,
799
799
  enabled: bool,
800
800
  lat: float,
801
801
  lon: float,
@@ -803,6 +803,7 @@ class Vehicle:
803
803
  end_time: int | None = None,
804
804
  one_time: bool | None = None,
805
805
  id: int | None = None,
806
+ name: str | None = None,
806
807
 
807
808
  ) -> dict[str, Any]:
808
809
  """Add a schedule for vehicle charging."""
@@ -834,13 +835,14 @@ class Vehicle:
834
835
  async def add_precondition_schedule(
835
836
  self,
836
837
  vehicle_tag: str | int,
837
- days_of_week: str,
838
+ days_of_week: str | int,
838
839
  enabled: bool,
839
840
  lat: float,
840
841
  lon: float,
841
842
  precondition_time: int,
842
843
  id: int | None = None,
843
844
  one_time: bool | None = None,
845
+ name: str | None = None,
844
846
  ) -> dict[str, Any]:
845
847
  """Add or modify a preconditioning schedule."""
846
848
  json_payload = {
@@ -127,24 +127,26 @@ class Session:
127
127
 
128
128
  def __init__(self):
129
129
  self.lock = Lock()
130
+ self.counter = 0
130
131
 
131
132
  def update(self, sessionInfo: SessionInfo, privateKey: ec.EllipticCurvePrivateKey):
132
133
  """Update the session with new information"""
133
134
  self.counter = sessionInfo.counter
134
135
  self.epoch = sessionInfo.epoch
135
136
  self.delta = int(time.time()) - sessionInfo.clock_time
136
- self.publicKey = sessionInfo.publicKey
137
- self.key = hashlib.sha1(
138
- privateKey.exchange(
139
- ec.ECDH(),
140
- ec.EllipticCurvePublicKey.from_encoded_point(
141
- ec.SECP256R1(), self.publicKey
137
+ if (self.publicKey != sessionInfo.publicKey):
138
+ self.publicKey = sessionInfo.publicKey
139
+ self.key = hashlib.sha1(
140
+ privateKey.exchange(
141
+ ec.ECDH(),
142
+ ec.EllipticCurvePublicKey.from_encoded_point(
143
+ ec.SECP256R1(), self.publicKey
144
+ ),
142
145
  ),
143
- )
144
- ).digest()[:16]
145
- self.hmac = hmac.new(
146
- self.key, "authenticated command".encode(), hashlib.sha256
147
- ).digest()
146
+ ).digest()[:16]
147
+ self.hmac = hmac.new(
148
+ self.key, "authenticated command".encode(), hashlib.sha256
149
+ ).digest()
148
150
 
149
151
  def get(self) -> HMAC_Personalized_Signature_Data:
150
152
  """Sign a command and return session metadata"""
@@ -452,7 +452,7 @@ class VehicleSpecific:
452
452
 
453
453
  async def add_charge_schedule(
454
454
  self,
455
- days_of_week: str,
455
+ days_of_week: str | int,
456
456
  enabled: bool,
457
457
  lat: float,
458
458
  lon: float,
@@ -460,6 +460,7 @@ class VehicleSpecific:
460
460
  end_time: int | None = None,
461
461
  one_time: bool | None = None,
462
462
  id: int | None = None,
463
+ name: str | None = None,
463
464
  ) -> dict[str, Any]:
464
465
  """Adds a scheduled charging setting."""
465
466
  return await self._parent.add_charge_schedule(
@@ -472,17 +473,19 @@ class VehicleSpecific:
472
473
  end_time,
473
474
  one_time,
474
475
  id,
476
+ name,
475
477
  )
476
478
 
477
479
  async def add_precondition_schedule(
478
480
  self,
479
- days_of_week: str,
481
+ days_of_week: str | int,
480
482
  enabled: bool,
481
483
  lat: float,
482
484
  lon: float,
483
485
  precondition_time: int,
484
486
  id: int | None = None,
485
487
  one_time: bool | None = None,
488
+ name: str | None = None,
486
489
  ) -> dict[str, Any]:
487
490
  """Adds a scheduled precondition setting."""
488
491
  return await self._parent.add_precondition_schedule(
@@ -494,6 +497,7 @@ class VehicleSpecific:
494
497
  precondition_time,
495
498
  id,
496
499
  one_time,
500
+ name,
497
501
  )
498
502
 
499
503
  async def remove_charge_schedule(self, id: int) -> dict[str, Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tesla_fleet_api
3
- Version: 0.9.9
3
+ Version: 0.9.10
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/python-tesla-fleet-api
6
6
  Author: Brett Adams