mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Use DATA_SIZE device class in lidarr (#83907)
This commit is contained in:
parent
1ad4cb40df
commit
b5107a3f1d
@ -2,35 +2,25 @@
|
|||||||
import logging
|
import logging
|
||||||
from typing import Final
|
from typing import Final
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import UnitOfInformation
|
||||||
DATA_BYTES,
|
|
||||||
DATA_EXABYTES,
|
|
||||||
DATA_GIGABYTES,
|
|
||||||
DATA_KILOBYTES,
|
|
||||||
DATA_MEGABYTES,
|
|
||||||
DATA_PETABYTES,
|
|
||||||
DATA_TERABYTES,
|
|
||||||
DATA_YOTTABYTES,
|
|
||||||
DATA_ZETTABYTES,
|
|
||||||
)
|
|
||||||
|
|
||||||
BYTE_SIZES = [
|
BYTE_SIZES = [
|
||||||
DATA_BYTES,
|
UnitOfInformation.BYTES,
|
||||||
DATA_KILOBYTES,
|
UnitOfInformation.KILOBYTES,
|
||||||
DATA_MEGABYTES,
|
UnitOfInformation.MEGABYTES,
|
||||||
DATA_GIGABYTES,
|
UnitOfInformation.GIGABYTES,
|
||||||
DATA_TERABYTES,
|
UnitOfInformation.TERABYTES,
|
||||||
DATA_PETABYTES,
|
UnitOfInformation.PETABYTES,
|
||||||
DATA_EXABYTES,
|
UnitOfInformation.EXABYTES,
|
||||||
DATA_ZETTABYTES,
|
UnitOfInformation.ZETTABYTES,
|
||||||
DATA_YOTTABYTES,
|
UnitOfInformation.YOTTABYTES,
|
||||||
]
|
]
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
DEFAULT_DAYS = "1"
|
DEFAULT_DAYS = "1"
|
||||||
DEFAULT_HOST = "localhost"
|
DEFAULT_HOST = "localhost"
|
||||||
DEFAULT_NAME = "Lidarr"
|
DEFAULT_NAME = "Lidarr"
|
||||||
DEFAULT_UNIT = DATA_GIGABYTES
|
DEFAULT_UNIT = UnitOfInformation.GIGABYTES
|
||||||
DEFAULT_MAX_RECORDS = 20
|
DEFAULT_MAX_RECORDS = 20
|
||||||
|
|
||||||
DOMAIN: Final = "lidarr"
|
DOMAIN: Final = "lidarr"
|
||||||
|
@ -9,12 +9,13 @@ from typing import Any, Generic
|
|||||||
from aiopyarr import LidarrQueue, LidarrQueueItem, LidarrRootFolder
|
from aiopyarr import LidarrQueue, LidarrQueueItem, LidarrRootFolder
|
||||||
|
|
||||||
from homeassistant.components.sensor import (
|
from homeassistant.components.sensor import (
|
||||||
|
SensorDeviceClass,
|
||||||
SensorEntity,
|
SensorEntity,
|
||||||
SensorEntityDescription,
|
SensorEntityDescription,
|
||||||
SensorStateClass,
|
SensorStateClass,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import DATA_GIGABYTES
|
from homeassistant.const import UnitOfInformation
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
@ -29,7 +30,9 @@ def get_space(data: list[LidarrRootFolder], name: str) -> str:
|
|||||||
for mount in data:
|
for mount in data:
|
||||||
if name in mount.path:
|
if name in mount.path:
|
||||||
mount.freeSpace = mount.freeSpace if mount.accessible else 0
|
mount.freeSpace = mount.freeSpace if mount.accessible else 0
|
||||||
space.append(mount.freeSpace / 1024 ** BYTE_SIZES.index(DATA_GIGABYTES))
|
space.append(
|
||||||
|
mount.freeSpace / 1024 ** BYTE_SIZES.index(UnitOfInformation.GIGABYTES)
|
||||||
|
)
|
||||||
return f"{space[0]:.2f}"
|
return f"{space[0]:.2f}"
|
||||||
|
|
||||||
|
|
||||||
@ -68,7 +71,8 @@ SENSOR_TYPES: dict[str, LidarrSensorEntityDescription[Any]] = {
|
|||||||
"disk_space": LidarrSensorEntityDescription(
|
"disk_space": LidarrSensorEntityDescription(
|
||||||
key="disk_space",
|
key="disk_space",
|
||||||
name="Disk space",
|
name="Disk space",
|
||||||
native_unit_of_measurement=DATA_GIGABYTES,
|
native_unit_of_measurement=UnitOfInformation.GIGABYTES,
|
||||||
|
device_class=SensorDeviceClass.DATA_SIZE,
|
||||||
icon="mdi:harddisk",
|
icon="mdi:harddisk",
|
||||||
value_fn=get_space,
|
value_fn=get_space,
|
||||||
state_class=SensorStateClass.TOTAL,
|
state_class=SensorStateClass.TOTAL,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user