Bump airOS to 0.5.1 (#151458)

This commit is contained in:
Tom
2025-09-01 10:40:09 +02:00
committed by GitHub
parent 671c4e1eab
commit bdfff6df2d
10 changed files with 23 additions and 23 deletions

View File

@@ -2,7 +2,7 @@
from __future__ import annotations
from airos.airos8 import AirOS
from airos.airos8 import AirOS8
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME, Platform
from homeassistant.core import HomeAssistant
@@ -23,7 +23,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> boo
# with no option in the web UI to change or upload a custom certificate.
session = async_get_clientsession(hass, verify_ssl=False)
airos_device = AirOS(
airos_device = AirOS8(
host=entry.data[CONF_HOST],
username=entry.data[CONF_USERNAME],
password=entry.data[CONF_PASSWORD],

View File

@@ -15,7 +15,7 @@ from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .coordinator import AirOSConfigEntry, AirOSData, AirOSDataUpdateCoordinator
from .coordinator import AirOS8Data, AirOSConfigEntry, AirOSDataUpdateCoordinator
from .entity import AirOSEntity
_LOGGER = logging.getLogger(__name__)
@@ -27,7 +27,7 @@ PARALLEL_UPDATES = 0
class AirOSBinarySensorEntityDescription(BinarySensorEntityDescription):
"""Describe an AirOS binary sensor."""
value_fn: Callable[[AirOSData], bool]
value_fn: Callable[[AirOS8Data], bool]
BINARY_SENSORS: tuple[AirOSBinarySensorEntityDescription, ...] = (

View File

@@ -19,7 +19,7 @@ from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN
from .coordinator import AirOS
from .coordinator import AirOS8
_LOGGER = logging.getLogger(__name__)
@@ -48,7 +48,7 @@ class AirOSConfigFlow(ConfigFlow, domain=DOMAIN):
# with no option in the web UI to change or upload a custom certificate.
session = async_get_clientsession(self.hass, verify_ssl=False)
airos_device = AirOS(
airos_device = AirOS8(
host=user_input[CONF_HOST],
username=user_input[CONF_USERNAME],
password=user_input[CONF_PASSWORD],

View File

@@ -4,7 +4,7 @@ from __future__ import annotations
import logging
from airos.airos8 import AirOS, AirOSData
from airos.airos8 import AirOS8, AirOS8Data
from airos.exceptions import (
AirOSConnectionAuthenticationError,
AirOSConnectionSetupError,
@@ -24,13 +24,13 @@ _LOGGER = logging.getLogger(__name__)
type AirOSConfigEntry = ConfigEntry[AirOSDataUpdateCoordinator]
class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOSData]):
class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOS8Data]):
"""Class to manage fetching AirOS data from single endpoint."""
config_entry: AirOSConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device: AirOS
self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device: AirOS8
) -> None:
"""Initialize the coordinator."""
self.airos_device = airos_device
@@ -42,7 +42,7 @@ class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOSData]):
update_interval=SCAN_INTERVAL,
)
async def _async_update_data(self) -> AirOSData:
async def _async_update_data(self) -> AirOS8Data:
"""Fetch data from AirOS."""
try:
await self.airos_device.login()

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/airos",
"iot_class": "local_polling",
"quality_scale": "bronze",
"requirements": ["airos==0.4.4"]
"requirements": ["airos==0.5.1"]
}

View File

@@ -26,7 +26,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import StateType
from .coordinator import AirOSConfigEntry, AirOSData, AirOSDataUpdateCoordinator
from .coordinator import AirOS8Data, AirOSConfigEntry, AirOSDataUpdateCoordinator
from .entity import AirOSEntity
_LOGGER = logging.getLogger(__name__)
@@ -42,7 +42,7 @@ PARALLEL_UPDATES = 0
class AirOSSensorEntityDescription(SensorEntityDescription):
"""Describe an AirOS sensor."""
value_fn: Callable[[AirOSData], StateType]
value_fn: Callable[[AirOS8Data], StateType]
SENSORS: tuple[AirOSSensorEntityDescription, ...] = (

2
requirements_all.txt generated
View File

@@ -453,7 +453,7 @@ airgradient==0.9.2
airly==1.1.0
# homeassistant.components.airos
airos==0.4.4
airos==0.5.1
# homeassistant.components.airthings_ble
airthings-ble==0.9.2

View File

@@ -435,7 +435,7 @@ airgradient==0.9.2
airly==1.1.0
# homeassistant.components.airos
airos==0.4.4
airos==0.5.1
# homeassistant.components.airthings_ble
airthings-ble==0.9.2

View File

@@ -3,7 +3,7 @@
from collections.abc import Generator
from unittest.mock import AsyncMock, patch
from airos.airos8 import AirOSData
from airos.airos8 import AirOS8Data
import pytest
from homeassistant.components.airos.const import DOMAIN
@@ -16,7 +16,7 @@ from tests.common import MockConfigEntry, load_json_object_fixture
def ap_fixture():
"""Load fixture data for AP mode."""
json_data = load_json_object_fixture("airos_loco5ac_ap-ptp.json", DOMAIN)
return AirOSData.from_dict(json_data)
return AirOS8Data.from_dict(json_data)
@pytest.fixture
@@ -30,15 +30,15 @@ def mock_setup_entry() -> Generator[AsyncMock]:
@pytest.fixture
def mock_airos_client(
request: pytest.FixtureRequest, ap_fixture: AirOSData
request: pytest.FixtureRequest, ap_fixture: AirOS8Data
) -> Generator[AsyncMock]:
"""Fixture to mock the AirOS API client."""
with (
patch(
"homeassistant.components.airos.config_flow.AirOS", autospec=True
"homeassistant.components.airos.config_flow.AirOS8", autospec=True
) as mock_airos,
patch("homeassistant.components.airos.coordinator.AirOS", new=mock_airos),
patch("homeassistant.components.airos.AirOS", new=mock_airos),
patch("homeassistant.components.airos.coordinator.AirOS8", new=mock_airos),
patch("homeassistant.components.airos.AirOS8", new=mock_airos),
):
client = mock_airos.return_value
client.status.return_value = ap_fixture

View File

@@ -4,7 +4,7 @@ from unittest.mock import MagicMock
from syrupy.assertion import SnapshotAssertion
from homeassistant.components.airos.coordinator import AirOSData
from homeassistant.components.airos.coordinator import AirOS8Data
from homeassistant.core import HomeAssistant
from . import setup_integration
@@ -19,7 +19,7 @@ async def test_diagnostics(
hass_client: ClientSessionGenerator,
mock_airos_client: MagicMock,
mock_config_entry: MockConfigEntry,
ap_fixture: AirOSData,
ap_fixture: AirOS8Data,
snapshot: SnapshotAssertion,
) -> None:
"""Test diagnostics."""