Bump aioautomower to 2025.1.1 (#136365)

This commit is contained in:
Thomas55555 2025-01-24 09:38:38 +01:00 committed by GitHub
parent f3074dc218
commit 5a30156372
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 36 additions and 36 deletions

View File

@ -9,10 +9,10 @@ import logging
from typing import TYPE_CHECKING
from aioautomower.exceptions import (
ApiException,
AuthException,
ApiError,
AuthError,
HusqvarnaTimeoutError,
HusqvarnaWSServerHandshakeError,
TimeoutException,
)
from aioautomower.model import MowerAttributes
from aioautomower.session import AutomowerSession
@ -64,9 +64,9 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttrib
self.ws_connected = True
try:
data = await self.api.get_status()
except ApiException as err:
except ApiError as err:
raise UpdateFailed(err) from err
except AuthException as err:
except AuthError as err:
raise ConfigEntryAuthFailed(err) from err
self._async_add_remove_devices(data)
@ -100,7 +100,7 @@ class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttrib
"Failed to connect to websocket. Trying to reconnect: %s",
err,
)
except TimeoutException as err:
except HusqvarnaTimeoutError as err:
_LOGGER.debug(
"Failed to listen to websocket. Trying to reconnect: %s",
err,

View File

@ -8,7 +8,7 @@ import functools
import logging
from typing import TYPE_CHECKING, Any, Concatenate
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import MowerActivities, MowerAttributes, MowerStates, WorkArea
from homeassistant.core import callback
@ -67,7 +67,7 @@ def handle_sending_exception[_Entity: AutomowerBaseEntity, **_P](
async def wrapper(self: _Entity, *args: _P.args, **kwargs: _P.kwargs) -> None:
try:
await func(self, *args, **kwargs)
except ApiException as exception:
except ApiError as exception:
raise HomeAssistantError(
translation_domain=DOMAIN,
translation_key="command_send_failed",

View File

@ -8,5 +8,5 @@
"iot_class": "cloud_push",
"loggers": ["aioautomower"],
"quality_scale": "silver",
"requirements": ["aioautomower==2025.1.0"]
"requirements": ["aioautomower==2025.1.1"]
}

View File

@ -165,14 +165,14 @@ class StayOutZoneSwitchEntity(AutomowerControlEntity, SwitchEntity):
async def async_turn_off(self, **kwargs: Any) -> None:
"""Turn the switch off."""
await self.coordinator.api.commands.switch_stay_out_zone(
self.mower_id, self.stay_out_zone_uid, False
self.mower_id, self.stay_out_zone_uid, switch=False
)
@handle_sending_exception(poll_after_sending=True)
async def async_turn_on(self, **kwargs: Any) -> None:
"""Turn the switch on."""
await self.coordinator.api.commands.switch_stay_out_zone(
self.mower_id, self.stay_out_zone_uid, True
self.mower_id, self.stay_out_zone_uid, switch=True
)

2
requirements_all.txt generated
View File

@ -201,7 +201,7 @@ aioaseko==1.0.0
aioasuswrt==1.4.0
# homeassistant.components.husqvarna_automower
aioautomower==2025.1.0
aioautomower==2025.1.1
# homeassistant.components.azure_devops
aioazuredevops==2.2.1

View File

@ -189,7 +189,7 @@ aioaseko==1.0.0
aioasuswrt==1.4.0
# homeassistant.components.husqvarna_automower
aioautomower==2025.1.0
aioautomower==2025.1.1
# homeassistant.components.azure_devops
aioazuredevops==2.2.1

View File

@ -3,7 +3,7 @@
import datetime
from unittest.mock import AsyncMock, patch
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import MowerAttributes
from freezegun.api import FrozenDateTimeFactory
import pytest
@ -69,7 +69,7 @@ async def test_button_states_and_commands(
await hass.async_block_till_done()
state = hass.states.get(entity_id)
assert state.state == "2023-06-05T00:16:00+00:00"
getattr(mock_automower_client.commands, "error_confirm").side_effect = ApiException(
getattr(mock_automower_client.commands, "error_confirm").side_effect = ApiError(
"Test error"
)
with pytest.raises(
@ -111,7 +111,7 @@ async def test_sync_clock(
await hass.async_block_till_done()
state = hass.states.get(entity_id)
assert state.state == "2024-02-29T11:00:00+00:00"
mock_automower_client.commands.set_datetime.side_effect = ApiException("Test error")
mock_automower_client.commands.set_datetime.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",

View File

@ -7,10 +7,10 @@ import time
from unittest.mock import AsyncMock, patch
from aioautomower.exceptions import (
ApiException,
AuthException,
ApiError,
AuthError,
HusqvarnaTimeoutError,
HusqvarnaWSServerHandshakeError,
TimeoutException,
)
from aioautomower.model import MowerAttributes, WorkArea
from freezegun.api import FrozenDateTimeFactory
@ -111,8 +111,8 @@ async def test_expired_token_refresh_failure(
@pytest.mark.parametrize(
("exception", "entry_state"),
[
(ApiException, ConfigEntryState.SETUP_RETRY),
(AuthException, ConfigEntryState.SETUP_ERROR),
(ApiError, ConfigEntryState.SETUP_RETRY),
(AuthError, ConfigEntryState.SETUP_ERROR),
],
)
async def test_update_failed(
@ -142,7 +142,7 @@ async def test_update_failed(
),
(
["start_listening"],
TimeoutException,
HusqvarnaTimeoutError,
"Failed to listen to websocket.",
),
],

View File

@ -3,7 +3,7 @@
from datetime import timedelta
from unittest.mock import AsyncMock
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import MowerActivities, MowerAttributes, MowerStates
from freezegun.api import FrozenDateTimeFactory
import pytest
@ -82,7 +82,7 @@ async def test_lawn_mower_commands(
getattr(
mock_automower_client.commands, aioautomower_command
).side_effect = ApiException("Test error")
).side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",
@ -142,7 +142,7 @@ async def test_lawn_mower_service_commands(
getattr(
mock_automower_client.commands, aioautomower_command
).side_effect = ApiException("Test error")
).side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",
@ -196,7 +196,7 @@ async def test_lawn_mower_override_work_area_command(
getattr(
mock_automower_client.commands, aioautomower_command
).side_effect = ApiException("Test error")
).side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",

View File

@ -3,7 +3,7 @@
from datetime import timedelta
from unittest.mock import AsyncMock, patch
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import MowerAttributes
from freezegun.api import FrozenDateTimeFactory
import pytest
@ -40,7 +40,7 @@ async def test_number_commands(
mocked_method = mock_automower_client.commands.set_cutting_height
mocked_method.assert_called_once_with(TEST_MOWER_ID, 3)
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",
@ -84,7 +84,7 @@ async def test_number_workarea_commands(
assert state.state is not None
assert state.state == "75"
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",

View File

@ -2,7 +2,7 @@
from unittest.mock import AsyncMock
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import HeadlightModes, MowerAttributes
from freezegun.api import FrozenDateTimeFactory
import pytest
@ -77,7 +77,7 @@ async def test_select_commands(
mocked_method.assert_called_once_with(TEST_MOWER_ID, service.upper())
assert len(mocked_method.mock_calls) == 1
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",

View File

@ -4,7 +4,7 @@ from datetime import timedelta
from unittest.mock import AsyncMock, patch
import zoneinfo
from aioautomower.exceptions import ApiException
from aioautomower.exceptions import ApiError
from aioautomower.model import MowerAttributes, MowerModes, Zone
from aioautomower.utils import mower_list_to_dictionary_dataclass
from freezegun.api import FrozenDateTimeFactory
@ -92,7 +92,7 @@ async def test_switch_commands(
mocked_method = getattr(mock_automower_client.commands, aioautomower_command)
mocked_method.assert_called_once_with(TEST_MOWER_ID)
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",
@ -144,12 +144,12 @@ async def test_stay_out_zone_switch_commands(
freezer.tick(timedelta(seconds=EXECUTION_TIME_DELAY))
async_fire_time_changed(hass)
await hass.async_block_till_done()
mocked_method.assert_called_once_with(TEST_MOWER_ID, TEST_ZONE_ID, boolean)
mocked_method.assert_called_once_with(TEST_MOWER_ID, TEST_ZONE_ID, switch=boolean)
state = hass.states.get(entity_id)
assert state is not None
assert state.state == excepted_state
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",
@ -207,7 +207,7 @@ async def test_work_area_switch_commands(
assert state is not None
assert state.state == excepted_state
mocked_method.side_effect = ApiException("Test error")
mocked_method.side_effect = ApiError("Test error")
with pytest.raises(
HomeAssistantError,
match="Failed to send command: Test error",