|
|
|
|
@@ -524,294 +524,6 @@ views:
|
|
|
|
|
icon: mdi:cellphone-information
|
|
|
|
|
navigation_path: /dashboard-mobile/mobile-devices
|
|
|
|
|
columns: '4'
|
|
|
|
|
- type: custom:timeflow-card
|
|
|
|
|
title: >-
|
|
|
|
|
{% set person_name = "Tony" %} {% set birth_year = 1988 %} {% set
|
|
|
|
|
birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
|
|
|
|
person_name }}'s {{ age }}{{
|
|
|
|
|
'st' if age % 10 == 1 and age % 100 != 11 else
|
|
|
|
|
'nd' if age % 10 == 2 and age % 100 != 12 else
|
|
|
|
|
'rd' if age % 10 == 3 and age % 100 != 13 else
|
|
|
|
|
'th'
|
|
|
|
|
}} Birthday
|
|
|
|
|
target_date: >-
|
|
|
|
|
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {{ next_birthday.isoformat() }}
|
|
|
|
|
creation_date: >-
|
|
|
|
|
{% set current_date = now() %} {% set start_of_year =
|
|
|
|
|
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
|
|
|
|
microsecond=0) %} {{ start_of_year.isoformat() }}
|
|
|
|
|
show_days: true
|
|
|
|
|
show_hours: true
|
|
|
|
|
show_minutes: true
|
|
|
|
|
show_seconds: false
|
|
|
|
|
expired_text: Happy Birthday Tony! 🎉
|
|
|
|
|
color: >-
|
|
|
|
|
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set days_until = (next_birthday -
|
|
|
|
|
current_date).days %} {% if days_until == 0 %}
|
|
|
|
|
#FF6B6B
|
|
|
|
|
{% elif days_until <= 7 %}
|
|
|
|
|
#4ECDC4
|
|
|
|
|
{% elif days_until <= 30 %}
|
|
|
|
|
#45B7D1
|
|
|
|
|
{% else %}
|
|
|
|
|
#96CEB4
|
|
|
|
|
{% endif %}
|
|
|
|
|
background_color: '#2C3150'
|
|
|
|
|
progress_color: '#D0CFCF'
|
|
|
|
|
aspect_ratio: 4/2
|
|
|
|
|
stroke_width: 6
|
|
|
|
|
card_mod:
|
|
|
|
|
style: |
|
|
|
|
|
ha-card .title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
}
|
|
|
|
|
ha-card .subtitle {
|
|
|
|
|
font-size: 2.0rem;
|
|
|
|
|
}
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: numeric_state
|
|
|
|
|
entity: sensor.anniversary_tony_s_birthday
|
|
|
|
|
below: 8
|
|
|
|
|
- type: custom:timeflow-card
|
|
|
|
|
title: >-
|
|
|
|
|
{% set person_name = "Tina" %} {% set birth_year = 1988 %} {% set
|
|
|
|
|
birthday_month = 8 %} {% set birthday_day = 14 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
|
|
|
|
person_name }}'s {{ age }}{{
|
|
|
|
|
'st' if age % 10 == 1 and age % 100 != 11 else
|
|
|
|
|
'nd' if age % 10 == 2 and age % 100 != 12 else
|
|
|
|
|
'rd' if age % 10 == 3 and age % 100 != 13 else
|
|
|
|
|
'th'
|
|
|
|
|
}} Birthday
|
|
|
|
|
target_date: >-
|
|
|
|
|
{% set birthday_month = 8 %} {% set birthday_day = 14 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {{ next_birthday.isoformat() }}
|
|
|
|
|
creation_date: >-
|
|
|
|
|
{% set current_date = now() %} {% set start_of_year =
|
|
|
|
|
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
|
|
|
|
microsecond=0) %} {{ start_of_year.isoformat() }}
|
|
|
|
|
show_days: true
|
|
|
|
|
show_hours: true
|
|
|
|
|
show_minutes: true
|
|
|
|
|
show_seconds: false
|
|
|
|
|
expired_text: Happy Birthday Tina! 🎉
|
|
|
|
|
color: >-
|
|
|
|
|
{% set birthday_month = 8 %} {% set birthday_day = 14 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set days_until = (next_birthday -
|
|
|
|
|
current_date).days %} {% if days_until == 0 %}
|
|
|
|
|
#FF6B6B
|
|
|
|
|
{% elif days_until <= 7 %}
|
|
|
|
|
#4ECDC4
|
|
|
|
|
{% elif days_until <= 30 %}
|
|
|
|
|
#45B7D1
|
|
|
|
|
{% else %}
|
|
|
|
|
#96CEB4
|
|
|
|
|
{% endif %}
|
|
|
|
|
background_color: '#2C3150'
|
|
|
|
|
progress_color: '#D0CFCF'
|
|
|
|
|
aspect_ratio: 4/2
|
|
|
|
|
stroke_width: 6
|
|
|
|
|
card_mod:
|
|
|
|
|
style: |
|
|
|
|
|
ha-card .title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
}
|
|
|
|
|
ha-card .subtitle {
|
|
|
|
|
font-size: 2.0rem;
|
|
|
|
|
}
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: numeric_state
|
|
|
|
|
entity: sensor.anniversary_tina_s_birthday
|
|
|
|
|
below: 8
|
|
|
|
|
- type: custom:timeflow-card
|
|
|
|
|
title: >-
|
|
|
|
|
{% set person_name = "Kallen" %} {% set birth_year = 2012 %} {% set
|
|
|
|
|
birthday_month = 2 %} {% set birthday_day = 7 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
|
|
|
|
person_name }}'s {{ age }}{{
|
|
|
|
|
'st' if age % 10 == 1 and age % 100 != 11 else
|
|
|
|
|
'nd' if age % 10 == 2 and age % 100 != 12 else
|
|
|
|
|
'rd' if age % 10 == 3 and age % 100 != 13 else
|
|
|
|
|
'th'
|
|
|
|
|
}} Birthday
|
|
|
|
|
target_date: >-
|
|
|
|
|
{% set birthday_month = 2 %} {% set birthday_day = 7 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {{ next_birthday.isoformat() }}
|
|
|
|
|
creation_date: >-
|
|
|
|
|
{% set current_date = now() %} {% set start_of_year =
|
|
|
|
|
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
|
|
|
|
microsecond=0) %} {{ start_of_year.isoformat() }}
|
|
|
|
|
show_days: true
|
|
|
|
|
show_hours: true
|
|
|
|
|
show_minutes: true
|
|
|
|
|
show_seconds: false
|
|
|
|
|
expired_text: Happy Birthday Kallen! 🎉
|
|
|
|
|
color: >-
|
|
|
|
|
{% set birthday_month = 2 %} {% set birthday_day = 7 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set days_until = (next_birthday -
|
|
|
|
|
current_date).days %} {% if days_until == 0 %}
|
|
|
|
|
#FF6B6B
|
|
|
|
|
{% elif days_until <= 7 %}
|
|
|
|
|
#4ECDC4
|
|
|
|
|
{% elif days_until <= 30 %}
|
|
|
|
|
#45B7D1
|
|
|
|
|
{% else %}
|
|
|
|
|
#96CEB4
|
|
|
|
|
{% endif %}
|
|
|
|
|
background_color: '#2C3150'
|
|
|
|
|
progress_color: '#D0CFCF'
|
|
|
|
|
aspect_ratio: 4/2
|
|
|
|
|
stroke_width: 6
|
|
|
|
|
card_mod:
|
|
|
|
|
style: |
|
|
|
|
|
ha-card .title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
}
|
|
|
|
|
ha-card .subtitle {
|
|
|
|
|
font-size: 2.0rem;
|
|
|
|
|
}
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: numeric_state
|
|
|
|
|
entity: sensor.anniversary_kallen_s_birthday
|
|
|
|
|
below: 8
|
|
|
|
|
- type: custom:timeflow-card
|
|
|
|
|
title: >-
|
|
|
|
|
{% set person_name = "Emmalynn" %} {% set birth_year = 2022 %} {% set
|
|
|
|
|
birthday_month = 1 %} {% set birthday_day = 10 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
|
|
|
|
person_name }}'s {{ age }}{{
|
|
|
|
|
'st' if age % 10 == 1 and age % 100 != 11 else
|
|
|
|
|
'nd' if age % 10 == 2 and age % 100 != 12 else
|
|
|
|
|
'rd' if age % 10 == 3 and age % 100 != 13 else
|
|
|
|
|
'th'
|
|
|
|
|
}} Birthday
|
|
|
|
|
target_date: >-
|
|
|
|
|
{% set birthday_month = 1 %} {% set birthday_day = 10 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {{ next_birthday.isoformat() }}
|
|
|
|
|
creation_date: >-
|
|
|
|
|
{% set current_date = now() %} {% set start_of_year =
|
|
|
|
|
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
|
|
|
|
microsecond=0) %} {{ start_of_year.isoformat() }}
|
|
|
|
|
show_days: true
|
|
|
|
|
show_hours: true
|
|
|
|
|
show_minutes: true
|
|
|
|
|
show_seconds: false
|
|
|
|
|
expired_text: Happy Birthday Emmalynn! 🎉
|
|
|
|
|
color: >-
|
|
|
|
|
{% set birthday_month = 1 %} {% set birthday_day = 10 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set days_until = (next_birthday -
|
|
|
|
|
current_date).days %} {% if days_until == 0 %}
|
|
|
|
|
#FF6B6B
|
|
|
|
|
{% elif days_until <= 7 %}
|
|
|
|
|
#4ECDC4
|
|
|
|
|
{% elif days_until <= 30 %}
|
|
|
|
|
#45B7D1
|
|
|
|
|
{% else %}
|
|
|
|
|
#96CEB4
|
|
|
|
|
{% endif %}
|
|
|
|
|
background_color: '#2C3150'
|
|
|
|
|
progress_color: '#D0CFCF'
|
|
|
|
|
aspect_ratio: 4/2
|
|
|
|
|
stroke_width: 6
|
|
|
|
|
card_mod:
|
|
|
|
|
style: |
|
|
|
|
|
ha-card .title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
}
|
|
|
|
|
ha-card .subtitle {
|
|
|
|
|
font-size: 2.0rem;
|
|
|
|
|
}
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: numeric_state
|
|
|
|
|
entity: sensor.anniversary_emmalynn_s_birthday
|
|
|
|
|
below: 8
|
|
|
|
|
- type: heading
|
|
|
|
|
icon: mdi:cctv
|
|
|
|
|
heading: Cameras
|
|
|
|
|
@@ -4119,7 +3831,7 @@ views:
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: Emma has left her room! (Tap to silence)
|
|
|
|
|
icon: mdi:alert
|
|
|
|
|
color: red
|
|
|
|
|
color: var(--error-color)
|
|
|
|
|
label: Toddler Alert
|
|
|
|
|
entity: button.emma_door_alert_cancel
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4132,7 +3844,6 @@ views:
|
|
|
|
|
content: Alert Disabled
|
|
|
|
|
icon: mdi:alert
|
|
|
|
|
entity: switch.emma_door_alert
|
|
|
|
|
color: yellow
|
|
|
|
|
label: Emma Door Alert
|
|
|
|
|
tap_action:
|
|
|
|
|
action: toggle
|
|
|
|
|
@@ -4144,9 +3855,10 @@ views:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: switch.emma_door_alert
|
|
|
|
|
state: 'off'
|
|
|
|
|
color: var(--warning-color)
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: Tornado Possible
|
|
|
|
|
color: red
|
|
|
|
|
color: var(--error-color)
|
|
|
|
|
label: Stay Alert
|
|
|
|
|
tap_action:
|
|
|
|
|
action: none
|
|
|
|
|
@@ -4166,12 +3878,7 @@ views:
|
|
|
|
|
states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour')
|
|
|
|
|
}} strikes in last hour!
|
|
|
|
|
icon: mdi:lightning-bolt
|
|
|
|
|
color: |-
|
|
|
|
|
{% if is_state('binary_sensor.lightning_warning','on') %}
|
|
|
|
|
yellow
|
|
|
|
|
{% else %}
|
|
|
|
|
grey
|
|
|
|
|
{% endif %}
|
|
|
|
|
color: var(--warning-color)
|
|
|
|
|
entity: binary_sensor.lightning_warning
|
|
|
|
|
label: Lightning Warning
|
|
|
|
|
visibility:
|
|
|
|
|
@@ -4188,12 +3895,7 @@ views:
|
|
|
|
|
It is currently raining!
|
|
|
|
|
{% endif %}
|
|
|
|
|
icon: mdi:weather-rainy
|
|
|
|
|
color: |-
|
|
|
|
|
{% if is_state('binary_sensor.raining','on') %}
|
|
|
|
|
blue
|
|
|
|
|
{% else %}
|
|
|
|
|
grey
|
|
|
|
|
{% endif %}
|
|
|
|
|
color: blue
|
|
|
|
|
entity: binary_sensor.raining
|
|
|
|
|
label: Rain Status
|
|
|
|
|
visibility:
|
|
|
|
|
@@ -4203,7 +3905,7 @@ views:
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: 'Currently: {{ states(''sensor.doors_open'') }}'
|
|
|
|
|
icon: mdi:door-open
|
|
|
|
|
color: red
|
|
|
|
|
color: var(--error-color)
|
|
|
|
|
entity: sensor.doors_open
|
|
|
|
|
label: Doors Open
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4219,7 +3921,7 @@ views:
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: 'Currently: {{ states(''sensor.windows_open'') }}'
|
|
|
|
|
icon: mdi:window-open
|
|
|
|
|
color: red
|
|
|
|
|
color: var(--error-color)
|
|
|
|
|
entity: binary_sensor.windows
|
|
|
|
|
label: Windows Open
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4235,7 +3937,7 @@ views:
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: Check light switches
|
|
|
|
|
icon: mdi:light-switch
|
|
|
|
|
color: red
|
|
|
|
|
color: var(--error-color)
|
|
|
|
|
label: Light Issue
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: state
|
|
|
|
|
@@ -4251,9 +3953,9 @@ views:
|
|
|
|
|
{% endif %}
|
|
|
|
|
color: |-
|
|
|
|
|
{% if is_state(entity,'on') %}
|
|
|
|
|
red
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
green
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% endif %}
|
|
|
|
|
label: Emma Door Status
|
|
|
|
|
content: |-
|
|
|
|
|
@@ -4301,11 +4003,11 @@ views:
|
|
|
|
|
{% endif %}
|
|
|
|
|
color: |-
|
|
|
|
|
{% if is_state('input_boolean.school_cancelled','on') %}
|
|
|
|
|
red
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif is_state('input_boolean.two_hour_delay','on') %}
|
|
|
|
|
yellow
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
green
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% endif %}
|
|
|
|
|
label: School Status
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4366,6 +4068,9 @@ views:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: sensor.spc_outlook_day_1
|
|
|
|
|
state_not: No Risk
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: sensor.spc_outlook_day_1
|
|
|
|
|
state_not: General Thunderstorms Risk
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: '{{ states(entity) }}'
|
|
|
|
|
icon: mdi:weather-windy
|
|
|
|
|
@@ -4451,11 +4156,11 @@ views:
|
|
|
|
|
label: Basement Status
|
|
|
|
|
color: |-
|
|
|
|
|
{% if is_state(entity,'on') %}
|
|
|
|
|
red
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif is_state('input_boolean.studio_quiet','on') %}
|
|
|
|
|
yellow
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
green
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% endif %}
|
|
|
|
|
icon: |-
|
|
|
|
|
{% if is_state(entity,'on') %}
|
|
|
|
|
@@ -4472,11 +4177,20 @@ views:
|
|
|
|
|
double_tap_action:
|
|
|
|
|
action: none
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
|
|
|
|
|
{% if is_state('input_boolean.tony_morning_meds_reminder','on') %}
|
|
|
|
|
|
|
|
|
|
Waiting: {{ states('counter.tony_morning_meds_reminder_count') | int
|
|
|
|
|
}} reminders
|
|
|
|
|
|
|
|
|
|
{% else %}
|
|
|
|
|
|
|
|
|
|
{{ input_datetime_read('input_datetime.tony_morning_meds_taken') }}
|
|
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
entity: input_datetime.tony_morning_meds_taken
|
|
|
|
|
label: Tony Morning Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4490,19 +4204,43 @@ views:
|
|
|
|
|
users:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_morning_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_morning_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_awake
|
|
|
|
|
state: 'on'
|
|
|
|
|
color: |-
|
|
|
|
|
{% set counter = states('counter.tony_morning_meds_reminder_count') | int %}
|
|
|
|
|
{% if is_state('input_boolean.tony_morning_meds_taken','on') %}
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
''
|
|
|
|
|
{% endif %}
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.tony_afternoon_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.tony_afternoon_meds_reminder','on') %}
|
|
|
|
|
Waiting: {{ states('counter.tony_afternoon_meds_reminder_count') | int
|
|
|
|
|
}} reminders {% else %} {{
|
|
|
|
|
input_datetime_read('input_datetime.tony_afternoon_meds_taken') }} {%
|
|
|
|
|
endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
entity: input_datetime.tony_morning_meds_taken
|
|
|
|
|
color: >-
|
|
|
|
|
{% set counter = states('counter.tony_afternoon_meds_reminder_count') | int
|
|
|
|
|
%} {% if is_state('input_boolean.tony_afternoon_meds_taken','on') %}
|
|
|
|
|
var(--success-color) {% elif counter >= 3 %} var(--error-color) {%
|
|
|
|
|
elif counter >= 1 %} var(--warning-color) {% else %} '' {% endif %}
|
|
|
|
|
entity: input_datetime.tony_afternoon_meds_taken
|
|
|
|
|
label: Tony Afternoon Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
action: none
|
|
|
|
|
@@ -4515,19 +4253,37 @@ views:
|
|
|
|
|
users:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_afternoon_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_afternoon_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_awake
|
|
|
|
|
state: 'on'
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.tony_night_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.tony_night_meds_reminder','on') %} Waiting: {{
|
|
|
|
|
states('counter.tony_night_meds_reminder_count') | int }} reminders {%
|
|
|
|
|
else %} {{ input_datetime_read('input_datetime.tony_night_meds_taken')
|
|
|
|
|
}} {% endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
entity: input_datetime.tony_morning_meds_taken
|
|
|
|
|
color: |-
|
|
|
|
|
{% set counter = states('counter.tony_night_meds_reminder_count') | int %}
|
|
|
|
|
{% if is_state('input_boolean.tony_night_meds_taken','on') %}
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
''
|
|
|
|
|
{% endif %}
|
|
|
|
|
entity: input_datetime.tony_night_meds_taken
|
|
|
|
|
label: Tony Night Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
action: none
|
|
|
|
|
@@ -4540,15 +4296,34 @@ views:
|
|
|
|
|
users:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_night_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tony_night_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.tina_morning_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.tina_morning_meds_reminder','on') %} Waiting: {{
|
|
|
|
|
states('counter.tina_morning_meds_reminder_count') | int }} reminders
|
|
|
|
|
{% else %} {{
|
|
|
|
|
input_datetime_read('input_datetime.tina_morning_meds_taken') }} {%
|
|
|
|
|
endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
color: |-
|
|
|
|
|
{% set counter = states('counter.tina_morning_meds_reminder_count') | int %}
|
|
|
|
|
{% if is_state('input_boolean.tina_morning_meds_taken','on') %}
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
''
|
|
|
|
|
{% endif %}
|
|
|
|
|
entity: input_datetime.tina_morning_meds_taken
|
|
|
|
|
label: Tina Morning Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4562,15 +4337,33 @@ views:
|
|
|
|
|
users:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tina_morning_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tina_morning_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.tina_night_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.tina_night_meds_reminder','on') %} Waiting: {{
|
|
|
|
|
states('counter.tina_night_meds_reminder_count') | int }} reminders {%
|
|
|
|
|
else %} {{ input_datetime_read('input_datetime.tina_night_meds_taken')
|
|
|
|
|
}} {% endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
color: |-
|
|
|
|
|
{% set counter = states('counter.tina_night_meds_reminder_count') | int %}
|
|
|
|
|
{% if is_state('input_boolean.tina_night_meds_taken','on') %}
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
''
|
|
|
|
|
{% endif %}
|
|
|
|
|
entity: input_datetime.tina_night_meds_taken
|
|
|
|
|
label: Tina Night Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4584,15 +4377,44 @@ views:
|
|
|
|
|
users:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tina_night_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.tina_night_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.kallen_morning_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.kallen_morning_meds_reminder','on') %}
|
|
|
|
|
Waiting: {{ states('counter.kallen_morning_meds_reminder_count') | int
|
|
|
|
|
}} reminders {% else %} {{
|
|
|
|
|
input_datetime_read('input_datetime.kallen_morning_meds_taken') }} {%
|
|
|
|
|
endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
color: >-
|
|
|
|
|
{% set counter = states('counter.kallen_morning_meds_reminder_count') | int
|
|
|
|
|
%}
|
|
|
|
|
|
|
|
|
|
{% if is_state('input_boolean.kallen_morning_meds_taken','on') %}
|
|
|
|
|
|
|
|
|
|
var(--success-color)
|
|
|
|
|
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
|
|
|
|
|
var(--error-color)
|
|
|
|
|
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
|
|
|
|
|
{% else %}
|
|
|
|
|
|
|
|
|
|
''
|
|
|
|
|
|
|
|
|
|
{% endif %}
|
|
|
|
|
entity: input_datetime.kallen_morning_meds_taken
|
|
|
|
|
label: Kallen Morning Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4607,18 +4429,37 @@ views:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- 879b4c04e32841b3ad1d2763a11b4e70
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_morning_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_morning_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_sleeping
|
|
|
|
|
state: 'off'
|
|
|
|
|
- type: custom:mushroom-template-badge
|
|
|
|
|
content: |-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %}
|
|
|
|
|
{{ input_datetime_read('input_datetime.kallen_night_meds_taken') }}
|
|
|
|
|
content: >-
|
|
|
|
|
{% from 'time.jinja' import input_datetime_read %} {% if
|
|
|
|
|
is_state('input_boolean.kallen_night_meds_reminder','on') %} Waiting:
|
|
|
|
|
{{ states('counter.kallen_night_meds_reminder_count') | int }}
|
|
|
|
|
reminders {% else %} {{
|
|
|
|
|
input_datetime_read('input_datetime.kallen_night_meds_taken') }} {%
|
|
|
|
|
endif %}
|
|
|
|
|
icon: mdi:medication
|
|
|
|
|
color: ''
|
|
|
|
|
color: |-
|
|
|
|
|
{% set counter = states('counter.kallen_night_meds_reminder_count') | int %}
|
|
|
|
|
{% if is_state('input_boolean.kallen_night_meds_taken','on') %}
|
|
|
|
|
var(--success-color)
|
|
|
|
|
{% elif counter >= 3 %}
|
|
|
|
|
var(--error-color)
|
|
|
|
|
{% elif counter >= 1 %}
|
|
|
|
|
var(--warning-color)
|
|
|
|
|
{% else %}
|
|
|
|
|
''
|
|
|
|
|
{% endif %}
|
|
|
|
|
entity: input_datetime.kallen_night_meds_taken
|
|
|
|
|
label: Kallen Night Meds
|
|
|
|
|
tap_action:
|
|
|
|
|
@@ -4633,9 +4474,14 @@ views:
|
|
|
|
|
- f387a983651a4321a7411ff8cf36f949
|
|
|
|
|
- c3909d27048140729f002aaef0391775
|
|
|
|
|
- 879b4c04e32841b3ad1d2763a11b4e70
|
|
|
|
|
- condition: or
|
|
|
|
|
conditions:
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_night_meds_taken
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_night_meds_reminder
|
|
|
|
|
state: 'on'
|
|
|
|
|
- condition: state
|
|
|
|
|
entity: input_boolean.kallen_sleeping
|
|
|
|
|
state: 'on'
|
|
|
|
|
@@ -7141,6 +6987,84 @@ views:
|
|
|
|
|
modules:
|
|
|
|
|
- default
|
|
|
|
|
- popup_timer_card
|
|
|
|
|
- type: grid
|
|
|
|
|
cards:
|
|
|
|
|
- type: heading
|
|
|
|
|
heading: Birthday Countdown Cards
|
|
|
|
|
heading_style: title
|
|
|
|
|
icon: mdi:calendar
|
|
|
|
|
- type: custom:timeflow-card
|
|
|
|
|
title: >-
|
|
|
|
|
{% set person_name = "Tony" %} {% set birth_year = 1988 %} {% set
|
|
|
|
|
birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
|
|
|
|
person_name }}'s {{ age }}{{
|
|
|
|
|
'st' if age % 10 == 1 and age % 100 != 11 else
|
|
|
|
|
'nd' if age % 10 == 2 and age % 100 != 12 else
|
|
|
|
|
'rd' if age % 10 == 3 and age % 100 != 13 else
|
|
|
|
|
'th'
|
|
|
|
|
}} Birthday
|
|
|
|
|
target_date: >-
|
|
|
|
|
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {{ next_birthday.isoformat() }}
|
|
|
|
|
creation_date: >-
|
|
|
|
|
{% set current_date = now() %} {% set start_of_year =
|
|
|
|
|
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
|
|
|
|
microsecond=0) %} {{ start_of_year.isoformat() }}
|
|
|
|
|
show_days: true
|
|
|
|
|
show_hours: true
|
|
|
|
|
show_minutes: true
|
|
|
|
|
show_seconds: false
|
|
|
|
|
expired_text: Happy Birthday Tony! 🎉
|
|
|
|
|
color: >-
|
|
|
|
|
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
|
|
|
|
current_date = now() %} {% set this_year_birthday =
|
|
|
|
|
current_date.replace(month=birthday_month, day=birthday_day,
|
|
|
|
|
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
|
|
|
|
this_year_birthday %}
|
|
|
|
|
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
|
|
|
|
{% else %}
|
|
|
|
|
{% set next_birthday = this_year_birthday %}
|
|
|
|
|
{% endif %} {% set days_until = (next_birthday -
|
|
|
|
|
current_date).days %} {% if days_until == 0 %}
|
|
|
|
|
#FF6B6B
|
|
|
|
|
{% elif days_until <= 7 %}
|
|
|
|
|
#4ECDC4
|
|
|
|
|
{% elif days_until <= 30 %}
|
|
|
|
|
#45B7D1
|
|
|
|
|
{% else %}
|
|
|
|
|
#96CEB4
|
|
|
|
|
{% endif %}
|
|
|
|
|
background_color: '#2C3150'
|
|
|
|
|
progress_color: '#D0CFCF'
|
|
|
|
|
aspect_ratio: 4/2
|
|
|
|
|
stroke_width: 6
|
|
|
|
|
card_mod:
|
|
|
|
|
style: |
|
|
|
|
|
ha-card .title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
}
|
|
|
|
|
ha-card .subtitle {
|
|
|
|
|
font-size: 2.0rem;
|
|
|
|
|
}
|
|
|
|
|
visibility:
|
|
|
|
|
- condition: numeric_state
|
|
|
|
|
entity: sensor.anniversary_tony_s_birthday
|
|
|
|
|
below: 8
|
|
|
|
|
header:
|
|
|
|
|
layout: responsive
|
|
|
|
|
badges_position: bottom
|
|
|
|
|
|