59 lines
2.0 KiB
YAML
Executable File
59 lines
2.0 KiB
YAML
Executable File
- platform: template
|
|
sensors:
|
|
since_last_boot_templated:
|
|
value_template: >-
|
|
{%- set slb = states.sensor.since_last_boot.state.split(' ') -%}
|
|
{%- set count = slb | length -%}
|
|
{%- set hms = slb[count - 1] -%}
|
|
{%- set hms_trimmed = hms.split('.')[0] -%}
|
|
{%- set hms_split = hms_trimmed.split(':') -%}
|
|
{%- set hours = hms_split[0] | int -%}
|
|
{%- set minutes = hms_split[1] | int -%}
|
|
{%- set seconds = hms_split[2] | int -%}
|
|
|
|
{%- if count == 3 -%}
|
|
{{ slb[0] ~ ' ' ~ slb[1] ~ ' ' }}
|
|
{%- endif -%}
|
|
{%- if hours > 0 -%}
|
|
{%- if hours == 1 -%}
|
|
1 hour
|
|
{%- else -%}
|
|
{{ hours }} hours
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- if minutes > 0 -%}
|
|
{%- if hours > 0 -%}
|
|
{{ ', ' }}
|
|
{%- endif -%}
|
|
{%- if minutes == 1 -%}
|
|
1 minute
|
|
{%- else -%}
|
|
{{ minutes }} minutes
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- if seconds > 0 -%}
|
|
{%- if hours > 0 or minutes > 0 -%}
|
|
{{ ', ' }}
|
|
{%- endif -%}
|
|
{%- if seconds == 1 -%}
|
|
1 second
|
|
{%- else -%}
|
|
{{ seconds }} seconds
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
|
|
- platform: rest
|
|
scan_interval: 86400
|
|
resource: http://ip.jsontest.com
|
|
name: External IP
|
|
value_template: '{{ value_json.ip }}'
|
|
|
|
#############################################################################################################
|
|
### This part of the automation is hidden due to the IP address exposed ##
|
|
# - platform: template
|
|
# sensors:
|
|
# ipchange:
|
|
# entity_id: sensor.external_ip
|
|
# value_template: "{%- if is_state('sensor.external_ip', 'xxx.xxx.xxx.xxx') -%} False {%- elif is_state('sensor.external_ip', 'unknown' ) -%} False {%- else -%} True {%- endif %}"
|
|
#############################################################################################################
|