diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 53e0bce..b1ae8a2 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -798,15 +798,18 @@ class MikrotikControllerData: ], ) - # l = list(map(int, re.split('[wdhms]', 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] + tmp_uptime = 0 + tmp = re.split(r"(\d+)[h]", self.data["resource"]["uptime_str"]) + if len(tmp) > 1: + tmp_uptime += int(tmp[1]) + tmp = re.split(r"(\d+)[d]", self.data["resource"]["uptime_str"]) + if len(tmp) > 1: + tmp_uptime += int(tmp[1]) * 24 + tmp = re.split(r"(\d+)[w]", self.data["resource"]["uptime_str"]) + if len(tmp) > 1: + tmp_uptime += int(tmp[1]) * 24 * 7 + + self.data["resource"]["uptime"] = tmp_uptime if self.data["resource"]["total-memory"] > 0: self.data["resource"]["memory-usage"] = round( diff --git a/custom_components/mikrotik_router/sensor.py b/custom_components/mikrotik_router/sensor.py index 8aa76d4..5770026 100644 --- a/custom_components/mikrotik_router/sensor.py +++ b/custom_components/mikrotik_router/sensor.py @@ -49,7 +49,7 @@ SENSOR_TYPES = { ATTR_DEVICE_CLASS: None, ATTR_ICON: "mdi:clock-outline", ATTR_LABEL: "Uptime", - ATTR_UNIT: "s", + ATTR_UNIT: "h", ATTR_GROUP: "System", ATTR_PATH: "resource", ATTR_ATTR: "uptime",