forked from home-assistant/core
Bump aioautomower to 2024.3.3 (#113430)
This commit is contained in:
committed by
Paulus Schoutsen
parent
8b00229868
commit
a167b0acaf
@@ -7,5 +7,5 @@
|
|||||||
"documentation": "https://www.home-assistant.io/integrations/husqvarna_automower",
|
"documentation": "https://www.home-assistant.io/integrations/husqvarna_automower",
|
||||||
"iot_class": "cloud_push",
|
"iot_class": "cloud_push",
|
||||||
"loggers": ["aioautomower"],
|
"loggers": ["aioautomower"],
|
||||||
"requirements": ["aioautomower==2024.3.2"]
|
"requirements": ["aioautomower==2024.3.3"]
|
||||||
}
|
}
|
||||||
|
@@ -69,6 +69,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.DURATION,
|
device_class=SensorDeviceClass.DURATION,
|
||||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
||||||
|
exists_fn=lambda data: data.statistics.total_charging_time is not None,
|
||||||
value_fn=lambda data: data.statistics.total_charging_time,
|
value_fn=lambda data: data.statistics.total_charging_time,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -79,6 +80,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.DURATION,
|
device_class=SensorDeviceClass.DURATION,
|
||||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
||||||
|
exists_fn=lambda data: data.statistics.total_cutting_time is not None,
|
||||||
value_fn=lambda data: data.statistics.total_cutting_time,
|
value_fn=lambda data: data.statistics.total_cutting_time,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -89,6 +91,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.DURATION,
|
device_class=SensorDeviceClass.DURATION,
|
||||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
||||||
|
exists_fn=lambda data: data.statistics.total_running_time is not None,
|
||||||
value_fn=lambda data: data.statistics.total_running_time,
|
value_fn=lambda data: data.statistics.total_running_time,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -99,6 +102,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.DURATION,
|
device_class=SensorDeviceClass.DURATION,
|
||||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||||
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
suggested_unit_of_measurement=UnitOfTime.HOURS,
|
||||||
|
exists_fn=lambda data: data.statistics.total_searching_time is not None,
|
||||||
value_fn=lambda data: data.statistics.total_searching_time,
|
value_fn=lambda data: data.statistics.total_searching_time,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -107,6 +111,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
icon="mdi:battery-sync-outline",
|
icon="mdi:battery-sync-outline",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
state_class=SensorStateClass.TOTAL,
|
state_class=SensorStateClass.TOTAL,
|
||||||
|
exists_fn=lambda data: data.statistics.number_of_charging_cycles is not None,
|
||||||
value_fn=lambda data: data.statistics.number_of_charging_cycles,
|
value_fn=lambda data: data.statistics.number_of_charging_cycles,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -115,6 +120,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
icon="mdi:counter",
|
icon="mdi:counter",
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
state_class=SensorStateClass.TOTAL,
|
state_class=SensorStateClass.TOTAL,
|
||||||
|
exists_fn=lambda data: data.statistics.number_of_collisions is not None,
|
||||||
value_fn=lambda data: data.statistics.number_of_collisions,
|
value_fn=lambda data: data.statistics.number_of_collisions,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
@@ -125,6 +131,7 @@ SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.DISTANCE,
|
device_class=SensorDeviceClass.DISTANCE,
|
||||||
native_unit_of_measurement=UnitOfLength.METERS,
|
native_unit_of_measurement=UnitOfLength.METERS,
|
||||||
suggested_unit_of_measurement=UnitOfLength.KILOMETERS,
|
suggested_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||||
|
exists_fn=lambda data: data.statistics.total_drive_distance is not None,
|
||||||
value_fn=lambda data: data.statistics.total_drive_distance,
|
value_fn=lambda data: data.statistics.total_drive_distance,
|
||||||
),
|
),
|
||||||
AutomowerSensorEntityDescription(
|
AutomowerSensorEntityDescription(
|
||||||
|
@@ -206,7 +206,7 @@ aioaseko==0.0.2
|
|||||||
aioasuswrt==1.4.0
|
aioasuswrt==1.4.0
|
||||||
|
|
||||||
# homeassistant.components.husqvarna_automower
|
# homeassistant.components.husqvarna_automower
|
||||||
aioautomower==2024.3.2
|
aioautomower==2024.3.3
|
||||||
|
|
||||||
# homeassistant.components.azure_devops
|
# homeassistant.components.azure_devops
|
||||||
aioazuredevops==1.3.5
|
aioazuredevops==1.3.5
|
||||||
|
@@ -185,7 +185,7 @@ aioaseko==0.0.2
|
|||||||
aioasuswrt==1.4.0
|
aioasuswrt==1.4.0
|
||||||
|
|
||||||
# homeassistant.components.husqvarna_automower
|
# homeassistant.components.husqvarna_automower
|
||||||
aioautomower==2024.3.2
|
aioautomower==2024.3.3
|
||||||
|
|
||||||
# homeassistant.components.azure_devops
|
# homeassistant.components.azure_devops
|
||||||
aioazuredevops==1.3.5
|
aioazuredevops==1.3.5
|
||||||
|
@@ -5,6 +5,7 @@ from unittest.mock import AsyncMock, patch
|
|||||||
from aioautomower.model import MowerModes
|
from aioautomower.model import MowerModes
|
||||||
from aioautomower.utils import mower_list_to_dictionary_dataclass
|
from aioautomower.utils import mower_list_to_dictionary_dataclass
|
||||||
from freezegun.api import FrozenDateTimeFactory
|
from freezegun.api import FrozenDateTimeFactory
|
||||||
|
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
|
||||||
@@ -59,17 +60,36 @@ async def test_cutting_blade_usage_time_sensor(
|
|||||||
assert state is not None
|
assert state is not None
|
||||||
assert state.state == "0.034"
|
assert state.state == "0.034"
|
||||||
|
|
||||||
entry = hass.config_entries.async_entries(DOMAIN)[0]
|
|
||||||
await hass.config_entries.async_remove(entry.entry_id)
|
@pytest.mark.parametrize(
|
||||||
await hass.async_block_till_done()
|
("sensor_to_test"),
|
||||||
|
[
|
||||||
|
("cutting_blade_usage_time"),
|
||||||
|
("number_of_charging_cycles"),
|
||||||
|
("number_of_collisions"),
|
||||||
|
("total_charging_time"),
|
||||||
|
("total_cutting_time"),
|
||||||
|
("total_running_time"),
|
||||||
|
("total_searching_time"),
|
||||||
|
("total_drive_distance"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
async def test_statistics_not_available(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
mock_automower_client: AsyncMock,
|
||||||
|
mock_config_entry: MockConfigEntry,
|
||||||
|
sensor_to_test: str,
|
||||||
|
) -> None:
|
||||||
|
"""Test if this sensor is only added, if data is available."""
|
||||||
|
|
||||||
values = mower_list_to_dictionary_dataclass(
|
values = mower_list_to_dictionary_dataclass(
|
||||||
load_json_value_fixture("mower.json", DOMAIN)
|
load_json_value_fixture("mower.json", DOMAIN)
|
||||||
)
|
)
|
||||||
|
|
||||||
delattr(values[TEST_MOWER_ID].statistics, "cutting_blade_usage_time")
|
delattr(values[TEST_MOWER_ID].statistics, sensor_to_test)
|
||||||
mock_automower_client.get_status.return_value = values
|
mock_automower_client.get_status.return_value = values
|
||||||
await setup_integration(hass, mock_config_entry)
|
await setup_integration(hass, mock_config_entry)
|
||||||
state = hass.states.get("sensor.test_mower_1_cutting_blade_usage_time")
|
state = hass.states.get(f"sensor.test_mower_1_{sensor_to_test}")
|
||||||
assert state is None
|
assert state is None
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user