Some checks failed
Savin's Home Assistant / build (push) Failing after 1m45s
765 lines
29 KiB
YAML
765 lines
29 KiB
YAML
---
|
|
#name: Home
|
|
#icon: mdi:home
|
|
|
|
title: Security
|
|
icon: mdi:shield-home
|
|
#panel: true
|
|
visible:
|
|
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
|
|
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
|
|
cards:
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:mushroom-chips-card
|
|
chips:
|
|
- type: template
|
|
icon: mdi:faucet-variant
|
|
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_kitchen_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:sofa
|
|
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_living_room_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:bed-king
|
|
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_bedroom_master_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:bed
|
|
icon_color: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_bedroom_maxim_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:bed
|
|
icon_color: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_bedroom_olivia_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:stairs
|
|
icon_color: "{% if is_state('binary_sensor.presence_stairwell_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_stairwell_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
- type: template
|
|
icon: mdi:garage-variant
|
|
icon_color: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
|
|
entity: binary_sensor.presence_garage_sensor_1
|
|
tap_action:
|
|
action: more-info
|
|
|
|
- type: custom:bubble-card
|
|
entity: alarm_control_panel.home_alarm
|
|
card_type: button
|
|
button_type: name
|
|
name: Security
|
|
icon: mdi:shield-check
|
|
show_state: true
|
|
show_last_changed: true
|
|
sub_button:
|
|
- name: Doors
|
|
icon: mdi:door-open
|
|
show_state: false
|
|
show_background: true
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: '#popup-open-doors'
|
|
- name: Windows
|
|
icon: mdi:window-open
|
|
show_background: true
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: '#popup-open-windows'
|
|
- name: Lights
|
|
icon: mdi:lightbulb-group
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: '#popup-on-lights'
|
|
- name: Garage Cover
|
|
icon: mdi:garage-variant
|
|
entity: cover.garage_gate
|
|
tap_action:
|
|
confirmation:
|
|
text: open/Close a Garage Cover?
|
|
action: call-service
|
|
service: cover.toggle
|
|
target:
|
|
entity_id: cover.garage_gate
|
|
- name: Lock
|
|
icon: mdi:lock-smart
|
|
entity: lock.lock_01
|
|
tap_action:
|
|
confirmation:
|
|
text: Lock/Unlock a Lock?
|
|
action: call-service
|
|
service: lock.lock
|
|
target:
|
|
entity_id: lock.lock_01
|
|
modules:
|
|
- badges
|
|
badges:
|
|
main_icon:
|
|
badge_1:
|
|
icon: mdi:alert-circle-outline
|
|
sub_button:
|
|
sub_button_index: 1
|
|
badge_1:
|
|
icon: mdi:alert-circle-outline
|
|
color: red
|
|
condition:
|
|
- condition: numeric_state
|
|
entity_id: sensor.number_doors_open
|
|
above: 0
|
|
styles: |
|
|
.bubble-button-background {
|
|
opacity: 1 !important;
|
|
background-color: ${ state === 'on' ? 'var(--light-theme-disabled-color)' : 'var(--light-theme-disabled-color)' } !important;
|
|
}
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-2 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-3 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-4 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-5 {
|
|
background-color: white !important;
|
|
}
|
|
|
|
- type: horizontal-stack
|
|
cards:
|
|
- image: /local/profile_savin_alex.jpg
|
|
type: picture-entity
|
|
show_name: false
|
|
tap_action:
|
|
action: more-info
|
|
entity: person.alexander_savin
|
|
- image: /local/profile_savin_tanya.jpg
|
|
type: picture-entity
|
|
show_name: false
|
|
tap_action:
|
|
action: more-info
|
|
entity: person.tatiana_savin
|
|
- type: horizontal-stack
|
|
cards:
|
|
- image: /local/profile_savin_maxim.jpg
|
|
type: picture-entity
|
|
show_name: false
|
|
tap_action:
|
|
action: more-info
|
|
entity: person.maxim_savin
|
|
- image: /local/profile_savin_olivia.jpg
|
|
type: picture-entity
|
|
show_name: false
|
|
tap_action:
|
|
action: more-info
|
|
entity: person.olivia_savin
|
|
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:bubble-card
|
|
card_type: button
|
|
button_type: state
|
|
name: Alexander Savin
|
|
entity: person.alexander_savin
|
|
show_state: true
|
|
show_last_changed: true
|
|
tap_action:
|
|
action: more-info
|
|
button_action:
|
|
tap_action:
|
|
action: more-info
|
|
modules:
|
|
- progress_border
|
|
progress_border:
|
|
entity: sensor.alex_s_google_pixel_8_pro_battery_level
|
|
color: purple
|
|
backcolor: deep-purple
|
|
styles: |
|
|
.bubble-entity-picture {
|
|
display: flex !important;
|
|
background-image: url("/local/profile_savin_alex.jpg") !important;
|
|
background-size: 300%;
|
|
}
|
|
- type: custom:bubble-card
|
|
card_type: button
|
|
button_type: state
|
|
name: Tatiana Savin
|
|
entity: person.tatiana_savin
|
|
show_state: true
|
|
show_last_changed: true
|
|
tap_action:
|
|
action: more-info
|
|
button_action:
|
|
tap_action:
|
|
action: more-info
|
|
modules:
|
|
- progress_border
|
|
progress_border:
|
|
entity: sensor.tanya_s_google_pixel_8_pro_battery_level
|
|
color: purple
|
|
backcolor: deep-purple
|
|
styles: |
|
|
.bubble-entity-picture {
|
|
display: flex !important;
|
|
background-image: url("/local/profile_savin_tanya.jpg") !important;
|
|
background-size: 300%;
|
|
}
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:bubble-card
|
|
card_type: button
|
|
button_type: state
|
|
name: Maxim Savin
|
|
entity: person.maxim_savin
|
|
show_state: true
|
|
show_last_changed: true
|
|
tap_action:
|
|
action: more-info
|
|
button_action:
|
|
tap_action:
|
|
action: more-info
|
|
styles: |
|
|
.bubble-entity-picture {
|
|
display: flex !important;
|
|
background-image: url("/local/profile_savin_maxim.jpg") !important;
|
|
background-size: 300%;
|
|
}
|
|
- type: custom:bubble-card
|
|
card_type: button
|
|
button_type: state
|
|
name: Olivia Savin
|
|
entity: person.olivia_savin
|
|
show_state: true
|
|
show_last_changed: true
|
|
tap_action:
|
|
action: more-info
|
|
button_action:
|
|
tap_action:
|
|
action: more-info
|
|
styles: |
|
|
.bubble-entity-picture {
|
|
display: flex !important;
|
|
background-image: url("/local/profile_savin_olivia.jpg") !important;
|
|
background-size: 300%;
|
|
}
|
|
|
|
|
|
|
|
- type: map
|
|
aspect_ratio: 100%
|
|
entities:
|
|
- entity: person.alexander_savin
|
|
- entity: person.tatiana_savin
|
|
- entity: person.maxim_savin
|
|
- entity: person.olivia_savin
|
|
- entity: device_tracker.subaru_outback_txt
|
|
- zone.home
|
|
- zone.npfd
|
|
- zone.work_kiswe
|
|
- zone.ymca_berkley_heights
|
|
- zone.nphs_school
|
|
- zone.awr_school
|
|
# - type: map
|
|
# aspect_ratio: 100%
|
|
# entities:
|
|
# - entity: person.maxim
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: 'custom:mushroom-lock-card'
|
|
name: Main Lock
|
|
entity: lock.lock_01
|
|
fill_container: true
|
|
layout: horizontal
|
|
# show_name: false
|
|
# icon: mdi:lock
|
|
# size: 50px
|
|
# state:
|
|
# - value: "locked"
|
|
# color: rgb(79, 114, 154)
|
|
# icon: mdi:lock-smart
|
|
# - value: "unlocked"
|
|
# color: red
|
|
# icon: mdi:lock-smart
|
|
tap_action:
|
|
action: toggle
|
|
# - type: custom:mushroom-climate-card
|
|
# entity: climate.living_room
|
|
# name: Thermostat
|
|
# show_temperature_control: true
|
|
# hvac_modes:
|
|
# - heat
|
|
# - cool
|
|
# - off
|
|
# layout: vertical
|
|
|
|
- type: custom:bubble-card
|
|
card_type: climate
|
|
entity: climate.living_room
|
|
sub_button:
|
|
- name: HVAC modes menu
|
|
select_attribute: hvac_modes
|
|
show_arrow: false
|
|
state_background: false
|
|
|
|
# - type: horizontal-stack
|
|
# cards:
|
|
# - type: 'custom:simple-thermostat'
|
|
# entity: climate.living_room
|
|
# step_size: 1
|
|
# header: false
|
|
# control:
|
|
# hvac:
|
|
# 'off':
|
|
# name: 'Off'
|
|
# cool:
|
|
# name: A/C
|
|
# heat:
|
|
# name: Heat
|
|
# heat_cool: false
|
|
# sensors:
|
|
# - entity: sensor.power_house_6_1d
|
|
# name: Blower Energy
|
|
# - entity: sensor.power_house_8_1d
|
|
# name: AC Energy
|
|
|
|
- type: custom:bubble-card
|
|
card_type: button
|
|
button_type: switch
|
|
name: Vacuum
|
|
entity: vacuum.roborock_s5_max
|
|
icon: mdi:robot-vacuum
|
|
show_state: true
|
|
show_last_changed: true
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: '#popup-vacuum-cleaner-kitchen'
|
|
button_action:
|
|
tap_action:
|
|
action: more-info
|
|
sub_button:
|
|
- name: Return to dock
|
|
icon: mdi:home
|
|
show_background: false
|
|
tap_action:
|
|
action: call-service
|
|
service: vacuum.return_to_base
|
|
target:
|
|
entity_id: vacuum.roborock_s5_max
|
|
- name: Pause
|
|
icon: mdi:pause
|
|
show_background: false
|
|
tap_action:
|
|
action: call-service
|
|
service: vacuum.pause
|
|
target:
|
|
entity_id: vacuum.roborock_s5_max
|
|
- name: Start
|
|
icon: mdi:play
|
|
tap_action:
|
|
action: call-service
|
|
service: vacuum.start
|
|
target:
|
|
entity_id: vacuum.roborock_s5_max
|
|
styles: |
|
|
.bubble-button-card-container {
|
|
/* Change the background color when the vacuum get an error (optional), more details in the styles template section */
|
|
background: ${state === 'error' ? 'rgb(200, 80, 40)' : ''} !important;
|
|
}
|
|
/* Change the first sub-button battery icon based on the battery_icon attribute, more details in the styles template section */
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['vacuum.roborock_s5_max'].attributes.battery_icon)}
|
|
|
|
- type: custom:layout-break
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: weather-forecast
|
|
entity: weather.my_weather_station
|
|
secondary_info_attribute: humidity
|
|
show_current: true
|
|
show_forecast: true
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/frontyard/person/best.jpg
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/side1/person/best.jpg
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/doorbell/person/best.jpg
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/entrance/person/best.jpg
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/side2/person/best.jpg
|
|
- type: picture
|
|
image: https://objects.savin.nyc/api/backyard/person/best.jpg
|
|
# - type: custom:auto-entities
|
|
# card:
|
|
# type: entities
|
|
# filter:
|
|
# template: "{{states.light | map(attribute='entity_id') | list}}"
|
|
|
|
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: 'custom:bubble-card'
|
|
card_type: pop-up
|
|
hash: '#popup-open-windows'
|
|
name: Windows
|
|
icon: 'mdi:window-open'
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Kitchen
|
|
icon: mdi:countertop
|
|
show_state: false
|
|
sub_button:
|
|
- name: Kitchen Window
|
|
entity: binary_sensor.window_kitchen_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Living Room
|
|
icon: mdi:sofa
|
|
show_state: false
|
|
sub_button:
|
|
- name: Front (Left)
|
|
entity: binary_sensor.window_living_room_front_left_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
- name: Front (Center)
|
|
entity: binary_sensor.window_living_room_front_center_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
- name: Front (Right)
|
|
entity: binary_sensor.window_living_room_front_right_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
- name: Side
|
|
entity: binary_sensor.window_living_room_side_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_living_room_front_left_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-2 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-2 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_living_room_front_center_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-3 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-3 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_living_room_front_right_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-4 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-4 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_living_room_side_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_left_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_center_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
${subButtonIcon[2].setAttribute("icon", hass.states['binary_sensor.window_living_room_front_right_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
${subButtonIcon[3].setAttribute("icon", hass.states['binary_sensor.window_living_room_side_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Master Bedroom
|
|
icon: mdi:bed-king
|
|
show_state: false
|
|
sub_button:
|
|
- name: Front (Left)
|
|
entity: binary_sensor.window_bedroom_master_left_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
- name: Front (Center)
|
|
entity: binary_sensor.window_bedroom_master_center_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
- name: Front (Right)
|
|
entity: binary_sensor.window_bedroom_master_right_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bedroom_master_left_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-2 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-2 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bedroom_master_center_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-3 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-3 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bedroom_master_right_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_left_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_center_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
${subButtonIcon[2].setAttribute("icon", hass.states['binary_sensor.window_bedroom_master_right_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Maxim Bedroom
|
|
icon: mdi:bed
|
|
show_state: false
|
|
sub_button:
|
|
- name: Window
|
|
entity: binary_sensor.window_bedroom_max_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bedroom_max_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_max_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Olivia Bedroom
|
|
icon: mdi:bed
|
|
show_state: false
|
|
sub_button:
|
|
- name: Window
|
|
entity: binary_sensor.window_bedroom_olivia_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bedroom_olivia_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bedroom_olivia_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Master Bathroom
|
|
icon: mdi:shower
|
|
show_state: false
|
|
sub_button:
|
|
- name: Window
|
|
entity: binary_sensor.window_bathroom_master_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bathroom_master_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bathroom_master_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Bedroom Bathroom
|
|
icon: mdi:shower
|
|
show_state: false
|
|
sub_button:
|
|
- name: Window
|
|
entity: binary_sensor.window_bathroom_bedroom_01_contact
|
|
icon: mdi:window-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_bathroom_bedroom_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_bathroom_bedroom_01_contact'].state === 'on' ? 'mdi:window-open' : 'mdi:window-closed')}
|
|
|
|
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: 'custom:bubble-card'
|
|
card_type: pop-up
|
|
hash: '#popup-open-doors'
|
|
name: Doors
|
|
icon: 'mdi:door-open'
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Kitchen
|
|
icon: mdi:countertop
|
|
show_state: false
|
|
sub_button:
|
|
- name: Kitchen Door
|
|
entity: binary_sensor.door_kitchen_01
|
|
icon: mdi:door-sliding
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.door_kitchen_01'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.door_kitchen_01'].state === 'on' ? 'mdi:door-sliding-open' : 'mdi:door-sliding')}
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Living Room
|
|
icon: mdi:sofa
|
|
show_state: false
|
|
sub_button:
|
|
- name: Entrance Door
|
|
entity: binary_sensor.door_entrance_01
|
|
icon: mdi:door-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.door_entrance_01'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.door_entrance_01'].state === 'on' ? 'mdi:door-open' : 'mdi:door-closed')}
|
|
- type: 'custom:bubble-card'
|
|
card_type: button
|
|
button_type: name
|
|
name: Garage
|
|
icon: mdi:garage-variant
|
|
show_state: false
|
|
sub_button:
|
|
- name: Garage Gate
|
|
entity: binary_sensor.door_kitchen_01_contact
|
|
icon: mdi:garage-variant
|
|
show_state: false
|
|
show_background: true
|
|
- name: Garage Door
|
|
entity: binary_sensor.door_garage_01_contact
|
|
icon: mdi:door-closed
|
|
show_state: false
|
|
show_background: true
|
|
styles: |
|
|
.bubble-sub-button-1 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-1 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
.bubble-sub-button-2 {
|
|
background-color: white !important;
|
|
}
|
|
.bubble-sub-button-2 > ha-icon {
|
|
color: ${ hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'rgb(255, 152, 0)' : '' } !important;
|
|
}
|
|
${subButtonIcon[0].setAttribute("icon", hass.states['binary_sensor.window_kitchen_01_contact'].state === 'on' ? 'mdi:garage-open-variant' : 'mdi:garage-variant')}
|
|
${subButtonIcon[1].setAttribute("icon", hass.states['binary_sensor.door_garage_01_contact'].state === 'on' ? 'mdi:door-open' : 'mdi:door-closed')}
|
|
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: 'custom:bubble-card'
|
|
card_type: pop-up
|
|
hash: '#popup-on-lights'
|
|
name: Doors
|
|
icon: 'mdi:door-open'
|
|
- type: custom:auto-entities
|
|
card:
|
|
type: grid
|
|
columns: 1
|
|
square: false
|
|
card_param: cards
|
|
filter:
|
|
include:
|
|
- domain: light
|
|
state: 'on'
|
|
options:
|
|
type: custom:bubble-card
|
|
card_type: button
|
|
button_type: slider
|
|
show_attribute: false
|
|
show_last_changed: true
|
|
show_state: true
|
|
exclude: []
|
|
show_empty: true
|
|
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: 'custom:bubble-card'
|
|
card_type: pop-up
|
|
hash: '#popup-vacuum-cleaner-kitchen'
|
|
name: Vacuum Cleaner
|
|
icon: 'mdi:door-open'
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:xiaomi-vacuum-map-card
|
|
entity: vacuum.roborock_s5_max
|
|
map_source:
|
|
camera: camera.xiaomi_cloud_map_extractor
|
|
calibration_source:
|
|
camera: true
|
|
debug: false
|
|
map_modes:
|
|
- template: vacuum_clean_zone
|
|
- template: vacuum_goto
|
|
- template: vacuum_clean_zone_predefined
|
|
predefined_selections:
|
|
- zones: [[26600,21200,23600,27000]] # Kitchen
|
|
- zones: [[32700,26000,26600,20700]] # Living Room
|
|
map_locked: true
|