Configurable retries or exponential backoff for Watchdog to avoid "Rate limit exceeded, more than 10 calls in 0:30:00"

Hi,
At the moment, the watchdog’s retry interval and max retry parameters are hardcoded.

WATCHDOG_THROTTLE_PERIOD = timedelta(minutes=30)
WATCHDOG_THROTTLE_MAX_CALLS = 10

Some addons may hit this limit very easily. I disconnected my Zigbee coordinator for 30 seconds and Zigbee2MQTT never restarted on its own, logs showed:

2025-05-29 14:15:20.969 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-93912' coro=<Addon.watchdog_container() done, defined at /usr/src/supervisor/supervisor/addons/addon.py:1586> exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')>
Traceback (most recent call last):
  File "/usr/src/supervisor/supervisor/addons/addon.py", line 1600, in watchdog_container
    await self._restart_after_problem(event.state)
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 291, in wrapper
    raise on_condition(
        f"Rate limit exceeded, more than {self.throttle_max_calls} calls in {self.throttle_period(group_name)}",
    )
supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00

Would it be possible to make these values configurable please? Alternatively, could you implement exponential backoff?

This feature had already been requested here but maybe that was not the right place.

You know you can vote for your own FR?

Specifically for Z2MQTT, this is already possible and you can configure it yourself from the Addon settings by selecting “Show unused optional configuration options”

The Documentation tab of the Addon even shows you how to set it up if you need to bypass the defaults:

Feature Request implemented, I guess.