mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Change scan interval for Husqvarna Automower (#115225)
* Change scan interval for Husqvarna Automower * Also use const
This commit is contained in:
parent
fc1ebdaaa3
commit
017b2fe685
@ -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
|
||||||
|
|
||||||
|
@ -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}")
|
||||||
|
@ -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")
|
||||||
|
@ -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")
|
||||||
|
@ -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")
|
||||||
|
@ -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")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user