Change scan interval for Husqvarna Automower (#115225)

* Change scan interval for Husqvarna Automower

* Also use const
This commit is contained in:
Thomas55555 2024-04-08 20:22:09 +02:00 committed by GitHub
parent fc1ebdaaa3
commit 017b2fe685
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 13 additions and 12 deletions

View File

@ -16,6 +16,7 @@ from .const import DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
MAX_WS_RECONNECT_TIME = 600 MAX_WS_RECONNECT_TIME = 600
SCAN_INTERVAL = timedelta(minutes=8)
class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttributes]]): class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttributes]]):
@ -29,7 +30,7 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttrib
hass, hass,
_LOGGER, _LOGGER,
name=DOMAIN, name=DOMAIN,
update_interval=timedelta(minutes=5), update_interval=SCAN_INTERVAL,
) )
self.api = api self.api = api

View File

@ -1,6 +1,5 @@
"""Tests for binary sensor platform.""" """Tests for binary sensor platform."""
from datetime import timedelta
from unittest.mock import AsyncMock, patch from unittest.mock import AsyncMock, patch
from aioautomower.model import MowerActivities from aioautomower.model import MowerActivities
@ -9,6 +8,7 @@ from freezegun.api import FrozenDateTimeFactory
from syrupy import SnapshotAssertion from syrupy import SnapshotAssertion
from homeassistant.components.husqvarna_automower.const import DOMAIN from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
@ -51,7 +51,7 @@ async def test_binary_sensor_states(
]: ]:
values[TEST_MOWER_ID].mower.activity = activity values[TEST_MOWER_ID].mower.activity = activity
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get(f"binary_sensor.{entity}") state = hass.states.get(f"binary_sensor.{entity}")

View File

@ -1,6 +1,5 @@
"""Tests for lawn_mower module.""" """Tests for lawn_mower module."""
from datetime import timedelta
from unittest.mock import AsyncMock from unittest.mock import AsyncMock
from aioautomower.exceptions import ApiException from aioautomower.exceptions import ApiException
@ -9,6 +8,7 @@ from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components.husqvarna_automower.const import DOMAIN from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.components.lawn_mower import LawnMowerActivity from homeassistant.components.lawn_mower import LawnMowerActivity
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
@ -46,7 +46,7 @@ async def test_lawn_mower_states(
values[TEST_MOWER_ID].mower.activity = activity values[TEST_MOWER_ID].mower.activity = activity
values[TEST_MOWER_ID].mower.state = state values[TEST_MOWER_ID].mower.state = state
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("lawn_mower.test_mower_1") state = hass.states.get("lawn_mower.test_mower_1")

View File

@ -1,6 +1,5 @@
"""Tests for select platform.""" """Tests for select platform."""
from datetime import timedelta
from unittest.mock import AsyncMock from unittest.mock import AsyncMock
from aioautomower.exceptions import ApiException from aioautomower.exceptions import ApiException
@ -10,6 +9,7 @@ from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components.husqvarna_automower.const import DOMAIN from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
@ -48,7 +48,7 @@ async def test_select_states(
]: ]:
values[TEST_MOWER_ID].headlight.mode = state values[TEST_MOWER_ID].headlight.mode = state
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("select.test_mower_1_headlight_mode") state = hass.states.get("select.test_mower_1_headlight_mode")

View File

@ -1,6 +1,5 @@
"""Tests for sensor platform.""" """Tests for sensor platform."""
from datetime import timedelta
from unittest.mock import AsyncMock, patch from unittest.mock import AsyncMock, patch
from aioautomower.model import MowerModes from aioautomower.model import MowerModes
@ -10,6 +9,7 @@ import pytest
from syrupy import SnapshotAssertion from syrupy import SnapshotAssertion
from homeassistant.components.husqvarna_automower.const import DOMAIN from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
@ -41,7 +41,7 @@ async def test_sensor_unknown_states(
values[TEST_MOWER_ID].mower.mode = MowerModes.UNKNOWN values[TEST_MOWER_ID].mower.mode = MowerModes.UNKNOWN
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("sensor.test_mower_1_mode") state = hass.states.get("sensor.test_mower_1_mode")
@ -112,7 +112,7 @@ async def test_error_sensor(
]: ]:
values[TEST_MOWER_ID].mower.error_key = state values[TEST_MOWER_ID].mower.error_key = state
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("sensor.test_mower_1_error") state = hass.states.get("sensor.test_mower_1_error")

View File

@ -1,6 +1,5 @@
"""Tests for switch platform.""" """Tests for switch platform."""
from datetime import timedelta
from unittest.mock import AsyncMock, patch from unittest.mock import AsyncMock, patch
from aioautomower.exceptions import ApiException from aioautomower.exceptions import ApiException
@ -11,6 +10,7 @@ import pytest
from syrupy import SnapshotAssertion from syrupy import SnapshotAssertion
from homeassistant.components.husqvarna_automower.const import DOMAIN from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
@ -45,7 +45,7 @@ async def test_switch_states(
values[TEST_MOWER_ID].mower.state = state values[TEST_MOWER_ID].mower.state = state
values[TEST_MOWER_ID].planner.restricted_reason = restricted_reson values[TEST_MOWER_ID].planner.restricted_reason = restricted_reson
mock_automower_client.get_status.return_value = values mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5)) freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass) async_fire_time_changed(hass)
await hass.async_block_till_done() await hass.async_block_till_done()
state = hass.states.get("switch.test_mower_1_enable_schedule") state = hass.states.get("switch.test_mower_1_enable_schedule")