55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
type: grid
|
|
square: false
|
|
columns: 1
|
|
cards:
|
|
- type: markdown
|
|
content: >
|
|
{{ '{%' }} set trackers = [
|
|
{% for item in trackers -%}
|
|
{
|
|
"counter": states("counter.days_since_{{ item.id }}") | int,
|
|
"threshold": state_attr("binary_sensor.threshold_for_days_since_{{ item.id }}", "upper"),
|
|
"percent": (int(states("counter.days_since_{{ item.id }}")) / state_attr("binary_sensor.threshold_for_days_since_{{ item.id }}", "upper")),
|
|
"name": "{{ item.name }}"
|
|
},
|
|
{% endfor -%}
|
|
]{{ '%} ' }}
|
|
|
|
{% raw %}
|
|
{% for tracker in (trackers | sort(reverse=true, attribute='percent')) %}
|
|
{% set days_left = ((tracker.threshold - tracker.counter) | int | string) %}
|
|
{% set message = tracker.name + " completed " + tracker.counter | string + " days ago. Due again in " + days_left + " days." %}
|
|
{% if tracker.percent > 1 %}
|
|
<ha-alert alert-type="error">{{ message }}</ha-alert>
|
|
{% elif tracker.percent > 0.8 %}
|
|
<ha-alert alert-type="warning">{{ message }}</ha-alert>
|
|
{% else %}
|
|
<ha-alert alert-type="success">{{ message }}</ha-alert>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{%- endraw %}
|
|
{% for item in trackers %}
|
|
|
|
- type: grid
|
|
square: false
|
|
columns: 2
|
|
title: Days Since {{ item.name }}
|
|
cards:
|
|
- type: button
|
|
name: Reset
|
|
entity: input_button.reset_days_since_{{ item.id }}
|
|
tap_action:
|
|
action: toggle
|
|
- type: button
|
|
entity: input_button.undo_reset_days_since_{{ item.id }}
|
|
name: Undo
|
|
tap_action:
|
|
action: toggle
|
|
- type: entity
|
|
entity: counter.days_since_{{ item.id }}
|
|
name: Days Since
|
|
- type: entity
|
|
entity: counter.last_non_zero_days_since_{{ item.id }}
|
|
name: Last Non-Zero
|
|
{% endfor %}
|