Temperatures, fan and battery in Glances sensors (#43500)

* Temperatures, fan and battery in Glances sensors

* Lint PR #43500
This commit is contained in:
Guillaume Duveau 2020-12-14 10:46:44 +01:00 committed by GitHub
parent 61dd374713
commit c27c958a4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 14 deletions

View file

@ -36,7 +36,9 @@ SENSOR_TYPES = {
"process_thread": ["processcount", "Thread", "Count", CPU_ICON],
"process_sleeping": ["processcount", "Sleeping", "Count", CPU_ICON],
"cpu_use_percent": ["cpu", "CPU used", PERCENTAGE, CPU_ICON],
"sensor_temp": ["sensors", "Temp", TEMP_CELSIUS, "mdi:thermometer"],
"temperature_core": ["sensors", "temperature", TEMP_CELSIUS, "mdi:thermometer"],
"fan_speed": ["sensors", "fan speed", "RPM", "mdi:fan"],
"battery": ["sensors", "charge", PERCENTAGE, "mdi:battery"],
"docker_active": ["docker", "Containers active", "", "mdi:docker"],
"docker_cpu_use": ["docker", "Containers CPU used", PERCENTAGE, "mdi:docker"],
"docker_memory_use": [

View file

@ -34,6 +34,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
elif sensor_details[0] == "sensors":
# sensors will provide temp for different devices
for sensor in client.api.data[sensor_details[0]]:
if sensor["type"] == sensor_type:
dev.append(
GlancesSensor(
client,
@ -156,11 +157,21 @@ class GlancesSensor(Entity):
(disk["size"] - disk["used"]) / 1024 ** 3,
1,
)
elif self.type == "sensor_temp":
elif self.type == "battery":
for sensor in value["sensors"]:
if sensor["type"] == "battery":
if sensor["label"] == self._sensor_name_prefix:
self._state = sensor["value"]
elif self.type == "fan_speed":
for sensor in value["sensors"]:
if sensor["type"] == "fan_speed":
if sensor["label"] == self._sensor_name_prefix:
self._state = sensor["value"]
elif self.type == "temperature_core":
for sensor in value["sensors"]:
if sensor["type"] == "temperature_core":
if sensor["label"] == self._sensor_name_prefix:
self._state = sensor["value"]
break
elif self.type == "memory_use_percent":
self._state = value["mem"]["percent"]
elif self.type == "memory_use":