From a35ddd476e07248cf5c3c6b4bdddc02ea2df6927 Mon Sep 17 00:00:00 2001 From: Jan Grewe <jan@faked.org> Date: Thu, 12 Oct 2023 19:42:00 +0200 Subject: [PATCH] format uptime human-readable --- packages/base.yaml | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/base.yaml b/packages/base.yaml index d1163a2..b2270d7 100644 --- a/packages/base.yaml +++ b/packages/base.yaml @@ -58,18 +58,43 @@ sensor: update_interval: 60s - platform: uptime - id: device_uptime - name: "Device Uptime" - update_interval: 60s + id: device_uptime_seconds + update_interval: 15s + internal: true text_sensor: - platform: version name: "ESPHome Version" hide_timestamp: true + - platform: template + id: device_uptime + name: "Device: Uptime" + update_interval: 15s + lambda: |- + uint32_t dur = id(device_uptime_seconds).state; + int dys = 0; + int hrs = 0; + int mnts = 0; + if (dur > 86399) { + dys = trunc(dur / 86400); + dur = dur - (dys * 86400); + } + if (dur > 3599) { + hrs = trunc(dur / 3600); + dur = dur - (hrs * 3600); + } + if (dur > 59) { + mnts = trunc(dur / 60); + dur = dur - (mnts * 60); + } + char buffer[17]; + sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur); + return {buffer}; + button: - platform: restart - name: "Device Restart" + name: "Device: Restart" http_request: id: http_request_data -- GitLab