diff --git a/homeassistant/components/iotawatt/coordinator.py b/homeassistant/components/iotawatt/coordinator.py index 46a0ac81d90..6c97fc99169 100644 --- a/homeassistant/components/iotawatt/coordinator.py +++ b/homeassistant/components/iotawatt/coordinator.py @@ -10,12 +10,16 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME from homeassistant.core import HomeAssistant from homeassistant.helpers import httpx_client +from homeassistant.helpers.debounce import Debouncer from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from .const import CONNECTION_ERRORS _LOGGER = logging.getLogger(__name__) +# Matches iotwatt data log interval +REQUEST_REFRESH_DEFAULT_COOLDOWN = 5 + class IotawattUpdater(DataUpdateCoordinator): """Class to manage fetching update data from the IoTaWatt Energy Device.""" @@ -30,6 +34,12 @@ class IotawattUpdater(DataUpdateCoordinator): logger=_LOGGER, name=entry.title, update_interval=timedelta(seconds=30), + request_refresh_debouncer=Debouncer( + hass, + _LOGGER, + cooldown=REQUEST_REFRESH_DEFAULT_COOLDOWN, + immediate=True, + ), ) self._last_run: datetime | None = None