diff --git a/main_dashboard.yaml b/main_dashboard.yaml index db30908..0ec8273 100644 --- a/main_dashboard.yaml +++ b/main_dashboard.yaml @@ -391,112 +391,6 @@ views: - pressure - wind_speed temperature_precision: 0 - - type: custom:mushroom-template-card - primary: Lightning Warning - secondary: >- - {% if - states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour') - | int > 0 %} - - {{ - states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour') - | int }} strikes last hour! - - {% elif - states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_3_hours') - | int > 0 %} - - {{ - states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_3_hours') - | int }} strikes last 3 hours! - - {% else %} - - {{ states('sensor.blitzortung_lightning_counter') }} strikes - during this storm! - - {% endif %} - icon: mdi:lightning-bolt - entity: binary_sensor.lightning_warning - color: var(--warning-color) - badge_icon: mdi:exclamation - badge_color: var(--error-color) - tap_action: - action: none - icon_tap_action: - action: none - visibility: - - condition: state - entity: binary_sensor.lightning_warning - state: 'on' - features_position: bottom - - type: custom:mushroom-template-card - primary: Window Weather - tap_action: - action: none - icon_tap_action: - action: none - features_position: bottom - entity: binary_sensor.window_weather - icon: |- - {% if is_state('binary_sensor.windows','on') %} - mdi:window-open - {% else %} - mdi:window-closed - {% endif %} - color: |- - {% if is_state(entity,'on') %} - {% if is_state('binary_sensor.windows','on') %} - var(--cyan-color) - {% else %} - var(--green-color) - {% endif %} - {% else %} - {% if is_state('binary_sensor.windows','on') %} - var(--error-color) - {% else %} - var(--disabled-color) - {% endif %} - {% endif %} - secondary: |- - {% if is_state(entity,'on') %} - It's nice outside! - {% else %} - Close Windows! - {% endif %} - badge_icon: >- - {% if is_state(entity,'off') and - is_state('binary_sensor.windows','on') %} - - mdi:exclamation - - {% elif is_state(entity,'on') and - is_state('binary_sensor.windows','on') %} - - mdi:check - - {% endif %} - badge_color: >- - {% if is_state(entity,'off') and - is_state('binary_sensor.windows','on') %} - - var(--error-color) - - {% elif is_state(entity,'on') and - is_state('binary_sensor.windows','on') %} - - var(--success-color) - - {% endif %} - visibility: - - condition: or - conditions: - - condition: state - entity: binary_sensor.window_weather - state: 'on' - - condition: state - entity: binary_sensor.windows - state: 'on' column_span: 1 - type: grid cards: @@ -936,6 +830,868 @@ views: max_columns: 4 cards: [] background: {} + badges: + - type: custom:mushroom-template-badge + content: Emma has left her room! (Tap to silence) + icon: mdi:alert + color: var(--error-color) + label: Toddler Alert + entity: button.emma_door_alert_cancel + tap_action: + action: toggle + visibility: + - condition: state + entity: timer.emma_door_alert + state: active + - type: custom:mushroom-template-badge + content: Alert Disabled + icon: mdi:alert + entity: switch.emma_door_alert + label: Emma Door Alert + tap_action: + action: toggle + hold_action: + action: more-info + double_tap_action: + action: none + visibility: + - condition: state + entity: switch.emma_door_alert + state: 'off' + color: var(--warning-color) + - type: custom:mushroom-template-badge + content: '{{ ''Disabled'' if states(entity) == ''off'' else ''Enabled'' }}' + icon: mdi:database + color: >- + {{ 'var(--error-color)' if states(entity) == 'off' else + 'var(--success-color)' }} + entity: input_boolean.recorder + label: Recorder Status + visibility: + - condition: and + conditions: + - condition: user + users: + - c3909d27048140729f002aaef0391775 + - 5244463d054a454389c06b76e6229b53 + - condition: state + entity: input_boolean.recorder + state: 'off' + - type: custom:mushroom-template-badge + content: Tornado Possible + color: var(--error-color) + label: Stay Alert + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + entity: binary_sensor.tornado_possible + visibility: + - condition: state + entity: binary_sensor.tornado_possible + state: 'on' + icon: '{{ state_attr(''binary_sensor.tornado_possible'',''icon'') }}' + - type: custom:mushroom-template-badge + content: >- + {% if + states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour') + | int > 0 %} + + {{ + states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour') + | int }} strikes last hour! + + {% elif + states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_3_hours') + | int > 0 %} + + {{ + states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_3_hours') + | int }} strikes last 3 hours! + + {% else %} + + {{ states('sensor.blitzortung_lightning_counter') }} strikes during + this storm! + + {% endif %} + icon: mdi:lightning-bolt + color: var(--warning-color) + entity: binary_sensor.lightning_warning + label: Lightning Warning + visibility: + - condition: state + entity: binary_sensor.lightning_warning + state: 'on' + - type: custom:mushroom-template-badge + content: >- + {% if + states('sensor.home_tempest_cloud_sensors_precipitation_intensity') + not in ['unavailable','unknown','no_rain'] %} + {{ states('sensor.home_tempest_cloud_sensors_precipitation_intensity') | replace('_',' ') | title }} + {% else %} + It is currently raining! + {% endif %} + icon: mdi:weather-rainy + color: blue + entity: binary_sensor.raining + label: Rain Status + visibility: + - condition: state + entity: binary_sensor.raining + state: 'on' + - type: custom:mushroom-template-badge + content: 'Currently: {{ states(''sensor.doors_open'') }}' + icon: mdi:door-open + color: var(--error-color) + entity: sensor.doors_open + label: Doors Open + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: state + entity: binary_sensor.exterior_doors + state: 'on' + - type: custom:mushroom-template-badge + content: 'Currently: {{ states(''sensor.windows_open'') }}' + icon: mdi:window-open + color: var(--error-color) + entity: binary_sensor.windows + label: Windows Open + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: state + entity: binary_sensor.windows + state: 'on' + - type: custom:mushroom-template-badge + content: |- + {% if is_state(entity,'on') %} + It's nice outside! + {% else %} + Close Windows! + {% endif %} + icon: |- + {% if is_state('binary_sensor.windows','on') %} + mdi:window-open + {% else %} + mdi:window-closed + {% endif %} + color: |- + {% if is_state(entity,'on') %} + {% if is_state('binary_sensor.windows','on') %} + var(--cyan-color) + {% else %} + var(--green-color) + {% endif %} + {% else %} + {% if is_state('binary_sensor.windows','on') %} + var(--error-color) + {% else %} + var(--disabled-color) + {% endif %} + {% endif %} + entity: binary_sensor.window_weather + label: Window Weather + visibility: + - condition: or + conditions: + - condition: state + entity: binary_sensor.window_weather + state: 'on' + - condition: state + entity: binary_sensor.windows + state: 'on' + - type: custom:mushroom-template-badge + content: Check light switches + icon: mdi:light-switch + color: var(--error-color) + label: Light Issue + visibility: + - condition: state + entity: binary_sensor.light_switch_issue + state: 'on' + - type: custom:mushroom-template-badge + entity: binary_sensor.emma_bedroom_door + icon: |- + {% if is_state(entity,'on') %} + mdi:door-open + {% else %} + mdi:door-closed + {% endif %} + color: |- + {% if is_state(entity,'on') %} + var(--error-color) + {% else %} + var(--success-color) + {% endif %} + label: Emma Door Status + content: |- + {% if is_state(entity,'on') %} + Emma's door has been left open! + {% else %} + Emma's door is closed + {% endif %} + visibility: + - condition: state + entity: binary_sensor.emma_bedroom_door + state: 'on' + - type: custom:mushroom-template-badge + content: '{{ states(entity) | title }}' + icon: fas:shower + entity: input_boolean.shower_mode + label: Shower Mode + color: var(--warning-color) + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: state + entity: input_boolean.shower_mode + state: 'on' + - type: custom:mushroom-template-badge + content: |- + {% if is_state('input_boolean.school_cancelled','on') %} + Cancelled + {% elif is_state('input_boolean.two_hour_delay','on') %} + Two Hour Delay + {% else %} + On Time + {% endif %} + icon: |- + {% if is_state('input_boolean.school_cancelled','on') %} + m3rf:cancel + {% elif is_state('input_boolean.two_hour_delay','on') %} + m3rf:clock-arrow-up + {% else %} + m3rf:check-circle + {% endif %} + color: |- + {% if is_state('input_boolean.school_cancelled','on') %} + var(--error-color) + {% elif is_state('input_boolean.two_hour_delay','on') %} + var(--warning-color) + {% else %} + var(--success-color) + {% endif %} + label: School Status + tap_action: + action: url + url_path: https://1057thebull.iheart.com/content/school-delays/ + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: or + conditions: + - condition: state + entity: input_boolean.kallen_school_today + state: 'on' + - condition: state + entity: input_boolean.two_hour_delay + state: 'on' + - condition: state + entity: input_boolean.school_cancelled + state: 'on' + - type: custom:mushroom-template-badge + content: '{{ states(entity) }}' + icon: |- + {% if is_state(entity,'Marginal Risk') %} + mdi:numeric-1-circle + {% elif is_state(entity,'Slight Risk') %} + mdi:numeric-2-circle + {% elif is_state(entity,'Enhanced Risk') %} + mdi:numeric-3-circle + {% elif is_state(entity,'Moderate Risk') %} + mdi:numeric-4-circle + {% elif is_state(entity,'High Risk') %} + mdi:numeric-5-circle + {% elif is_state(entity,'General Thunderstorms Risk') %} + mdi:information + {% else %} + mdi:close + {% endif %} + color: '{{ state_attr(entity,''fill'') }}' + entity: sensor.spc_outlook_day_1 + label: SPC Outlook Day 1 + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: and + conditions: + - condition: state + entity: sensor.spc_outlook_day_1 + state_not: unavailable + - condition: state + entity: sensor.spc_outlook_day_1 + state_not: unknown + - 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 + color: '{{ state_attr(entity,''wind_fill'') }}' + entity: sensor.spc_wind_risk_day_1 + label: SPC Wind Risk + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: and + conditions: + - condition: state + entity: sensor.spc_wind_risk_day_1 + state_not: unavailable + - condition: state + entity: sensor.spc_wind_risk_day_1 + state_not: unknown + - condition: state + entity: sensor.spc_wind_risk_day_1 + state_not: No Risk + - type: custom:mushroom-template-badge + content: '{{ states(entity) }}' + icon: mdi:weather-tornado + color: '{{ state_attr(entity,''torn_fill'') }}' + entity: sensor.spc_tornado_risk_day_1 + label: SPC Tornado Risk + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: and + conditions: + - condition: state + entity: sensor.spc_tornado_risk_day_1 + state_not: unavailable + - condition: state + entity: sensor.spc_tornado_risk_day_1 + state_not: unknown + - condition: state + entity: sensor.spc_tornado_risk_day_1 + state_not: No Risk + - type: custom:mushroom-template-badge + content: '{{ states(entity) }}' + icon: mdi:weather-hail + color: '{{ state_attr(entity,''hail_fill'') }}' + entity: sensor.spc_hail_risk_day_1 + label: SPC Hail Risk + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: and + conditions: + - condition: state + entity: sensor.spc_hail_risk_day_1 + state_not: unavailable + - condition: state + entity: sensor.spc_hail_risk_day_1 + state_not: unknown + - condition: state + entity: sensor.spc_hail_risk_day_1 + state_not: No Risk + - type: custom:mushroom-template-badge + content: |- + {% if is_state('input_boolean.recliner_mode','on') %} + Recliner Mode + {% elif is_state(entity,'on') %} + Do Not Enter + {% elif is_state('input_boolean.studio_quiet','on') %} + Studio Quiet + {% else %} + Safe + {% endif %} + entity: input_boolean.do_not_enter_basement_studio + label: Basement Status + color: >- + {% if is_state(entity,'on') or + is_state('input_boolean.recliner_mode','on') %} + + var(--error-color) + + {% elif is_state('input_boolean.studio_quiet','on') %} + + var(--warning-color) + + {% else %} + + var(--success-color) + + {% endif %} + icon: >- + {% if is_state(entity,'on') or + is_state('input_boolean.recliner_mode','on') %} + + mdi:close-circle + + {% elif is_state('input_boolean.studio_quiet','on') %} + + mdi:alert + + {% else %} + + mdi:check-circle + + {% endif %} + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + - type: custom:mushroom-template-badge + 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 + entity: input_datetime.tony_morning_meds_taken + label: Tony Morning Meds + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + 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 %} {% 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: >- + {% 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 + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + 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 %} {% 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: >- + {% 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 + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + 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 %} {% 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: >- + {% 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: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + 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 %} {% 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: >- + {% 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: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + 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 %} {% 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: >- + {% 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: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + users: + - 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 %} {% 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: >- + {% 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: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + users: + - 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' + - type: custom:mushroom-template-badge + content: |- + {% from 'time.jinja' import input_datetime_read %} + {{ input_datetime_read('input_datetime.emma_awake_at') }} + icon: mdi:weather-sunset-up + color: '' + entity: input_datetime.emma_awake_at + label: Emma Awake At + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + users: + - f387a983651a4321a7411ff8cf36f949 + - c3909d27048140729f002aaef0391775 + - 879b4c04e32841b3ad1d2763a11b4e70 + - condition: state + entity: input_boolean.emma_sleeping + state: 'off' + - type: custom:mushroom-template-badge + content: |- + {% from 'time.jinja' import input_datetime_read %} + {{ input_datetime_read('input_datetime.emma_asleep_at') }} + icon: mdi:sleep + color: '' + entity: input_datetime.emma_asleep_at + label: Emma Asleep At + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: user + users: + - f387a983651a4321a7411ff8cf36f949 + - c3909d27048140729f002aaef0391775 + - 879b4c04e32841b3ad1d2763a11b4e70 + - condition: state + entity: input_boolean.emma_sleeping + state: 'on' + - type: custom:mushroom-template-badge + icon: mdi:wrench-clock + entity: input_boolean.server_maintenance + color: var(--warning-color) + label: Server Maintenance + content: Interruptions Possible + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + visibility: + - condition: state + entity: input_boolean.server_maintenance + state: 'on' - title: First Floor path: first-floor icon: mdi:home-floor-1