diff --git a/homeassistant/components/airzone_cloud/icons.json b/homeassistant/components/airzone_cloud/icons.json index 27dbd03349b..31a0a43a4d2 100644 --- a/homeassistant/components/airzone_cloud/icons.json +++ b/homeassistant/components/airzone_cloud/icons.json @@ -1,6 +1,12 @@ { "entity": { "sensor": { + "cpu_usage": { + "default": "mdi:cpu-32-bit" + }, + "free_memory": { + "default": "mdi:memory" + }, "thermostat_coverage": { "default": "mdi:signal" } diff --git a/homeassistant/components/airzone_cloud/sensor.py b/homeassistant/components/airzone_cloud/sensor.py index 7eb62fe5d2c..7946e0d35d0 100644 --- a/homeassistant/components/airzone_cloud/sensor.py +++ b/homeassistant/components/airzone_cloud/sensor.py @@ -10,7 +10,9 @@ from aioairzone_cloud.const import ( AZD_AQ_PM_1, AZD_AQ_PM_2P5, AZD_AQ_PM_10, + AZD_CPU_USAGE, AZD_HUMIDITY, + AZD_MEMORY_FREE, AZD_TEMP, AZD_THERMOSTAT_BATTERY, AZD_THERMOSTAT_COVERAGE, @@ -54,6 +56,22 @@ AIDOO_SENSOR_TYPES: Final[tuple[SensorEntityDescription, ...]] = ( ) WEBSERVER_SENSOR_TYPES: Final[tuple[SensorEntityDescription, ...]] = ( + SensorEntityDescription( + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + key=AZD_CPU_USAGE, + native_unit_of_measurement=PERCENTAGE, + state_class=SensorStateClass.MEASUREMENT, + translation_key="cpu_usage", + ), + SensorEntityDescription( + entity_category=EntityCategory.DIAGNOSTIC, + entity_registry_enabled_default=False, + key=AZD_MEMORY_FREE, + native_unit_of_measurement=PERCENTAGE, + state_class=SensorStateClass.MEASUREMENT, + translation_key="free_memory", + ), SensorEntityDescription( device_class=SensorDeviceClass.SIGNAL_STRENGTH, entity_category=EntityCategory.DIAGNOSTIC, diff --git a/homeassistant/components/airzone_cloud/strings.json b/homeassistant/components/airzone_cloud/strings.json index 68f3d0080db..eb9529c7ca5 100644 --- a/homeassistant/components/airzone_cloud/strings.json +++ b/homeassistant/components/airzone_cloud/strings.json @@ -39,6 +39,12 @@ } }, "sensor": { + "cpu_usage": { + "name": "CPU usage" + }, + "free_memory": { + "name": "Free memory" + }, "thermostat_coverage": { "name": "Signal percentage" } diff --git a/tests/components/airzone_cloud/test_sensor.py b/tests/components/airzone_cloud/test_sensor.py index d5addfed4a1..cf291ec23a6 100644 --- a/tests/components/airzone_cloud/test_sensor.py +++ b/tests/components/airzone_cloud/test_sensor.py @@ -21,8 +21,11 @@ async def test_airzone_create_sensors(hass: HomeAssistant) -> None: assert state.state == "20.0" # WebServers - state = hass.states.get("sensor.webserver_11_22_33_44_55_66_signal_strength") - assert state.state == "-56" + state = hass.states.get("sensor.webserver_11_22_33_44_55_66_cpu_usage") + assert state.state == "32" + + state = hass.states.get("sensor.webserver_11_22_33_44_55_66_free_memory") + assert state.state == "42616" state = hass.states.get("sensor.webserver_11_22_33_44_55_67_signal_strength") assert state.state == "-77"