mirror of
https://github.com/home-assistant/core.git
synced 2025-07-31 09:17:10 +00:00
Fix tradfri sensor typing
This commit is contained in:
parent
ab903f7fea
commit
7b43714adf
@ -4,7 +4,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, cast
|
from typing import Any
|
||||||
|
|
||||||
from pytradfri.api.aiocoap_api import APIRequestProtocol
|
from pytradfri.api.aiocoap_api import APIRequestProtocol
|
||||||
from pytradfri.device import Device
|
from pytradfri.device import Device
|
||||||
@ -43,22 +43,20 @@ def _get_air_quality(device: Device) -> int | None:
|
|||||||
"""Fetch the air quality value."""
|
"""Fetch the air quality value."""
|
||||||
assert device.air_purifier_control is not None
|
assert device.air_purifier_control is not None
|
||||||
if (
|
if (
|
||||||
device.air_purifier_control.air_purifiers[0].air_quality == 65535
|
device_control := device.air_purifier_control
|
||||||
): # The sensor returns 65535 if the fan is turned off
|
) is None or device_control.air_purifiers[
|
||||||
|
0
|
||||||
|
].air_quality == 65535: # The sensor returns 65535 if the fan is turned off
|
||||||
return None
|
return None
|
||||||
|
|
||||||
return cast(int, device.air_purifier_control.air_purifiers[0].air_quality)
|
return device_control.air_purifiers[0].air_quality
|
||||||
|
|
||||||
|
|
||||||
def _get_filter_time_left(device: Device) -> int:
|
def _get_filter_time_left(device: Device) -> int:
|
||||||
"""Fetch the filter's remaining lifetime (in hours)."""
|
"""Fetch the filter's remaining lifetime (in hours)."""
|
||||||
assert device.air_purifier_control is not None
|
device_control = device.air_purifier_control
|
||||||
return round(
|
assert device_control # air_purifier_control is ensured when creating the entity
|
||||||
cast(
|
return round(device_control.air_purifiers[0].filter_lifetime_remaining / 60)
|
||||||
int, device.air_purifier_control.air_purifiers[0].filter_lifetime_remaining
|
|
||||||
)
|
|
||||||
/ 60
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
SENSOR_DESCRIPTIONS_BATTERY: tuple[TradfriSensorEntityDescription, ...] = (
|
SENSOR_DESCRIPTIONS_BATTERY: tuple[TradfriSensorEntityDescription, ...] = (
|
||||||
@ -67,7 +65,7 @@ SENSOR_DESCRIPTIONS_BATTERY: tuple[TradfriSensorEntityDescription, ...] = (
|
|||||||
device_class=SensorDeviceClass.BATTERY,
|
device_class=SensorDeviceClass.BATTERY,
|
||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
value=lambda device: cast(int, device.device_info.battery_level),
|
value=lambda device: device.device_info.battery_level,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user