30 lines
702 B
YAML
Executable File
30 lines
702 B
YAML
Executable File
text_sensor:
|
|
- platform: template
|
|
name: "Uptime"
|
|
lambda: |-
|
|
uint32_t dur = id(uptime_s).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};
|
|
icon: mdi:clock-start
|
|
update_interval: 60s
|
|
|
|
sensor:
|
|
- platform: uptime
|
|
id: uptime_s
|
|
update_interval: 60s |