Clean up Vilfo const file (#95543)
parent
9ca288858b
commit
13fd5a59e3
|
@ -1,11 +1,6 @@
|
||||||
"""Constants for the Vilfo Router integration."""
|
"""Constants for the Vilfo Router integration."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from dataclasses import dataclass
|
|
||||||
|
|
||||||
from homeassistant.components.sensor import SensorDeviceClass, SensorEntityDescription
|
|
||||||
from homeassistant.const import PERCENTAGE
|
|
||||||
|
|
||||||
DOMAIN = "vilfo"
|
DOMAIN = "vilfo"
|
||||||
|
|
||||||
ATTR_API_DATA_FIELD_LOAD = "load"
|
ATTR_API_DATA_FIELD_LOAD = "load"
|
||||||
|
@ -17,33 +12,3 @@ ROUTER_DEFAULT_HOST = "admin.vilfo.com"
|
||||||
ROUTER_DEFAULT_MODEL = "Vilfo Router"
|
ROUTER_DEFAULT_MODEL = "Vilfo Router"
|
||||||
ROUTER_DEFAULT_NAME = "Vilfo Router"
|
ROUTER_DEFAULT_NAME = "Vilfo Router"
|
||||||
ROUTER_MANUFACTURER = "Vilfo AB"
|
ROUTER_MANUFACTURER = "Vilfo AB"
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class VilfoRequiredKeysMixin:
|
|
||||||
"""Mixin for required keys."""
|
|
||||||
|
|
||||||
api_key: str
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class VilfoSensorEntityDescription(SensorEntityDescription, VilfoRequiredKeysMixin):
|
|
||||||
"""Describes Vilfo sensor entity."""
|
|
||||||
|
|
||||||
|
|
||||||
SENSOR_TYPES: tuple[VilfoSensorEntityDescription, ...] = (
|
|
||||||
VilfoSensorEntityDescription(
|
|
||||||
key=ATTR_LOAD,
|
|
||||||
name="Load",
|
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
|
||||||
icon="mdi:memory",
|
|
||||||
api_key=ATTR_API_DATA_FIELD_LOAD,
|
|
||||||
),
|
|
||||||
VilfoSensorEntityDescription(
|
|
||||||
key=ATTR_BOOT_TIME,
|
|
||||||
name="Boot time",
|
|
||||||
icon="mdi:timer-outline",
|
|
||||||
api_key=ATTR_API_DATA_FIELD_BOOT_TIME,
|
|
||||||
device_class=SensorDeviceClass.TIMESTAMP,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,16 +1,55 @@
|
||||||
"""Support for Vilfo Router sensors."""
|
"""Support for Vilfo Router sensors."""
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from dataclasses import dataclass
|
||||||
|
|
||||||
|
from homeassistant.components.sensor import (
|
||||||
|
SensorDeviceClass,
|
||||||
|
SensorEntity,
|
||||||
|
SensorEntityDescription,
|
||||||
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.const import PERCENTAGE
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
|
ATTR_API_DATA_FIELD_BOOT_TIME,
|
||||||
|
ATTR_API_DATA_FIELD_LOAD,
|
||||||
|
ATTR_BOOT_TIME,
|
||||||
|
ATTR_LOAD,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
ROUTER_DEFAULT_MODEL,
|
ROUTER_DEFAULT_MODEL,
|
||||||
ROUTER_DEFAULT_NAME,
|
ROUTER_DEFAULT_NAME,
|
||||||
ROUTER_MANUFACTURER,
|
ROUTER_MANUFACTURER,
|
||||||
SENSOR_TYPES,
|
)
|
||||||
VilfoSensorEntityDescription,
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class VilfoRequiredKeysMixin:
|
||||||
|
"""Mixin for required keys."""
|
||||||
|
|
||||||
|
api_key: str
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class VilfoSensorEntityDescription(SensorEntityDescription, VilfoRequiredKeysMixin):
|
||||||
|
"""Describes Vilfo sensor entity."""
|
||||||
|
|
||||||
|
|
||||||
|
SENSOR_TYPES: tuple[VilfoSensorEntityDescription, ...] = (
|
||||||
|
VilfoSensorEntityDescription(
|
||||||
|
key=ATTR_LOAD,
|
||||||
|
name="Load",
|
||||||
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
|
icon="mdi:memory",
|
||||||
|
api_key=ATTR_API_DATA_FIELD_LOAD,
|
||||||
|
),
|
||||||
|
VilfoSensorEntityDescription(
|
||||||
|
key=ATTR_BOOT_TIME,
|
||||||
|
name="Boot time",
|
||||||
|
icon="mdi:timer-outline",
|
||||||
|
api_key=ATTR_API_DATA_FIELD_BOOT_TIME,
|
||||||
|
device_class=SensorDeviceClass.TIMESTAMP,
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue