mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 17:27:10 +00:00
Use new enums in system_bridge (#62402)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
071e29bf1d
commit
8bd03d520b
@ -7,8 +7,7 @@ from dataclasses import dataclass
|
||||
from systembridge import Bridge
|
||||
|
||||
from homeassistant.components.binary_sensor import (
|
||||
DEVICE_CLASS_BATTERY_CHARGING,
|
||||
DEVICE_CLASS_UPDATE,
|
||||
BinarySensorDeviceClass,
|
||||
BinarySensorEntity,
|
||||
BinarySensorEntityDescription,
|
||||
)
|
||||
@ -31,7 +30,7 @@ BASE_BINARY_SENSOR_TYPES: tuple[SystemBridgeBinarySensorEntityDescription, ...]
|
||||
SystemBridgeBinarySensorEntityDescription(
|
||||
key="version_available",
|
||||
name="New Version Available",
|
||||
device_class=DEVICE_CLASS_UPDATE,
|
||||
device_class=BinarySensorDeviceClass.UPDATE,
|
||||
value=lambda bridge: bridge.information.updates.available,
|
||||
),
|
||||
)
|
||||
@ -40,7 +39,7 @@ BATTERY_BINARY_SENSOR_TYPES: tuple[SystemBridgeBinarySensorEntityDescription, ..
|
||||
SystemBridgeBinarySensorEntityDescription(
|
||||
key="battery_is_charging",
|
||||
name="Battery Is Charging",
|
||||
device_class=DEVICE_CLASS_BATTERY_CHARGING,
|
||||
device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||
value=lambda bridge: bridge.battery.isCharging,
|
||||
),
|
||||
)
|
||||
|
@ -9,18 +9,14 @@ from typing import Final, cast
|
||||
from systembridge import Bridge
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
STATE_CLASS_MEASUREMENT,
|
||||
SensorDeviceClass,
|
||||
SensorEntity,
|
||||
SensorEntityDescription,
|
||||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
DATA_GIGABYTES,
|
||||
DEVICE_CLASS_BATTERY,
|
||||
DEVICE_CLASS_POWER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
DEVICE_CLASS_TIMESTAMP,
|
||||
DEVICE_CLASS_VOLTAGE,
|
||||
ELECTRIC_POTENTIAL_VOLT,
|
||||
FREQUENCY_GIGAHERTZ,
|
||||
FREQUENCY_HERTZ,
|
||||
@ -64,7 +60,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="cpu_speed",
|
||||
name="CPU Speed",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=FREQUENCY_GIGAHERTZ,
|
||||
icon="mdi:speedometer",
|
||||
value=lambda bridge: bridge.cpu.currentSpeed.avg,
|
||||
@ -73,8 +69,8 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="cpu_temperature",
|
||||
name="CPU Temperature",
|
||||
entity_registry_enabled_default=False,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=TEMP_CELSIUS,
|
||||
value=lambda bridge: bridge.cpu.temperature.main,
|
||||
),
|
||||
@ -82,29 +78,29 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="cpu_voltage",
|
||||
name="CPU Voltage",
|
||||
entity_registry_enabled_default=False,
|
||||
device_class=DEVICE_CLASS_VOLTAGE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.VOLTAGE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=ELECTRIC_POTENTIAL_VOLT,
|
||||
value=lambda bridge: bridge.cpu.cpu.voltage,
|
||||
),
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="displays_connected",
|
||||
name="Displays Connected",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
icon="mdi:monitor",
|
||||
value=lambda bridge: len(bridge.display.displays),
|
||||
),
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="kernel",
|
||||
name="Kernel",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
icon="mdi:devices",
|
||||
value=lambda bridge: bridge.os.kernel,
|
||||
),
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="memory_free",
|
||||
name="Memory Free",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=DATA_GIGABYTES,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge: round(bridge.memory.free / 1000 ** 3, 2),
|
||||
@ -112,7 +108,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="memory_used_percentage",
|
||||
name="Memory Used %",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge: round((bridge.memory.used / bridge.memory.total) * 100, 2),
|
||||
@ -121,7 +117,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="memory_used",
|
||||
name="Memory Used",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=DATA_GIGABYTES,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge: round(bridge.memory.used / 1000 ** 3, 2),
|
||||
@ -129,14 +125,14 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="os",
|
||||
name="Operating System",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
icon="mdi:devices",
|
||||
value=lambda bridge: f"{bridge.os.distro} {bridge.os.release}",
|
||||
),
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="processes_load",
|
||||
name="Load",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge: round(bridge.processes.load.currentLoad, 2),
|
||||
@ -145,7 +141,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="processes_load_idle",
|
||||
name="Idle Load",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge: round(bridge.processes.load.currentLoadIdle, 2),
|
||||
@ -154,7 +150,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="processes_load_system",
|
||||
name="System Load",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge: round(bridge.processes.load.currentLoadSystem, 2),
|
||||
@ -163,7 +159,7 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
key="processes_load_user",
|
||||
name="User Load",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge: round(bridge.processes.load.currentLoadUser, 2),
|
||||
@ -186,16 +182,16 @@ BATTERY_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = (
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="battery",
|
||||
name="Battery",
|
||||
device_class=DEVICE_CLASS_BATTERY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.BATTERY,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
value=lambda bridge: bridge.battery.percent,
|
||||
),
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key="battery_time_remaining",
|
||||
name="Battery Time Remaining",
|
||||
device_class=DEVICE_CLASS_TIMESTAMP,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TIMESTAMP,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value=lambda bridge: str(
|
||||
datetime.now() + timedelta(minutes=bridge.battery.timeRemaining)
|
||||
),
|
||||
@ -221,7 +217,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"filesystem_{uid}",
|
||||
name=f"{key} Space Used",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:harddisk",
|
||||
value=lambda bridge, i=key: round(
|
||||
@ -244,7 +240,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"display_{name}_resolution_x",
|
||||
name=f"Display {name} Resolution X",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PIXELS,
|
||||
icon="mdi:monitor",
|
||||
value=lambda bridge, i=index: bridge.display.displays[
|
||||
@ -257,7 +253,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"display_{name}_resolution_y",
|
||||
name=f"Display {name} Resolution Y",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PIXELS,
|
||||
icon="mdi:monitor",
|
||||
value=lambda bridge, i=index: bridge.display.displays[
|
||||
@ -270,7 +266,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"display_{name}_refresh_rate",
|
||||
name=f"Display {name} Refresh Rate",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=FREQUENCY_HERTZ,
|
||||
icon="mdi:monitor",
|
||||
value=lambda bridge, i=index: bridge.display.displays[
|
||||
@ -296,7 +292,7 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_core_clock_speed",
|
||||
name=f"{name} Clock Speed",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=FREQUENCY_MEGAHERTZ,
|
||||
icon="mdi:speedometer",
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
@ -310,7 +306,7 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_memory_clock_speed",
|
||||
name=f"{name} Memory Clock Speed",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=FREQUENCY_MEGAHERTZ,
|
||||
icon="mdi:speedometer",
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
@ -323,7 +319,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"gpu_{index}_memory_free",
|
||||
name=f"{name} Memory Free",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=DATA_GIGABYTES,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge, i=index: round(
|
||||
@ -336,7 +332,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"gpu_{index}_memory_used_percentage",
|
||||
name=f"{name} Memory Used %",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge, i=index: round(
|
||||
@ -355,7 +351,7 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_memory_used",
|
||||
name=f"{name} Memory Used",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=DATA_GIGABYTES,
|
||||
icon="mdi:memory",
|
||||
value=lambda bridge, i=index: round(
|
||||
@ -369,7 +365,7 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_fan_speed",
|
||||
name=f"{name} Fan Speed",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:fan",
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
@ -383,8 +379,8 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_power_usage",
|
||||
name=f"{name} Power Usage",
|
||||
entity_registry_enabled_default=False,
|
||||
device_class=DEVICE_CLASS_POWER,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.POWER,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=POWER_WATT,
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
i
|
||||
@ -397,8 +393,8 @@ async def async_setup_entry(
|
||||
key=f"gpu_{index}_temperature",
|
||||
name=f"{name} Temperature",
|
||||
entity_registry_enabled_default=False,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=TEMP_CELSIUS,
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
i
|
||||
@ -410,7 +406,7 @@ async def async_setup_entry(
|
||||
SystemBridgeSensorEntityDescription(
|
||||
key=f"gpu_{index}_usage_percentage",
|
||||
name=f"{name} Usage %",
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge, i=index: bridge.graphics.controllers[
|
||||
@ -429,7 +425,7 @@ async def async_setup_entry(
|
||||
key=f"processes_load_cpu_{index}",
|
||||
name=f"Load CPU {index}",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge, index=index: round(
|
||||
@ -443,7 +439,7 @@ async def async_setup_entry(
|
||||
key=f"processes_load_cpu_{index}_idle",
|
||||
name=f"Idle Load CPU {index}",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge, index=index: round(
|
||||
@ -457,7 +453,7 @@ async def async_setup_entry(
|
||||
key=f"processes_load_cpu_{index}_system",
|
||||
name=f"System Load CPU {index}",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge, index=index: round(
|
||||
@ -471,7 +467,7 @@ async def async_setup_entry(
|
||||
key=f"processes_load_cpu_{index}_user",
|
||||
name=f"User Load CPU {index}",
|
||||
entity_registry_enabled_default=False,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PERCENTAGE,
|
||||
icon="mdi:percent",
|
||||
value=lambda bridge, index=index: round(
|
||||
|
Loading…
x
Reference in New Issue
Block a user