From 96e9a57fa373f09dde69c06df66e5793ba1f8a32 Mon Sep 17 00:00:00 2001 From: Aidan Timson Date: Mon, 6 Nov 2023 22:47:39 +0000 Subject: [PATCH] Add processes count sensor to System Bridge (#103516) * Add processes count sensor to System Bridge * Add processes string --- homeassistant/components/system_bridge/const.py | 1 + homeassistant/components/system_bridge/coordinator.py | 2 ++ homeassistant/components/system_bridge/sensor.py | 7 +++++++ homeassistant/components/system_bridge/strings.json | 3 +++ 4 files changed, 13 insertions(+) diff --git a/homeassistant/components/system_bridge/const.py b/homeassistant/components/system_bridge/const.py index 77ff953b67d..fc87b609b78 100644 --- a/homeassistant/components/system_bridge/const.py +++ b/homeassistant/components/system_bridge/const.py @@ -10,5 +10,6 @@ MODULES = [ "gpu", "media", "memory", + "processes", "system", ] diff --git a/homeassistant/components/system_bridge/coordinator.py b/homeassistant/components/system_bridge/coordinator.py index 938b7d79b83..5a606721b00 100644 --- a/homeassistant/components/system_bridge/coordinator.py +++ b/homeassistant/components/system_bridge/coordinator.py @@ -26,6 +26,7 @@ from systembridgemodels.media_files import File as MediaFile, MediaFiles from systembridgemodels.media_get_file import MediaGetFile from systembridgemodels.media_get_files import MediaGetFiles from systembridgemodels.memory import Memory +from systembridgemodels.processes import Processes from systembridgemodels.register_data_listener import RegisterDataListener from systembridgemodels.system import System @@ -53,6 +54,7 @@ class SystemBridgeCoordinatorData(BaseModel): gpu: Gpu = None media: Media = None memory: Memory = None + processes: Processes = None system: System = None diff --git a/homeassistant/components/system_bridge/sensor.py b/homeassistant/components/system_bridge/sensor.py index 9c12e14e264..e3fd2c14654 100644 --- a/homeassistant/components/system_bridge/sensor.py +++ b/homeassistant/components/system_bridge/sensor.py @@ -219,6 +219,13 @@ BASE_SENSOR_TYPES: tuple[SystemBridgeSensorEntityDescription, ...] = ( icon="mdi:devices", value=lambda data: f"{data.system.platform} {data.system.platform_version}", ), + SystemBridgeSensorEntityDescription( + key="processes_count", + translation_key="processes", + state_class=SensorStateClass.MEASUREMENT, + icon="mdi:counter", + value=lambda data: int(data.processes.count), + ), SystemBridgeSensorEntityDescription( key="processes_load", translation_key="load", diff --git a/homeassistant/components/system_bridge/strings.json b/homeassistant/components/system_bridge/strings.json index 4df539f11d4..d99a2cf4588 100644 --- a/homeassistant/components/system_bridge/strings.json +++ b/homeassistant/components/system_bridge/strings.json @@ -65,6 +65,9 @@ "os": { "name": "Operating system" }, + "processes": { + "name": "Processes" + }, "load": { "name": "Load" },