From 335f2910546661f17b68989c1831182469ecbf8a Mon Sep 17 00:00:00 2001 From: Thomas Kastner Date: Sat, 26 Jul 2025 13:30:24 +0200 Subject: [PATCH 1/5] fixed evcc module API call --- packages/modules/vehicles/evcc/api.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/modules/vehicles/evcc/api.py b/packages/modules/vehicles/evcc/api.py index 310e6e86c7..81bc967b3a 100644 --- a/packages/modules/vehicles/evcc/api.py +++ b/packages/modules/vehicles/evcc/api.py @@ -34,8 +34,7 @@ def create_vehicle(config: EVCCVehicleSocConfiguration, stub: vehicle_pb2_grpc.V response = stub.New( vehicle_pb2.NewRequest( token=config.sponsor_token, - type="template", - template=config.vehicle_type, + type=config.vehicle_type, config=cast(Mapping[str, str], { 'User': config.user_id, 'Password': config.password, @@ -69,7 +68,7 @@ def fetch_soc( stub = vehicle_pb2_grpc.VehicleStub(channel) if not evcc_config.vehicle_id: # create and fetch vehicle id if not included in config - create_and_save_vehicle_id(stub, evcc_config, vehicle) + vehicle_to_fetch = create_and_save_vehicle_id(stub, evcc_config, vehicle) # vehicle_to_fetch = create_vehicle(evcc_config, stub) # log.debug("Vehicle client received: " + str(vehicle_to_fetch)) From 63c59eac1eaa23b987332e26ad79e5d44c8358e7 Mon Sep 17 00:00:00 2001 From: Thomas Kastner Date: Sun, 27 Jul 2025 13:37:05 +0200 Subject: [PATCH 2/5] proper approach by adding template field to request --- packages/modules/vehicles/evcc/api.py | 3 ++- packages/modules/vehicles/evcc/vehicle_pb2.pyi | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/modules/vehicles/evcc/api.py b/packages/modules/vehicles/evcc/api.py index 81bc967b3a..55555829fd 100644 --- a/packages/modules/vehicles/evcc/api.py +++ b/packages/modules/vehicles/evcc/api.py @@ -34,7 +34,8 @@ def create_vehicle(config: EVCCVehicleSocConfiguration, stub: vehicle_pb2_grpc.V response = stub.New( vehicle_pb2.NewRequest( token=config.sponsor_token, - type=config.vehicle_type, + type=template, + template=config.vehicle_type, config=cast(Mapping[str, str], { 'User': config.user_id, 'Password': config.password, diff --git a/packages/modules/vehicles/evcc/vehicle_pb2.pyi b/packages/modules/vehicles/evcc/vehicle_pb2.pyi index a1e376949b..3b478c3547 100644 --- a/packages/modules/vehicles/evcc/vehicle_pb2.pyi +++ b/packages/modules/vehicles/evcc/vehicle_pb2.pyi @@ -19,11 +19,12 @@ class NewRequest(_message.Message): def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... TOKEN_FIELD_NUMBER: _ClassVar[int] TYPE_FIELD_NUMBER: _ClassVar[int] + TEMPLATE_FIELD_NUMBER: _ClassVar[int] CONFIG_FIELD_NUMBER: _ClassVar[int] token: str type: str config: _containers.ScalarMap[str, str] - def __init__(self, token: _Optional[str] = ..., type: _Optional[str] = ..., config: _Optional[_Mapping[str, str]] = ...) -> None: ... + def __init__(self, token: _Optional[str] = ..., type: _Optional[str] = ..., template: _Optional[str] = ..., config: _Optional[_Mapping[str, str]] = ...) -> None: ... class NewReply(_message.Message): __slots__ = ("vehicle_id",) From 0789496d593a5f0cb1132f5a3a2dee2fbb518c14 Mon Sep 17 00:00:00 2001 From: Thomas Kastner Date: Mon, 28 Jul 2025 15:39:15 +0200 Subject: [PATCH 3/5] fixed mistake/typo --- packages/modules/vehicles/evcc/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/modules/vehicles/evcc/api.py b/packages/modules/vehicles/evcc/api.py index 55555829fd..58f083a523 100644 --- a/packages/modules/vehicles/evcc/api.py +++ b/packages/modules/vehicles/evcc/api.py @@ -34,7 +34,7 @@ def create_vehicle(config: EVCCVehicleSocConfiguration, stub: vehicle_pb2_grpc.V response = stub.New( vehicle_pb2.NewRequest( token=config.sponsor_token, - type=template, + type="template", template=config.vehicle_type, config=cast(Mapping[str, str], { 'User': config.user_id, From 770661dea86ad0e6cf50a6b43f7a62a7beb2a5cd Mon Sep 17 00:00:00 2001 From: Thomas Kastner Date: Mon, 28 Jul 2025 15:47:46 +0200 Subject: [PATCH 4/5] fixed indendation --- packages/modules/vehicles/evcc/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/modules/vehicles/evcc/api.py b/packages/modules/vehicles/evcc/api.py index 58f083a523..2d13a21dcf 100644 --- a/packages/modules/vehicles/evcc/api.py +++ b/packages/modules/vehicles/evcc/api.py @@ -69,7 +69,7 @@ def fetch_soc( stub = vehicle_pb2_grpc.VehicleStub(channel) if not evcc_config.vehicle_id: # create and fetch vehicle id if not included in config - vehicle_to_fetch = create_and_save_vehicle_id(stub, evcc_config, vehicle) + vehicle_to_fetch = create_and_save_vehicle_id(stub, evcc_config, vehicle) # vehicle_to_fetch = create_vehicle(evcc_config, stub) # log.debug("Vehicle client received: " + str(vehicle_to_fetch)) From cab462af43eda06f395a59f54441bf6028969679 Mon Sep 17 00:00:00 2001 From: Thomas Kastner Date: Tue, 29 Jul 2025 11:47:57 +0200 Subject: [PATCH 5/5] also fixed other indents --- packages/modules/vehicles/evcc/api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/modules/vehicles/evcc/api.py b/packages/modules/vehicles/evcc/api.py index 2d13a21dcf..2bd21ed781 100644 --- a/packages/modules/vehicles/evcc/api.py +++ b/packages/modules/vehicles/evcc/api.py @@ -70,12 +70,12 @@ def fetch_soc( if not evcc_config.vehicle_id: # create and fetch vehicle id if not included in config vehicle_to_fetch = create_and_save_vehicle_id(stub, evcc_config, vehicle) -# vehicle_to_fetch = create_vehicle(evcc_config, stub) -# log.debug("Vehicle client received: " + str(vehicle_to_fetch)) + # vehicle_to_fetch = create_vehicle(evcc_config, stub) + # log.debug("Vehicle client received: " + str(vehicle_to_fetch)) # saving vehicle id in config -# topic = "openWB/set/vehicle/" + str(vehicle) + "/soc_module/config" -# write_vehicle_id_mqtt(topic, vehicle_to_fetch, evcc_config) + # topic = "openWB/set/vehicle/" + str(vehicle) + "/soc_module/config" + # write_vehicle_id_mqtt(topic, vehicle_to_fetch, evcc_config) else: log.debug("Vehicle id found in config: " + str(evcc_config.vehicle_id)) vehicle_to_fetch = evcc_config.vehicle_id