diff --git a/homeassistant/components/glances/const.py b/homeassistant/components/glances/const.py index 491dd297a05..50f915ef4de 100644 --- a/homeassistant/components/glances/const.py +++ b/homeassistant/components/glances/const.py @@ -194,4 +194,16 @@ SENSOR_TYPES: tuple[GlancesSensorEntityDescription, ...] = ( native_unit_of_measurement=DATA_MEBIBYTES, icon="mdi:docker", ), + GlancesSensorEntityDescription( + key="used", + type="raid", + name_suffix="Raid used", + icon="mdi:harddisk", + ), + GlancesSensorEntityDescription( + key="available", + type="raid", + name_suffix="Raid available", + icon="mdi:harddisk", + ), ) diff --git a/homeassistant/components/glances/sensor.py b/homeassistant/components/glances/sensor.py index 76e2a1c617a..92173f9d143 100644 --- a/homeassistant/components/glances/sensor.py +++ b/homeassistant/components/glances/sensor.py @@ -38,6 +38,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities): description, ) ) + elif description.type == "raid": + for raid_device in client.api.data[description.type]: + dev.append(GlancesSensor(client, name, raid_device, description)) elif client.api.data[description.type]: dev.append( GlancesSensor( @@ -214,3 +217,7 @@ class GlancesSensor(SensorEntity): self._state = round(mem_use / 1024 ** 2, 1) except KeyError: self._state = STATE_UNAVAILABLE + elif self.entity_description.type == "raid": + for raid_device, raid in value["raid"].items(): + if raid_device == self._sensor_name_prefix: + self._state = raid[self.entity_description.key]