diff --git a/mobile_dashboard.yaml b/mobile_dashboard.yaml index 73d29bf..e2c5d51 100644 --- a/mobile_dashboard.yaml +++ b/mobile_dashboard.yaml @@ -4660,2087 +4660,6 @@ views: double_tap_action: action: none fill_container: false - - type: custom:room-card - title: Front Porch - entity: light.front_porch_light - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: input_select.front_porch_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.front_porch_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: sensor.front_doorbell_battery_mqtt - hide_unavailable: true - show_icon: true - state_color: false - tap_action: - action: more-info - - entity: binary_sensor.front_doorbell_ding_mqtt - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: more-info - - entity: binary_sensor.front_doorbell_motion_mqtt - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: more-info - - entity: timer.front_porch_motion_timer - hide_unavailable: true - hide_if: - conditions: - - condition: equals - entity: timer.front_porch_motion_timer - value: idle - show_icon: true - state_color: true - icon: mdi:timer-outline - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.front_porch_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.front_porch_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:restriction-card - restrictions: - block: - text: Studio is live, no touchy! - condition: - value: 'on' - entity: input_boolean.studio_quiet - exemptions: - - user: c3909d27048140729f002aaef0391775 - card: - type: custom:room-card - title: Basement Studio - entity: light.basement_studio_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: light.basement_stairwell - name: Stairwell - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:wall-lantern'; if - (entity.state === 'off') return 'hue:wall-lantern-off'; - else return 'mdi:map-marker-question'; - - entity: light.basement_led_strip_1 - name: LED Strip - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:lightstrip'; if - (entity.state === 'off') return 'hue:lightstrip-off'; - else return 'mdi:map-marker-question'; - - entity: light.basement_short_lamp - name: Short - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:floor-shade'; if - (entity.state === 'off') return 'hue:floor-shade-off'; - else return 'mdi:map-marker-question'; - - entity: light.basement_tall_lamp - name: Tall - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:floor-shade'; if - (entity.state === 'off') return 'hue:floor-shade-off'; - else return 'mdi:map-marker-question'; - - content_alignment: center - entities: - - entity: input_boolean.recliner_mode - name: Recliner - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: fan.basement_fan - name: Fan - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.white_noise_basement - name: Sound - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.studio_quiet - name: Quiet - state_color: true - show_icon: true - tap_action: - action: toggle - - content_alignment: center - entities: - - entity: sensor.basement_studio_temperature - show_state: true - show_name: false - - entity: sensor.basement_studio_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.basement_studio_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.basement_studio_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.basement_studio_door - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: more-info - - entity: binary_sensor.basement_occupied - hide_unavailable: true - state_color: true - show_icon: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.basement_studio_door_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.basement_studio_door_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.basement_studio_door_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - 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 - - entity: timer.kallen_timer - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: not_equals - value: active - - condition: not_equals - entity: input_select.kallen_activity_room - value: Basement - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:stack-in-card - cards: - - type: markdown - content: >- - Do *not* use the start button on the timer. Use the - start button on the **settings card only**, or else - the reading duration will not be set properly. This - is a bug I could not fix. - - - - Dad - title: IMPORTANT - - type: custom:flipdown-timer-card - entity: timer.kallen_timer - name: Kallen Activity Timer - show_title: true - show_error: false - - type: entities - entities: - - entity: input_number.kallen_activity_duration - name: Duration - - entity: input_boolean.kallen_timer_control_lights - name: Control Lights - - entity: input_select.kallen_activity_room - name: Room - - entity: input_select.kallen_activities - name: Activity - show_header_toggle: false - state_color: true - - type: custom:stack-in-card - mode: horizontal - cards: - - type: custom:button-card - entity: timer.kallen_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: Idle - icon: mdi:play - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.kallen_timer_start - hold_action: - action: more-info - entity: timer.kallen_timer - - type: custom:button-card - entity: timer.kallen_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: script.kallen_timer_cancel - hold_action: - action: more-info - entity: timer.kallen_timer - - type: custom:room-card - title: Living Room - entity: light.living_room_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: light.living_room_overhead - name: Overhead - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:ceiling-devere'; if - (entity.state === 'off') return 'hue:ceiling-devere-off'; - else return 'mdi:map-marker-question'; - - entity: light.living_room_led_strip - name: LED Strip - hide_unavailable: true - show_icon: true - state_color: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:lightstrip'; if - (entity.state === 'off') return 'hue:lightstrip-off'; else - return 'mdi:map-marker-question'; - - content_alignment: center - entities: - - entity: sensor.living_room_front_temperature - show_state: true - show_name: false - - entity: sensor.living_room_front_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.living_room_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.living_room_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.front_door - hide_unavailable: true - state_color: true - show_icon: true - - entity: binary_sensor.living_room_windows - hide_unavailable: true - state_color: true - show_icon: true - - entity: binary_sensor.living_room_occupied - hide_unavailable: true - state_color: true - show_icon: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.kallen_timer - state_color: true - show_icon: true - hide_if: - conditions: - - condition: not_equals - value: active - - condition: not_equals - entity: input_select.kallen_activity_room - value: Living Room - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:stack-in-card - cards: - - type: markdown - content: >- - Do *not* use the start button on the timer. Use the - start button on the **settings card only**, or else - the reading duration will not be set properly. This is - a bug I could not fix. - - - - Dad - title: IMPORTANT - - type: custom:flipdown-timer-card - entity: timer.kallen_timer - name: Kallen Activity Timer - show_title: true - show_error: false - - type: entities - entities: - - entity: input_number.kallen_activity_duration - name: Duration - - entity: input_boolean.kallen_timer_control_lights - name: Control Lights - - entity: input_select.kallen_activity_room - name: Room - - entity: input_select.kallen_activities - name: Activity - show_header_toggle: false - state_color: true - - type: custom:stack-in-card - mode: horizontal - cards: - - type: custom:button-card - entity: timer.kallen_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: Idle - icon: mdi:play - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.kallen_timer_start - hold_action: - action: more-info - entity: timer.kallen_timer - - type: custom:button-card - entity: timer.kallen_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: script.kallen_timer_cancel - hold_action: - action: more-info - entity: timer.kallen_timer - - type: custom:room-card - title: Tina Desk - entity: light.tina_desk_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: call-service - service: input_boolean.toggle - target: - entity_id: input_boolean.tina_desk_lights - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: light.tina_lamp_top - name: Top - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:floor-shade'; if - (entity.state === 'off') return 'hue:floor-shade-off'; - else return 'mdi:map-marker-question'; - - entity: light.tina_lamp_side - name: Side - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:floor-shade'; if - (entity.state === 'off') return 'hue:floor-shade-off'; - else return 'mdi:map-marker-question'; - - entity: light.tina_desk_strip - name: Strip - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:lightstrip'; if - (entity.state === 'off') return 'hue:lightstrip-off'; else - return 'mdi:map-marker-question'; - - content_alignment: center - entities: - - entity: input_select.tina_desk_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.tina_desk_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.tina_desk_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - type: custom:room-card - title: Downstairs Bathroom - entity: light.downstairs_bathroom_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: timer.washer_timer - name: Washer - state_color: true - 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:flipdown-timer-card - entity: timer.washer_timer - name: Washer Timer - duration: '00:00:00' - show_title: false - show_header: true - show_error: false - show_hour: auto - styles: - button: - location: hide - - 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 - state_color: true - 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:flipdown-timer-card - entity: timer.dryer_timer - name: Dryer Timer - duration: '00:00:00' - show_title: false - show_header: true - show_error: false - show_hour: auto - styles: - button: - location: hide - - 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 - - content_alignment: center - entities: - - entity: sensor.downstairs_bathroom_temperature - show_state: true - show_name: false - - entity: sensor.downstairs_bathroom_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.downstairs_bathroom_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.downstairs_bathroom_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.downstairs_bathroom_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.downstairs_bathroom_lights_timer - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.downstairs_bathroom_lights_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.downstairs_bathroom_lights_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.downstairs_bathroom_lights_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:room-card - title: Mud Room - entity: light.mud_room_overhead - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: sensor.mud_room_temperature - show_state: true - show_name: false - - entity: sensor.mud_room_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.mud_room_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.mud_room_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.back_door - hide_unavailable: true - show_icon: true - state_color: true - - entity: binary_sensor.mud_room_window - hide_unavailable: true - show_icon: true - state_color: true - - entity: binary_sensor.mud_room_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.mud_room_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.mud_room_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.mud_room_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.mud_room_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:room-card - title: Kitchen - entity: light.mud_room_overhead - show_icon: true - state_color: false - content_alignment: center - tap_action: - action: none - icon: mdi:close-thick - info_entities: - - entity: binary_sensor.kitchen_big_window - hide_unavailable: true - show_icon: true - state_color: true - - type: custom:room-card - title: Stairwell - entity: light.stairwell_led_strip - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'hue:lightstrip'; if - (entity.state === 'off') return 'hue:lightstrip-off'; else return - 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: sensor.stairwell_bottom_temperature - show_state: true - show_name: false - - entity: sensor.stairwell_bottom_illuminance - show_state: true - show_name: false - info_entities: - - entity: binary_sensor.stairwell_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.stairwell_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.stairwell_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.stairwell_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.stairwell_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:room-card - title: Upstairs Hallway - entity: light.hallway_overhead - show_icon: true - state_color: false - content_alignment: center - tap_action: - action: none - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: sensor.stairwell_top_temperature - show_state: true - show_name: false - - entity: sensor.stairwell_top_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.upstairs_hallway_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.upstairs_hallway_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - info_entities: - - entity: binary_sensor.upstairs_hallway_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.upstairs_hallway_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.upstairs_hallway_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.upstairs_hallway_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.upstairs_hallway_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:room-card - title: Upstairs Bathroom - entity: light.upstairs_bathroom_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - entities: - - entity: input_boolean.shower_mode - name: Shower - state_color: true - show_icon: true - tap_action: - action: toggle - content_alignment: center - - content_alignment: center - entities: - - entity: sensor.upstairs_bathroom_temperature - show_state: true - show_name: false - - entity: sensor.upstairs_bathroom_illuminance - show_state: true - show_name: false - - entities: - - entity: input_select.upstairs_bathroom_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.upstairs_bathroom_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - content_alignment: center - info_entities: - - entity: binary_sensor.upstairs_bathroom_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.upstairs_bathroom_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.upstairs_bathroom_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.upstairs_bathroom_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.upstairs_bathroom_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:room-card - title: Master Bedroom - entity: light.master_bedroom_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: light.master_bedroom_closet - name: Closet - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; - else return 'mdi:map-marker-question'; - - entity: climate.master_bedroom_aircon - name: A/C - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: tile - features: - - type: climate-hvac-modes - hvac_modes: - - fan_only - - dry - - cool - - auto - - 'off' - - type: target-temperature - - style: dropdown - preset_modes: - - none - - eco - type: climate-preset-modes - entity: climate.master_bedroom_aircon - vertical: true - show_entity_picture: false - - entity: fan.master_bedroom_fan - name: Fan - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.master_bedroom_sleeping - name: Sleeping - state_color: true - show_icon: true - tap_action: - action: toggle - - content_alignment: center - entities: - - entity: sensor.master_bedroom_temperature - show_state: true - show_name: false - - entity: sensor.master_bedroom_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.master_bedroom_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.master_bedroom_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - - entity: input_boolean.master_bedroom_alarm_clock - name: Alarm - state_color: true - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:restriction-card - restrictions: - block: - text: This ain't yo room, boiiiiii - exemptions: - - user: f387a983651a4321a7411ff8cf36f949 - - user: c3909d27048140729f002aaef0391775 - card: - type: entities - title: TESTING, use at own risk - state_color: true - show_header_toggle: false - entities: - - entity: input_boolean.master_bedroom_alarm_clock - name: Enabled - - entity: input_datetime.master_bedroom_alarm_clock - name: Set Time - info_entities: - - entity: binary_sensor.master_bedroom_aircon_fan - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:air-filter - hide_if: - conditions: - - condition: equals - entity: climate.master_bedroom_aircon - value: unavailable - - condition: equals - value: 'off' - - condition: equals - entity: climate.master_bedroom_aircon - value: 'off' - - condition: equals - entity: binary_sensor.master_bedroom_aircon_compressor - value: 'on' - - entity: binary_sensor.master_bedroom_aircon_compressor - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:air-conditioner - hide_if: - conditions: - - condition: equals - entity: climate.master_bedroom_aircon - value: unavailable - - condition: equals - value: 'off' - - condition: equals - entity: climate.master_bedroom_aircon - value: 'off' - - entity: binary_sensor.master_bedroom_aircon_filter_alert - hide_unavailable: true - show_icon: true - state_color: true - hide_if: - conditions: - - condition: equals - entity: climate.master_bedroom_aircon - value: unavailable - - condition: equals - value: 'off' - - entity: binary_sensor.master_bedroom_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.shower_mode_cooldown - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.shower_mode_cooldown - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Shower Mode Cooldown - filter: true - show_empty: Timer is idle - entity: timer.shower_mode_cooldown - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.shower_mode_cooldown - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - entity: timer.master_bedroom_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.master_bedroom_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.master_bedroom_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.master_bedroom_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:restriction-card - restrictions: - confirm: - text: Kallen is sleeping, are you sure? - condition: - value: 'on' - entity: input_boolean.kallen_sleeping - exemptions: - - user: 879b4c04e32841b3ad1d2763a11b4e70 - card: - type: custom:room-card - title: Kallen Bedroom - entity: light.kallen_bedroom_lights - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: fan.kallen_bedroom_fan - name: Fan - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.white_noise_kallen_bedroom - name: Sound - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.kallen_sleeping - name: Sleeping - state_color: true - show_icon: true - tap_action: - action: toggle - - content_alignment: center - entities: - - entity: sensor.kallen_bedroom_temperature - show_state: true - show_name: false - - entity: sensor.kallen_bedroom_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.kallen_bedroom_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.kallen_bedroom_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - card_mod: - style: | - ha-dialog { - --mdc-dialog-min-height: 10px !important; - } - - entity: input_boolean.kallen_alarm_clock - name: Alarm - state_color: true - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: entities - title: TESTING, use at own risk - state_color: true - show_header_toggle: false - entities: - - entity: input_boolean.kallen_alarm_clock - name: Enabled - - entity: input_datetime.kallen_alarm_clock - name: Set Time - info_entities: - - entity: binary_sensor.kallen_bedroom_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.kallen_timer - state_color: true - show_icon: true - hide_if: - conditions: - - condition: not_equals - value: active - - condition: not_equals - entity: input_select.kallen_activity_room - value: Kallen Bedroom - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:stack-in-card - cards: - - type: markdown - content: >- - Do *not* use the start button on the timer. Use the - start button on the **settings card only**, or else - the reading duration will not be set properly. This - is a bug I could not fix. - - - - Dad - title: IMPORTANT - - type: custom:flipdown-timer-card - entity: timer.kallen_timer - name: Kallen Activity Timer - show_title: true - show_error: false - - type: entities - entities: - - entity: input_number.kallen_activity_duration - name: Duration - - entity: input_boolean.kallen_timer_control_lights - name: Control Lights - - entity: input_select.kallen_activity_room - name: Room - - entity: input_select.kallen_activities - name: Activity - show_header_toggle: false - state_color: true - - type: custom:stack-in-card - mode: horizontal - cards: - - type: custom:button-card - entity: timer.kallen_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: Idle - icon: mdi:play - tap_action: - action: call-service - service: button.press - service_data: - entity_id: button.kallen_timer_start - hold_action: - action: more-info - entity: timer.kallen_timer - - type: custom:button-card - entity: timer.kallen_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: script.kallen_timer_cancel - hold_action: - action: more-info - entity: timer.kallen_timer - - entity: timer.kallen_bedroom_motion_timer - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.kallen_bedroom_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.kallen_bedroom_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.kallen_bedroom_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - - type: custom:restriction-card - restrictions: - confirm: - text: Emma is sleeping, are you sure? - condition: - value: 'on' - entity: input_boolean.emma_sleeping - exemptions: null - card: - type: custom:room-card - title: Emma Bedroom - entity: light.emma_bedroom_light - show_icon: true - state_color: true - content_alignment: center - tap_action: - action: toggle - icon: - template: - icon: > - if (entity.state === 'on') return 'mdi:lightbulb'; if - (entity.state === 'off') return 'mdi:lightbulb-outline'; else - return 'mdi:map-marker-question'; - rows: - - content_alignment: center - entities: - - entity: fan.emma_air_conditioner - name: A/C - hide_unavailable: true - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.white_noise_emma_bedroom - name: Sound - state_color: true - show_icon: true - tap_action: - action: toggle - - entity: input_boolean.emma_sleeping - name: Sleeping - state_color: true - show_icon: true - tap_action: - action: toggle - - content_alignment: center - entities: - - entity: sensor.emma_bedroom_temperature - show_state: true - show_name: false - - entity: sensor.emma_bedroom_illuminance - show_state: true - show_name: false - - content_alignment: center - entities: - - entity: input_select.emma_bedroom_scenes - name: Scenes - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:select-list-card - entity: input_select.emma_bedroom_scenes - icon: '' - truncate: true - show_toggle: false - scroll_to_selected: true - max_options: 0 - - entity: input_boolean.emma_alarm_clock - name: Alarm - state_color: true - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: entities - title: TESTING, use at own risk - state_color: true - show_header_toggle: false - entities: - - entity: input_boolean.emma_alarm_clock - name: Enabled - - entity: input_datetime.emma_alarm_clock - name: Set Time - info_entities: - - entity: binary_sensor.emma_aircon_fan - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:air-filter - hide_if: - conditions: - - condition: equals - entity: fan.emma_air_conditioner - value: unavailable - - condition: equals - entity: fan.emma_air_conditioner - value: 'off' - - condition: equals - entity: binary_sensor.emma_aircon_compressor - value: 'on' - - entity: binary_sensor.emma_aircon_compressor - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:air-conditioner - hide_if: - conditions: - - condition: equals - entity: fan.emma_air_conditioner - value: unavailable - - condition: equals - value: 'off' - - condition: equals - entity: fan.emma_air_conditioner - value: 'off' - - entity: binary_sensor.emma_bedroom_occupied - hide_unavailable: true - show_icon: true - state_color: true - icon: - template: - icon: > - if (entity.state === 'off') return 'mdi:close-thick'; if - (entity.state === 'on') return 'mdi:check'; else return - 'mdi:map-marker-question'; - - entity: timer.emma_naptime_update - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.emma_naptime_update - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Naptime Update - filter: true - show_empty: Timer is idle - entities: - - entity: timer.emma_naptime_update - 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.emma_naptime_update - - entity: timer.emma_bedtime_update - hide_unavailable: true - state_color: true - show_icon: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.emma_bedtime_update - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Bedtime Update - filter: true - show_empty: Timer is idle - entities: - - entity: timer.emma_bedtime_update - 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.emma_bedtime_update - - entity: timer.emma_bedroom_motion_timer - hide_unavailable: true - show_icon: true - state_color: true - icon: mdi:timer-outline - hide_if: - conditions: - - condition: equals - entity: timer.emma_bedroom_motion_timer - value: idle - tap_action: - action: fire-dom-event - browser_mod: - service: browser_mod.popup - data: - content: - type: custom:timer-bar-card - name: Motion Timer - filter: true - show_empty: Timer is idle - entity: timer.emma_bedroom_motion_timer - sync_issues: ignore - bar_radius: 10px - mushroom: null - tap_action: - action: call-service - service: timer.finish - target: - entity_id: timer.emma_bedroom_motion_timer - hold_action: - action: more_info - double_tap_action: - action: none - modifications: - - elapsed: 40% - bar_foreground: orange - - elapsed: 80% - bar_foreground: red - type: custom:mushroom-template-card primary: '' secondary: Cat stuff coming soon. Maybe.