psa_car_controller icon indicating copy to clipboard operation
psa_car_controller copied to clipboard

Prevent RateLimit Exceptions?

Open Apollon77 opened this issue 1 year ago • 5 comments

I use the most recent 3.5.1. and was able to do the registration for my peugeot. All is working.

here and there while the car is charging I got:

psa_car_controller-psacc-1  | 2024-05-25 14:44:38,325 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 64
psa_car_controller-psacc-1  | 2024-05-25 14:44:55,237 :: INFO :: 192.168.178.48 - - [25/May/2024 14:44:55] "GET /get_vehicleinfo/VR3UHZKXXXXXXXXXX?from_cache=1 HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:44:55,259 :: INFO :: <Request 'http://docker-tools:5000/charge_control?vin=VR3UHZKXXXXXXXXXX' [GET]>
psa_car_controller-psacc-1  | 2024-05-25 14:44:55,259 :: INFO :: 192.168.178.48 - - [25/May/2024 14:44:55] "GET /charge_control?vin=VR3UHZKXXXXXXXXXX HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:45:55,271 :: INFO :: 192.168.178.48 - - [25/May/2024 14:45:55] "GET /get_vehicleinfo/VR3UHZKXXXXXXXXXX?from_cache=1 HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:45:55,292 :: INFO :: <Request 'http://docker-tools:5000/charge_control?vin=VR3UHZKXXXXXXXXXX' [GET]>
psa_car_controller-psacc-1  | 2024-05-25 14:45:55,292 :: INFO :: 192.168.178.48 - - [25/May/2024 14:45:55] "GET /charge_control?vin=VR3UHZKXXXXXXXXXX HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:46:38,326 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 64
psa_car_controller-psacc-1  | 2024-05-25 14:46:38,326 :: INFO :: ask wakeup to VR3UHZKXXXXXXXXXX
psa_car_controller-psacc-1  | 2024-05-25 14:46:38,327 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200001088381/VehCharge/state: {'action': 'state'}
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,025 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 64
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,025 :: INFO :: ask wakeup to VR3UHZKXXXXXXXXXX
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,025 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200001088381/VehCharge/state: {'action': 'state'}
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,261 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state/ProcessManagement b'{"process_date":"2024-05-25T14:46:39Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"4fe07e244fc74b439d8f965d728a42bf20240525144639023","process_code":"900","process_message":"[process.900.request.accepted.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,370 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state/ProcessManagement b'{"process_date":"2024-05-25T14:46:39Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"4fe07e244fc74b439d8f965d728a42bf20240525144639023","process_code":"901","process_message":"[process.901.vehicle.asleep.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,927 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 64
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,928 :: INFO :: ask wakeup to VR3UHZKXXXXXXXXXX
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,928 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200001088381/VehCharge/state: {'action': 'state'}
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,931 :: ERROR :: Can't refresh remote token, please redo otp procedure
psa_car_controller-psacc-1  | Traceback (most recent call last):
psa_car_controller-psacc-1  |   File "/usr/local/lib/python3.9/dist-packages/psa_car_controller/psa/RemoteClient.py", line 157, in _refresh_remote_token
psa_car_controller-psacc-1  |     self.manager.refresh_token_now()
psa_car_controller-psacc-1  |   File "/usr/local/lib/python3.9/dist-packages/psa_car_controller/common/utils.py", line 23, in wrapper
psa_car_controller-psacc-1  |     raise RateLimitException
psa_car_controller-psacc-1  | psa_car_controller.common.utils.RateLimitException
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,933 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 64
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,933 :: INFO :: ask wakeup to VR3UHZKXXXXXXXXXX
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,933 :: INFO :: topic: psa/RemoteServices/from/cid/AP-ACNT200001088381/VehCharge/state: {'action': 'state'}
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,934 :: ERROR :: Can't refresh remote token, please redo otp procedure
psa_car_controller-psacc-1  | Traceback (most recent call last):
psa_car_controller-psacc-1  |   File "/usr/local/lib/python3.9/dist-packages/psa_car_controller/psa/RemoteClient.py", line 157, in _refresh_remote_token
psa_car_controller-psacc-1  |     self.manager.refresh_token_now()
psa_car_controller-psacc-1  |   File "/usr/local/lib/python3.9/dist-packages/psa_car_controller/common/utils.py", line 23, in wrapper
psa_car_controller-psacc-1  |     raise RateLimitException
psa_car_controller-psacc-1  | psa_car_controller.common.utils.RateLimitException
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,998 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state b'{"resp_date":"2024-05-25T14:46:39Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"a1a79f9bf72949a69fd7b0487dbd271620240525144639927","return_code":"502","reason":"[duplicate.message.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:46:39,998 :: ERROR :: 502 : [duplicate.message.key]
psa_car_controller-psacc-1  | 2024-05-25 14:46:40,027 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state b'{"resp_date":"2024-05-25T14:46:40Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"c388669aee334487b65a07ef9c5efc2e20240525144639934","return_code":"502","reason":"[duplicate.message.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:46:40,027 :: ERROR :: 502 : [duplicate.message.key]
psa_car_controller-psacc-1  | 2024-05-25 14:46:40,045 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state b'{"resp_date":"2024-05-25T14:46:40Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"e1a19a58e24a459297a9dda4d7e841ca20240525144639932","return_code":"502","reason":"[duplicate.message.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:46:40,045 :: ERROR :: 502 : [duplicate.message.key]
psa_car_controller-psacc-1  | 2024-05-25 14:46:40,938 :: INFO :: save config change
psa_car_controller-psacc-1  | 2024-05-25 14:46:55,303 :: INFO :: 192.168.178.48 - - [25/May/2024 14:46:55] "GET /get_vehicleinfo/VR3UHZKXXXXXXXXXX?from_cache=1 HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:46:55,319 :: INFO :: <Request 'http://docker-tools:5000/charge_control?vin=VR3UHZKXXXXXXXXXX' [GET]>
psa_car_controller-psacc-1  | 2024-05-25 14:46:55,320 :: INFO :: 192.168.178.48 - - [25/May/2024 14:46:55] "GET /charge_control?vin=VR3UHZKXXXXXXXXXX HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:47:02,270 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state/ProcessManagement b'{"process_date":"2024-05-25T14:47:02Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"4fe07e244fc74b439d8f965d728a42bf20240525144639023","process_code":"903","process_message":"[process.903.request.forwarded.to.vehicle.key]"}'
psa_car_controller-psacc-1  | 2024-05-25 14:47:03,300 :: INFO :: mqtt msg received: psa/RemoteServices/to/cid/AP-ACNT200001088381/VehCharge/state b'{"resp_date":"2024-05-25T14:47:03Z","vin":"VR3UHZKXXXXXXXXXX","correlation_id":"4fe07e244fc74b439d8f965d728a42bf20240525144639023","return_code":"0"}'
psa_car_controller-psacc-1  | 2024-05-25 14:47:55,326 :: INFO :: 192.168.178.48 - - [25/May/2024 14:47:55] "GET /get_vehicleinfo/VR3UHZKXXXXXXXXXX?from_cache=1 HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:47:55,340 :: INFO :: <Request 'http://docker-tools:5000/charge_control?vin=VR3UHZKXXXXXXXXXX' [GET]>
psa_car_controller-psacc-1  | 2024-05-25 14:47:55,340 :: INFO :: 192.168.178.48 - - [25/May/2024 14:47:55] "GET /charge_control?vin=VR3UHZKXXXXXXXXXX HTTP/1.1" 200 -
psa_car_controller-psacc-1  | 2024-05-25 14:48:00,950 :: INFO :: mqtt msg received: psa/RemoteServices/events/MPHRTServices/VR3UHZKXXXXXXXXXX b'{"date":"2024-05-25T14:18:49Z","etat_res_elec":0,"precond_state":{"available":1,"programs":{"program1":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program2":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program3":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program4":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]}},"asap":0,"status":0,"aff":1},"charging_state":{"program":{"hour":0,"minute":0},"available":1,"remaining_time":300,"rate":14,"cable_detected":0,"soc_batt":55,"autonomy_zev":180,"type":0,"aff":1,"hmi_state":1,"mode":0},"stolen_state":0,"vin":"VR3UHZKXXXXXXXXXX","reason":0,"signal_quality":4,"sev_stop_date":"2024-05-23T14:46:26Z","fds":["NDR01","NAE01","NBM01","NCG01","NAO01","NAS01"],"sev_state":0,"obj_counter":1,"privacy_customer":0,"privacy_applicable":0,"privacy_applicable_max":2,"superlock_state":0}'
psa_car_controller-psacc-1  | 2024-05-25 14:48:01,402 :: INFO :: mqtt msg received: psa/RemoteServices/events/MPHRTServices/VR3UHZKXXXXXXXXXX b'{"date":"2024-05-25T14:18:52Z","etat_res_elec":0,"precond_state":{"available":1,"programs":{"program1":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program2":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program3":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program4":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]}},"asap":0,"status":0,"aff":1},"charging_state":{"program":{"hour":0,"minute":0},"available":1,"remaining_time":300,"rate":14,"cable_detected":0,"soc_batt":55,"autonomy_zev":180,"type":0,"aff":1,"hmi_state":1,"mode":0},"stolen_state":0,"vin":"VR3UHZKXXXXXXXXXX","reason":4,"signal_quality":4,"sev_stop_date":"2024-05-23T14:46:26Z","fds":["NDR01","NAE01","NBM01","NCG01","NAO01","NAS01"],"sev_state":0,"obj_counter":2,"privacy_customer":0,"privacy_applicable":0,"privacy_applicable_max":2,"superlock_state":0}'
psa_car_controller-psacc-1  | 2024-05-25 14:48:01,671 :: INFO :: mqtt msg received: psa/RemoteServices/events/MPHRTServices/VR3UHZKXXXXXXXXXX b'{"date":"2024-05-25T14:18:53Z","etat_res_elec":0,"precond_state":{"available":1,"programs":{"program1":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program2":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program3":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program4":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]}},"asap":0,"status":0,"aff":1},"charging_state":{"program":{"hour":0,"minute":0},"available":1,"remaining_time":300,"rate":14,"cable_detected":0,"soc_batt":55,"autonomy_zev":180,"type":0,"aff":1,"hmi_state":1,"mode":0},"stolen_state":0,"vin":"VR3UHZKXXXXXXXXXX","reason":3,"signal_quality":4,"sev_stop_date":"2024-05-23T14:46:26Z","fds":["NDR01","NAE01","NBM01","NCG01","NAO01","NAS01"],"sev_state":0,"obj_counter":3,"privacy_customer":0,"privacy_applicable":0,"privacy_applicable_max":2,"superlock_state":0}'
psa_car_controller-psacc-1  | 2024-05-25 14:48:05,958 :: INFO :: mqtt msg received: psa/RemoteServices/events/MPHRTServices/VR3UHZKXXXXXXXXXX b'{"date":"2024-05-25T14:19:05Z","etat_res_elec":0,"precond_state":{"available":1,"programs":{"program1":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program2":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program3":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]},"program4":{"hour":34,"minute":7,"on":0,"day":[0,0,0,0,0,0,0]}},"asap":0,"status":0,"aff":1},"charging_state":{"program":{"hour":0,"minute":0},"available":1,"remaining_time":290,"rate":14,"cable_detected":0,"soc_batt":55,"autonomy_zev":184,"type":0,"aff":1,"hmi_state":1,"mode":0},"stolen_state":0,"vin":"VR3UHZKXXXXXXXXXX","reason":4,"signal_quality":4,"sev_stop_date":"2024-05-23T14:46:26Z","fds":["NDR01","NAE01","NBM01","NCG01","NAO01","NAS01"],"sev_state":0,"obj_counter":4,"privacy_customer":0,"privacy_applicable":0,"privacy_applicable_max":2,"superlock_state":0}'
psa_car_controller-psacc-1  | 2024-05-25 14:48:38,383 :: INFO :: new position recorded for VR3UHZKXXXXXXXXXX
psa_car_controller-psacc-1  | 2024-05-25 14:48:38,385 :: INFO :: update_data
psa_car_controller-psacc-1  | 2024-05-25 14:48:38,859 :: INFO :: update_data
psa_car_controller-psacc-1  | 2024-05-25 14:48:39,063 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 65
psa_car_controller-psacc-1  | 2024-05-25 14:48:39,063 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 65
psa_car_controller-psacc-1  | 2024-05-25 14:48:39,063 :: INFO :: charging status of VR3UHZKXXXXXXXXXX is InProgress, battery level: 65

could it be that during charging the API requests the status of charge too often when setting an charge limit?

Apollon77 avatar May 25 '24 14:05 Apollon77

Seems you have the refresh token bug too. Mine doesn't refresh by itself either. I need to do the install procedure again aswell. The 502 errors I keep getting too. The only way to refresh the info is when I use the vendor app, but can't send any action with psa car controller. Also I see 300 errors, but I don't know what these mean.

Edit: I might sound negative, but this app actually works better than the vendor app. It is just a terrible api psa is providing.

JaySea77 avatar Jun 08 '24 11:06 JaySea77

In fact it refreshes, just some times I get this rate error

Apollon77 avatar Jun 11 '24 07:06 Apollon77

I am getting same error, and (not sure if it is related) I can only get charge info in the dashboard of the app. Do not get trip info, or map data...

2024-06-25 07:52:51,788 :: INFO :: charging status of VR1UJxxxxxxxxxxx is InProgress, battery level: 63 2024-06-25 07:52:51,789 :: ERROR :: force_update: Traceback (most recent call last): File "/usr/local/lib/python3.9/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.9/dist-packages/psa_car_controller/common/utils.py", line 23, in wrapper raise RateLimitException psa_car_controller.common.utils.RateLimitException

larronni avatar Jun 25 '24 05:06 larronni

i m like this this 3 days. DS app cannot get data and API neither. RateLimitException

bueno79 avatar Aug 12 '24 12:08 bueno79

Hello,

Same issue since 2 days. I thinks we need reduce request.

okp90 avatar Aug 17 '24 07:08 okp90