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__)
MAX_WS_RECONNECT_TIME = 600
SCAN_INTERVAL = timedelta(minutes=8)
class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttributes]]):
@ -29,7 +30,7 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttrib
hass,
_LOGGER,
name=DOMAIN,
update_interval=timedelta(minutes=5),
update_interval=SCAN_INTERVAL,
)
self.api = api

View File

@ -1,6 +1,5 @@
"""Tests for binary sensor platform."""
from datetime import timedelta
from unittest.mock import AsyncMock, patch
from aioautomower.model import MowerActivities
@ -9,6 +8,7 @@ from freezegun.api import FrozenDateTimeFactory
from syrupy import SnapshotAssertion
from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
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
mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5))
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
state = hass.states.get(f"binary_sensor.{entity}")

View File

@ -1,6 +1,5 @@
"""Tests for lawn_mower module."""
from datetime import timedelta
from unittest.mock import AsyncMock
from aioautomower.exceptions import ApiException
@ -9,6 +8,7 @@ from freezegun.api import FrozenDateTimeFactory
import pytest
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.core import HomeAssistant
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.state = state
mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5))
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
state = hass.states.get("lawn_mower.test_mower_1")

View File

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

View File

@ -1,6 +1,5 @@
"""Tests for sensor platform."""
from datetime import timedelta
from unittest.mock import AsyncMock, patch
from aioautomower.model import MowerModes
@ -10,6 +9,7 @@ import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.husqvarna_automower.const import DOMAIN
from homeassistant.components.husqvarna_automower.coordinator import SCAN_INTERVAL
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
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
mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5))
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
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
mock_automower_client.get_status.return_value = values
freezer.tick(timedelta(minutes=5))
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
state = hass.states.get("sensor.test_mower_1_error")

View File

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