tesla-fleet-api 0.9.7__py3-none-any.whl → 0.9.9__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/teslafleetapi.py +3 -3
- tesla_fleet_api/vehicle.py +85 -0
- tesla_fleet_api/vehiclespecific.py +54 -0
- {tesla_fleet_api-0.9.7.dist-info → tesla_fleet_api-0.9.9.dist-info}/METADATA +1 -1
- {tesla_fleet_api-0.9.7.dist-info → tesla_fleet_api-0.9.9.dist-info}/RECORD +9 -9
- {tesla_fleet_api-0.9.7.dist-info → tesla_fleet_api-0.9.9.dist-info}/LICENSE +0 -0
- {tesla_fleet_api-0.9.7.dist-info → tesla_fleet_api-0.9.9.dist-info}/WHEEL +0 -0
- {tesla_fleet_api-0.9.7.dist-info → tesla_fleet_api-0.9.9.dist-info}/top_level.txt +0 -0
tesla_fleet_api/const.py
CHANGED
tesla_fleet_api/teslafleetapi.py
CHANGED
@@ -91,15 +91,15 @@ class TeslaFleetApi:
|
|
91
91
|
method: Method,
|
92
92
|
path: str,
|
93
93
|
params: dict[str, Any] | None = None,
|
94
|
-
json: dict[str, Any] | None =
|
94
|
+
json: dict[str, Any] | None = {},
|
95
95
|
) -> dict[str, Any]:
|
96
96
|
"""Send a request to the Tesla Fleet API."""
|
97
97
|
|
98
98
|
if not self.server:
|
99
99
|
raise ValueError("Server was not set at init. Call find_server() first.")
|
100
100
|
|
101
|
-
if method == Method.GET
|
102
|
-
|
101
|
+
if method == Method.GET:
|
102
|
+
json = None
|
103
103
|
|
104
104
|
# Call a pre-request hook if provided
|
105
105
|
if self.refresh_hook is not None:
|
tesla_fleet_api/vehicle.py
CHANGED
@@ -791,3 +791,88 @@ class Vehicle:
|
|
791
791
|
return await self._request(
|
792
792
|
Method.DELETE, f"api/1/vehicles/{vehicle_tag}/fleet_telemetry_config"
|
793
793
|
)
|
794
|
+
|
795
|
+
async def add_charge_schedule(
|
796
|
+
self,
|
797
|
+
vehicle_tag: str | int,
|
798
|
+
days_of_week: str,
|
799
|
+
enabled: bool,
|
800
|
+
lat: float,
|
801
|
+
lon: float,
|
802
|
+
start_time: int | None = None,
|
803
|
+
end_time: int | None = None,
|
804
|
+
one_time: bool | None = None,
|
805
|
+
id: int | None = None,
|
806
|
+
|
807
|
+
) -> dict[str, Any]:
|
808
|
+
"""Add a schedule for vehicle charging."""
|
809
|
+
if not start_time and not end_time:
|
810
|
+
raise ValueError("Either start_time or end_time or both must be provided")
|
811
|
+
json_payload = {
|
812
|
+
"days_of_week": days_of_week,
|
813
|
+
"enabled": enabled,
|
814
|
+
"end_enabled": end_time is not None,
|
815
|
+
"lat": lat,
|
816
|
+
"lon": lon,
|
817
|
+
"start_enabled": start_time is not None,
|
818
|
+
}
|
819
|
+
if start_time is not None:
|
820
|
+
json_payload["start_time"] = start_time
|
821
|
+
if end_time is not None:
|
822
|
+
json_payload["end_time"] = end_time
|
823
|
+
if id is not None:
|
824
|
+
json_payload["id"] = id
|
825
|
+
if one_time is not None:
|
826
|
+
json_payload["one_time"] = one_time
|
827
|
+
|
828
|
+
return await self._request(
|
829
|
+
Method.POST,
|
830
|
+
f"api/1/vehicles/{vehicle_tag}/command/add_charge_schedule",
|
831
|
+
json=json_payload,
|
832
|
+
)
|
833
|
+
|
834
|
+
async def add_precondition_schedule(
|
835
|
+
self,
|
836
|
+
vehicle_tag: str | int,
|
837
|
+
days_of_week: str,
|
838
|
+
enabled: bool,
|
839
|
+
lat: float,
|
840
|
+
lon: float,
|
841
|
+
precondition_time: int,
|
842
|
+
id: int | None = None,
|
843
|
+
one_time: bool | None = None,
|
844
|
+
) -> dict[str, Any]:
|
845
|
+
"""Add or modify a preconditioning schedule."""
|
846
|
+
json_payload = {
|
847
|
+
"days_of_week": days_of_week,
|
848
|
+
"enabled": enabled,
|
849
|
+
"lat": lat,
|
850
|
+
"lon": lon,
|
851
|
+
"precondition_time": precondition_time,
|
852
|
+
}
|
853
|
+
if id is not None:
|
854
|
+
json_payload["id"] = id
|
855
|
+
if one_time is not None:
|
856
|
+
json_payload["one_time"] = one_time
|
857
|
+
|
858
|
+
return await self._request(
|
859
|
+
Method.POST,
|
860
|
+
f"api/1/vehicles/{vehicle_tag}/command/add_precondition_schedule",
|
861
|
+
json=json_payload,
|
862
|
+
)
|
863
|
+
|
864
|
+
async def remove_charge_schedule(
|
865
|
+
self, vehicle_tag: str | int, id: int
|
866
|
+
) -> dict[str, Any]:
|
867
|
+
"""Removes the scheduled charging settings."""
|
868
|
+
return await self._request(
|
869
|
+
Method.POST, f"api/1/vehicles/{vehicle_tag}/command/remove_charge_schedule", json={"id": id}
|
870
|
+
)
|
871
|
+
|
872
|
+
async def remove_precondition_schedule(
|
873
|
+
self, vehicle_tag: str | int, id: int
|
874
|
+
) -> dict[str, Any]:
|
875
|
+
"""Removes the scheduled precondition settings."""
|
876
|
+
return await self._request(
|
877
|
+
Method.POST, f"api/1/vehicles/{vehicle_tag}/command/remove_precondition_schedule", json={"id": id}
|
878
|
+
)
|
@@ -449,3 +449,57 @@ class VehicleSpecific:
|
|
449
449
|
async def fleet_telemetry_config_delete(self) -> dict[str, Any]:
|
450
450
|
"""Configures fleet telemetry."""
|
451
451
|
return await self._parent.fleet_telemetry_config_delete(self.vin)
|
452
|
+
|
453
|
+
async def add_charge_schedule(
|
454
|
+
self,
|
455
|
+
days_of_week: str,
|
456
|
+
enabled: bool,
|
457
|
+
lat: float,
|
458
|
+
lon: float,
|
459
|
+
start_time: int | None = None,
|
460
|
+
end_time: int | None = None,
|
461
|
+
one_time: bool | None = None,
|
462
|
+
id: int | None = None,
|
463
|
+
) -> dict[str, Any]:
|
464
|
+
"""Adds a scheduled charging setting."""
|
465
|
+
return await self._parent.add_charge_schedule(
|
466
|
+
self.vin,
|
467
|
+
days_of_week,
|
468
|
+
enabled,
|
469
|
+
lat,
|
470
|
+
lon,
|
471
|
+
start_time,
|
472
|
+
end_time,
|
473
|
+
one_time,
|
474
|
+
id,
|
475
|
+
)
|
476
|
+
|
477
|
+
async def add_precondition_schedule(
|
478
|
+
self,
|
479
|
+
days_of_week: str,
|
480
|
+
enabled: bool,
|
481
|
+
lat: float,
|
482
|
+
lon: float,
|
483
|
+
precondition_time: int,
|
484
|
+
id: int | None = None,
|
485
|
+
one_time: bool | None = None,
|
486
|
+
) -> dict[str, Any]:
|
487
|
+
"""Adds a scheduled precondition setting."""
|
488
|
+
return await self._parent.add_precondition_schedule(
|
489
|
+
self.vin,
|
490
|
+
days_of_week,
|
491
|
+
enabled,
|
492
|
+
lat,
|
493
|
+
lon,
|
494
|
+
precondition_time,
|
495
|
+
id,
|
496
|
+
one_time,
|
497
|
+
)
|
498
|
+
|
499
|
+
async def remove_charge_schedule(self, id: int) -> dict[str, Any]:
|
500
|
+
"""Removes the scheduled charging settings."""
|
501
|
+
return await self._parent.remove_charge_schedule(self.vin, id)
|
502
|
+
|
503
|
+
async def remove_precondition_schedule(self, id: int) -> dict[str, Any]:
|
504
|
+
"""Removes the scheduled precondition settings."""
|
505
|
+
return await self._parent.remove_precondition_schedule(self.vin, id)
|
@@ -1,20 +1,20 @@
|
|
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=rKbU1HbadpELyCe1aRNHMwTO-cfBfoVTzmwnxf2R9ew,12888
|
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
|
7
7
|
tesla_fleet_api/partner.py,sha256=1vIBUaxKLIfqcC0X6VXZN0dMAzj_CLNPUMjA6QVqZ1k,1223
|
8
8
|
tesla_fleet_api/ratecalculator.py,sha256=4lz8yruUeouHXh_3ezsXX-CTpIegp1T1J4VuRV_qdHA,1791
|
9
|
-
tesla_fleet_api/teslafleetapi.py,sha256=
|
9
|
+
tesla_fleet_api/teslafleetapi.py,sha256=39g52Q7C__ijOOgGy2EHvvNKwqCTu7zn9MIdTRCHmak,7345
|
10
10
|
tesla_fleet_api/teslafleetoauth.py,sha256=NmzycAeg68sWASjiWan3B5LdIgrfmoLTDqLHYCmoKKg,4108
|
11
11
|
tesla_fleet_api/teslafleetopensource.py,sha256=TJfVPcqJlA1b3kMoGuLr-g5Gn8UDyYsTZhjvGY1MtIk,2007
|
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=
|
15
|
+
tesla_fleet_api/vehicle.py,sha256=idgsWnLCbrnMLNSRUR-gw2tug2TYEUi4AzFDqYzVur0,34961
|
16
16
|
tesla_fleet_api/vehiclesigned.py,sha256=uwfX3MwPAtn5Otf5jUwSGuKWDVbswd3dDnNjPoxoYrM,41863
|
17
|
-
tesla_fleet_api/vehiclespecific.py,sha256=
|
17
|
+
tesla_fleet_api/vehiclespecific.py,sha256=L9vmqaH0UJ9p7RQXMT1kfOtVL2jWxzZcHxKcYmC-eyQ,22247
|
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.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,,
|
File without changes
|
File without changes
|
File without changes
|