Remove deprecated process sensor from System monitor (#123616)
This commit is contained in:
parent
5b6bfa9ac8
commit
6343a086e4
10 changed files with 60 additions and 430 deletions
|
@ -14,8 +14,6 @@ import sys
|
|||
import time
|
||||
from typing import Any, Literal
|
||||
|
||||
from psutil import NoSuchProcess
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
DOMAIN as SENSOR_DOMAIN,
|
||||
SensorDeviceClass,
|
||||
|
@ -25,8 +23,6 @@ from homeassistant.components.sensor import (
|
|||
)
|
||||
from homeassistant.const import (
|
||||
PERCENTAGE,
|
||||
STATE_OFF,
|
||||
STATE_ON,
|
||||
EntityCategory,
|
||||
UnitOfDataRate,
|
||||
UnitOfInformation,
|
||||
|
@ -36,13 +32,12 @@ from homeassistant.core import HomeAssistant, callback
|
|||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
from homeassistant.util import slugify
|
||||
|
||||
from . import SystemMonitorConfigEntry
|
||||
from .const import CONF_PROCESS, DOMAIN, NET_IO_TYPES
|
||||
from .const import DOMAIN, NET_IO_TYPES
|
||||
from .coordinator import SystemMonitorCoordinator
|
||||
from .util import get_all_disk_mounts, get_all_network_interfaces, read_cpu_temperature
|
||||
|
||||
|
@ -68,24 +63,6 @@ def get_cpu_icon() -> Literal["mdi:cpu-64-bit", "mdi:cpu-32-bit"]:
|
|||
return "mdi:cpu-32-bit"
|
||||
|
||||
|
||||
def get_process(entity: SystemMonitorSensor) -> str:
|
||||
"""Return process."""
|
||||
state = STATE_OFF
|
||||
for proc in entity.coordinator.data.processes:
|
||||
try:
|
||||
_LOGGER.debug("process %s for argument %s", proc.name(), entity.argument)
|
||||
if entity.argument == proc.name():
|
||||
state = STATE_ON
|
||||
break
|
||||
except NoSuchProcess as err:
|
||||
_LOGGER.warning(
|
||||
"Failed to load process with ID: %s, old name: %s",
|
||||
err.pid,
|
||||
err.name,
|
||||
)
|
||||
return state
|
||||
|
||||
|
||||
def get_network(entity: SystemMonitorSensor) -> float | None:
|
||||
"""Return network in and out."""
|
||||
counters = entity.coordinator.data.io_counters
|
||||
|
@ -341,15 +318,6 @@ SENSOR_TYPES: dict[str, SysMonitorSensorEntityDescription] = {
|
|||
value_fn=get_throughput,
|
||||
add_to_update=lambda entity: ("io_counters", ""),
|
||||
),
|
||||
"process": SysMonitorSensorEntityDescription(
|
||||
key="process",
|
||||
translation_key="process",
|
||||
placeholder="process",
|
||||
icon=get_cpu_icon(),
|
||||
mandatory_arg=True,
|
||||
value_fn=get_process,
|
||||
add_to_update=lambda entity: ("processes", ""),
|
||||
),
|
||||
"processor_use": SysMonitorSensorEntityDescription(
|
||||
key="processor_use",
|
||||
translation_key="processor_use",
|
||||
|
@ -551,35 +519,6 @@ async def async_setup_entry(
|
|||
)
|
||||
continue
|
||||
|
||||
if _type == "process":
|
||||
_entry = entry.options.get(SENSOR_DOMAIN, {})
|
||||
for argument in _entry.get(CONF_PROCESS, []):
|
||||
loaded_resources.add(slugify(f"{_type}_{argument}"))
|
||||
entities.append(
|
||||
SystemMonitorSensor(
|
||||
coordinator,
|
||||
sensor_description,
|
||||
entry.entry_id,
|
||||
argument,
|
||||
True,
|
||||
)
|
||||
)
|
||||
async_create_issue(
|
||||
hass,
|
||||
DOMAIN,
|
||||
"process_sensor",
|
||||
breaks_in_ha_version="2024.9.0",
|
||||
is_fixable=True,
|
||||
is_persistent=False,
|
||||
severity=IssueSeverity.WARNING,
|
||||
translation_key="process_sensor",
|
||||
data={
|
||||
"entry_id": entry.entry_id,
|
||||
"processes": _entry[CONF_PROCESS],
|
||||
},
|
||||
)
|
||||
continue
|
||||
|
||||
if _type == "processor_use":
|
||||
argument = ""
|
||||
is_enabled = check_legacy_resource(f"{_type}_{argument}", legacy_resources)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue