Finished second floor room cards

This commit is contained in:
2026-04-04 17:06:21 -04:00
parent 5848f9c220
commit 0a39a28c84

View File

@@ -2421,423 +2421,517 @@ views:
opacity: 10
- type: grid
cards:
- 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:stack-in-card
card_mod:
style: |
ha-card {
overflow: visible !important;
}
cards:
- type: custom:mushroom-light-card
entity: light.kallen_bedroom_lights
name: Kallen Bedroom
double_tap_action:
action: call-service
service: input_select.select_option
service_data:
option: Adaptive
target:
entity_id: input_select.kallen_bedroom_scenes
icon: mdi:bunk-bed
layout: vertical
show_brightness_control: true
collapsible_controls: true
- type: custom:state-switch
entity: light.kallen_bedroom_lights
states:
'on':
type: custom:mushroom-template-card
primary: Current Scene
secondary: '{{ states(''input_text.kallen_bedroom_selected_scene'') }}'
- type: custom:streamline-card
template: main_room_header
variables:
name: Kallen Bedroom
icon: mdi:bunk-bed
light_entity: light.kallen_bedroom_lights
power_entity: sensor.kallen_bedroom_total_power_sensor
- type: custom:bubble-card
card_type: button
button_type: slider
modules:
- default
- subbutton_below
rows: 1.719
icon: mdi:bunk-bed
tap_action:
action: toggle
double_tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.kallen_bedroom_scenes
data:
option: Adaptive
hold_action:
action: more-info
sub_button:
main:
- name: Lights
buttons_layout: inline
group:
- entity: light.kallen_bedroom_overhead
name: Overhead
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.kallen_bedroom_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.kallen_bedroom_motion_timer
sync_issues: ignore
action: toggle
show_name: true
- name: Wall
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.kallen_bedroom_motion_timer
- type: entities
entities:
- type: custom:paper-buttons-row
buttons:
- entity: light.kallen_bedroom_overhead
name: Overhead
layout: icon|name_state
state:
case: first
state_icons:
'on': hue:bulb-sultan
'off': hue:bulb-sultan-off
unavailable: mdi:map-marker-question
- entity: light.kallen_bedroom_wall
name: Wall
layout: icon|name_state
state:
case: first
state_icons:
'on': hue:bulb-sultan
'off': hue:bulb-sultan-off
unavailable: mdi:map-marker-question
- type: entities
entities:
- type: custom:paper-buttons-row
buttons:
- entity: input_boolean.kallen_sleeping
name: Sleeping
layout: icon|name_state
state_icons:
'on': mdi:sleep
'off': mdi:sleep-off
unavailable: mdi:map-marker-question
state:
case: first
- entity: fan.kallen_bedroom_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_kallen_bedroom
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_select.kallen_bedroom_scenes
show_header_toggle: false
- type: glance
show_name: true
show_icon: true
show_state: true
state_color: true
entities:
- entity: binary_sensor.kallen_bedroom_window_1
name: Window 1
- entity: binary_sensor.kallen_bedroom_window_2
name: Window 2
- type: glance
show_name: true
show_icon: true
show_state: true
state_color: true
entities:
- entity: sensor.kallen_bedroom_temperature
name: Temp
- entity: sensor.kallen_bedroom_illuminance
name: Lux
- entity: binary_sensor.kallen_bedroom_motion
name: Motion
- entity: binary_sensor.kallen_bedroom_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_kallen_bedroom
name: Adaptive Lighting
layout: icon|name_state
state:
case: first
- entity: switch.adaptive_lighting_sleep_mode_kallen_bedroom
name: Sleep Mode
layout: icon|name_state
state:
case: first
- entity: input_boolean.kallen_overnight
name: Overnight
layout: icon|name_state
state:
case: first
- entity: switch.kallen_bedroom_motion_lighting
name: Motion Lighting
- entity: input_number.nighttime_brightness_kallen_bedroom
name: Night Brightness
- entity: input_number.kallen_bedroom_lights_off_delay
name: Lights Off Delay
- entity: input_number.kallen_bedroom_lux_threshold
name: Lux Threshold
action: toggle
show_name: true
entity: light.kallen_bedroom_wall
bottom:
- name: Scene
buttons_layout: inline
group:
- name: Scene
icon: mdi:palette
sub_button_type: select
show_name: true
entity: input_select.kallen_bedroom_scenes
name: Lights
entity: light.kallen_bedroom_lights
- type: custom:streamline-card
template: timer_card
variables:
name: Lights Timer
icon: mdi:timer
entity: timer.kallen_bedroom_motion_timer
visibility:
- condition: state
entity: timer.kallen_bedroom_motion_timer
state_not: idle
- type: custom:bubble-card
card_type: separator
name: Modes
icon: mdi:toggle-switch
card_layout: large
- type: custom:bubble-card
card_type: button
button_type: switch
sub_button:
main: []
bottom: []
entity: input_boolean.kallen_sleeping
grid_options:
columns: 6
rows: auto
tap_action:
action: toggle
button_action:
hold_action:
action: none
name: Sleeping
- type: custom:bubble-card
card_type: separator
name: Environment
icon: mdi:thermometer
card_layout: large
sub_button:
main: []
bottom: []
- type: custom:bubble-card
card_type: button
button_type: switch
entity: fan.kallen_bedroom_fan
name: Fan
show_state: 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_kallen_bedroom
name: White Noise
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:
entity: sensor.kallen_bedroom_temperature
name: Temp
columns: '2'
hot_entity: binary_sensor.kallen_bedroom_hot
cold_entity: binary_sensor.kallen_bedroom_cold
- type: custom:bubble-card
card_type: button
button_type: state
name: Lux
show_attribute: false
card_layout: large
columns: 2
sub_button:
main: []
bottom: []
entity: sensor.kallen_bedroom_illuminance
- type: custom:streamline-card
template: state_color_button
variables:
name: Motion
columns: 2
color: bubble-accent-color
entity: binary_sensor.kallen_bedroom_motion
grid_options:
columns: 6
rows: auto
- type: custom:streamline-card
template: state_color_button
variables:
name: Occupied
columns: 2
entity: binary_sensor.kallen_bedroom_occupied
color: bubble-accent-color
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: contact_sensor_button
variables:
name: Window 1
columns: 2
color: error-color
entity: binary_sensor.kallen_bedroom_window_1
grid_options:
columns: 6
rows: auto
- type: custom:streamline-card
template: contact_sensor_button
variables:
name: Window 2
columns: 2
color: error-color
entity: binary_sensor.kallen_bedroom_window_2
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_kallen_bedroom
name: Adaptive Lighting
layout: icon|name_state
state:
case: first
- entity: switch.adaptive_lighting_sleep_mode_kallen_bedroom
name: Sleep Mode
layout: icon|name_state
state:
case: first
- entity: input_boolean.kallen_overnight
name: Overnight
layout: icon|name_state
state:
case: first
- entity: switch.kallen_bedroom_motion_lighting
name: Motion Lighting
- entity: input_number.nighttime_brightness_kallen_bedroom
name: Night Brightness
- entity: input_number.kallen_bedroom_lights_off_delay
name: Lights Off Delay
- entity: input_number.kallen_bedroom_lux_threshold
name: Lux Threshold
column_span: 1
background:
opacity: 10
- type: grid
cards:
- 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:stack-in-card
card_mod:
style: |
ha-card {
overflow: visible !important;
}
cards:
- type: custom:mushroom-light-card
entity: light.emma_bedroom_light
name: Emma Bedroom
double_tap_action:
action: call-service
service: input_select.select_option
service_data:
option: Adaptive
target:
entity_id: input_select.emma_bedroom_scenes
icon: hue:room-nursery
layout: vertical
show_brightness_control: true
collapsible_controls: true
- type: custom:state-switch
entity: light.emma_bedroom_light
states:
'on':
type: custom:mushroom-template-card
primary: Current Scene
secondary: '{{ states(''input_text.emma_bedroom_selected_scene'') }}'
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
layout: vertical
- type: custom:mushroom-template-card
entity: sensor.emma_bedroom_light_power_sensor
primary: Power Usage
secondary: '{{ states(''sensor.emma_bedroom_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.emma_bedroom_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.emma_bedroom_motion_timer
- type: entities
state_color: true
entities:
- type: custom:paper-buttons-row
buttons:
- entity: input_boolean.emma_sleeping
name: Sleeping
layout: icon|name_state
state:
case: first
state_icons:
'on': mdi:sleep
'off': mdi:sleep-off
unavailable: mdi:map-marker-question
- entity: input_boolean.white_noise_emma_bedroom
name: White Noise
layout: icon|name_state
state:
case: first
state_icons:
'on': mdi:volume-high
'off': mdi:volume-off
unavailable: mdi:map-marker-question
show_header_toggle: false
- type: custom:state-switch
entity: input_boolean.emma_bedroom_aircon_installed
states:
'on':
type: custom:simple-thermostat
entity: climate.emma_bedroom_aircon
header: false
decimals: 0
step_size: 1
layout:
mode:
headings: false
names: true
icons: true
step: row
control:
hvac:
'off':
name: 'Off'
heat: false
cool:
name: Cool
auto:
name: Auto
dry:
name: Dry
fan_only:
name: Fan Only
preset:
none:
name: Eco Off
eco:
name: Eco On
boost: false
comfort:
name: Comfort
sleep: false
away: false
- type: custom:state-switch
entity: input_boolean.emma_bedroom_aircon_installed
states:
'on':
type: glance
- type: custom:streamline-card
template: main_room_header
variables:
name: Emma Bedroom
icon: hue:room-nursery
light_entity: light.emma_bedroom_light
power_entity: sensor.emma_bedroom_total_power_sensor
- type: custom:bubble-card
card_type: button
button_type: slider
modules:
- default
- subbutton_below
rows: 1.719
icon: mdi:bunk-bed
tap_action:
action: toggle
double_tap_action:
action: perform-action
perform_action: input_select.select_option
target:
entity_id: input_select.emma_bedroom_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
show_icon: true
show_state: true
state_color: true
entities:
- entity: binary_sensor.emma_bedroom_aircon_compressor
name: Compressor
- entity: binary_sensor.emma_bedroom_aircon_filter_alert
name: Filter
- type: custom:state-switch
entity: input_boolean.emma_bedroom_heater_installed
states:
'on':
type: custom:versatile-thermostat-ui-card
entity: climate.emma_bedroom_vtherm
powerEntity: sensor.emma_bedroom_heater_power
theme: classic
disable_name: true
disable_auto_fan_infos: true
- type: entities
entities:
- entity: input_select.emma_bedroom_scenes
- type: glance
show_name: true
show_icon: true
entity: input_select.emma_bedroom_scenes
name: Lights
entity: light.emma_bedroom_light
- type: custom:streamline-card
template: timer_card
variables:
name: Lights Timer
icon: mdi:timer
entity: timer.emma_bedroom_motion_timer
visibility:
- condition: state
entity: timer.emma_bedroom_motion_timer
state_not: idle
- type: custom:bubble-card
card_type: separator
name: Modes
icon: mdi:toggle-switch
card_layout: large
- type: custom:bubble-card
card_type: button
button_type: switch
sub_button:
main: []
bottom: []
entity: input_boolean.emma_sleeping
grid_options:
columns: 6
rows: auto
tap_action:
action: toggle
button_action:
hold_action:
action: none
name: Sleeping
- type: custom:bubble-card
card_type: separator
name: Environment
icon: mdi:thermometer
card_layout: large
sub_button:
main: []
bottom: []
visibility:
- condition: or
conditions:
- condition: state
entity: input_boolean.emma_bedroom_aircon_installed
state: 'on'
- condition: state
entity: input_boolean.emma_bedroom_heater_installed
state: 'on'
- type: custom:bubble-card
card_type: climate
sub_button:
main:
- select_attribute: hvac_modes
name: HVAC modes
state_background: true
sub_button_type: select
show_state: true
state_color: true
entities:
- entity: binary_sensor.emma_bedroom_window
name: Window
- type: glance
show_name: true
show_icon: true
- name: Presets
select_attribute: preset_modes
state_background: false
sub_button_type: select
show_attribute: true
attribute: preset_mode
bottom: []
name: Thermostat
entity: climate.emma_bedroom_aircon
state_color: false
step: 1
main_buttons_position: bottom
rows: 1.719
visibility:
- condition: state
entity: input_boolean.emma_bedroom_aircon_installed
state: 'on'
- type: custom:streamline-card
template: state_color_button
variables:
entity: binary_sensor.emma_bedroom_aircon_compressor
name: Compressor
show_state: 'true'
columns: '2'
color: bubble-accent-color
visibility:
- condition: state
entity: input_boolean.emma_bedroom_aircon_installed
state: 'on'
- type: custom:streamline-card
template: state_color_button
variables:
entity: binary_sensor.emma_bedroom_aircon_filter_alert
name: Filter
show_state: 'true'
columns: '2'
color: error-color
visibility:
- condition: state
entity: input_boolean.emma_bedroom_aircon_installed
state: 'on'
- type: custom:bubble-card
card_type: climate
sub_button:
main:
- select_attribute: hvac_modes
name: HVAC modes
state_background: true
sub_button_type: select
show_state: true
state_color: true
entities:
- entity: sensor.emma_bedroom_temperature
name: Temp
- entity: sensor.emma_bedroom_illuminance
name: Light
- entity: binary_sensor.emma_bedroom_motion
name: Motion
- entity: binary_sensor.emma_bedroom_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_emma_bedroom
name: Adaptive Lighting
layout: icon|name_state
state:
case: first
- entity: switch.adaptive_lighting_sleep_mode_emma_bedroom
name: Sleep Mode
layout: icon|name_state
state:
case: first
- entity: switch.emma_door_alert
name: Door Alert
- entity: button.emma_door_alert_cancel
name: Cancel Door Alert
- entity: switch.emma_bedroom_motion_lighting
name: Motion Lighting
- entity: switch.emma_bedroom_climate_watchdog
name: Climate Watchdog
secondary_info: Protects aircon settings
- entity: input_number.nighttime_brightness_emma_bedroom
name: Night Brightness
- entity: input_number.emma_bedroom_lights_off_delay
name: Lights Off Delay
- entity: input_number.emma_bedroom_lux_threshold
name: Lux Threshold
- name: Presets
select_attribute: preset_modes
state_background: false
sub_button_type: select
show_attribute: true
attribute: preset_mode
bottom: []
name: Thermostat
state_color: false
step: 1
main_buttons_position: bottom
visibility:
- condition: state
entity: input_boolean.emma_bedroom_aircon_installed
state: 'on'
rows: 1.719
entity: climate.emma_bedroom_vtherm
- type: custom:bubble-card
card_type: button
button_type: switch
entity: input_boolean.white_noise_emma_bedroom
name: White Noise
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:
entity: sensor.emma_bedroom_temperature
name: Temp
columns: '2'
hot_entity: binary_sensor.emma_bedroom_hot
cold_entity: binary_sensor.emma_bedroom_cold
- type: custom:bubble-card
card_type: button
button_type: state
name: Lux
show_attribute: false
card_layout: large
columns: 2
sub_button:
main: []
bottom: []
entity: sensor.emma_bedroom_illuminance
- type: custom:streamline-card
template: state_color_button
variables:
name: Motion
columns: 2
color: bubble-accent-color
entity: binary_sensor.emma_bedroom_motion
grid_options:
columns: 6
rows: auto
- type: custom:streamline-card
template: state_color_button
variables:
name: Occupied
columns: 2
entity: binary_sensor.emma_bedroom_occupied
color: bubble-accent-color
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: contact_sensor_button
variables:
name: Window 1
columns: 2
color: error-color
entity: binary_sensor.emma_bedroom_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_emma_bedroom
name: Adaptive Lighting
layout: icon|name_state
state:
case: first
- entity: switch.adaptive_lighting_sleep_mode_emma_bedroom
name: Sleep Mode
layout: icon|name_state
state:
case: first
- entity: switch.emma_door_alert
name: Door Alert
- entity: button.emma_door_alert_cancel
name: Cancel Door Alert
- entity: switch.emma_bedroom_motion_lighting
name: Motion Lighting
- entity: switch.emma_bedroom_climate_watchdog
name: Climate Watchdog
secondary_info: Protects aircon settings
- entity: input_number.nighttime_brightness_emma_bedroom
name: Night Brightness
- entity: input_number.emma_bedroom_lights_off_delay
name: Lights Off Delay
- entity: input_number.emma_bedroom_lux_threshold
name: Lux Threshold
column_span: 1
background:
opacity: 10
max_columns: 4
cards: []
- title: Basement