tesla-fleet-api 0.9.9__py3-none-any.whl → 0.9.10__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 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.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
@@ -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=-kIlqAmzs9ZsSl5ra47y3EcGlvCCXQtBbMjbtl7pyUo,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=SaLPHA361x0-Q7PSfGTtN_e3tCJmJpVhWUfPSovSrLY,41991
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.10.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
39
+ tesla_fleet_api-0.9.10.dist-info/METADATA,sha256=o0-Bo8vQoI9IyhaM6M0DC2XvxHUowcsZLvFYj7jgEns,4023
40
+ tesla_fleet_api-0.9.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
41
+ tesla_fleet_api-0.9.10.dist-info/top_level.txt,sha256=jeNbog_1saXBFrGpom9WyPWmilxsyP3szL_G7JLWQfM,16
42
+ tesla_fleet_api-0.9.10.dist-info/RECORD,,