initial commit

This commit is contained in:
2025-02-07 12:46:24 -05:00
commit 8dfb36a3f1
183 changed files with 9212 additions and 0 deletions

View File

@ -0,0 +1,298 @@
---
#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: horizontal-stack
cards:
- type: custom:mushroom-template-card
icon: mdi:door-open
icon_color: blue
badge_icon: "{% if states('sensor.number_doors_open') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_doors_open') + '-circle' }}{%- endif %}"
badge_color: red
fill_container: false
card_mod:
style: "ha-card { border: none; background: none; }"
tap_action:
action: fire-dom-event
browser_mod:
service: browser_mod.popup
data:
title: HTML content
content:
type: glance
entities:
- binary_sensor.door_entrance_01
- binary_sensor.door_kitchen_01
- binary_sensor.door_garage_01_contact
- type: custom:mushroom-template-card
icon: mdi:window-open
icon_color: blue
badge_icon: "{% if states('sensor.number_windows_open') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_windows_open') + '-circle' }}{%- endif %}"
badge_color: red
fill_container: false
card_mod:
style: "ha-card { border: none; background: none; }"
- type: custom:mushroom-template-card
icon: mdi:lightbulb
icon_color: blue
badge_icon: "{% if states('sensor.number_light_on') | int > 0 -%}{{ 'mdi:numeric-' + states('sensor.number_light_on') + '-circle' }}{%- endif %}"
badge_color: red
fill_container: false
card_mod:
style: "ha-card { border: none; background: none; }"
tap_action:
action: fire-dom-event
browser_mod:
service: browser_mod.popup
data:
title: HTML content
content:
type: glance
entities:
- light.aisle_ceiling_01
- light.aisle_ceiling_02
- light.attic_bulb_01
- light.backyard_01
- light.bathroom_bedroom_wall_01
- light.bathroom_living_room_01
- light.bathroom_master_wall_01
- light.bedroom_master_ceiling_01
- light.bedroom_master_ceiling_02
- light.bedroom_master_floor_lamp_01
- light.bedroom_master_floor_lamp_02
- light.bedroom_max_ceiling_01
- light.bedroom_max_table_01
- light.bedroom_olivia_ceiling_01
- light.bedroom_olivia_floor_01
- light.christmas_tree
- light.frontyard_decoration_01
- light.garage_ceiling_01
- light.garage_gate_01
- light.kitchen_decorating_01
- light.kitchen_led_01
- light.kitchen_sink_01
- light.light_bed_bedroom_master_01
- light.light_bed_max_01
- light.light_kitchen_ceiling_01
- light.light_kitchen_ceiling_02
- light.living_room_ceiling_01
- light.living_room_ceiling_02
- light.living_room_ceiling_03
- light.living_room_ceiling_04
- light.living_room_floor_lamp_01
- light.living_room_strip_01
- light.living_room_tiles_01
- light.porch_01
- type: custom:mushroom-chips-card
chips:
- type: template
content: "Open Windows ({{ states('sensor.number_windows_open') | int }}) Doors ({{ states('sensor.number_doors_open') | int }}) Light ({{ states('sensor.number_light_on') | int }})"
- 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: 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: 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: alarm-panel
# entity: alarm_control_panel.alarm
# title: Alarm Panel
# hide_keypad: false
# style: '--alarm-color-disarmed: var(--label-badge-blue);'
# states:
# - arm_home
# - arm_away
# - type: thermostat
# entity: climate.living_room
- 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
- 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}}"

View File

@ -0,0 +1,258 @@
---
title: Kitchen
icon: mdi:countertop
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_kitchen_sensor_2', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_kitchen_sensor_2
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_kitchen_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_kitchen_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_kitchen_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_kitchen_01', 'on') -%}mdi:door-sliding-open{%- else -%}mdi:door-sliding{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_kitchen_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_kitchen_01
tap_action:
action: more-info
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.kitchen_light_state
name: Kitchen
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.kitchen_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:countertop-outline
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.kitchen_scenes
option: "Work Zone Only"
styles:
button:
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Work Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:food-turkey
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.kitchen_scenes
option: "Dinning Zone Only"
styles:
button:
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Dinning Zone Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.kitchen_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.kitchen_light_state', 'on') and is_state('input_select.kitchen_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:globe-light-outline
tap_action:
action: call-service
service: light.toggle
service_data:
entity_id: light.kitchen_decorating_01
styles:
button:
color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('light.kitchen_decorating_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 60
font_size_header: 12
entities:
- entity: sensor.climate_kitchen_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
icon: false
# card_mod:
# style: |
# ha-card {
# background: url("/local/outback.jpg");
# background-size: 100% 400px;
# }
- type: custom:mini-graph-card
name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_kitchen_01_humidity
name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_kitchen_light_level_2
name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
name: Ppm25
line_color: green
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_kitchen_02_pm25
name: Ppm25
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.kitchen_sink_01
name: 'Kitchen Sink #01'
icon: mdi:ceiling-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.kitchen_led_01
name: 'Kitchen LED #01'
icon: mdi:led-strip-variant
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.kitchen_ceiling_01
name: 'Kitchen Ceiling #1'
icon: mdi:dome-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.kitchen_ceiling_02
name: 'Kitchen Ceiling #2'
icon: mdi:dome-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:layout-break
- type: vertical-stack
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.11.110:8554/kitchen'
title: 'Kitchen'
muted: true
mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_kitchen
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_kitchen
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_kitchen
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_kitchen
- type: button
name: Occupants
entity: input_number.occupants_kitchen
- type: custom:mini-media-player
entity: media_player.kitchen_max
artwork: cover

View File

@ -0,0 +1,397 @@
---
title: Living Room
icon: mdi:sofa
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_living_room_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_living_room_sensor_1
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_living_room_front_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_living_room_front_left_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_living_room_front_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_living_room_front_center_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_living_room_front_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_living_room_front_right_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_living_room_side_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_living_room_side_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_living_room_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_living_room_01_smoke
tap_action:
action: more-info
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.living_room_light_state
name: Living Room
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.living_room_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.living_room_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:floor-lamp-torchiere
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.living_room_scenes
option: "Floor Only"
styles:
button:
color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.living_room_light_state', 'on') and is_state('input_select.living_room_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_living_room_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_living_room_01_humidity
# name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_living_room_light_level
# name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.living_room_ceiling_all
name: All Ceiling Lings
icon: mdi:ceiling-light-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.living_room_floor_lamp_01
name: Floor Lamp
icon: mdi:floor-lamp-torchiere-outline
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.living_room_ceiling_group_1
name: 'Ceiling 1 (Couch)'
icon: mdi:ceiling-light-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.living_room_ceiling_group_2
name: 'Ceiling 2 (TV)'
icon: mdi:ceiling-light-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.living_room_tiles_01
name: 'Tile'
icon: mdi:star-box-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.living_room_strip_01
name: 'LED Strip'
icon: mdi:led-strip-variant
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.christmas_tree
name: 'Christmas Tree'
icon: mdi:string-lights
show_brightness_control: false
collapsible_controls: false
use_light_color: false
- type: custom:layout-break
- type: vertical-stack
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.11.110:8554/living-room-01'
title: 'Living Room 1'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.11.110:8554/living-room-02'
title: 'Living Room 2'
muted: true
mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_kitchen
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_kitchen
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_living_room
- type: custom:button-card
name: Operating Mode
entity: input_boolean.manually_operated_light_living_room
state:
- value: 'on'
icon: mdi:hand-front-right
color: orange
- value: 'off'
icon: mdi:brightness-auto
- type: button
name: Occupants
entity: input_number.occupants_living_room
- type: custom:mini-media-player
entity: media_player.pioneer_vsx_lx505_f5bae6
artwork: cover
# - type: custom:mini-media-player
# entity: media_player.living_room_pair
# artwork: cover
- type: custom:mini-media-player
entity: media_player.living_room_speaker
artwork: cover
# - type: custom:mini-media-player
# entity: media_player.living_room_max_1
# artwork: cover
# - type: custom:mini-media-player
# entity: media_player.living_room_max_2
# artwork: cover
- type: custom:mini-media-player
entity: media_player.living_room_1
artwork: cover
- type: custom:mini-media-player
entity: media_player.nvidia_shield_tv_living_room
artwork: cover
- type: media-control
entity: media_player.onkyo_receiver
- type: conditional
conditions:
- condition: state
entity: media_player.onkyo_receiver
state: "on"
card:
type: horizontal-stack
cards:
- name: Nvidia ShieldTV
entity: script.receiver_switch_to_shield_tv
type: button
icon: mdi:youtube-tv
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
color: "{% if state_attr('media_player.onkyo_receiver', 'source') == 'Nvidia Shield TV' -%}#FFC107{%- else -%}#44739E{%- endif %}"
color_type: icon
- name: PS4
entity: script.receiver_switch_to_playstation
type: button
icon: mdi:sony-playstation
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
- name: Win11
entity: script.receiver_switch_to_windows
type: button
icon: mdi:microsoft-windows
tap_action:
action: toggle
show_name: false
show_icon: true
show_state: false
- name: Cameras
entity: script.receiver_switch_to_security
type: button
icon: mdi:camera-wireless
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
- type: conditional
conditions:
- condition: state
entity: media_player.onkyo_receiver
state: "on"
- condition: state
entity: switch.onkyo_source_nvidia_shield_tv
state: "on"
card:
type: horizontal-stack
cards:
- name: youtube
entity: switch.android_tv_youtube
type: button
icon: mdi:youtube
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
- name: Netflix
entity: switch.android_tv_netflix
type: button
icon: mdi:netflix
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
- name: Plex
entity: switch.android_tv_plex
type: button
icon: mdi:plex
tap_action:
action: toggle
hold_action:
action: more-info
show_name: false
show_icon: true
# - name: Go to sleep
# entity: script.sleep
# type: button
# tap_action:
# action: toggle
# icon: mdi:sleep
# hold_action:
# action: more-info
# show_name: true
# show_icon: true
- type: media-control
entity: media_player.playstation_4_pro
- type: entities
entities:
- remote.living_room_harmony_hub
- select.living_room_harmony_hub_activities

View File

@ -0,0 +1,283 @@
---
title: Master Bedroom
icon: mdi:bed-king
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_bedroom_master_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_bedroom_master_sensor_1
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_left_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_master_left_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_center_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_master_center_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_master_right_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_master_right_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_master_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_master_closet_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_master_closet_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_master_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_bedroom_master_01_smoke
tap_action:
action: more-info
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.bedroom_master_light_state
name: Master Bedroom
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_master_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_master_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:floor-lamp-torchiere
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_master_scenes
option: "Floor Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_master_light_state', 'on') and is_state('input_select.bedroom_master_scenes', 'Floor Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:bed-queen-outline
tap_action:
action: call-service
service: light.toggle
service_data:
entity_id: light.bedroom_master_bed_01
styles:
button:
color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('light.bedroom_master_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_master_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_master_01_humidity
# name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_bedroom_master_light_level
# name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
name: Ppm25
line_color: green
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_master_02_pm25
name: Ppm25
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_master_floor_all
name: Bed Lights
icon: mdi:lamps
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.bedroom_master_ceiling_all
name: Ceiling Lights
icon: mdi:dome-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_master_floor_lamp_02
name: "Tanya's Bed Light"
icon: mdi:ceiling-light-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.bedroom_master_floor_lamp_01
name: "Alex's Bed Light"
icon: mdi:ceiling-light-multiple
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_master_bed_01
name: 'Bed Light'
icon: mdi:led-strip-variant
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:layout-break
- type: vertical-stack
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.11.110:8554/bedroom-master'
title: 'Master Bedroom'
muted: true
mode: webrtc,mse
- type: custom:mushroom-chips-card
chips:
- type: entity
entity:
- type: entity
entity:
- type: entity
entity:
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_bedroom_master
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_bedroom_master
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bedroom_master
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bedroom_master
- type: button
name: Occupants
entity: input_number.occupants_bedroom_master
- type: custom:mini-media-player
entity: media_player.master_bedroom_display
artwork: cover
- type: custom:mini-media-player
entity: media_player.master_bedroom_pair
artwork: cover

View File

@ -0,0 +1,320 @@
---
title: "Maxim's Bedroom"
icon: mdi:bed
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_bedroom_maxim_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_bedroom_maxim_sensor_1
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_max_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_max_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_bedroom_maxim_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_maxim_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_bedroom_maxim_01_smoke
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
entity: light.bedroom_guest_ceiling_01
icon: mdi:ceiling-light
tap_action:
action: toggle
icon_color: "{% if is_state('light.bedroom_max_ceiling_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
- type: template
entity: fan.bedroom_max
icon: mdi:fan
icon_color: "{% if is_state('fan.bedroom_max', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
tap_action:
action: toggle
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.bedroom_max_light_state
name: Max Bedroom
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:floor-lamp-torchiere
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "Table Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:bed-queen-outline
tap_action:
action: call-service
service: light.toggle
service_data:
entity_id: light.bedroom_maxim_bed_01
styles:
button:
color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('light.bedroom_maxim_bed_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_max_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_max_01_humidity
# name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_bedroom_maxim_light_level
# name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_max_ceiling_01
name: Ceiling Light
icon: mdi:ceiling-fan-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.bedroom_max_table_01
name: Table Light
icon: mdi:floor-lamp
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_maxim_bed_01
name: 'Bed Light'
icon: mdi:led-strip-variant
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-fan-card
entity: fan.bedroom_maxim
name: 'Ceiling Fan'
icon_animation: on
show_percentage_control: true
collapsible_controls: true
# - type: custom:stack-in-card
# cards:
# - type: grid
# columns: 2
# square: false
# cards:
# - type: custom:mushroom-entity-card
# entity: fan.bedroom_max
# name: Fan
# icon: mdi:ceiling-fan-light
# use_light_color: false
# tap_action:
# action: toggle
# card_mod:
# style: "ha-card { border: none }"
# - type: custom:paper-buttons-row
# preset: mushroom
# styles:
# justify-content: flex-end
# base_config:
# styles:
# button:
# margin-top: 12px
# margin-right: 12px
# buttons:
# - layout: icon
# icon: mdi:fan-speed-1
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_max
# preset_mode: low
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
# - layout: icon
# icon: mdi:fan-speed-2
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_max
# preset_mode: medium
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
# - layout: icon
# icon: mdi:fan-speed-3
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_max
# preset_mode: high
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
# - type: horizontal-stack
# cards:
# - type: entities
# show_header_toggle: false
# entities:
# - type: custom:mushroom-fan-card
# name: Fan
# entity: fan.bedroom_max
# icon_animation: true
# show_percentage_control: false
# collapsible_controls: true
# - type: custom:fan-mode-button-row
# entity: fan.bedroom_max
# name: Fan
# customTheme: false
- type: custom:layout-break
- type: vertical-stack
cards:
- type: custom:webrtc-camera
url: "rtsp://10.10.11.110:8554/bedroom-max"
title: "Maxim's Bedroom"
muted: true
mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_bedroom_max
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_kitchen
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bedroom_max
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bedroom_max
- type: button
name: Occupants
entity: input_number.occupants_bedroom_max
- type: custom:mini-media-player
entity: media_player.max_s_bedroom_display
artwork: cover

View File

@ -0,0 +1,313 @@
---
title: "Maxim's Bedroom"
icon: mdi:bed
panel: true
visible:
- user: b51145d4c22245b4bf8de763ef5e0627 # Max
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_bedroom_max_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_bedroom_max_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_bedroom_max_sensor_1
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_max_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_max_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_max_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_bedroom_max_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_max_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_bedroom_max_01_smoke
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
entity: light.bedroom_guest_ceiling_01
icon: mdi:ceiling-light
tap_action:
action: toggle
icon_color: "{% if is_state('light.bedroom_max_ceiling_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
- type: template
entity: fan.bedroom_max
icon: mdi:fan
icon_color: "{% if is_state('fan.bedroom_max', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
tap_action:
action: toggle
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.bedroom_max_light_state
name: Max Bedroom
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:floor-lamp-torchiere
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_max_scenes
option: "Table Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_max_light_state', 'on') and is_state('input_select.bedroom_max_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:bed-queen-outline
tap_action:
action: call-service
service: light.toggle
service_data:
entity_id: light.light_bed_max_01
styles:
button:
color: "{% if is_state('light.light_bed_max_01', 'on') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('light.light_bed_max_01', 'on') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_max_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_max_01_humidity
# name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_bedroom_max_light_level
# name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_max_ceiling_01
name: Ceiling Light
icon: mdi:ceiling-fan-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.bedroom_max_table_01
name: Table Light
icon: mdi:floor-lamp
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.light_bed_max_01
name: 'Bed Light'
icon: mdi:led-strip-variant
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: fan.bedroom_max
name: Fan
icon: mdi:ceiling-fan-light
use_light_color: false
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:fan-speed-1
tap_action:
action: call-service
service: fan.set_preset_mode
service_data:
entity_id: fan.bedroom_max
preset_mode: low
styles:
button:
color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
- layout: icon
icon: mdi:fan-speed-2
tap_action:
action: call-service
service: fan.set_preset_mode
service_data:
entity_id: fan.bedroom_max
preset_mode: medium
styles:
button:
color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
- layout: icon
icon: mdi:fan-speed-3
tap_action:
action: call-service
service: fan.set_preset_mode
service_data:
entity_id: fan.bedroom_max
preset_mode: high
styles:
button:
color: "{% if is_state_attr('fan.bedroom_max', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
# - type: horizontal-stack
# cards:
# - type: entities
# show_header_toggle: false
# entities:
# - type: custom:mushroom-fan-card
# name: Fan
# entity: fan.bedroom_max
# icon_animation: true
# show_percentage_control: false
# collapsible_controls: true
# - type: custom:fan-mode-button-row
# entity: fan.bedroom_max
# name: Fan
# customTheme: false
# - type: custom:layout-break
# - type: vertical-stack
# cards:
# - type: custom:webrtc-camera
# url: "rtsp://10.10.11.110:8554/bedroom-max"
# title: "Maxim's Bedroom"
# muted: true
# mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_bedroom_max
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_kitchen
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bedroom_max
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bedroom_max
- type: button
name: Occupants
entity: input_number.occupants_bedroom_max
- type: custom:mini-media-player
entity: media_player.max_s_bedroom_display
artwork: cover

View File

@ -0,0 +1,655 @@
---
title: "Olivia's Bedroom"
icon: mdi:bed
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_bedroom_olivia_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_bedroom_olivia_sensor_1
tap_action:
action: more-info
# - type: template
# icon: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
# icon_color: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
# badge_icon: mdi:numeric-1-circle
# badge_color: green
# - type: template
# icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
# icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
# entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_4
# tap_action:
# action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bedroom_olivia_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bedroom_olivia_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bedroom_olivia_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_olivia_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_olivia_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_olivia_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bedroom_olivia_closet_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bedroom_olivia_closet_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bedroom_olivia_closet_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_bedroom_olivia_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_bedroom_olivia_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_bedroom_olivia_01_smoke
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
entity: light.bedroom_olivia_ceiling_01
icon: mdi:ceiling-light
tap_action:
action: toggle
icon_color: "{% if is_state('light.bedroom_olivia_ceiling_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
- type: template
entity: fan.bedroom_olivia
icon: mdi:fan
icon_color: "{% if is_state('fan.bedroom_olivia', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
tap_action:
action: toggle
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.bedroom_olivia_light_state
name: Olivia Bedroom
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_olivia_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:ceiling-light-multiple
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_olivia_scenes
option: "Ceiling Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Ceiling Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Ceiling Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:floor-lamp-torchiere
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.bedroom_olivia_scenes
option: "Floor Only"
styles:
button:
color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Floor Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.bedroom_olivia_light_state', 'on') and is_state('input_select.bedroom_olivia_scenes', 'Table Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
# name: Temperature
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_olivia_01_temperature
# name: Temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Humidity
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bedroom_olivia_01_humidity
# name: Humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
# name: Illuminance
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_bedroom_olivia_light_level
# name: Illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
entity: light.bedroom_olivia_ceiling_01
name: Ceiling Light
icon: mdi:ceiling-fan-light
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-light-card
entity: light.bedroom_olivia_floor_01
name: Floor Light
icon: mdi:floor-lamp
show_brightness_control: true
collapsible_controls: true
use_light_color: true
- type: custom:mushroom-fan-card
entity: fan.bedroom_maxim
name: 'Ceiling Fan'
icon_animation: on
show_percentage_control: true
collapsible_controls: true
# - type: custom:stack-in-card
# cards:
# - type: grid
# columns: 2
# square: false
# cards:
# - type: custom:mushroom-entity-card
# entity: fan.bedroom_olivia
# name: Fan
# icon: mdi:ceiling-fan-light
# use_light_color: false
# tap_action:
# action: toggle
# card_mod:
# style: "ha-card { border: none }"
# - type: custom:paper-buttons-row
# preset: mushroom
# styles:
# justify-content: flex-end
# base_config:
# styles:
# button:
# margin-top: 12px
# margin-right: 12px
# buttons:
# - layout: icon
# icon: mdi:fan-speed-1
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_olivia
# preset_mode: low
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'low') %}#FFC107{% else %}#44739E{% endif %}"
# - layout: icon
# icon: mdi:fan-speed-2
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_olivia
# preset_mode: medium
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'medium') %}#FFC107{% else %}#44739E{% endif %}"
# - layout: icon
# icon: mdi:fan-speed-3
# tap_action:
# action: call-service
# service: fan.set_preset_mode
# service_data:
# entity_id: fan.bedroom_olivia
# preset_mode: high
# styles:
# button:
# color: "{% if is_state_attr('fan.bedroom_olivia', 'preset_mode', 'high') %}#FFC107{% else %}#44739E{% endif %}"
# - type: entities
# show_header_toggle: false
# entities:
# - type: custom:fan-mode-button-row
# entity: fan.bedroom_olivia
# name: Fan
# customTheme: false
- type: custom:layout-break
- type: vertical-stack
cards:
- type: custom:webrtc-camera
url: "rtsp://10.10.11.110:8554/bedroom-olivia"
title: "Olivia's Bedroom"
muted: true
mode: webrtc,mse
- type: custom:mushroom-chips-card
chips:
- type: entity
entity:
- type: entity
entity:
- type: entity
entity:
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_bedroom_olivia
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_bedroom_olivia
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bedroom_olivia
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bedroom_olivia
- type: button
name: Occupants
entity: input_number.occupants_bedroom_olivia
# - type: custom:mini-media-player
# entity: media_player.kitchen_max
# artwork: cover
- type: custom:plotly-graph
refresh_interval: 1
hours_to_show: current_day
config:
modeBarButtonsToRemove:
- select2d
- lasso2d
- toImage
displaylogo: false
layout:
height: 240
margin:
l: 40
r: 20
t: 20
b: 55
showlegend: true
xaxis:
showticklabels: true
dtick: 1000
visible: true
gridcolor: RGBA(200,200,200,0.15)
zerolinecolor: RGBA(200,200,200,0.15)
type: number
fixedrange: true
range:
- 4000
- -4000
yaxis:
showticklabels: true
dtick: 1000
visible: true
gridcolor: RGBA(200,200,200,0.15)
zerolinecolor: RGBA(200,200,200,0.15)
scaleanchor: x
scaleratio: 1
fixedrange: true
range:
- 7500
- 0
entities:
- entity: ''
fn_var1: $ex vars.sensor_id = "d158f4";
fn_var2: $ex vars.sensor_name_prefix = "sensor.screek_human_sensor_2a_" + vars.sensor_id + "_";
fn_var3: $ex vars.number_name_prefix = "number.screek_human_sensor_2a_" + vars.sensor_id + "_";
fn_var4: $ex vars.is_inch_unit = hass.states[vars.sensor_name_prefix + "target1_x"].attributes.unit_of_measurement == "in";
# name: sensor_id
- entity: ''
name: Target1
marker:
size: 10
symbol: star-diamond
line:
shape: spline
width: 5
x:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target1_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target1_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { x = x * 25.4 };
return x;
}
y:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target1_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target1_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { y = y * 25.4 };
return y;
}
- entity: ''
name: Target2
marker:
size: 10
symbol: star-diamond
line:
shape: spline
width: 5
x:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target2_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target2_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { x = x * 25.4 };
return x;
}
y:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target2_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target2_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { y = y * 25.4 };
return y;
}
- entity: ''
internal: false
name: Target3
marker:
size: 10
symbol: star-diamond
line:
shape: spline
width: 5
x:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target3_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target3_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { x = x * 25.4 };
return x;
}
y:
- $ex {
var x = hass.states[vars.sensor_name_prefix + "target3_x"].state;
var y = hass.states[vars.sensor_name_prefix + "target3_y"].state;
if (x == 0 && y == 0) { return -9999 };
if (vars.is_inch_unit) { y = y * 25.4 };
return y;
}
- entity: ''
name: Zone1
mode: lines
fill: toself
fillcolor: RGBA(20,200,0,0.06)
line:
color: RGBA(20,200,0,0.2)
shape: line
width: 2
x:
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_x_begin"].state
y:
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone1_y_begin"].state
- entity: ''
name: Zone2
mode: lines
fill: toself
fillcolor: RGBA(200,0,255,0.06)
line:
color: RGBA(200,0,255,0.2)
shape: line
width: 2
x:
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_x_begin"].state
y:
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone2_y_begin"].state
- entity: ''
name: Zone3
mode: lines
fill: toself
fillcolor: RGBA(200,120,55,0.06)
line:
color: RGBA(200,120,55,0.2)
shape: line
width: 2
x:
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_x_begin"].state
y:
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zone3_y_begin"].state
- entity: ''
name: ExZone
mode: lines
fill: toself
fillcolor: RGBA(255,0,0,0.15)
line:
shape: line
width: 1
color: RGBA(255,0,0,0.2)
x:
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_x_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_x_begin"].state
y:
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_y_end"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
- >-
$ex
hass.states[vars.number_name_prefix + "zout1_y_begin"].state
- entity: ''
name: Coverage
mode: lines
fill: tonexty
fillcolor: rgba(168, 216, 234, 0.15)
hoverinfo: none
line:
shape: line
width: 0.7
dash: dot
x:
- 0
- $ex 7500 * Math.sin((2 * Math.PI)/360 * 60)
- 6500
- 5500
- 4500
- 4000
- 3000
- 2000
- 1000
- 0
- -1000
- -2000
- -3000
- -4000
- -4500
- -5500
- -6500
- $ex -7500 * Math.sin((2 * Math.PI)/360 * 60)
- 0
'y':
- 0
- $ex 7500 * Math.cos((2 * Math.PI)/360 * 60)
- $ex Math.sqrt( 7500**2 - 6500**2 )
- $ex Math.sqrt( 7500**2 - 5500**2 )
- $ex Math.sqrt( 7500**2 - 4500**2 )
- $ex Math.sqrt( 7500**2 - 4000**2 )
- $ex Math.sqrt( 7500**2 - 3000**2 )
- $ex Math.sqrt( 7500**2 - 2000**2 )
- $ex Math.sqrt( 7500**2 - 1000**2 )
- 7500
- $ex Math.sqrt( 7500**2 - 1000**2 )
- $ex Math.sqrt( 7500**2 - 2000**2 )
- $ex Math.sqrt( 7500**2 - 3000**2 )
- $ex Math.sqrt( 7500**2 - 4000**2 )
- $ex Math.sqrt( 7500**2 - 4500**2 )
- $ex Math.sqrt( 7500**2 - 5500**2 )
- $ex Math.sqrt( 7500**2 - 6500**2 )
- $ex 7500 * Math.cos((2 * Math.PI)/360 * 60)
- 0
raw_plotly_config: true
title: $ex "Human Sensor 2A " + vars.sensor_id + " Map"

View File

@ -0,0 +1,414 @@
---
title: Bathrooms
icon: mdi:shower
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_03_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_03_presence
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
icon_color: "{% if is_state('binary_sensor.bathroom_master_01_home_security_motion_detection', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.bathroom_master_01_home_security_motion_detection
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bathroom_master_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bathroom_master_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bathroom_master_01_contact
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
icon: mdi:ceiling-light
icon_color: "{% if is_state('light.bathroom_master_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: light.bathroom_master_wall_01
tap_action:
action: toggle
- type: template
icon: mdi:fan
icon_color: "{% if is_state('fan.bathroom_master', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: fan.bathroom_master
tap_action:
action: toggle
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_master_01_temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_master_01_humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.motion_bathroom_master_01_illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: tile
entity: light.bathroom_master_wall_01
icon: mdi:lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
# - type: horizontal-stack
# cards:
# - type: custom:button-card
# name: Fan
# entity: fan.master_bathroom
# show_state: false
# styles:
# card:
# - height: 140px
# - width: 140px
# icon:
# - animation: >
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_bedroom_olivia
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bathroom_master
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bathroom_master
- type: button
name: Occupants
entity: input_number.occupants_bathroom_master
# - type: horizontal-stack
# cards:
# - type: custom:mini-media-player
# entity: media_player.master_bathroom
# artwork: cover
- type: custom:layout-break
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_7
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}mdi:window-open{%- else -%}mdi:window-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.window_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.window_bathroom_bedroom_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bathroom_bedroom_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bathroom_bedroom_01_contact
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
icon: mdi:ceiling-light
icon_color: "{% if is_state('light.bathroom_bedroom_wall_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: light.bathroom_bedroom_wall_01
tap_action:
action: toggle
- type: template
icon: mdi:fan
icon_color: "{% if is_state('fan.bathroom_bedroom', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: fan.bathroom_bedroom
tap_action:
action: toggle
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_bedroom_01_temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_bedroom_01_humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.motion_bathroom_bedroom_01_illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: tile
entity: light.bathroom_bedroom_wall_01
icon: mdi:lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
# - type: horizontal-stack
# cards:
# - type: custom:button-card
# name: Fan
# entity: fan.master_bedroom_bathroom
# show_state: false
# state:
# - value: "locked"
# color: green
# icon: mdi:lock
# - value: "unlocked"
# color: red
# icon: mdi:lock-open-variant
# styles:
# card:
# - height: 140px
# - width: 140px
# icon:
# - animation: >
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_bathroom_bedroom
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bathroom_bedroom
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bathroom_bedroom
- type: button
name: Occupants
entity: input_number.occupants_bathroom_bedroom
- type: custom:layout-break
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-chips-card
chips:
# - type: template
# icon: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
# icon_color: "{% if is_state('binary_sensor.presence_01_presence', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
# badge_icon: mdi:numeric-1-circle
# badge_color: green
- type: template
icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_6
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_bathroom_living_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_bathroom_living_01_contact
tap_action:
action: more-info
- type: custom:mushroom-chips-card
alignment: end
chips:
- type: template
icon: mdi:ceiling-light
icon_color: "{% if is_state('light.bathroom_living_room_01', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: light.bathroom_living_room_01
tap_action:
action: toggle
- type: template
icon: mdi:fan
icon_color: "{% if is_state('fan.bathroom_living_room', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: fan.bathroom_living_room
tap_action:
action: toggle
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_living_01_temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_bathroom_living_01_humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.motion_bathroom_living_01_illuminance
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: tile
entity: light.bathroom_living_room_01
icon: mdi:lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
# - type: horizontal-stack
# cards:
# - type: custom:button-card
# name: Fan
# entity: fan.living_room_bathroom
# show_state: false
# styles:
# card:
# - height: 140px
# - width: 140px
# icon:
# - animation: >
# [[[ return 'rotating ' + (states['sensor.air_purifier_fan_speed'].state) + 's linear infinite' ]]]
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_bathroom_living
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_bathroom_living
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_bathroom_living
- type: button
name: Occupants
entity: input_number.occupants_bathroom_living

View File

@ -0,0 +1,162 @@
---
title: Garage
icon: mdi:garage-variant
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: vertical-stack
cards:
- type: custom:mushroom-chips-card
chips:
- type: template
icon: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%}mdi:account-multiple{%- else -%}mdi:account-off-outline{%- endif %}"
icon_color: "{% if is_state('binary_sensor.presence_garage_sensor_1', 'on') -%} #FFC107 {%- else -%} #44739E {%- endif %}"
badge_icon: mdi:numeric-1-circle
badge_color: green
entity: binary_sensor.presence_garage_sensor_1
tap_action:
action: more-info
# - type: template
# icon: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}mdi:motion-sensor{%- else -%}mdi:motion-sensor-off{%- endif %}"
# icon_color: "{% if is_state('binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
# entity: binary_sensor.dome_z_wave_plus_motion_detector_with_light_sensor_and_flexible_magnetic_mount_home_security_motion_detection_8
# tap_action:
# action: more-info
- type: template
icon: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}mdi:door-open{%- else -%}mdi:door-closed{%- endif %}"
icon_color: "{% if is_state('binary_sensor.door_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.door_garage_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.cover_garage_01_contact', 'on') -%}mdi:garage-open-variant{%- else -%}mdi:garage-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.cover_garage_01_contact', 'on') -%}#FFC107{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.cover_garage_01_contact
tap_action:
action: more-info
- type: template
icon: "{% if is_state('binary_sensor.smoke_garage_01_smoke', 'on') -%}mdi:smoke-detector-variant-alert{%- else -%}mdi:smoke-detector-variant{%- endif %}"
icon_color: "{% if is_state('binary_sensor.smoke_garage_01_smoke', 'on') -%}#D40909{%- else -%}#44739E{%- endif %}"
entity: binary_sensor.smoke_garage_01_smoke
tap_action:
action: more-info
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
line_color: orange
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_garage_01_temperature
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: blue
font_size: 75
font_size_header: 12
entities:
- entity: sensor.climate_garage_01_humidity
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: custom:mini-graph-card
line_color: red
font_size: 75
font_size_header: 12
entities:
- entity: sensor.presence_garage_light_level
hours_to_show: 24
points_per_hour: 4
align_icon: state
align_state: left
show:
name: false
- type: horizontal-stack
cards:
- type: tile
entity: light.garage_ceiling_01
icon: mdi:ceiling-light
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
- type: tile
entity: cover.garage_gate
features:
- type: "cover-open-close"
tap_action:
action: toggle
confirmation:
text: Are you sure you want to operate Garage Door?
- type: horizontal-stack
cards:
- type: tile
entity: lock.subaru_outback_txt_lock
features:
- type: "lock-commands"
tap_action:
action: toggle
confirmation:
text: Are you sure you want to lock Subaru?
- type: tile
entity: switch.subaru_outback_txt_ignition
- type: custom:layout-break
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.11.110:8554/garage'
title: 'Garage'
muted: true
mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
# - type: entities
# title: Lights
# show_header_toggle: false
# entities:
# - entity: timer.app_lighting_garage
# - type: custom:flipdown-timer-card
# entity: timer.app_lighting_garage
# show_hour: false
# show_title: false
# show_header: false
# duration: "00:01:00"
# styles:
# rotor:
# width: 60px
# height: 80px
# button:
# width: 60px
# location: bottom
- type: horizontal-stack
cards:
- type: button
name: Occupancy
entity: input_boolean.occupancy_garage
- type: button
name: Operating Mode
entity: input_boolean.manually_operated_light_garage
- type: button
name: Occupants
entity: input_number.occupants_garage
- type: custom:mini-media-player
entity: media_player.garage
artwork: cover

View File

@ -0,0 +1,234 @@
---
title: Porch/Backyard
icon: mdi:home-circle-outline
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout_type: custom:vertical-layout
layout:
max_cols: 3
cards:
- type: vertical-stack
cards:
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.porch_light_state
name: Porch
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.porch_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:outdoor-lamp
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.porch_scenes
option: "Porch Only"
styles:
button:
color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'Porch Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'Porch Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:outdoor-lamp
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.porch_scenes
option: "Garage Only"
styles:
button:
color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'Garage Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.porch_light_state', 'on') and is_state('input_select.porch_scenes', 'Garage Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: tile
entity: light.porch_01
icon: mdi:outdoor-lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
- type: tile
entity: light.garage_gate_01
icon: mdi:outdoor-lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
- type: horizontal-stack
cards:
- type: tile
entity: light.frontyard_decoration_01
name: Frontyard Decoration
icon: mdi:string-lights
color: orange
tap_action:
action: toggle
hold_action:
action: more-info
- type: custom:stack-in-card
cards:
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.backyard_light_state
name: Backyard
icon: mdi:lightbulb-group
tap_action:
action: toggle
card_mod:
style: "ha-card { border: none; }"
- type: custom:paper-buttons-row
preset: mushroom
styles:
justify-content: flex-end
base_config:
styles:
button:
margin-top: 12px
margin-right: 12px
buttons:
- layout: icon
icon: mdi:lightbulb-group
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.backyard_scenes
option: "All"
styles:
button:
color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'All') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'All') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:outdoor-lamp
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.backyard_scenes
option: "Wall Only"
styles:
button:
color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'Wall Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'Wall Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- layout: icon
icon: mdi:led-strip-variant
tap_action:
action: call-service
service: input_select.select_option
service_data:
entity_id: input_select.backyard_scenes
option: "Pergola Only"
styles:
button:
color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'Pergola Only') %}#FFC107{% else %}#44739E{% endif %}"
background-color: "{% if is_state('input_boolean.backyard_light_state', 'on') and is_state('input_select.backyard_scenes', 'Pergola Only') %}#FFF3D7{% else %}#F4F4F4{% endif %}"
- type: horizontal-stack
cards:
- type: tile
entity: light.backyard_01
icon: mdi:outdoor-lamp
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
- type: tile
entity: light.backyard_pergola_01
icon: mdi:led-strip-variant
color: orange
features:
- type: "light-brightness"
tap_action:
action: toggle
hold_action:
action: more-info
- type: custom:layout-break
- type: vertical-stack
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/uLwsAUCTOoL2XBJs'
title: 'Doorbell'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/9fJVNqwlimxGsti4'
title: 'Backyard'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/hwDkiwOwIpvfjYfs'
title: 'Side 1'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/GN0drubWN55tCDqr'
title: 'Side 2'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/QmCaW7biBuX81RVu'
title: 'Entrance'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/5jzOyi0guCMhbGq8'
title: 'Frontyard'
muted: true
mode: webrtc,mse
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/RqYpjyveu7AF3v6f'
title: 'Driveway'
muted: true
mode: webrtc,mse
- type: custom:layout-break
- type: vertical-stack
cards:
- type: custom:mini-media-player
entity: media_player.backyard
artwork: cover

View File

@ -0,0 +1,118 @@
---
title: Consumption
icon: mdi:chart-bar-stacked
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
cards:
- type: custom:layout-card
layout_type: custom:vertical-layout
layout:
max_cols: 3
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: sensor
name: Day
graph: none
entity: sensor.power_house_total_1d
- type: sensor
name: Month
graph: none
entity: sensor.power_house_total_1mon
- type: horizontal-stack
cards:
- type: sensor
name: Day
graph: none
entity: sensor.cost_energy_daily
icon: mdi:cash-multiple
- type: sensor
name: Month
graph: none
entity: sensor.cost_energy_monthly
icon: mdi:cash-multiple
- type: energy-usage-graph
- type: custom:layout-break
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
# mdi:storage-tank
# mdi:cup-water
- type: sensor
name: Day
entity: sensor.gas_daily
icon: mdi:meter-gas
graph: none
- type: sensor
name: Month
entity: sensor.gas_monthly
icon: mdi:meter-gas
graph: none
- type: horizontal-stack
cards:
- type: sensor
name: Day
graph: none
entity: sensor.cost_gas_daily
icon: mdi:cash-multiple
- type: sensor
name: Month
graph: none
entity: sensor.cost_gas_monthly
icon: mdi:cash-multiple
- type: energy-gas-graph
- type: custom:layout-break
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: sensor
name: Day
entity: sensor.water_daily
icon: mdi:cup-water
graph: none
- type: sensor
name: Month
entity: sensor.water_monthly
icon: mdi:cup-water
graph: none
- type: horizontal-stack
cards:
- type: sensor
name: Day
graph: none
entity: sensor.cost_water_daily
icon: mdi:cash-multiple
- type: sensor
name: Month
graph: none
entity: sensor.cost_water_monthly
icon: mdi:cash-multiple
- type: energy-water-graph
# - type: vertical-stack
# cards:
# - type: custom:mini-graph-card
# name: Daily Energy Consumption
# line_color: orange
# font_size: 75
# font_size_header: 12
# entities:
# - entity: sensor.power_house_1d
# hours_to_show: 168
# aggregate_func: max
# group_by: date
## points_per_hour: 0.0416666
# align_icon: right
# align_state: left
# show:
# graph: bar
## labels: true
# points: true
# - type: energy-usage-graph
# - type: energy-gas-graph
# - type: energy-water-graph
# - type: energy-sources-table

View File

@ -0,0 +1,53 @@
---
icon: mdi:battery
name: Batteries
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
- user: 76e8af2547254ef0ab523ae1ad0bf81a # Tanya
cards:
- type: custom:layout-card
layout_type: custom:vertical-layout
layout:
max_cols: 3
cards:
- type: vertical-stack
cards:
- type: entities
title: 'CyberPower UPS #1'
show_header_toggle: false
entities:
- entity: sensor.ups_cyberpower_01_status
- entity: sensor.ups_cyberpower_01_time_left
- entity: sensor.ups_cyberpower_01_battery_level
- entity: sensor.ups_cyberpower_01_transfers
- type: entities
title: 'CyberPower UPS #4'
show_header_toggle: false
entities:
- entity: sensor.ups_cyberpower_04_status
- entity: sensor.ups_cyberpower_04_time_left
- entity: sensor.ups_cyberpower_04_battery_level
- entity: sensor.ups_cyberpower_04_transfers
- type: custom:layout-break
- type: vertical-stack
cards:
- type: entities
title: 'CyberPower UPS #2'
show_header_toggle: false
entities:
- entity: sensor.ups_cyberpower_02_status
- entity: sensor.ups_cyberpower_02_time_left
- entity: sensor.ups_cyberpower_02_battery_level
- entity: sensor.ups_cyberpower_02_transfers
- type: custom:layout-break
- type: vertical-stack
cards:
- type: entities
title: 'CyberPower UPS #3'
show_header_toggle: false
entities:
- entity: sensor.ups_cyberpower_03_status
- entity: sensor.ups_cyberpower_03_time_left
- entity: sensor.ups_cyberpower_03_battery_level
- entity: sensor.ups_cyberpower_03_transfers

View File

@ -0,0 +1,77 @@
---
title: Surveillance
icon: mdi:video-image
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
cards:
- type: custom:layout-card
layout: vertical
cards:
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/uLwsAUCTOoL2XBJs'
title: 'Doorbell'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/9fJVNqwlimxGsti4'
title: 'Backyard'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/RqYpjyveu7AF3v6f'
title: 'Driveway'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/QmCaW7biBuX81RVu'
title: 'Entrance'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/5jzOyi0guCMhbGq8'
title: 'Frontyard'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/7Sjj38TZIify1jKv'
title: 'Garage'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/Ui2cuW0agIvgURHb'
title: 'Kitchen'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/BedUwRNk0Gti9qBI'
title: 'Living Room 1'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/jE66VCqwWzZHLOXm'
title: 'Living Room 2'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/U4JDroC1Mn7mVgZG'
title: 'Master Bedroom'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/dAEzjivFj2FOcpOs'
title: 'Olivia Bedroom'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/hwDkiwOwIpvfjYfs'
title: 'Side 1'
muted: true
mse: false
- type: 'custom:webrtc-camera'
url: 'rtsp://10.10.10.1:7447/GN0drubWN55tCDqr'
title: 'Side 2'
muted: true
mse: false

View File

@ -0,0 +1,74 @@
---
title: Applications
icon: mdi:application-cog
panel: true
visible:
- user: 1614b22cbef54f979741cf8a6b3413ec # Alex
cards:
- type: custom:layout-card
layout_type: custom:vertical-layout
layout:
max_cols: 3
cards:
- type: vertical-stack
cards:
- type: entities
title: Humidity Suppression
entities:
- input_boolean.app_climate_humidity_suppression_status
- input_number.app_climate_humidity_suppression_humidity_level
- input_datetime.app_humidity_suppression_time_start
- input_datetime.app_humidity_suppression_time_end
- type: vertical-stack
cards:
- type: entities
title: Voice Assistants Night mode
entities:
- input_boolean.app_va_night_mode_status
- input_datetime.app_va_night_mode_time_start
- input_datetime.app_va_night_mode_time_end
- type: custom:layout-break
- type: vertical-stack
cards:
- type: custom:auto-entities
card:
type: entities
filter:
template: "{{ states.light | rejectattr('attributes.color_mode', '==', 'onoff') | rejectattr('attributes.entity_id', 'defined') | selectattr('state', '==', 'on') | map(attribute='entity_id') | list }}"
- type: markdown
content: |
{% for device in states.light | rejectattr('attributes.color_mode', '==', 'onoff') | rejectattr('attributes.entity_id', 'defined') | selectattr('state', '==', 'on') | map(attribute='entity_id') | list %}
{{ device }}
{% else %}
No On Lights
{% endfor %}
- type: markdown
content: |
{% for device in states | selectattr('state', '==', 'unavailable') | map(attribute='entity_id') | list %}
{{ device }}
{% else %}
No Unavalable Devices
{% endfor %}
- type: custom:layout-break
- type: vertical-stack
cards:
- type: custom:battery-state-card
# title: "All Battery"
filter:
include:
- name: "attributes.device_class"
value: "battery"
exclude:
- name: "entity_id"
value: "binary_sensor.*"
- name: "entity_id"
value: "sensor.shutoff.*"
sort:
by: "state"
bulk_rename:
- from: "Battery level" # simple string replace (note: "to" is not required if you want to remove string)
to: ""
- from: "Battery" # simple string replace (note: "to" is not required if you want to remove string)
to: ""
collapse:
- name: 'Door Sensors (Qt: {count})'