diff --git a/homeassistant/components/starlink/binary_sensor.py b/homeassistant/components/starlink/binary_sensor.py index e50da733341..7e20753843b 100644 --- a/homeassistant/components/starlink/binary_sensor.py +++ b/homeassistant/components/starlink/binary_sensor.py @@ -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", diff --git a/homeassistant/components/starlink/manifest.json b/homeassistant/components/starlink/manifest.json index 5a27ff19cea..9ab583e3440 100644 --- a/homeassistant/components/starlink/manifest.json +++ b/homeassistant/components/starlink/manifest.json @@ -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" } diff --git a/homeassistant/components/starlink/sensor.py b/homeassistant/components/starlink/sensor.py index a94caf0a423..a5b9c47ee9b 100644 --- a/homeassistant/components/starlink/sensor.py +++ b/homeassistant/components/starlink/sensor.py @@ -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"]), ), ) diff --git a/tests/components/starlink/patchers.py b/tests/components/starlink/patchers.py index 5fb83cb3d16..0013b4e56ba 100644 --- a/tests/components/starlink/patchers.py +++ b/tests/components/starlink/patchers.py @@ -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(