The uptime sensor is very limited in functionality. I’m still using my template sensor for exactly that reason:
- platform: template
sensors:
since_last_boot_templated:
value_template: >-
{%- if states.sensor.since_last_boot -%}
{%- set slb = states.sensor.since_last_boot.state.split(' ') -%}
{%- set count = slb | length -%}
{%- set hms = slb[count - 1] -%}
{%- set hms_split = hms.split(':') -%}
{%- set hours = hms_split[0] | int -%}
{%- set minutes = hms_split[1] | int -%}
{%- if count == 3 -%}
{%- set days = slb[0] | int -%}
{%- else -%}
{%- set days = 0 -%}
{%- endif -%}
{%- if days == 0 and hours == 0 and minutes == 0 -%}
less than a minute
{%- else -%}
{%- if days > 0 -%}
{%- if days == 1 -%}
1 day
{%- else -%}
{{ days }} days
{%- endif -%}
{%- endif -%}
{%- if hours > 0 -%}
{%- if days > 0 -%}
{{ ', ' }}
{%- endif -%}
{%- if hours == 1 -%}
1 hour
{%- else -%}
{{ hours }} hours
{%- endif -%}
{%- endif -%}
{%- if minutes > 0 -%}
{%- if days > 0 or hours > 0 -%}
{{ ', ' }}
{%- endif -%}
{%- if minutes == 1 -%}
1 minute
{%- else -%}
{{ minutes }} minutes
{%- endif -%}
{%- endif -%}
{%- endif -%}
{%- else -%}
n/a
{%- endif -%}
entity_id: sensor.since_last_boot
The entity sensor.since_last_boot
on which I based the sensor above, is provided by the System Monitor.