Address Starlink code quality and add update sensor (#86066)
* Use dt.now * Bring back update binary sensor * Don't patch coordinator * Add silver quality scale
This commit is contained in:
parent
4aba3fdad6
commit
ec1b4d5651
4 changed files with 14 additions and 13 deletions
|
@ -58,6 +58,12 @@ class StarlinkBinarySensorEntity(StarlinkEntity, BinarySensorEntity):
|
|||
|
||||
|
||||
BINARY_SENSORS = [
|
||||
StarlinkBinarySensorEntityDescription(
|
||||
key="update",
|
||||
name="Update available",
|
||||
device_class=BinarySensorDeviceClass.UPDATE,
|
||||
value_fn=lambda data: data.alert["alert_install_pending"],
|
||||
),
|
||||
StarlinkBinarySensorEntityDescription(
|
||||
key="roaming",
|
||||
name="Roaming mode",
|
||||
|
|
|
@ -5,5 +5,6 @@
|
|||
"documentation": "https://www.home-assistant.io/integrations/starlink",
|
||||
"requirements": ["starlink-grpc-core==1.1.1"],
|
||||
"codeowners": ["@boswelja"],
|
||||
"iot_class": "local_polling"
|
||||
"iot_class": "local_polling",
|
||||
"quality_scale": "silver"
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ from homeassistant.core import HomeAssistant
|
|||
from homeassistant.helpers.entity import EntityCategory
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.util.dt import now
|
||||
|
||||
from .const import DOMAIN
|
||||
from .coordinator import StarlinkData
|
||||
|
@ -108,7 +109,6 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
|
|||
icon="mdi:clock",
|
||||
device_class=SensorDeviceClass.TIMESTAMP,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value_fn=lambda data: datetime.now().astimezone()
|
||||
- timedelta(seconds=data.status["uptime"]),
|
||||
value_fn=lambda data: now() - timedelta(seconds=data.status["uptime"]),
|
||||
),
|
||||
)
|
||||
|
|
|
@ -3,23 +3,17 @@ from unittest.mock import patch
|
|||
|
||||
from starlink_grpc import StatusDict
|
||||
|
||||
from homeassistant.components.starlink.coordinator import (
|
||||
StarlinkData,
|
||||
StarlinkUpdateCoordinator,
|
||||
)
|
||||
|
||||
SETUP_ENTRY_PATCHER = patch(
|
||||
"homeassistant.components.starlink.async_setup_entry", return_value=True
|
||||
)
|
||||
|
||||
COORDINATOR_SUCCESS_PATCHER = patch.object(
|
||||
StarlinkUpdateCoordinator,
|
||||
"_async_update_data",
|
||||
return_value=StarlinkData(
|
||||
COORDINATOR_SUCCESS_PATCHER = patch(
|
||||
"homeassistant.components.starlink.coordinator.status_data",
|
||||
return_value=[
|
||||
StatusDict(id="1", software_version="1", hardware_version="1"),
|
||||
{},
|
||||
{},
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
DEVICE_FOUND_PATCHER = patch(
|
||||
|
|
Loading…
Add table
Reference in a new issue