diff --git a/homeassistant/components/glances/sensor.py b/homeassistant/components/glances/sensor.py index 0b2ce1801e1..f6ae6b6ec17 100644 --- a/homeassistant/components/glances/sensor.py +++ b/homeassistant/components/glances/sensor.py @@ -329,7 +329,6 @@ class GlancesSensor(SensorEntity): """Initialize the sensor.""" self.glances_data = glances_data self._sensor_name_prefix = sensor_name_prefix - self._state = None self.unsub_update: CALLBACK_TYPE | None = None self.entity_description = description @@ -346,11 +345,6 @@ class GlancesSensor(SensorEntity): """Could the device be accessed during the last update call.""" return self.glances_data.available - @property - def native_value(self): - """Return the state of the resources.""" - return self._state - async def async_added_to_hass(self) -> None: """Handle entity which will be added.""" self.unsub_update = async_dispatcher_connect( @@ -358,16 +352,16 @@ class GlancesSensor(SensorEntity): ) @callback - def _schedule_immediate_update(self): + def _schedule_immediate_update(self) -> None: self.async_schedule_update_ha_state(True) - async def will_remove_from_hass(self): + async def will_remove_from_hass(self) -> None: """Unsubscribe from update dispatcher.""" if self.unsub_update: self.unsub_update() self.unsub_update = None - async def async_update(self): # noqa: C901 + async def async_update(self) -> None: # noqa: C901 """Get the latest data from REST API.""" if (value := self.glances_data.api.data) is None: return @@ -379,100 +373,100 @@ class GlancesSensor(SensorEntity): break if self.entity_description.key == "disk_free": try: - self._state = round(disk["free"] / 1024**3, 1) + self._attr_native_value = round(disk["free"] / 1024**3, 1) except KeyError: - self._state = round( + self._attr_native_value = round( (disk["size"] - disk["used"]) / 1024**3, 1, ) elif self.entity_description.key == "disk_use": - self._state = round(disk["used"] / 1024**3, 1) + self._attr_native_value = round(disk["used"] / 1024**3, 1) elif self.entity_description.key == "disk_use_percent": - self._state = disk["percent"] + self._attr_native_value = disk["percent"] elif self.entity_description.key == "battery": for sensor in value["sensors"]: if ( sensor["type"] == "battery" and sensor["label"] == self._sensor_name_prefix ): - self._state = sensor["value"] + self._attr_native_value = sensor["value"] elif self.entity_description.key == "fan_speed": for sensor in value["sensors"]: if ( sensor["type"] == "fan_speed" and sensor["label"] == self._sensor_name_prefix ): - self._state = sensor["value"] + self._attr_native_value = sensor["value"] elif self.entity_description.key == "temperature_core": for sensor in value["sensors"]: if ( sensor["type"] == "temperature_core" and sensor["label"] == self._sensor_name_prefix ): - self._state = sensor["value"] + self._attr_native_value = sensor["value"] elif self.entity_description.key == "temperature_hdd": for sensor in value["sensors"]: if ( sensor["type"] == "temperature_hdd" and sensor["label"] == self._sensor_name_prefix ): - self._state = sensor["value"] + self._attr_native_value = sensor["value"] elif self.entity_description.key == "memory_use_percent": - self._state = value["mem"]["percent"] + self._attr_native_value = value["mem"]["percent"] elif self.entity_description.key == "memory_use": - self._state = round(value["mem"]["used"] / 1024**2, 1) + self._attr_native_value = round(value["mem"]["used"] / 1024**2, 1) elif self.entity_description.key == "memory_free": - self._state = round(value["mem"]["free"] / 1024**2, 1) + self._attr_native_value = round(value["mem"]["free"] / 1024**2, 1) elif self.entity_description.key == "swap_use_percent": - self._state = value["memswap"]["percent"] + self._attr_native_value = value["memswap"]["percent"] elif self.entity_description.key == "swap_use": - self._state = round(value["memswap"]["used"] / 1024**3, 1) + self._attr_native_value = round(value["memswap"]["used"] / 1024**3, 1) elif self.entity_description.key == "swap_free": - self._state = round(value["memswap"]["free"] / 1024**3, 1) + self._attr_native_value = round(value["memswap"]["free"] / 1024**3, 1) elif self.entity_description.key == "processor_load": # Windows systems don't provide load details try: - self._state = value["load"]["min15"] + self._attr_native_value = value["load"]["min15"] except KeyError: - self._state = value["cpu"]["total"] + self._attr_native_value = value["cpu"]["total"] elif self.entity_description.key == "process_running": - self._state = value["processcount"]["running"] + self._attr_native_value = value["processcount"]["running"] elif self.entity_description.key == "process_total": - self._state = value["processcount"]["total"] + self._attr_native_value = value["processcount"]["total"] elif self.entity_description.key == "process_thread": - self._state = value["processcount"]["thread"] + self._attr_native_value = value["processcount"]["thread"] elif self.entity_description.key == "process_sleeping": - self._state = value["processcount"]["sleeping"] + self._attr_native_value = value["processcount"]["sleeping"] elif self.entity_description.key == "cpu_use_percent": - self._state = value["quicklook"]["cpu"] + self._attr_native_value = value["quicklook"]["cpu"] elif self.entity_description.key == "docker_active": count = 0 try: for container in value["docker"]["containers"]: if container["Status"] == "running" or "Up" in container["Status"]: count += 1 - self._state = count + self._attr_native_value = count except KeyError: - self._state = count + self._attr_native_value = count elif self.entity_description.key == "docker_cpu_use": cpu_use = 0.0 try: for container in value["docker"]["containers"]: if container["Status"] == "running" or "Up" in container["Status"]: cpu_use += container["cpu"]["total"] - self._state = round(cpu_use, 1) + self._attr_native_value = round(cpu_use, 1) except KeyError: - self._state = STATE_UNAVAILABLE + self._attr_native_value = STATE_UNAVAILABLE elif self.entity_description.key == "docker_memory_use": mem_use = 0.0 try: for container in value["docker"]["containers"]: if container["Status"] == "running" or "Up" in container["Status"]: mem_use += container["memory"]["usage"] - self._state = round(mem_use / 1024**2, 1) + self._attr_native_value = round(mem_use / 1024**2, 1) except KeyError: - self._state = STATE_UNAVAILABLE + self._attr_native_value = 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] + self._attr_native_value = raid[self.entity_description.key]