For Hyundai 2020-Kona, EU/Germany, using modified version of monitor R4.10.0.
Running the monitor infinitely (interval: 30 minutes, max force sync 15) within a docker container.
Whenever the local handling of the data having received results in an error, at least in infinite running mode, this leads to an as-fast-as-possible-retry loop including repeated login to the servers and fetching vehicles (status). Until the request limit is exceeded.
Afterwards the nominal error handling steps in with (in my case) trying 2 times to reach out for the servers (original impl: 15x), with 1 minute sleeping in between, until giving up and sleeping for the configured time until running again.
In short this is what happened to me (this time with having mis-configured the monitor wrt mqtt), everything for today, 27.10.2025:
- 01:01:40 start of monitor, checking for changes every 30 minutes
- 06:01:43 1st change was detected.
- The monitor tries to send the change to mqtt and fails, immediately re-tries this with the need to login, detects the same change again, fails again to send to mqtt, ... (each roundtrip ~7-10 seconds)
- ... this repeats in total until 06:17:01. Then an ODO change is detected, resulting in modified loop with additionally triggering a forced sync before "writing the new csv" (in fact it seems to1st send to mqtt and fail there, as the csv file does never change). Each roundtrip now takes ~30s
- Until 07:02:41, then the allowed number of requests was exceeded
- this stops the loop before and starts a low frequent new one: wait one minute, then try again with same outcome (with original implementation this would repeat another 13 times), then stop and record the iteration as a failed one:
error count: 1
- then the next 2 iterations, each time after ~30 minutes waiting, until 08:02:41, the vehicle is checked without identifying a change, nor failing
- repeat steps 6, but only once (08:24:37 until 08:25:42)
- since then monitor checks again for changes without detecting any, nor failing again (08:54:37 until 16:24:38, on-going)
Some weeks ago already similar was triggered as reported by #84, different cause, same symptoms wrt requests exceeded that day.
I tried hard, but yet I still understand all of the variants of behaviour of this. But for sure there is a critical problem on proper error handling
local errors while handling the data must not trigger for fetching the data again, nor lead to request-limit-exceeded
(this issue is NOT about solving the local data handling problem - last time file encoding, this time mqtt, next time maybe e.g. filesystem full - different stories)
Here are 2 logs (private data redacted) that I captured:
- the logging (output to console) of
monitor.py. This shows one of my modifications: a DEBUG output on each iteration within the loop inside handle_vehicles, showing the login parameter and current retries: bug89-monitor.log
- A trace of most http(s) requests by the api impl towards hyundai and openstreetmap servers (I have available also the POST bodies and response texts if some detail is needed additionally, but no headers) - this is another modification that I implemented for other reasons, but that I consider of possibly being of help here, too. This trace misses the
_get_cookies requests as they use a dedicated session, that I miss to copy the nominal session's hooks to, yet: bug89-requests.log
For Hyundai 2020-Kona, EU/Germany, using modified version of monitor R4.10.0.
Running the monitor infinitely (interval: 30 minutes, max force sync 15) within a docker container.
Whenever the local handling of the data having received results in an error, at least in infinite running mode, this leads to an as-fast-as-possible-retry loop including repeated login to the servers and fetching vehicles (status). Until the request limit is exceeded.
Afterwards the nominal error handling steps in with (in my case) trying 2 times to reach out for the servers (original impl: 15x), with 1 minute sleeping in between, until giving up and sleeping for the configured time until running again.
In short this is what happened to me (this time with having mis-configured the monitor wrt mqtt), everything for today, 27.10.2025:
error count: 1Some weeks ago already similar was triggered as reported by #84, different cause, same symptoms wrt requests exceeded that day.
I tried hard, but yet I still understand all of the variants of behaviour of this. But for sure there is a critical problem on proper error handling
local errors while handling the data must not trigger for fetching the data again, nor lead to request-limit-exceeded
(this issue is NOT about solving the local data handling problem - last time file encoding, this time mqtt, next time maybe e.g. filesystem full - different stories)
Here are 2 logs (private data redacted) that I captured:
monitor.py. This shows one of my modifications: a DEBUG output on each iteration within the loop insidehandle_vehicles, showing theloginparameter and currentretries: bug89-monitor.log_get_cookiesrequests as they use a dedicated session, that I miss to copy the nominal session's hooks to, yet: bug89-requests.log