From cc103ddbaa18339b279434b94fe6532cd3d7f0aa Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sun, 27 Aug 2023 19:34:58 +0200 Subject: [PATCH] Split Owncloud CPU load in separate sensors (#99141) * split cpu load values into own sensors * apply suggestion --- .../components/nextcloud/coordinator.py | 5 +++++ homeassistant/components/nextcloud/sensor.py | 22 ++++++++++++++++--- .../components/nextcloud/strings.json | 10 +++++++-- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/nextcloud/coordinator.py b/homeassistant/components/nextcloud/coordinator.py index c721168e848..b5dc5e29507 100644 --- a/homeassistant/components/nextcloud/coordinator.py +++ b/homeassistant/components/nextcloud/coordinator.py @@ -54,6 +54,11 @@ class NextcloudDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): key_path += f"{key}_" leaf = True result.update(self._get_data_points(value, key_path, leaf)) + elif key == "cpuload" and isinstance(value, list): + result[f"{key_path}{key}_1"] = value[0] + result[f"{key_path}{key}_5"] = value[1] + result[f"{key_path}{key}_15"] = value[2] + leaf = False else: result[f"{key_path}{key}"] = value leaf = False diff --git a/homeassistant/components/nextcloud/sensor.py b/homeassistant/components/nextcloud/sensor.py index a91efee2284..daac259a3b9 100644 --- a/homeassistant/components/nextcloud/sensor.py +++ b/homeassistant/components/nextcloud/sensor.py @@ -171,10 +171,26 @@ SENSORS: Final[dict[str, SensorEntityDescription]] = { translation_key="nextcloud_system_apps_num_updates_available", icon="mdi:update", ), - "system_cpuload": SensorEntityDescription( - key="system_cpuload", - translation_key="nextcloud_system_cpuload", + "system_cpuload_1": SensorEntityDescription( + key="system_cpuload_1", + translation_key="nextcloud_system_cpuload_1", + native_unit_of_measurement=UNIT_OF_LOAD, icon="mdi:chip", + suggested_display_precision=2, + ), + "system_cpuload_5": SensorEntityDescription( + key="system_cpuload_5", + translation_key="nextcloud_system_cpuload_5", + native_unit_of_measurement=UNIT_OF_LOAD, + icon="mdi:chip", + suggested_display_precision=2, + ), + "system_cpuload_15": SensorEntityDescription( + key="system_cpuload_15", + translation_key="nextcloud_system_cpuload_15", + native_unit_of_measurement=UNIT_OF_LOAD, + icon="mdi:chip", + suggested_display_precision=2, ), "system_freespace": SensorEntityDescription( key="system_freespace", diff --git a/homeassistant/components/nextcloud/strings.json b/homeassistant/components/nextcloud/strings.json index 6c70421bf93..7be15a6e62b 100644 --- a/homeassistant/components/nextcloud/strings.json +++ b/homeassistant/components/nextcloud/strings.json @@ -63,8 +63,14 @@ "nextcloud_system_freespace": { "name": "Free space" }, - "nextcloud_system_cpuload": { - "name": "CPU Load" + "nextcloud_system_cpuload_1": { + "name": "CPU Load last minute" + }, + "nextcloud_system_cpuload_15": { + "name": "CPU Load last 15 minutes" + }, + "nextcloud_system_cpuload_5": { + "name": "CPU Load last 5 minutes" }, "nextcloud_system_mem_total": { "name": "Total memory"