mirror of
https://github.com/home-assistant/core.git
synced 2025-07-09 14:27:07 +00:00
Change lamarzocco general update frequency (#143417)
This commit is contained in:
parent
0b64151ae0
commit
def11f9959
@ -19,7 +19,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
|
|||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
SCAN_INTERVAL = timedelta(seconds=30)
|
SCAN_INTERVAL = timedelta(seconds=15)
|
||||||
SETTINGS_UPDATE_INTERVAL = timedelta(hours=1)
|
SETTINGS_UPDATE_INTERVAL = timedelta(hours=1)
|
||||||
SCHEDULE_UPDATE_INTERVAL = timedelta(minutes=5)
|
SCHEDULE_UPDATE_INTERVAL = timedelta(minutes=5)
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@ -82,9 +82,14 @@ class LaMarzoccoUpdateCoordinator(DataUpdateCoordinator[None]):
|
|||||||
class LaMarzoccoConfigUpdateCoordinator(LaMarzoccoUpdateCoordinator):
|
class LaMarzoccoConfigUpdateCoordinator(LaMarzoccoUpdateCoordinator):
|
||||||
"""Class to handle fetching data from the La Marzocco API centrally."""
|
"""Class to handle fetching data from the La Marzocco API centrally."""
|
||||||
|
|
||||||
async def _async_connect_websocket(self) -> None:
|
async def _internal_async_update_data(self) -> None:
|
||||||
"""Set up the coordinator."""
|
"""Fetch data from API endpoint."""
|
||||||
if not self.device.websocket.connected:
|
|
||||||
|
if self.device.websocket.connected:
|
||||||
|
return
|
||||||
|
await self.device.get_dashboard()
|
||||||
|
_LOGGER.debug("Current status: %s", self.device.dashboard.to_dict())
|
||||||
|
|
||||||
_LOGGER.debug("Init WebSocket in background task")
|
_LOGGER.debug("Init WebSocket in background task")
|
||||||
|
|
||||||
self.config_entry.async_create_background_task(
|
self.config_entry.async_create_background_task(
|
||||||
@ -100,18 +105,10 @@ class LaMarzoccoConfigUpdateCoordinator(LaMarzoccoUpdateCoordinator):
|
|||||||
await self.device.websocket.disconnect()
|
await self.device.websocket.disconnect()
|
||||||
|
|
||||||
self.config_entry.async_on_unload(
|
self.config_entry.async_on_unload(
|
||||||
self.hass.bus.async_listen_once(
|
self.hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, websocket_close)
|
||||||
EVENT_HOMEASSISTANT_STOP, websocket_close
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
self.config_entry.async_on_unload(websocket_close)
|
self.config_entry.async_on_unload(websocket_close)
|
||||||
|
|
||||||
async def _internal_async_update_data(self) -> None:
|
|
||||||
"""Fetch data from API endpoint."""
|
|
||||||
await self.device.get_dashboard()
|
|
||||||
_LOGGER.debug("Current status: %s", self.device.dashboard.to_dict())
|
|
||||||
await self._async_connect_websocket()
|
|
||||||
|
|
||||||
|
|
||||||
class LaMarzoccoSettingsUpdateCoordinator(LaMarzoccoUpdateCoordinator):
|
class LaMarzoccoSettingsUpdateCoordinator(LaMarzoccoUpdateCoordinator):
|
||||||
"""Coordinator for La Marzocco settings."""
|
"""Coordinator for La Marzocco settings."""
|
||||||
|
@ -65,6 +65,7 @@ async def test_sensor_going_unavailable(
|
|||||||
assert state
|
assert state
|
||||||
assert state.state != STATE_UNAVAILABLE
|
assert state.state != STATE_UNAVAILABLE
|
||||||
|
|
||||||
|
mock_lamarzocco.websocket.connected = False
|
||||||
mock_lamarzocco.get_dashboard.side_effect = RequestNotSuccessful("")
|
mock_lamarzocco.get_dashboard.side_effect = RequestNotSuccessful("")
|
||||||
freezer.tick(timedelta(minutes=10))
|
freezer.tick(timedelta(minutes=10))
|
||||||
async_fire_time_changed(hass)
|
async_fire_time_changed(hass)
|
||||||
|
@ -53,6 +53,7 @@ async def test_config_entry_not_ready(
|
|||||||
mock_lamarzocco: MagicMock,
|
mock_lamarzocco: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test the La Marzocco configuration entry not ready."""
|
"""Test the La Marzocco configuration entry not ready."""
|
||||||
|
mock_lamarzocco.websocket.connected = False
|
||||||
mock_lamarzocco.get_dashboard.side_effect = RequestNotSuccessful("")
|
mock_lamarzocco.get_dashboard.side_effect = RequestNotSuccessful("")
|
||||||
|
|
||||||
await async_init_integration(hass, mock_config_entry)
|
await async_init_integration(hass, mock_config_entry)
|
||||||
@ -90,6 +91,7 @@ async def test_invalid_auth(
|
|||||||
mock_lamarzocco: MagicMock,
|
mock_lamarzocco: MagicMock,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test auth error during setup."""
|
"""Test auth error during setup."""
|
||||||
|
mock_lamarzocco.websocket.connected = False
|
||||||
mock_lamarzocco.get_dashboard.side_effect = AuthFail("")
|
mock_lamarzocco.get_dashboard.side_effect = AuthFail("")
|
||||||
await async_init_integration(hass, mock_config_entry)
|
await async_init_integration(hass, mock_config_entry)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user