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 +1 -1
- tesla_fleet_api/vehicle.py +4 -2
- tesla_fleet_api/vehiclesigned.py +14 -12
- tesla_fleet_api/vehiclespecific.py +6 -2
- {tesla_fleet_api-0.9.9.dist-info → tesla_fleet_api-0.9.12.dist-info}/METADATA +1 -1
- {tesla_fleet_api-0.9.9.dist-info → tesla_fleet_api-0.9.12.dist-info}/RECORD +9 -9
- {tesla_fleet_api-0.9.9.dist-info → tesla_fleet_api-0.9.12.dist-info}/WHEEL +1 -1
- {tesla_fleet_api-0.9.9.dist-info → tesla_fleet_api-0.9.12.dist-info}/LICENSE +0 -0
- {tesla_fleet_api-0.9.9.dist-info → tesla_fleet_api-0.9.12.dist-info}/top_level.txt +0 -0
tesla_fleet_api/const.py
CHANGED
tesla_fleet_api/vehicle.py
CHANGED
@@ -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 = {
|
tesla_fleet_api/vehiclesigned.py
CHANGED
@@ -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
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
ec.
|
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
|
-
|
145
|
-
|
146
|
-
|
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
|
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=
|
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=
|
16
|
-
tesla_fleet_api/vehiclesigned.py,sha256=
|
17
|
-
tesla_fleet_api/vehiclespecific.py,sha256=
|
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.
|
39
|
-
tesla_fleet_api-0.9.
|
40
|
-
tesla_fleet_api-0.9.
|
41
|
-
tesla_fleet_api-0.9.
|
42
|
-
tesla_fleet_api-0.9.
|
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,,
|
File without changes
|
File without changes
|