Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 33 additions & 17 deletions athom-energy-monitor-x2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -335,30 +335,46 @@ text_sensor:
entity_category: diagnostic
device_class: timestamp

# Creates a sensor of the uptime of the device, in formatted days, hours, minutes and seconds
- platform: template
name: "Uptime"
id: uptimes
icon: mdi:clock-start
entity_category: diagnostic
lambda: |-
int seconds = (id(uptime_sensor).state);
int seconds = (int) id(uptime_seconds).state;
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
seconds %= (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
if ( days > 3650 ) {
return { "Starting up" };
} else if ( days ) {
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( hours ) {
return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( minutes ) {
return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
seconds %= 3600;
int minutes = seconds / 60;
seconds %= 60;

if (days > 3650) {
return std::string("Starting up");
} else if (days) {
return std::string(
std::to_string(days) + "d " +
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (hours) {
return std::string(
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (minutes) {
return std::string(
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else {
return { (String(seconds) +"s").c_str() };
}
return std::string(
std::to_string(seconds) + "s"
);
}
icon: mdi:clock-start


time:
- platform: sntp
Expand Down
49 changes: 32 additions & 17 deletions athom-energy-monitor-x6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -535,30 +535,45 @@ text_sensor:
entity_category: diagnostic
device_class: timestamp

# Creates a sensor of the uptime of the device, in formatted days, hours, minutes and seconds
- platform: template
name: "Uptime"
id: uptimes
icon: mdi:clock-start
entity_category: diagnostic
lambda: |-
int seconds = (id(uptime_sensor).state);
int seconds = (int) id(uptime_seconds).state;
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
seconds %= (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
if ( days > 3650 ) {
return { "Starting up" };
} else if ( days ) {
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( hours ) {
return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( minutes ) {
return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
seconds %= 3600;
int minutes = seconds / 60;
seconds %= 60;

if (days > 3650) {
return std::string("Starting up");
} else if (days) {
return std::string(
std::to_string(days) + "d " +
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (hours) {
return std::string(
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (minutes) {
return std::string(
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else {
return { (String(seconds) +"s").c_str() };
}
return std::string(
std::to_string(seconds) + "s"
);
}
icon: mdi:clock-start

time:
- platform: sntp
Expand Down
46 changes: 31 additions & 15 deletions athom-garage-door.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -215,28 +215,44 @@ text_sensor:
entity_category: diagnostic
device_class: timestamp

# Creates a sensor of the uptime of the device, in formatted days, hours, minutes and seconds
- platform: template
name: "Uptime"
entity_category: diagnostic
lambda: |-
int seconds = (id(uptime_sensor).state);
int seconds = (int) id(uptime_seconds).state;
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
seconds %= (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
if ( days > 3650 ) {
return { "Starting up" };
} else if ( days ) {
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( hours ) {
return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( minutes ) {
return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
seconds %= 3600;
int minutes = seconds / 60;
seconds %= 60;

if (days > 3650) {
return std::string("Starting up");
} else if (days) {
return std::string(
std::to_string(days) + "d " +
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (hours) {
return std::string(
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (minutes) {
return std::string(
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else {
return { (String(seconds) +"s").c_str() };
}
return std::string(
std::to_string(seconds) + "s"
);
}
icon: mdi:clock-start

time:
Expand Down
45 changes: 30 additions & 15 deletions athom-mini-relay-v2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -315,24 +315,39 @@ text_sensor:
name: "Uptime"
entity_category: diagnostic
lambda: |-
int seconds = (id(uptime_sensor).state);
int seconds = (int) id(uptime_seconds).state;
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
seconds %= (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
if ( days > 3650 ) {
return { "Starting up" };
} else if ( days ) {
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( hours ) {
return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( minutes ) {
return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
seconds %= 3600;
int minutes = seconds / 60;
seconds %= 60;

if (days > 3650) {
return std::string("Starting up");
} else if (days) {
return std::string(
std::to_string(days) + "d " +
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (hours) {
return std::string(
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (minutes) {
return std::string(
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else {
return { (String(seconds) +"s").c_str() };
}
return std::string(
std::to_string(seconds) + "s"
);
}
icon: mdi:clock-start

time:
Expand Down
45 changes: 30 additions & 15 deletions athom-smart-plug.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -350,24 +350,39 @@ text_sensor:
name: "Uptime"
entity_category: diagnostic
lambda: |-
int seconds = (id(uptime_sensor).state);
int seconds = (int) id(uptime_seconds).state;
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
seconds %= (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
if ( days > 3650 ) {
return { "Starting up" };
} else if ( days ) {
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( hours ) {
return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
} else if ( minutes ) {
return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
seconds %= 3600;
int minutes = seconds / 60;
seconds %= 60;

if (days > 3650) {
return std::string("Starting up");
} else if (days) {
return std::string(
std::to_string(days) + "d " +
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (hours) {
return std::string(
std::to_string(hours) + "h " +
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else if (minutes) {
return std::string(
std::to_string(minutes) + "m " +
std::to_string(seconds) + "s"
);
} else {
return { (String(seconds) +"s").c_str() };
}
return std::string(
std::to_string(seconds) + "s"
);
}
icon: mdi:clock-start

time:
Expand Down