Added uptime sensor #64

This commit is contained in:
tomaae 2020-12-02 10:52:34 +01:00
parent 72aaffef74
commit 1e109f3dc6
2 changed files with 24 additions and 1 deletions

View file

@ -1,5 +1,6 @@
"""Mikrotik Controller for Mikrotik Router."""
import re
import asyncio
import logging
from datetime import timedelta
@ -705,15 +706,28 @@ class MikrotikControllerData:
{"name": "platform", "default": "unknown"},
{"name": "board-name", "default": "unknown"},
{"name": "version", "default": "unknown"},
{"name": "uptime", "default": "unknown"},
{"name": "uptime_str", "source": "uptime", "default": "unknown"},
{"name": "cpu-load", "default": "unknown"},
{"name": "free-memory", "default": 0},
{"name": "total-memory", "default": 0},
{"name": "free-hdd-space", "default": 0},
{"name": "total-hdd-space", "default": 0},
],
ensure_vals=[
{"name": "uptime", "default": 0},
],
)
l = list(map(int, re.split('[whms]', self.data["resource"]["uptime_str"])[:-1]))
if len(l) == 4:
self.data["resource"]["uptime"] = l[0] * 604800 + l[1] * 3600 + l[2] * 60 + l[3]
elif len(l) == 3:
self.data["resource"]["uptime"] = l[0] * 3600 + l[1] * 60 + l[2]
elif len(l) == 2:
self.data["resource"]["uptime"] = l[0] * 60 + l[1]
else:
self.data["resource"]["uptime"] = l[0]
if self.data["resource"]["total-memory"] > 0:
self.data["resource"]["memory-usage"] = round(
(

View file

@ -39,6 +39,15 @@ ATTR_PATH = "data_path"
ATTR_ATTR = "data_attr"
SENSOR_TYPES = {
"system_uptime": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:clock-outline",
ATTR_LABEL: "Uptime",
ATTR_UNIT: "s",
ATTR_GROUP: "System",
ATTR_PATH: "resource",
ATTR_ATTR: "uptime",
},
"system_temperature": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:thermometer",