tesla-fleet-api 0.9.9__py3-none-any.whl → 0.9.12__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 CHANGED
@@ -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.12"
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 = {
@@ -122,29 +122,31 @@ class Session:
122
122
  epoch: bytes
123
123
  delta: int
124
124
  hmac: bytes
125
- publicKey: bytes
125
+ publicKey: bytes | None = None
126
126
  lock: Lock
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.12
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
@@ -1,6 +1,6 @@
1
1
  tesla_fleet_api/__init__.py,sha256=BVZUDsfaxT05tAfcMHHWiyFyXwmDOx_wP_IHZBscgho,729
2
2
  tesla_fleet_api/charging.py,sha256=N_mc8axrXj3iduqLj_jCt4Vx86tHqe3xqQT4R1R7HvU,1689
3
- tesla_fleet_api/const.py,sha256=rKbU1HbadpELyCe1aRNHMwTO-cfBfoVTzmwnxf2R9ew,12888
3
+ tesla_fleet_api/const.py,sha256=fbg8rsLu1-uiepatBtAyo9efEF_MPO52fi4Il2w0aF8,12889
4
4
  tesla_fleet_api/energy.py,sha256=S7D75MPuMVsHgkyUcFfMqjGCLZBM5YVFlWLEHbaX-zw,5957
5
5
  tesla_fleet_api/energyspecific.py,sha256=UfeaGE59aoAa8UhpQCXUi0sOrNCA40xZlqwF73BXTVY,4254
6
6
  tesla_fleet_api/exceptions.py,sha256=qnRWqPJ_5gia4-j3o4mP5OwUuBRtC3SAbZKo-_XSRiI,29729
@@ -12,9 +12,9 @@ tesla_fleet_api/teslafleetopensource.py,sha256=TJfVPcqJlA1b3kMoGuLr-g5Gn8UDyYsTZ
12
12
  tesla_fleet_api/teslemetry.py,sha256=_n59RQvJKl82ylLe09bLY_8iyfjz_DHqCdRVsWeif4s,3308
13
13
  tesla_fleet_api/tessie.py,sha256=4dBYxe1G2v9JvJGRbb01wXrAmvWT4jOfV4f_VQE_vkE,2302
14
14
  tesla_fleet_api/user.py,sha256=TZE2oh-n5zrhKXmGRuiNL9voKVODD7rBhGE_IObYVGA,1179
15
- tesla_fleet_api/vehicle.py,sha256=idgsWnLCbrnMLNSRUR-gw2tug2TYEUi4AzFDqYzVur0,34961
16
- tesla_fleet_api/vehiclesigned.py,sha256=uwfX3MwPAtn5Otf5jUwSGuKWDVbswd3dDnNjPoxoYrM,41863
17
- tesla_fleet_api/vehiclespecific.py,sha256=L9vmqaH0UJ9p7RQXMT1kfOtVL2jWxzZcHxKcYmC-eyQ,22247
15
+ tesla_fleet_api/vehicle.py,sha256=U1FNWfVut_mqdkkKlcfUlFSiaQ_l1bDABd1NTJJd_aw,35039
16
+ tesla_fleet_api/vehiclesigned.py,sha256=WCOpao0mWHSFLSDQ0kYhLeFarCmGtSseX2tBmPiXVPo,42005
17
+ tesla_fleet_api/vehiclespecific.py,sha256=IwLoQMmWQrLJPcVBsrvCWvc6Iz4DEjhrKZxtV6QZnTk,22361
18
18
  tesla_fleet_api/pb2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  tesla_fleet_api/pb2/__init__.pyi,sha256=qFXWNIgl71wB260u-XPzaAwWAHL6krw21q-aXnBtop0,252
20
20
  tesla_fleet_api/pb2/car_server_pb2.py,sha256=v_eb4NDIkx_ZYPYW29_EFRky5vQ4b2q14gwuQSbouYw,29202
@@ -35,8 +35,8 @@ tesla_fleet_api/pb2/vcsec_pb2.py,sha256=PDv9TfiXnNs6sQ0D5vBrsSSPinSqu3eBUwvTcG8x
35
35
  tesla_fleet_api/pb2/vcsec_pb2.pyi,sha256=cyK1uyRtDjRVqVlyl5uRQYY1RhFlWSJheLg3PGfs-_s,28524
36
36
  tesla_fleet_api/pb2/vehicle_pb2.py,sha256=bqyFJM-1qZ7W9XKREINhYZx8yXAudmq6W8_Pdfkhbkk,44711
37
37
  tesla_fleet_api/pb2/vehicle_pb2.pyi,sha256=sAUW_9aVB8NqJCnhZjXMLfqfePLVZv_7PfSKZKEBaQA,74251
38
- tesla_fleet_api-0.9.9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
39
- tesla_fleet_api-0.9.9.dist-info/METADATA,sha256=z_-mVNY1ceIhV6W0x9cQVGCNOXfjI4tTajjBL05M9ZQ,4022
40
- tesla_fleet_api-0.9.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
41
- tesla_fleet_api-0.9.9.dist-info/top_level.txt,sha256=jeNbog_1saXBFrGpom9WyPWmilxsyP3szL_G7JLWQfM,16
42
- tesla_fleet_api-0.9.9.dist-info/RECORD,,
38
+ tesla_fleet_api-0.9.12.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
39
+ tesla_fleet_api-0.9.12.dist-info/METADATA,sha256=ImilDjuRBvTR1ejcPR_wiux0anxMzdj1SUJE6NKzU14,4023
40
+ tesla_fleet_api-0.9.12.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
41
+ tesla_fleet_api-0.9.12.dist-info/top_level.txt,sha256=jeNbog_1saXBFrGpom9WyPWmilxsyP3szL_G7JLWQfM,16
42
+ tesla_fleet_api-0.9.12.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (75.8.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5