Skip to content

PSA API ban because of too many "ask wakeup" from PSACC at the beginning of the charging session for slow charge speed installations #1130

@Trebila

Description

@Trebila

I've tried a short charge from 10PM to midnight, starting at 68%, maximum 3.6 kW/h (slow charge speed) on my E-208.
3.6.0 version installed, on a docker, on a RPI4.

I have a script along the PSACC addon, which update each 10 minutes.

the charge level never changed during the whole charging session.
I got the final 82% charge level information only when I disconnected the charging cable.

To me, PSACC ask too frequently to wakeup the car when the charge level doesn't change fast enough (each 2 minutes) , which is typically what happen with a slow charge speed, and we get blocked by the PSA API.

Any chance to ask the wakeup less frequently when a slow charge speed is detected ??

here are the logs I got:

> 2025-10-12 22:02:49,312 :: INFO :: update_trips
> 2025-10-12 22:02:50,319 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:04:49,293 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:06:49,327 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:08:49,860 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:10:04,203 :: INFO :: <Request 'http://192.168.1.40:5000/charge_control?vin=***MYVIN***' [GET]>
> 2025-10-12 22:10:04,208 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:10:04] "GET /charge_control?vin=***MYVIN*** HTTP/1.1" 200 -
> 2025-10-12 22:10:04,228 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:10:04] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:10:04,492 :: INFO :: 172.17.0.1 - - [12/Oct/2025 22:10:04] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:10:04,609 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:10:04] "GET /vehicles/chargings HTTP/1.1" 200 -
> 2025-10-12 22:10:49,684 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:12:49,313 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:12:49,314 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:12:49,316 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:12:58,402 :: INFO :: save config change
> 2025-10-12 22:14:49,327 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:14:49,328 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:14:49,328 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:14:58,406 :: INFO :: save config change
> 2025-10-12 22:16:49,302 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:16:49,302 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:16:49,303 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:16:58,410 :: INFO :: save config change
> 2025-10-12 22:18:49,318 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:18:49,318 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:18:49,319 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:18:58,414 :: INFO :: save config change
> 2025-10-12 22:20:04,578 :: INFO :: <Request 'http://192.168.1.40:5000/charge_control?vin=***MYVIN***' [GET]>
> 2025-10-12 22:20:04,582 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:20:04] "GET /charge_control?vin=***MYVIN*** HTTP/1.1" 200 -
> 2025-10-12 22:20:04,601 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:20:04] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:20:04,902 :: INFO :: 172.17.0.1 - - [12/Oct/2025 22:20:04] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:20:05,015 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:20:05] "GET /vehicles/chargings HTTP/1.1" 200 -
> 2025-10-12 22:20:49,545 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:20:49,546 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:20:49,547 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:20:58,416 :: INFO :: save config change
> 2025-10-12 22:22:49,308 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:22:49,309 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:22:49,310 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:22:58,421 :: INFO :: save config change
> 2025-10-12 22:24:49,293 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:24:49,294 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 22:26:49,318 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:26:49,319 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 22:28:49,434 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:28:49,435 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 22:30:05,678 :: INFO :: <Request 'http://192.168.1.40:5000/charge_control?vin=***MYVIN***' [GET]>
> 2025-10-12 22:30:05,683 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:30:05] "GET /charge_control?vin=***MYVIN*** HTTP/1.1" 200 -
> 2025-10-12 22:30:05,700 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:30:05] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:30:06,015 :: INFO :: 172.17.0.1 - - [12/Oct/2025 22:30:06] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-12 22:30:06,129 :: INFO :: 192.168.1.40 - - [12/Oct/2025 22:30:06] "GET /vehicles/chargings HTTP/1.1" 200 -
> 2025-10-12 22:30:50,187 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:30:50,188 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 22:32:49,469 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:32:49,470 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 22:34:49,353 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 22:34:49,354 :: INFO :: ask wakeup to ***MYVIN***
> 2025-10-12 22:34:49,354 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200012588476/VehCharge/state: {'action': 'state'}
> 2025-10-12 22:34:49,355 :: ERROR :: Can't refresh remote token, please redo otp procedure
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psa/RemoteClient.py", line 169, in _refresh_remote_token
>     self.manager.refresh_token_now()
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException


.....



> 2025-10-12 23:56:49,415 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 23:56:49,416 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-12 23:58:49,411 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 68
> 2025-10-12 23:58:49,412 :: ERROR :: force_update:
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/psacc/application/charge_control.py", line 70, in force_update
>     self.psacc.remote_client.wakeup(self.vin)
>   File "/usr/local/lib/python3.11/dist-packages/psa_car_controller/common/utils.py", line 24, in wrapper
>     raise RateLimitException
> psa_car_controller.common.utils.RateLimitException
> 2025-10-13 00:00:07,681 :: INFO :: <Request 'http://192.168.1.40:5000/charge_control?vin=***MYVIN***' [GET]>
> 2025-10-13 00:00:07,684 :: INFO :: 192.168.1.40 - - [13/Oct/2025 00:00:07] "GET /charge_control?vin=***MYVIN*** HTTP/1.1" 200 -
> 2025-10-13 00:00:07,695 :: INFO :: 192.168.1.40 - - [13/Oct/2025 00:00:07] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-13 00:00:08,011 :: INFO :: 172.17.0.1 - - [13/Oct/2025 00:00:08] "GET /get_vehicleinfo/***MYVIN***?from_cache=1 HTTP/1.1" 200 -
> 2025-10-13 00:00:08,172 :: INFO :: 192.168.1.40 - - [13/Oct/2025 00:00:08] "GET /vehicles/chargings HTTP/1.1" 200 -
> 2025-10-13 00:00:49,376 :: INFO :: update_trips
> 2025-10-13 00:00:50,618 :: INFO :: charging status of ***MYVIN*** is InProgress, battery level: 82
> 2025-10-13 00:02:49,953 :: INFO :: update_trips
> 2025-10-13 00:10:05,575 :: INFO :: <Request 'http://192.168.1.40:5000/charge_control?vin=***MYVIN***' [GET]>
> 2025-10-13 00:10:05,579 :: INFO :: 192.168.1.40 - - [13/Oct/2025 00:10:05] "GET /charge_control?vin=***MYVIN*** HTTP/1.1" 200 -

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions