From f00decfaa33b65d38052d06ef9cec0276e4f2c84 Mon Sep 17 00:00:00 2001 From: Duco Sebel <74970928+DCSBL@users.noreply.github.com> Date: Fri, 22 May 2026 15:23:09 +0200 Subject: [PATCH] Use uptime device class for HomeWizard uptime sensor (#171830) --- homeassistant/components/homewizard/sensor.py | 12 ++---------- .../components/homewizard/snapshots/test_sensor.ambr | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/homewizard/sensor.py b/homeassistant/components/homewizard/sensor.py index c6718ba47e9..3574bc1cdc8 100644 --- a/homeassistant/components/homewizard/sensor.py +++ b/homeassistant/components/homewizard/sensor.py @@ -35,7 +35,6 @@ from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.util.dt import utcnow -from homeassistant.util.variance import ignore_variance from .const import DOMAIN from .coordinator import HomeWizardConfigEntry, HWEnergyDeviceUpdateCoordinator @@ -66,13 +65,6 @@ def to_percentage(value: float | None) -> float | None: return value * 100 if value is not None else None -def uptime_to_datetime(value: int) -> datetime: - """Convert seconds to datetime timestamp.""" - return utcnow().replace(microsecond=0) - timedelta(seconds=value) - - -uptime_to_stable_datetime = ignore_variance(uptime_to_datetime, timedelta(minutes=5)) - SENSORS: Final[tuple[HomeWizardSensorEntityDescription, ...]] = ( HomeWizardSensorEntityDescription( key="smr_version", @@ -643,7 +635,7 @@ SENSORS: Final[tuple[HomeWizardSensorEntityDescription, ...]] = ( HomeWizardSensorEntityDescription( key="uptime", translation_key="uptime", - device_class=SensorDeviceClass.TIMESTAMP, + device_class=SensorDeviceClass.UPTIME, entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, has_fn=( @@ -651,7 +643,7 @@ SENSORS: Final[tuple[HomeWizardSensorEntityDescription, ...]] = ( ), value_fn=( lambda data: ( - uptime_to_stable_datetime(data.system.uptime_s) + utcnow() - timedelta(seconds=data.system.uptime_s) if data.system is not None and data.system.uptime_s is not None else None ) diff --git a/tests/components/homewizard/snapshots/test_sensor.ambr b/tests/components/homewizard/snapshots/test_sensor.ambr index 3278623cd45..57fdb92f4a9 100644 --- a/tests/components/homewizard/snapshots/test_sensor.ambr +++ b/tests/components/homewizard/snapshots/test_sensor.ambr @@ -798,7 +798,7 @@ 'object_id_base': 'Uptime', 'options': dict({ }), - 'original_device_class': , + 'original_device_class': , 'original_icon': None, 'original_name': 'Uptime', 'platform': 'homewizard', @@ -813,7 +813,7 @@ # name: test_sensors[HWE-BAT-entity_ids10][sensor.device_uptime:state] StateSnapshot({ 'attributes': ReadOnlyDict({ - 'device_class': 'timestamp', + 'device_class': 'uptime', 'friendly_name': 'Device Uptime', }), 'context': ,