From 86baed4e52470a86b29912b02fb6ef3c3873518a Mon Sep 17 00:00:00 2001 From: Timmo <28114703+timmo001@users.noreply.github.com> Date: Sat, 10 Mar 2018 17:11:53 +0000 Subject: [PATCH] Glances Docker Sensors (#13026) * Added container count * Added container count * Change Name * Fix if * Added Docker cpu use and memory use --- homeassistant/components/sensor/glances.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/homeassistant/components/sensor/glances.py b/homeassistant/components/sensor/glances.py index b61b7abeae3..3b6f3ddc99d 100644 --- a/homeassistant/components/sensor/glances.py +++ b/homeassistant/components/sensor/glances.py @@ -42,6 +42,9 @@ SENSOR_TYPES = { 'process_thread': ['Thread', 'Count', 'mdi:memory'], 'process_sleeping': ['Sleeping', 'Count', 'mdi:memory'], 'cpu_temp': ['CPU Temp', TEMP_CELSIUS, 'mdi:thermometer'], + 'docker_active': ['Containers active', '', 'mdi:docker'], + 'docker_cpu_use': ['Containers CPU used', '%', 'mdi:docker'], + 'docker_memory_use': ['Containers RAM used', 'MiB', 'mdi:docker'], } PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ @@ -155,6 +158,22 @@ class GlancesSensor(Entity): if sensor['label'] == 'CPU': self._state = sensor['value'] self._state = None + elif self.type == 'docker_active': + count = 0 + for container in value['docker']['containers']: + if container['Status'] == 'running': + count += 1 + self._state = count + elif self.type == 'docker_cpu_use': + use = 0.0 + for container in value['docker']['containers']: + use += container['cpu']['total'] + self._state = round(use, 1) + elif self.type == 'docker_memory_use': + use = 0.0 + for container in value['docker']['containers']: + use += container['memory']['usage'] + self._state = round(use / 1024**2, 1) class GlancesData(object):