diff --git a/main_dashboard.yaml b/main_dashboard.yaml index edf49fb..667237b 100644 --- a/main_dashboard.yaml +++ b/main_dashboard.yaml @@ -138,6 +138,164 @@ streamline_templates: - entity: sensor.[[gamertag]]_gamer_score name: Gamer Score show_header_toggle: false + main_security_button: + defaults: + - name: '' + - columns: '' + card: + type: custom:bubble-card + card_type: button + button_type: state + entity: '[[entity]]' + name: '[[name]]' + card_layout: large + double_tap_action: + action: none + hold_action: + action: none + button_action: + double_tap_action: + action: none + hold_action: + action: none + columns: '[[columns]]' + styles: |- + .is-unavailable { + opacity: 0.5 !important; + } + .bubble-button-background { + opacity: 1 !important; + background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important; + transition: background-color 1s !important; + } + main_accent_color_button: + defaults: + - name: '' + - columns: '' + card: + type: custom:bubble-card + card_type: button + button_type: state + entity: '[[entity]]' + name: '[[name]]' + show_state: true + card_layout: large + tap_action: + action: more-info + double_tap_action: + action: none + hold_action: + action: none + button_action: + double_tap_action: + action: none + hold_action: + action: none + columns: '[[columns]]' + styles: |- + .bubble-button-background { + opacity: 1 !important; + background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important; + } + main_temperature_button: + defaults: + - name: '' + - columns: '' + card: + type: custom:bubble-card + card_type: button + button_type: state + entity: '[[entity]]' + name: '[[name]]' + show_attribute: false + card_layout: large + columns: '[[columns]]' + styles: | + .is-unavailable { + opacity: 0.5 !important; + } + .bubble-button-background { + opacity: 1 !important; + background-color: ${hass.states['[[hot_entity]]'].state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important; + transition: background-color 1s !important; + } + main_room_header: + defaults: + - name: '' + - icon: '' + - scene_text: '' + - power_entity: '' + - light_entity: '' + card: + type: custom:bubble-card + card_type: separator + name: '[[name]]' + icon: '[[icon]]' + card_layout: large + sub_button: + - name: Scene + entity: '[[scene_text]]' + show_state: true + state_background: false + icon: mdi:palette + tap_action: + action: none + visibility: + - condition: state + entity: '[[light_entity]]' + state: 'on' + - name: Power + entity: '[[power_entity]]' + show_state: true + state_background: false + timer_card: + defaults: + - name: '' + - icon: mdi:timer + card: + type: custom:bubble-card + card_type: button + button_type: state + entity: '[[entity]]' + name: '[[name]]' + icon: '[[icon]]' + sub_button: + - entity: '[[entity]]' + tap_action: + action: perform-action + perform_action: timer.start + target: + entity_id: '[[entity]]' + name: Start + icon: mdi:play + visibility: [] + - entity: '[[entity]]' + name: Pause + icon: mdi:pause + tap_action: + action: perform-action + perform_action: timer.pause + target: + entity_id: '[[entity]]' + - entity: '[[entity]]' + name: Cancel + icon: mdi:cancel + tap_action: + action: perform-action + perform_action: timer.cancel + target: + entity_id: '[[entity]]' + - entity: '[[entity]]' + name: Finish + icon: mdi:clock-end + tap_action: + action: perform-action + perform_action: timer.finish + target: + entity_id: '[[entity]]' + modules: + - default + - popup_timer_card background: var(--background-image) title: Stratton Ave views: @@ -680,9 +838,11 @@ views: include: - group: light.first_floor_lights - entity_id: light.living_room_christmas_tree + - entity_id: input_boolean.tina_desk_lights exclude: - state: 'off' - state: unavailable + - entity_id: light.tina_desk_lights sort: method: friendly_name visibility: @@ -691,874 +851,759 @@ views: state: 'on' - type: grid cards: - - type: custom:stack-in-card - card_mod: - style: | - ha-card { - overflow: visible !important; - } - cards: - - type: custom:mushroom-light-card - icon: hue:room-living - name: Living Room - double_tap_action: - action: call-service - service: input_select.select_option - service_data: - option: Adaptive - target: - entity_id: input_select.living_room_scenes - hold_action: - action: more-info - entity: light.living_room_lights - use_light_color: true - show_brightness_control: true - show_color_temp_control: true - show_color_control: true - collapsible_controls: true - fill_container: false - layout: vertical - - type: custom:state-switch - entity: light.living_room_lights - states: - 'on': - type: custom:mushroom-template-card - primary: Current Scene - secondary: '{{ states(''input_text.living_room_selected_scene'') }}' - tap_action: - action: none - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:mushroom-template-card - entity: sensor.living_room_total_power_sensor - primary: Power Usage - secondary: '{{ states(''sensor.living_room_total_power_sensor'') }} W' - tap_action: - action: more-info - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:timer-bar-card - filter: true - entities: - - entity: timer.living_room_motion_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - extend_paper_buttons_row: - position: right - buttons: - - icon: mdi:check-circle + - type: custom:streamline-card + template: main_room_header + variables: + - name: Living Room + - icon: hue:room-living + - scene_text: input_text.living_room_selected_scene + - power_entity: sensor.living_room_total_power_sensor + - light_entity: light.living_room_lights + - type: custom:bubble-card + card_type: button + button_type: slider + modules: + - default + - subbutton_below + entity: light.living_room_lights + rows: 2.406 + icon: hue:room-living + tap_action: + action: toggle + double_tap_action: + action: perform-action + perform_action: input_select.select_option + target: + entity_id: input_select.living_room_scenes + data: + option: Adaptive + hold_action: + action: more-info + sub_button: + main: + - name: Lights + buttons_layout: inline + group: + - entity: light.living_room_overhead tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.living_room_motion_timer - - type: entities - entities: - - type: custom:paper-buttons-row - buttons: - - entity: light.living_room_overhead - name: Overhead - layout: icon|name_state - state: - case: first - state_icons: - 'on': hue:ceiling-devere - 'off': hue:ceiling-devere-off - unavailable: mdi:map-marker-question - - entity: light.living_room_led_strip - name: LED Strip - layout: icon|name_state - state: - case: first - state_icons: - 'on': hue:lightstrip - 'off': hue:lightstrip-off - unavailable: mdi:map-marker-question - - type: entities - entities: - - entity: input_select.living_room_scenes - - entity: select.living_room_led_strip_theme - name: LED Strip Theme - show_header_toggle: false - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.front_door - - entity: binary_sensor.front_window_1 - name: FW1 - - entity: binary_sensor.front_window_2 - name: FW2 - - entity: binary_sensor.front_window_3 - name: FW3 - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.side_window_1 - name: SW1 - - entity: binary_sensor.side_window_2 - name: SW2 - - entity: binary_sensor.side_window_3 - name: SW3 - - entity: binary_sensor.side_window_4 - name: SW4 - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.back_window_1 - name: BW1 - - entity: binary_sensor.back_window_2 - name: BW2 - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: sensor.living_room_front_temperature - name: Temp - - entity: sensor.living_room_front_illuminance - name: Light - - entity: binary_sensor.living_room_front_motion - name: Motion - - entity: binary_sensor.living_room_occupied - name: Occupied - - type: custom:fold-entity-row - head: - type: section - label: More Settings - entities: - - type: custom:paper-buttons-row - buttons: - - entity: switch.adaptive_lighting_living_room - name: Adaptive Lighting - layout: icon|name_state - state: - case: first - - entity: switch.adaptive_lighting_sleep_mode_living_room - name: Night Mode - layout: icon|name_state - state: - case: first - - type: custom:paper-buttons-row - buttons: - - entity: input_boolean.living_room_dynamic_scenes - name: Dynamic Scenes - layout: icon|name_state - state_icons: - 'on': mdi:animation - 'off': mdi:animation-outline - state: - case: first - - entity: input_boolean.living_room_entertainment_control - name: Media Scenes - layout: icon|name_state - state_icons: - 'on': mdi:television-ambient-light - 'off': mdi:television-off - state: - case: first - - type: custom:paper-buttons-row - buttons: - - entity: switch.adaptive_lighting_adapt_color_living_room - name: Adapt Color - layout: icon|name_state - state: - case: first - - entity: switch.adaptive_lighting_adapt_brightness_living_room - name: Adapt Brightness - layout: icon|name_state - state: - case: first - - entity: switch.living_room_motion_lighting - name: Motion Lighting - - entity: input_number.daytime_colortemp_living_room - name: Day Colortemp - - entity: input_number.nighttime_colortemp_living_room - name: Night Colortemp - - entity: input_number.nighttime_brightness_living_room - name: Night Brightness - - entity: input_number.living_room_lights_off_delay - name: Lights Off Delay - secondary_info: Only used at night - - entity: input_number.living_room_lux_threshold - name: Lux Threshold - - entity: binary_sensor.living_room_sync_issue - name: Sync Issue - - entity: script.emma_rainbow_lights - name: Emma Rainbow - - type: grid - cards: - - type: custom:stack-in-card - card_mod: - style: | - ha-card { - overflow: visible !important; - } - cards: - - type: custom:mushroom-light-card - entity: light.downstairs_bathroom_lights - double_tap_action: - action: call-service - service: input_select.select_option - service_data: - option: Adaptive - target: - entity_id: input_select.downstairs_bathroom_scenes - name: Downstairs Bathroom - icon: mdi:toilet - layout: vertical - show_brightness_control: true - collapsible_controls: true - - type: custom:state-switch - entity: light.downstairs_bathroom_lights - states: - 'on': - type: custom:mushroom-template-card - primary: Current Scene - secondary: >- - {{ states('input_text.downstairs_bathroom_selected_scene') - }} - tap_action: - action: none - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:state-switch - entity: light.downstairs_bathroom_lights - states: - 'on': - type: custom:mushroom-template-card - entity: sensor.downstairs_bathroom_lights_power_sensor - primary: Power Usage - secondary: >- - {{ - states('sensor.downstairs_bathroom_lights_power_sensor') - }} W - tap_action: - action: more-info - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:timer-bar-card - filter: true - entities: - - entity: timer.downstairs_bathroom_lights_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - extend_paper_buttons_row: - position: right - buttons: - - icon: mdi:check-circle + action: toggle + hold_action: + action: more-info + show_name: true + name: Overhead + - entity: light.living_room_led_strip + name: LED Strip + icon: hue:lightstrip + show_name: true tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.downstairs_bathroom_lights_timer - - type: entities - entities: - - type: custom:paper-buttons-row - base_config: - state_styles: - idle: - name: - color: white - icon: - color: white - state: - color: white - ripple: - color: purple - active: - button: - background-color: var(--primary-color) - name: - color: white - icon: - color: white - state: - color: white - ripple: - color: purple - buttons: - - entity: timer.washer_timer - name: Washer - layout: icon|name_state - state: - case: first - state_text: - idle: 'Off' - active: Active - state_icons: - idle: mdi:washing-machine-off - active: mdi:washing-machine - unavailable: mdi:map-marker-question - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:stack-in-card - cards: - - type: entities - title: Washer Controls - entities: - - entity: input_number.washer_cycle_length - name: Cycle Length - - entity: input_datetime.washer_finished - name: Finished At - - entity: input_boolean.washer_finished - name: Cycle Finished - secondary_info: Turn off after collecting laundry - - type: custom:timer-bar-card - filter: true - show_empty: The washer is not currently running - entities: - - entity: timer.washer_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:stack-in-card - mode: horizontal - cards: - - type: custom:button-card - entity: timer.washer_timer - name: [] - show_label: true - aspect_ratio: 2.7/1 - styles: - card: - - '--mdc-ripple-color': purple - - '--mdc-ripple-press-opacity': 0.5 - state: - - value: active - label: Running - icon: mdi:play - styles: - icon: - - color: green - - value: paused - label: Paused - icon: mdi:pause - styles: - icon: - - color: yellow - - value: idle - label: Start - icon: mdi:play - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.washer_start - hold_action: - action: more-info - entity: timer.washer_timer - - type: custom:button-card - entity: timer.washer_timer - name: [] - icon: mdi:cancel - label: Cancel - show_label: true - aspect_ratio: 2.7/1 - styles: - card: - - '--mdc-ripple-color': purple - - '--mdc-ripple-press-opacity': 0.5 - state: - - value: active - styles: - icon: - - color: green - - value: paused - styles: - icon: - - color: yellow - - value: idle - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.washer_cancel - hold_action: - action: more-info - entity: timer.washer_timer - - entity: timer.dryer_timer - name: Dryer - layout: icon|name_state - state: - case: first - state_text: - idle: 'Off' - active: Active - state_icons: - idle: mdi:tumble-dryer-off - active: mdi:tumble-dryer - unavailable: mdi:map-marker-question - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:stack-in-card - cards: - - type: entities - title: Dryer Controls - entities: - - entity: input_number.dryer_cycle_length - name: Cycle Length - - entity: input_datetime.dryer_finished - name: Finished At - - entity: input_boolean.dryer_finished - name: Cycle Finished - secondary_info: Turn off after collecting laundry - - type: custom:timer-bar-card - filter: true - show_empty: The dryer is not currently running - entities: - - entity: timer.dryer_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:stack-in-card - mode: horizontal - cards: - - type: custom:button-card - entity: timer.dryer_timer - name: [] - show_label: true - aspect_ratio: 2.7/1 - styles: - card: - - '--mdc-ripple-color': purple - - '--mdc-ripple-press-opacity': 0.5 - state: - - value: active - label: Running - icon: mdi:play - styles: - icon: - - color: green - - value: paused - label: Paused - icon: mdi:pause - styles: - icon: - - color: yellow - - value: idle - label: Start - icon: mdi:play - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.dryer_start - hold_action: - action: more-info - entity: timer.dryer_timer - - type: custom:button-card - entity: timer.dryer_timer - name: [] - icon: mdi:cancel - label: Cancel - show_label: true - aspect_ratio: 2.7/1 - styles: - card: - - '--mdc-ripple-color': purple - - '--mdc-ripple-press-opacity': 0.5 - state: - - value: active - styles: - icon: - - color: green - - value: paused - styles: - icon: - - color: yellow - - value: idle - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.dryer_cancel - hold_action: - action: more-info - entity: timer.dryer_timer - - type: entities - entities: - - entity: input_select.downstairs_bathroom_scenes - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.downstairs_bathroom_window_1 - name: Back - - entity: binary_sensor.downstairs_bathroom_window_2 - name: Side - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: sensor.downstairs_bathroom_temperature - name: Temp - - entity: sensor.downstairs_bathroom_illuminance - name: Light - - entity: binary_sensor.downstairs_bathroom_motion - name: Motion - - entity: binary_sensor.downstairs_bathroom_occupied - name: Occupied - - type: custom:fold-entity-row - head: - type: section - label: More Settings - entities: - - type: custom:paper-buttons-row - buttons: - - entity: switch.adaptive_lighting_downstairs_bathroom - name: Adaptive Lighting - layout: icon|name_state - state: - case: first - - entity: >- - switch.adaptive_lighting_sleep_mode_downstairs_bathroom - name: Night Mode - layout: icon|name_state - state: - case: first - - entity: switch.downstairs_bathroom_motion_lighting - name: Motion Lighting - - entity: input_number.nighttime_brightness_downstairs_bathroom - name: Night Brightness - - entity: input_number.downstairs_bathroom_lights_off_delay - name: Lights Off Delay - - entity: input_number.downstairs_bathroom_lux_threshold - name: Lux Threshold - show_header_toggle: false + action: toggle + hold_action: + action: more-info + bottom: + - name: Smaller Buttons + group: + - entity: select.living_room_led_strip_theme + name: LED Strip Theme + icon: hue:lightstrip + sub_button_type: select + fill_width: false + show_name: true + - entity: script.emma_rainbow_lights + name: Emma Rainbow Lights + fill_width: false + show_name: true + justify_content: space-between + - name: Scene + group: + - entity: input_select.living_room_scenes + name: Scene + icon: mdi:palette + sub_button_type: select + show_name: true + bottom_layout: rows + name: Lights + - type: custom:bubble-card + card_type: separator + name: Media + icon: mdi:volume-high + card_layout: large + - type: custom:bubble-card + card_type: media-player + name: TV + show_state: true + show_last_changed: false + show_attribute: true + attribute: app_id + force_icon: false + card_layout: large + entity: media_player.living_room_tv_3 + cover_background: true + - type: custom:bubble-card + card_type: separator + name: Status + icon: mdi:list-box + card_layout: large + - type: custom:streamline-card + template: main_temperature_button + variables: + - name: Front Temp + - entity: sensor.living_room_front_temperature + - hot_entity: binary_sensor.living_room_hot + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: button + button_type: state + entity: sensor.living_room_front_illuminance + name: Front Lux + show_attribute: false + card_layout: large + columns: 2 + - type: custom:streamline-card + template: main_temperature_button + variables: + - name: Back Temp + - entity: sensor.living_room_back_temperature + - hot_entity: binary_sensor.living_room_back_hot + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: button + button_type: state + entity: sensor.living_room_back_illuminance + name: Back Lux + show_attribute: false + card_layout: large + columns: 2 + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Front Motion + - entity: binary_sensor.living_room_front_motion + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Back Motion + - entity: binary_sensor.living_room_back_motion + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Occupied + - entity: binary_sensor.living_room_occupied + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: timer_card + variables: + entity: timer.living_room_motion_timer + name: Motion Timer + icon: mdi:timer + visibility: + - condition: state + entity: timer.living_room_motion_timer + state_not: idle + - type: custom:bubble-card + card_type: separator + name: Security + icon: mdi:security + card_layout: large + - type: custom:streamline-card + template: main_security_button + variables: + - name: Door + - entity: binary_sensor.front_door + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Front 1 + - entity: binary_sensor.front_window_1 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Front 2 + - entity: binary_sensor.front_window_2 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Front 3 + - entity: binary_sensor.front_window_3 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Side 1 + - entity: binary_sensor.side_window_1 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Side 2 + - entity: binary_sensor.side_window_2 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Side 3 + - entity: binary_sensor.side_window_3 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Side 4 + - entity: binary_sensor.side_window_4 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Back 1 + - entity: binary_sensor.back_window_1 + grid_options: + columns: 4 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Back 2 + - entity: binary_sensor.back_window_2 + grid_options: + columns: 4 + rows: auto + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_living_room + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_living_room + name: Night Mode + layout: icon|name_state + state: + case: first + - type: custom:paper-buttons-row + buttons: + - entity: input_boolean.living_room_dynamic_scenes + name: Dynamic Scenes + layout: icon|name_state + state_icons: + 'on': mdi:animation + 'off': mdi:animation-outline + state: + case: first + - entity: input_boolean.living_room_entertainment_control + name: Media Scenes + layout: icon|name_state + state_icons: + 'on': mdi:television-ambient-light + 'off': mdi:television-off + state: + case: first + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_adapt_color_living_room + name: Adapt Color + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_adapt_brightness_living_room + name: Adapt Brightness + layout: icon|name_state + state: + case: first + - entity: switch.living_room_motion_lighting + name: Motion Lighting + - entity: input_number.daytime_colortemp_living_room + name: Day Colortemp + - entity: input_number.nighttime_colortemp_living_room + name: Night Colortemp + - entity: input_number.nighttime_brightness_living_room + name: Night Brightness + - entity: input_number.living_room_lights_off_delay + name: Lights Off Delay + secondary_info: Only used at night + - entity: input_number.living_room_lux_threshold + name: Lux Threshold + - entity: binary_sensor.living_room_sync_issue + name: Sync Issue + - entity: script.emma_rainbow_lights + name: Emma Rainbow + column_span: 1 + background: + opacity: 10 - type: grid cards: - - type: custom:stack-in-card - card_mod: - style: | - ha-card { - overflow: visible !important; - } - cards: - - type: custom:mushroom-light-card - entity: light.tina_desk_lights - name: Tina Desk - double_tap_action: - action: call-service - service: input_select.select_option - service_data: - entity_id: input_select.tina_desk_scenes - option: Reset - icon: mdi:floor-lamp - layout: vertical - use_light_color: true - show_brightness_control: true - show_color_temp_control: true - show_color_control: true - collapsible_controls: true - - type: custom:state-switch - entity: light.tina_desk_lights - states: - 'on': - type: custom:mushroom-template-card - primary: Current Scene - secondary: '{{ states(''input_text.tina_desk_selected_scene'') }}' - tap_action: - action: none - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:mushroom-template-card - entity: sensor.kallen_bedroom_lights_power_sensor - primary: Power Usage - secondary: '{{ states(''sensor.tina_desk_total_power_sensor'') }} W' - tap_action: - action: more-info - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: entities - entities: - - type: custom:paper-buttons-row - buttons: - - entity: light.tina_lamp_top - name: Top - layout: icon|name_state - state: - case: first - state_icons: - 'on': hue:floor-shade - 'off': hue:floor-shade-off - unavailable: mdi:map-marker-question - - entity: light.tina_lamp_side - name: Side - layout: icon|name_state - state: - case: first - state_icons: - 'on': hue:floor-shade - 'off': hue:floor-shade-off - unavailable: mdi:map-marker-question - - entity: input_select.tina_desk_scenes - name: Tina Desk Scenes - - entity: input_select.tina_lamp_scenes - name: Tina Lamp Scenes - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.tina_desk_occupied - name: Occupied - - type: custom:fold-entity-row - head: - type: section - label: More Settings - entities: - - type: custom:paper-buttons-row - buttons: - - entity: switch.adaptive_lighting_tina_lamp - name: Adaptive Lighting (Lamp) - layout: icon|name_state - state: - case: first - - entity: switch.adaptive_lighting_sleep_mode_tina_lamp - name: Night Mode (Lamp) - layout: icon|name_state - state: - case: first - - entity: input_number.daytime_colortemp_tina_lamp - name: Day Colortemp - - entity: input_number.nighttime_colortemp_tina_lamp - name: Night Colortemp - - entity: input_number.nighttime_brightness_tina_lamp - name: Night Brightness + - type: custom:streamline-card + template: main_room_header + variables: + - name: Downstairs Bathroom + - icon: mdi:toilet + - scene_text: input_text.downstairs_bathroom_selected_scene + - power_entity: sensor.downstairs_bathroom_lights_power_sensor + - light_entity: light.downstairs_bathroom_lights + - type: custom:bubble-card + card_type: button + button_type: slider + modules: + - default + - subbutton_below + rows: 1.719 + icon: mdi:toilet + tap_action: + action: toggle + double_tap_action: + action: perform-action + perform_action: input_select.select_option + target: + entity_id: input_select.living_room_scenes + data: + option: Adaptive + hold_action: + action: more-info + sub_button: + main: [] + bottom: + - name: Scene + buttons_layout: inline + group: + - name: Scene + icon: mdi:palette + sub_button_type: select + entity: input_select.downstairs_bathroom_scenes + show_name: true + name: Lights + entity: light.downstairs_bathroom_lights + - type: custom:bubble-card + card_type: separator + name: Laundry + icon: mdi:tshirt-crew + card_layout: large + - type: custom:bubble-card + card_type: button + entity: timer.washer_timer + button_type: state + name: Washer + show_attribute: false + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: button + entity: timer.dryer_timer + button_type: state + name: Dryer + show_attribute: false + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: separator + name: Status + icon: mdi:list-box + card_layout: large + - type: custom:streamline-card + template: main_temperature_button + variables: + - name: Temp + - entity: sensor.downstairs_bathroom_temperature + - hot_entity: binary_sensor.downstairs_bathroom_hot + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: button + button_type: state + entity: sensor.downstairs_bathroom_illuminance + name: Lux + card_layout: large + columns: 2 + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Motion + - entity: binary_sensor.downstairs_bathroom_motion + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Occupied + - entity: binary_sensor.downstairs_bathroom_occupied + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: separator + name: Security + icon: mdi:security + card_layout: large + - type: custom:streamline-card + template: main_security_button + variables: + - name: Back + - entity: binary_sensor.downstairs_bathroom_window_1 + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + - name: Side + - entity: binary_sensor.downstairs_bathroom_window_2 + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: timer_card + variables: + name: Lights Timer + icon: mdi:timer + entity: timer.downstairs_bathroom_lights_timer + visibility: + - condition: state + entity: timer.downstairs_bathroom_lights_timer + state_not: idle + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_downstairs_bathroom + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_downstairs_bathroom + name: Night Mode + layout: icon|name_state + state: + case: first + - entity: switch.downstairs_bathroom_motion_lighting + name: Motion Lighting + - entity: input_number.nighttime_brightness_downstairs_bathroom + name: Night Brightness + - entity: input_number.downstairs_bathroom_lights_off_delay + name: Lights Off Delay + - entity: input_number.downstairs_bathroom_lux_threshold + name: Lux Threshold + show_header_toggle: false + column_span: 1 + background: + opacity: 10 - type: grid cards: - - type: custom:stack-in-card - card_mod: - style: | - ha-card { - overflow: visible !important; - } - cards: - - type: glance - title: Kitchen Card - Placeholder - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.kitchen_big_window - name: Main - - entity: binary_sensor.kitchen_sink_window - name: Sink - - type: grid - cards: - - type: custom:stack-in-card - card_mod: - style: | - ha-card { - overflow: visible !important; - } - cards: - - type: custom:mushroom-light-card - entity: light.mud_room_overhead - name: Mud Room - double_tap_action: - action: call-service - service: input_select.select_option - service_data: - option: Adaptive - target: - entity_id: input_select.mud_room_scenes - icon: hue:room-other - layout: vertical - show_brightness_control: true - collapsible_controls: true - - type: custom:state-switch - entity: light.mud_room_overhead - states: - 'on': - type: custom:mushroom-template-card - primary: Current Scene - secondary: '{{ states(''input_text.mud_room_selected_scene'') }}' - tap_action: - action: none - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:state-switch - entity: light.mud_room_overhead - states: - 'on': - type: custom:mushroom-template-card - entity: sensor.mud_room_overhead_power_sensor - primary: Power Usage - secondary: '{{ states(''sensor.mud_room_overhead_power_sensor'') }} W' - tap_action: - action: more-info - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:timer-bar-card - filter: true - entities: - - entity: timer.mud_room_motion_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - extend_paper_buttons_row: - position: right - buttons: - - icon: mdi:check-circle + - type: custom:streamline-card + template: main_room_header + variables: + name: Tina Desk + icon: mdi:desk + scene_text: input_text.downstairs_bathroom_selected_scene + light_entity: light.tina_desk_lights + power_entity: sensor.tina_desk_total_power_sensor + - type: custom:bubble-card + card_type: button + button_type: slider + modules: + - default + - subbutton_below + rows: 1.719 + icon: mdi:desk + tap_action: + action: toggle + double_tap_action: + action: perform-action + perform_action: input_select.select_option + target: + entity_id: input_select.living_room_scenes + data: + option: Adaptive + hold_action: + action: more-info + sub_button: + main: + - name: Lights + buttons_layout: inline + group: + - entity: light.tina_lamp_top + name: Lamp Top + icon: mdi:floor-lamp-dual + show_name: true tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.mud_room_motion_timer - - type: entities - entities: - - entity: input_select.mud_room_scenes - show_header_toggle: false - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: binary_sensor.back_door - - entity: binary_sensor.mud_room_window - - type: glance - show_name: true - show_icon: true - show_state: true - state_color: true - entities: - - entity: sensor.mud_room_temperature - name: Temp - - entity: sensor.mud_room_illuminance - name: Lux - - entity: binary_sensor.mud_room_motion - name: Motion - - entity: binary_sensor.mud_room_occupied - name: Occupied - - type: custom:fold-entity-row - head: - type: section - label: More Settings - entities: - - type: custom:paper-buttons-row - buttons: - - entity: switch.adaptive_lighting_mud_room - name: Adaptive Lighting - layout: icon|name_state - state: - case: first - - entity: switch.adaptive_lighting_sleep_mode_mud_room - name: Night Mode - layout: icon|name_state - state: - case: first - - entity: switch.mud_room_motion_lighting - name: Motion Lighting - - entity: input_number.nighttime_brightness_mud_room - name: Night Brightness - - entity: input_number.mud_room_lights_off_delay - name: Lights Off Delay - - entity: input_number.mud_room_lux_threshold - name: Lux Threshold + action: toggle + hold_action: + action: more-info + - entity: light.tina_lamp_side + name: Lamp Side + icon: mdi:floor-lamp-dual + show_name: true + tap_action: + action: toggle + hold_action: + action: more-info + bottom: + - name: Scene + buttons_layout: inline + group: + - name: Scene + icon: mdi:palette + sub_button_type: select + entity: input_select.tina_desk_scenes + show_name: true + name: Lights + entity: light.tina_desk_lights + - type: custom:bubble-card + card_type: separator + name: Status + icon: mdi:list-box + card_layout: large + - type: custom:streamline-card + template: main_accent_color_button + variables: + name: Occupied + columns: 2 + entity: binary_sensor.tina_desk_occupied + grid_options: + columns: 6 + rows: auto + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_tina_lamp + name: Adaptive Lighting (Lamp) + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_tina_lamp + name: Night Mode (Lamp) + layout: icon|name_state + state: + case: first + - entity: input_number.daytime_colortemp_tina_lamp + name: Day Colortemp + - entity: input_number.nighttime_colortemp_tina_lamp + name: Night Colortemp + - entity: input_number.nighttime_brightness_tina_lamp + name: Night Brightness + column_span: 1 + background: + opacity: 10 + - type: grid + cards: + - type: custom:bubble-card + card_type: separator + sub_button: + main: [] + bottom: [] + name: Kitchen + icon: hue:room-kitchen + - type: custom:bubble-card + card_type: separator + name: Security + icon: mdi:security + card_layout: large + - type: custom:streamline-card + template: main_security_button + variables: + name: Big + entity: binary_sensor.kitchen_big_window + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + name: Sink + entity: binary_sensor.kitchen_sink_window + grid_options: + columns: 6 + rows: auto + column_span: 1 + background: + opacity: 10 + - type: grid + cards: + - type: custom:streamline-card + template: main_room_header + variables: + name: Mud Room + scene_text: input_text.mud_room_selected_scene + light_entity: light.mud_room_overhead + power_entity: sensor.mud_room_overhead_power_sensor + icon: hue:room-other + - type: custom:bubble-card + card_type: button + button_type: slider + modules: + - default + - subbutton_below + rows: 1.719 + icon: '' + tap_action: + action: toggle + double_tap_action: + action: perform-action + perform_action: input_select.select_option + target: + entity_id: input_select.living_room_scenes + data: + option: Adaptive + hold_action: + action: more-info + sub_button: + main: [] + bottom: + - name: Scene + buttons_layout: inline + group: + - name: Scene + icon: mdi:palette + sub_button_type: select + show_name: true + entity: input_select.mud_room_scenes + name: Lights + entity: light.mud_room_overhead + - type: custom:bubble-card + card_type: separator + name: Status + icon: mdi:list-box + card_layout: large + - type: custom:streamline-card + template: main_temperature_button + variables: + name: Temp + columns: 2 + entity: sensor.mud_room_temperature + hot_entity: binary_sensor.mud_room_hot + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: button + button_type: state + name: Lux + card_layout: large + columns: 2 + sub_button: + main: [] + bottom: [] + entity: sensor.mud_room_illuminance + - type: custom:streamline-card + template: main_accent_color_button + variables: + name: Motion + columns: 2 + entity: binary_sensor.mud_room_motion + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_accent_color_button + variables: + name: Occupied + columns: 2 + entity: binary_sensor.mud_room_occupied + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: separator + name: Security + icon: mdi:security + card_layout: large + - type: custom:streamline-card + template: main_security_button + variables: + name: Back Door + columns: 2 + entity: binary_sensor.back_door + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_security_button + variables: + name: Window + columns: 2 + entity: binary_sensor.mud_room_window + grid_options: + columns: 6 + rows: auto + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_mud_room + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_mud_room + name: Night Mode + layout: icon|name_state + state: + case: first + - entity: switch.mud_room_motion_lighting + name: Motion Lighting + - entity: input_number.nighttime_brightness_mud_room + name: Night Brightness + - entity: input_number.mud_room_lights_off_delay + name: Lights Off Delay + - entity: input_number.mud_room_lux_threshold + name: Lux Threshold + column_span: 1 + background: + opacity: 10 max_columns: 4 cards: [] + visible: + - user: c3909d27048140729f002aaef0391775 - title: Second Floor path: second-floor icon: mdi:home-floor-2 @@ -2660,8 +2705,14 @@ views: sections: - type: grid cards: - - type: heading - heading: Basement Studio + - type: custom:streamline-card + template: main_room_header + variables: + - name: Basement Studio + - icon: mdi:twitch + - scene_text: input_text.basement_studio_selected_scene + - power_entity: sensor.basement_studio_total_power_sensor + - light_entity: light.basement_studio_lights - type: horizontal-stack cards: - type: custom:mushroom-light-card @@ -2681,87 +2732,33 @@ views: option: Adaptive target: entity_id: input_select.basement_studio_scenes + primary_info: none layout: vertical - - type: vertical-stack - cards: - - type: custom:mushroom-template-card - primary: Current Scene - secondary: '{{ states(''input_text.basement_studio_selected_scene'') }}' - tap_action: - action: none - hold_action: - action: none - double_tap_action: - action: none - layout: vertical - - type: custom:mushroom-template-card - entity: sensor.basement_studio_lights_power_sensor - primary: Power Usage - secondary: '{{ states(''sensor.basement_total_power_sensor'') }} W' - tap_action: - action: more-info - hold_action: - action: none - double_tap_action: - action: none - fill_container: false - layout: vertical - visibility: - - condition: state - entity: light.basement_studio_lights - state: 'on' - - type: custom:timer-bar-card - filter: true - entities: - - entity: timer.basement_studio_door_timer - sync_issues: ignore - tap_action: - action: none - hold_action: - action: more-info - double_tap_action: - action: none - layout: hide_name - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - extend_paper_buttons_row: - position: right - buttons: - - icon: mdi:check-circle - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.basement_studio_door_timer - visibility: - - condition: or - conditions: - - condition: state - entity: timer.basement_studio_door_timer - state: running - - condition: state - entity: timer.basement_studio_door_timer - state: paused + - type: custom:bubble-card + card_type: separator + name: Lights + icon: mdi:lightbulb + card_layout: large - type: custom:bubble-card card_type: button button_type: slider entity: light.basement_led_strip_1 - name: LED Strip 1 - show_state: true show_attribute: true + show_state: true attribute: brightness - show_icon: true tap_action: action: toggle double_tap_action: action: none hold_action: action: more-info - columns: 2 + icon: hue:lightstrip + name: LED Strip 1 + styles: >- + ${icon.setAttribute("icon", state === 'off' ? 'hue:lightstrip-off' + : 'hue:lightstrip')} card_layout: large + columns: 2 - type: custom:bubble-card card_type: button button_type: slider @@ -2770,32 +2767,36 @@ views: show_state: true show_attribute: true attribute: brightness - show_icon: true tap_action: action: toggle double_tap_action: action: none hold_action: action: more-info - columns: 2 + styles: >- + ${icon.setAttribute("icon", state === 'off' ? + 'hue:floor-shade-off' : 'hue:floor-shade')} card_layout: large + columns: 2 - type: custom:bubble-card card_type: button button_type: slider entity: light.basement_short_lamp - name: Short Lamp - show_state: true show_attribute: true + show_state: true attribute: brightness - show_icon: true tap_action: action: toggle double_tap_action: action: none hold_action: action: more-info - columns: 2 + name: Short Lamp + styles: >- + ${icon.setAttribute("icon", state === 'off' ? + 'hue:floor-shade-off' : 'hue:floor-shade')} card_layout: large + columns: 2 - type: custom:bubble-card card_type: button button_type: slider @@ -2804,112 +2805,203 @@ views: show_state: true show_attribute: true attribute: brightness - show_icon: true tap_action: action: toggle double_tap_action: action: none hold_action: action: more-info - columns: 2 + styles: >- + ${icon.setAttribute("icon", state === 'off' ? + 'hue:floor-shade-off' : 'hue:floor-shade')} card_layout: large - - type: entities + columns: 2 + - type: custom:timer-bar-card + filter: true entities: - - type: custom:paper-buttons-row - buttons: - - entity: input_boolean.recliner_mode - layout: icon|name_state - name: Recliner Mode - state_icons: - unavailable: mdi:map-marker-question - state: - case: first - - entity: input_boolean.basement_studio_entertainment_control - layout: icon|name_state - name: Entertainment - state_icons: - unavailable: mdi:map-marker-question - state: - case: first - state_color: true - show_header_toggle: false - - type: entities - entities: - - type: custom:paper-buttons-row - buttons: - - entity: fan.basement_fan - name: Fan - layout: icon|name_state - state_icons: - 'on': mdi:fan - 'off': mdi:fan-off - unavailable: mdi:map-marker-question - state: - case: first - - entity: input_boolean.do_not_enter_basement_studio - name: Do Not Enter - layout: icon|name_state - state_icons: - 'on': mdi:minus-circle - 'off': mdi:minus-circle-off-outline - unavailable: mdi:map-marker-question - state: - case: first - - entity: input_boolean.studio_quiet - name: Quiet - layout: icon|name_state - state_icons: - unavailable: mdi:map-marker-question - state: - case: first - - entity: input_boolean.gaming_mode - name: Gaming - layout: icon|name_state - state_icons: - unavailable: mdi:map-marker-question - state: - case: first - state_color: true - show_header_toggle: false - - type: custom:versatile-thermostat-ui-card + - entity: timer.basement_studio_door_timer + name: Door Timer + sync_issues: ignore + tap_action: + action: call-service + service: timer.finish + target: + entity_id: timer.basement_studio_door_timer + hold_action: + action: more-info + double_tap_action: + action: none + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + compressed: true + - type: custom:bubble-card + card_type: separator + name: Media + icon: mdi:volume-high + card_layout: large + - type: custom:bubble-card + card_type: media-player + entity: media_player.basement_tv + name: TV + - type: custom:bubble-card + card_type: separator + name: Environment + icon: mdi:thermometer + card_layout: large + - type: custom:bubble-card + card_type: climate + sub_button: + - entity: climate.basement_studio_vtherm + select_attribute: hvac_modes + name: HVAC modes menu + state_background: true + - name: Presets menu + select_attribute: preset_modes + state_background: false + show_arrow: true + name: Thermostat entity: climate.basement_studio_vtherm - powerEntity: sensor.basement_studio_heater_power - theme: classic - disable_name: true - allow_lock_toggle: true - disable_auto_fan_infos: true - - type: custom:mushroom-select-card - entity: input_select.basement_studio_scenes - layout: horizontal - name: Scenes - secondary_info: none - - type: custom:mushroom-select-card - entity: select.basement_led_strip_1_theme - layout: horizontal - name: LED Strip Theme - secondary_info: none - - type: glance - show_name: true - show_icon: true + card_layout: large + state_color: false + visibility: + - condition: state + entity: input_boolean.basement_studio_heat_allowed + state: 'on' + - type: custom:bubble-card + card_type: button + button_type: switch + entity: fan.basement_fan + name: Fan show_state: true - state_color: true - entities: - - entity: binary_sensor.basement_studio_door - name: Door - - type: glance - show_name: true - show_icon: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + button_action: + double_tap_action: + action: none + styles: |- + .bubble-icon { + animation: ${state === 'on' ? 'slow-rotate 2s linear infinite' : ''}; + } + @keyframes slow-rotate { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: button + button_type: switch + entity: input_boolean.white_noise_basement + name: White Noise show_state: true - state_color: true - entities: + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + button_action: + double_tap_action: + action: none + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: separator + name: Modes + icon: mdi:toggle-switch + card_layout: large + - type: custom:bubble-card + card_type: button + entity: input_boolean.studio_quiet + name: Studio Quiet + show_state: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + button_action: + double_tap_action: + action: none + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: button + button_type: switch + entity: input_boolean.gaming_mode + name: Gaming Mode + show_state: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + button_action: + double_tap_action: + action: none + card_layout: large + columns: 2 + - type: custom:bubble-card + card_type: separator + name: Status + icon: mdi:list-box + card_layout: large + - type: custom:streamline-card + template: main_temperature_button + variables: + - name: Temp - entity: sensor.basement_studio_temperature - name: Temp - - entity: sensor.basement_studio_illuminance - name: Lux + - hot_entity: binary_sensor.basement_studio_hot + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:bubble-card + card_type: button + button_type: state + entity: sensor.basement_studio_illuminance + name: Lux + show_state: true + tap_action: + action: more-info + double_tap_action: + action: none + hold_action: + action: none + button_action: + double_tap_action: + action: none + hold_action: + action: none + card_layout: large + columns: 2 + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Motion - entity: binary_sensor.basement_studio_motion - name: Motion + - columns: 2 + grid_options: + columns: 6 + rows: auto + - type: custom:streamline-card + template: main_accent_color_button + variables: + - name: Occupied - entity: binary_sensor.basement_occupied - name: Occupied + - columns: 2 + grid_options: + columns: 6 + rows: auto - type: custom:fold-entity-row show_header_toggle: false state_color: true @@ -2968,15 +3060,9 @@ views: name: Sync Issue - entity: input_button.basement_led_strip_reset name: LED Strip Reset - visibility: - - condition: or - conditions: - - condition: state - entity: input_boolean.studio_quiet - state: 'off' - - condition: user - users: - - c3909d27048140729f002aaef0391775 + column_span: 1 + background: + opacity: 10 - type: grid cards: - type: heading @@ -6388,7 +6474,7 @@ views: conditions: - condition: state entity: binary_sensor.minnesota_vikings_inhibit - state: '' + state: 'off' - condition: state entity: binary_sensor.san_francisco_49ers_inhibit state: 'off' @@ -7187,8 +7273,6 @@ views: max_columns: 4 cards: [] background: {} - visible: - - user: c3909d27048140729f002aaef0391775 - title: Weather path: weather type: sections @@ -9119,6 +9203,940 @@ views: name: Sync Issue - entity: input_button.basement_led_strip_reset name: LED Strip Reset + - type: grid + cards: + - type: heading + heading: Basement Studio + - type: horizontal-stack + cards: + - type: custom:mushroom-light-card + entity: light.basement_studio_lights + name: Lights + icon: mdi:twitch + fill_container: true + use_light_color: true + show_brightness_control: true + show_color_temp_control: true + show_color_control: true + collapsible_controls: true + double_tap_action: + action: call-service + service: input_select.select_option + service_data: + option: Adaptive + target: + entity_id: input_select.basement_studio_scenes + layout: vertical + - type: vertical-stack + cards: + - type: custom:mushroom-template-card + primary: Current Scene + secondary: '{{ states(''input_text.basement_studio_selected_scene'') }}' + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + layout: vertical + - type: custom:mushroom-template-card + entity: sensor.basement_studio_lights_power_sensor + primary: Power Usage + secondary: '{{ states(''sensor.basement_total_power_sensor'') }} W' + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + fill_container: false + layout: vertical + visibility: + - condition: state + entity: light.basement_studio_lights + state: 'on' + - type: custom:timer-bar-card + filter: true + entities: + - entity: timer.basement_studio_door_timer + sync_issues: ignore + tap_action: + action: none + hold_action: + action: more-info + double_tap_action: + action: none + layout: hide_name + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + extend_paper_buttons_row: + position: right + buttons: + - icon: mdi:check-circle + tap_action: + action: call-service + service: timer.finish + target: + entity_id: timer.basement_studio_door_timer + visibility: + - condition: or + conditions: + - condition: state + entity: timer.basement_studio_door_timer + state: running + - condition: state + entity: timer.basement_studio_door_timer + state: paused + - type: custom:bubble-card + card_type: button + button_type: slider + entity: light.basement_led_strip_1 + name: LED Strip 1 + show_state: true + show_attribute: true + attribute: brightness + show_icon: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + columns: 2 + card_layout: large + - type: custom:bubble-card + card_type: button + button_type: slider + entity: light.basement_stairwell + name: Stairwell + show_state: true + show_attribute: true + attribute: brightness + show_icon: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + columns: 2 + card_layout: large + - type: custom:bubble-card + card_type: button + button_type: slider + entity: light.basement_short_lamp + name: Short Lamp + show_state: true + show_attribute: true + attribute: brightness + show_icon: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + columns: 2 + card_layout: large + - type: custom:bubble-card + card_type: button + button_type: slider + entity: light.basement_tall_lamp + name: Tall Lamp + show_state: true + show_attribute: true + attribute: brightness + show_icon: true + tap_action: + action: toggle + double_tap_action: + action: none + hold_action: + action: more-info + columns: 2 + card_layout: large + - type: entities + entities: + - type: custom:paper-buttons-row + buttons: + - entity: input_boolean.recliner_mode + layout: icon|name_state + name: Recliner Mode + state_icons: + unavailable: mdi:map-marker-question + state: + case: first + - entity: input_boolean.basement_studio_entertainment_control + layout: icon|name_state + name: Entertainment + state_icons: + unavailable: mdi:map-marker-question + state: + case: first + state_color: true + show_header_toggle: false + - type: entities + entities: + - type: custom:paper-buttons-row + buttons: + - entity: fan.basement_fan + name: Fan + layout: icon|name_state + state_icons: + 'on': mdi:fan + 'off': mdi:fan-off + unavailable: mdi:map-marker-question + state: + case: first + - entity: input_boolean.white_noise_basement + name: White Noise + layout: icon|name_state + state_icons: + 'on': mdi:volume-high + 'off': mdi:volume-off + unavailable: mdi:map-marker-question + state: + case: first + - entity: input_boolean.studio_quiet + name: Quiet + layout: icon|name_state + state_icons: + unavailable: mdi:map-marker-question + state: + case: first + - entity: input_boolean.gaming_mode + name: Gaming + layout: icon|name_state + state_icons: + unavailable: mdi:map-marker-question + state: + case: first + state_color: true + show_header_toggle: false + - type: custom:simple-thermostat + entity: climate.basement_studio_vtherm + header: false + decimals: 0 + step_size: 1 + layout: + mode: + headings: false + names: true + icons: true + step: row + control: + hvac: + heat: true + preset: + none: false + frost: + name: Minimum + eco: + name: Eco + comfort: + name: Comfort + boost: + name: Extra + - type: custom:mushroom-select-card + entity: input_select.basement_studio_scenes + layout: horizontal + name: Scenes + secondary_info: none + - type: custom:mushroom-select-card + entity: select.basement_led_strip_1_theme + layout: horizontal + name: LED Strip Theme + secondary_info: none + - type: glance + show_name: true + show_icon: true + show_state: true + state_color: true + entities: + - entity: binary_sensor.basement_studio_door + name: Door + - type: glance + show_name: true + show_icon: true + show_state: true + state_color: true + entities: + - entity: sensor.basement_studio_temperature + name: Temp + - entity: sensor.basement_studio_illuminance + name: Lux + - entity: binary_sensor.basement_studio_motion + name: Motion + - entity: binary_sensor.basement_occupied + name: Occupied + - type: custom:fold-entity-row + show_header_toggle: false + state_color: true + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_basement_studio + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_basement_studio + name: Night Mode + layout: icon|name_state + state: + case: first + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_adapt_brightness_basement_studio + name: Adapt Brightness + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_adapt_color_basement_studio + name: Adapt Color + layout: icon|name_state + state: + case: first + - entity: input_boolean.basement_studio_dynamic_scenes + name: Dynamic Scenes + layout: icon|name_state + state: + case: first + - entity: input_boolean.basement_studio_heat_allowed + name: Heat Allowed + - entity: automation.basement_lights_handling + name: Auto Handling + - entity: automation.basement_lights_adaptive_resync + name: Adaptive Resync + - entity: input_number.daytime_colortemp_basement_studio + name: Day Colortemp + - entity: input_number.nighttime_colortemp_basement_studio + name: Night Colortemp + - entity: input_number.nighttime_brightness_basement_studio + name: Night Brightness + - entity: input_number.basement_studio_lights_off_delay + name: Lights Off Delay + - entity: counter.basement_studio_door_opened_today + name: Door Opened Today + - entity: counter.basement_led_strip_resets + name: LED Strip Resets + - entity: binary_sensor.basement_studio_sync_issue + name: Sync Issue + - entity: input_button.basement_led_strip_reset + name: LED Strip Reset + visibility: + - condition: or + conditions: + - condition: state + entity: input_boolean.studio_quiet + state: 'off' + - condition: user + users: + - c3909d27048140729f002aaef0391775 + - type: grid + cards: + - type: custom:stack-in-card + card_mod: + style: | + ha-card { + overflow: visible !important; + } + cards: + - type: custom:mushroom-light-card + icon: hue:room-living + name: Living Room + double_tap_action: + action: call-service + service: input_select.select_option + service_data: + option: Adaptive + target: + entity_id: input_select.living_room_scenes + hold_action: + action: more-info + entity: light.living_room_lights + use_light_color: true + show_brightness_control: true + show_color_temp_control: true + show_color_control: true + collapsible_controls: true + fill_container: false + layout: vertical + - type: custom:state-switch + entity: light.living_room_lights + states: + 'on': + type: custom:mushroom-template-card + primary: Current Scene + secondary: '{{ states(''input_text.living_room_selected_scene'') }}' + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + layout: vertical + - type: custom:mushroom-template-card + entity: sensor.living_room_total_power_sensor + primary: Power Usage + secondary: '{{ states(''sensor.living_room_total_power_sensor'') }} W' + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + layout: vertical + - type: custom:timer-bar-card + filter: true + entities: + - entity: timer.living_room_motion_timer + sync_issues: ignore + tap_action: + action: none + hold_action: + action: more-info + double_tap_action: + action: none + layout: hide_name + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + extend_paper_buttons_row: + position: right + buttons: + - icon: mdi:check-circle + tap_action: + action: call-service + service: timer.finish + target: + entity_id: timer.living_room_motion_timer + - type: entities + entities: + - type: custom:paper-buttons-row + buttons: + - entity: light.living_room_overhead + name: Overhead + layout: icon|name_state + state: + case: first + state_icons: + 'on': hue:ceiling-devere + 'off': hue:ceiling-devere-off + unavailable: mdi:map-marker-question + - entity: light.living_room_led_strip + name: LED Strip + layout: icon|name_state + state: + case: first + state_icons: + 'on': hue:lightstrip + 'off': hue:lightstrip-off + unavailable: mdi:map-marker-question + - type: custom:paper-buttons-row + buttons: + - entity: light.christmas_tree + name: Tree + layout: icon|name_state + state: + case: first + state_icons: + 'on': mdi:pine-tree-variant + 'off': mdi:pine-tree-variant-outline + unavailable: mdi:map-marker-question + - entity: light.christmas_lights_front_window + name: Window + layout: icon|name_state + state: + case: first + state_icons: + 'on': mdi:string-lights + 'off': mdi:string-lights-off + unavailable: mdi:map-marker-question + - type: entities + entities: + - entity: input_select.living_room_scenes + - entity: select.living_room_led_strip_theme + name: LED Strip Theme + show_header_toggle: false + - type: glance + show_name: true + show_icon: true + show_state: true + state_color: true + entities: + - entity: binary_sensor.front_door + - entity: binary_sensor.front_window_1 + name: FW1 + - entity: binary_sensor.front_window_2 + name: FW2 + - type: glance + show_name: true + show_icon: true + show_state: true + state_color: true + entities: + - entity: sensor.living_room_front_temperature + name: Temp + - entity: sensor.living_room_front_illuminance + name: Light + - entity: binary_sensor.living_room_front_motion + name: Motion + - entity: binary_sensor.living_room_occupied + name: Occupied + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_living_room + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_sleep_mode_living_room + name: Night Mode + layout: icon|name_state + state: + case: first + - type: custom:paper-buttons-row + buttons: + - entity: input_boolean.living_room_dynamic_scenes + name: Dynamic Scenes + layout: icon|name_state + state_icons: + 'on': mdi:animation + 'off': mdi:animation-outline + state: + case: first + - entity: input_boolean.living_room_entertainment_control + name: Media Scenes + layout: icon|name_state + state_icons: + 'on': mdi:television-ambient-light + 'off': mdi:television-off + state: + case: first + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_adapt_color_living_room + name: Adapt Color + layout: icon|name_state + state: + case: first + - entity: switch.adaptive_lighting_adapt_brightness_living_room + name: Adapt Brightness + layout: icon|name_state + state: + case: first + - entity: switch.living_room_motion_lighting + name: Motion Lighting + - entity: input_number.daytime_colortemp_living_room + name: Day Colortemp + - entity: input_number.nighttime_colortemp_living_room + name: Night Colortemp + - entity: input_number.nighttime_brightness_living_room + name: Night Brightness + - entity: input_number.living_room_lights_off_delay + name: Lights Off Delay + secondary_info: Only used at night + - entity: input_number.living_room_lux_threshold + name: Lux Threshold + - entity: binary_sensor.living_room_sync_issue + name: Sync Issue + - entity: script.emma_rainbow_lights + name: Emma Rainbow + - type: grid + cards: + - type: custom:stack-in-card + card_mod: + style: | + ha-card { + overflow: visible !important; + } + cards: + - type: custom:mushroom-light-card + entity: light.downstairs_bathroom_lights + double_tap_action: + action: call-service + service: input_select.select_option + service_data: + option: Adaptive + target: + entity_id: input_select.downstairs_bathroom_scenes + name: Downstairs Bathroom + icon: mdi:toilet + layout: vertical + show_brightness_control: true + collapsible_controls: true + - type: custom:state-switch + entity: light.downstairs_bathroom_lights + states: + 'on': + type: custom:mushroom-template-card + primary: Current Scene + secondary: >- + {{ states('input_text.downstairs_bathroom_selected_scene') + }} + tap_action: + action: none + hold_action: + action: none + double_tap_action: + action: none + layout: vertical + - type: custom:state-switch + entity: light.downstairs_bathroom_lights + states: + 'on': + type: custom:mushroom-template-card + entity: sensor.downstairs_bathroom_lights_power_sensor + primary: Power Usage + secondary: >- + {{ + states('sensor.downstairs_bathroom_lights_power_sensor') + }} W + tap_action: + action: more-info + hold_action: + action: none + double_tap_action: + action: none + layout: vertical + - type: custom:timer-bar-card + filter: true + entities: + - entity: timer.downstairs_bathroom_lights_timer + sync_issues: ignore + tap_action: + action: none + hold_action: + action: more-info + double_tap_action: + action: none + layout: hide_name + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + extend_paper_buttons_row: + position: right + buttons: + - icon: mdi:check-circle + tap_action: + action: call-service + service: timer.finish + target: + entity_id: timer.downstairs_bathroom_lights_timer + - type: entities + entities: + - type: custom:paper-buttons-row + base_config: + state_styles: + idle: + button: + background-color: var(--table-row-alternative-background-color) + name: + color: white + icon: + color: white + state: + color: white + ripple: + color: purple + active: + button: + background-color: var(--primary-color) + name: + color: white + icon: + color: white + state: + color: white + ripple: + color: purple + buttons: + - entity: timer.washer_timer + name: Washer + layout: icon|name_state + state: + case: first + state_text: + idle: 'Off' + active: Active + state_icons: + idle: mdi:washing-machine-off + active: mdi:washing-machine + unavailable: mdi:map-marker-question + tap_action: + action: fire-dom-event + browser_mod: + service: browser_mod.popup + data: + content: + type: custom:stack-in-card + cards: + - type: entities + title: Washer Controls + entities: + - entity: input_number.washer_cycle_length + name: Cycle Length + - entity: input_datetime.washer_finished + name: Finished At + - entity: input_boolean.washer_finished + name: Cycle Finished + secondary_info: Turn off after collecting laundry + - type: custom:timer-bar-card + filter: true + show_empty: The washer is not currently running + entities: + - entity: timer.washer_timer + sync_issues: ignore + tap_action: + action: none + hold_action: + action: more-info + double_tap_action: + action: none + layout: hide_name + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + - type: custom:stack-in-card + mode: horizontal + cards: + - type: custom:button-card + entity: timer.washer_timer + name: [] + show_label: true + aspect_ratio: 2.7/1 + styles: + card: + - '--mdc-ripple-color': purple + - '--mdc-ripple-press-opacity': 0.5 + state: + - value: active + label: Running + icon: mdi:play + styles: + icon: + - color: green + - value: paused + label: Paused + icon: mdi:pause + styles: + icon: + - color: yellow + - value: idle + label: Start + icon: mdi:play + tap_action: + action: call-service + service: button.press + service_data: + entity_id: button.washer_start + hold_action: + action: more-info + entity: timer.washer_timer + - type: custom:button-card + entity: timer.washer_timer + name: [] + icon: mdi:cancel + label: Cancel + show_label: true + aspect_ratio: 2.7/1 + styles: + card: + - '--mdc-ripple-color': purple + - '--mdc-ripple-press-opacity': 0.5 + state: + - value: active + styles: + icon: + - color: green + - value: paused + styles: + icon: + - color: yellow + - value: idle + tap_action: + action: call-service + service: button.press + service_data: + entity_id: button.washer_cancel + hold_action: + action: more-info + entity: timer.washer_timer + - entity: timer.dryer_timer + name: Dryer + layout: icon|name_state + state: + case: first + state_text: + idle: 'Off' + active: Active + state_icons: + idle: mdi:tumble-dryer-off + active: mdi:tumble-dryer + unavailable: mdi:map-marker-question + tap_action: + action: fire-dom-event + browser_mod: + service: browser_mod.popup + data: + content: + type: custom:stack-in-card + cards: + - type: entities + title: Dryer Controls + entities: + - entity: input_number.dryer_cycle_length + name: Cycle Length + - entity: input_datetime.dryer_finished + name: Finished At + - entity: input_boolean.dryer_finished + name: Cycle Finished + secondary_info: Turn off after collecting laundry + - type: custom:timer-bar-card + filter: true + show_empty: The dryer is not currently running + entities: + - entity: timer.dryer_timer + sync_issues: ignore + tap_action: + action: none + hold_action: + action: more-info + double_tap_action: + action: none + layout: hide_name + modifications: + - elapsed: 40% + bar_foreground: orange + - elapsed: 80% + bar_foreground: red + - type: custom:stack-in-card + mode: horizontal + cards: + - type: custom:button-card + entity: timer.dryer_timer + name: [] + show_label: true + aspect_ratio: 2.7/1 + styles: + card: + - '--mdc-ripple-color': purple + - '--mdc-ripple-press-opacity': 0.5 + state: + - value: active + label: Running + icon: mdi:play + styles: + icon: + - color: green + - value: paused + label: Paused + icon: mdi:pause + styles: + icon: + - color: yellow + - value: idle + label: Start + icon: mdi:play + tap_action: + action: call-service + service: button.press + service_data: + entity_id: button.dryer_start + hold_action: + action: more-info + entity: timer.dryer_timer + - type: custom:button-card + entity: timer.dryer_timer + name: [] + icon: mdi:cancel + label: Cancel + show_label: true + aspect_ratio: 2.7/1 + styles: + card: + - '--mdc-ripple-color': purple + - '--mdc-ripple-press-opacity': 0.5 + state: + - value: active + styles: + icon: + - color: green + - value: paused + styles: + icon: + - color: yellow + - value: idle + tap_action: + action: call-service + service: button.press + service_data: + entity_id: button.dryer_cancel + hold_action: + action: more-info + entity: timer.dryer_timer + - type: entities + entities: + - entity: input_select.downstairs_bathroom_scenes + - type: glance + show_name: true + show_icon: true + show_state: true + state_color: true + entities: + - entity: sensor.downstairs_bathroom_temperature + name: Temp + - entity: sensor.downstairs_bathroom_illuminance + name: Light + - entity: binary_sensor.downstairs_bathroom_motion + name: Motion + - entity: binary_sensor.downstairs_bathroom_occupied + name: Occupied + - type: custom:fold-entity-row + head: + type: section + label: More Settings + entities: + - type: custom:paper-buttons-row + buttons: + - entity: switch.adaptive_lighting_downstairs_bathroom + name: Adaptive Lighting + layout: icon|name_state + state: + case: first + - entity: >- + switch.adaptive_lighting_sleep_mode_downstairs_bathroom + name: Night Mode + layout: icon|name_state + state: + case: first + - entity: switch.downstairs_bathroom_motion_lighting + name: Motion Lighting + - entity: input_number.nighttime_brightness_downstairs_bathroom + name: Night Brightness + - entity: input_number.downstairs_bathroom_lights_off_delay + name: Lights Off Delay + - entity: input_number.downstairs_bathroom_lux_threshold + name: Lux Threshold + show_header_toggle: false - type: sections max_columns: 4 title: Temp