This commit is contained in:
2021-10-10 19:02:34 +03:00
parent 4245f8d2d9
commit 67a1fd9853
87 changed files with 1995 additions and 1226 deletions
-2
View File
@@ -23,8 +23,6 @@ lovelace:
url: /hacsfiles/lovelace-state-switch/state-switch.js url: /hacsfiles/lovelace-state-switch/state-switch.js
- type: module - type: module
url: http://192.168.0.13:5000/time-picker-card.js url: http://192.168.0.13:5000/time-picker-card.js
- type: module
url: /hacsfiles/lovelace-gui-sandbox/gui-sandbox.js
dashboards: dashboards:
lovelace-home: lovelace-home:
mode: yaml mode: yaml
-2
View File
@@ -5,7 +5,6 @@ views:
cards: cards:
- type: grid - type: grid
cards: cards:
- type: custom:gui-sandbox
- type: custom:button-card - type: custom:button-card
icon: mdi:reload icon: mdi:reload
name: Theme name: Theme
@@ -38,7 +37,6 @@ views:
cards: cards:
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:gui-sandbox
- type: custom:button-card - type: custom:button-card
icon: mdi:reload icon: mdi:reload
name: Theme name: Theme
+1 -1
View File
@@ -52,7 +52,7 @@ lovelace:
mode: yaml mode: yaml
title: Hallway Dashboard title: Hallway Dashboard
icon: mdi:tablet-dashboard icon: mdi:tablet-dashboard
show_in_sidebar: false show_in_sidebar: true
filename: hallway-lovelace.yaml filename: hallway-lovelace.yaml
lovelace-kitchen: lovelace-kitchen:
mode: yaml mode: yaml
+3 -3
View File
@@ -1,10 +1,10 @@
custom_header:
hide_header: true
decluttering_templates: !include_dir_merge_named lovelace/decluttering_templates decluttering_templates: !include_dir_merge_named lovelace/decluttering_templates
button_card_templates: !include_dir_merge_named lovelace/button_card_templates button_card_templates: !include_dir_merge_named lovelace/button_card_templates
popup_cards: !include lovelace/popup_cards.yaml popup_cards: !include lovelace/popup_cards.yaml
kiosk_mode:
hide_header: true
title: Floorplan title: Floorplan
views: views:
- title: Floorplan - title: Floorplan
+1
View File
@@ -10,6 +10,7 @@ views:
- title: Sarah - title: Sarah
path: hallway_dashboard path: hallway_dashboard
icon: mdi:tablet-dashboard icon: mdi:tablet-dashboard
background: '#333'
panel: true panel: true
cards: cards:
- type: custom:state-switch - type: custom:state-switch
+17 -2
View File
@@ -3,7 +3,8 @@ button_card_templates: !include_dir_merge_named lovelace/button_card_templates
popup_cards: !include lovelace/popup_cards.yaml popup_cards: !include lovelace/popup_cards.yaml
kiosk_mode: kiosk_mode:
kiosk: true kiosk: false
hide_overflow: true
title: Sarah title: Sarah
views: views:
@@ -11,4 +12,18 @@ views:
path: kitchen path: kitchen
icon: "mdi:chef-hat" icon: "mdi:chef-hat"
panel: true panel: true
cards: !include lovelace/home_dashboard/kitchen_dashboard.yaml background: "#333"
cards:
- type: custom:mod-card
style:
layout-card:
$:
horizontal-layout:
$:
.: |
#columns {
padding: 0 10px;
margin: 0 20px;
grid-gap: 20px;
}
card: !include lovelace/home_dashboard/kitchen_dashboard_card.yaml
@@ -37,6 +37,7 @@ cards:
- automation.slack_meeting_starts - automation.slack_meeting_starts
- automation.slack_meeting_ends - automation.slack_meeting_ends
- automation.hallway_tablet_set_to_home_after_10_minutes - automation.hallway_tablet_set_to_home_after_10_minutes
- automation.hallway_tablet_leaving_goodbye_after_door_opened
- type: entities - type: entities
title: Presence title: Presence
@@ -1,5 +1,4 @@
cover: cover:
template: default
icon: > icon: >
[[[ [[[
return entity.state === "open" ? "mdi:window-shutter-open" : "mdi:window-shutter"; return entity.state === "open" ? "mdi:window-shutter-open" : "mdi:window-shutter";
@@ -0,0 +1,22 @@
v3_badge:
variables:
state_size: 15px
show_name: false
show_icon: false
show_state: true
hold_action:
action: more-info
styles:
card:
- width: 60px
- height: 60px
- font-size: 15px
- border-radius: 60px
- box-shadow: none
- --ha-card-background: transparent
- border: 2px solid rgba(255, 255, 255, 0.5)
state:
- text-overflow: initial
- width: 80%
- font-weight: bold
- font-size: "[[[ return variables.state_size ]]]"
@@ -0,0 +1,17 @@
v3_badge_icon:
template: v3_badge
show_state: false
show_icon: true
styles:
icon:
- transform: translateX(-4px) translateY(11px)
- --mdc-icon-size: 30px
- color: white
state:
- value: 'on'
styles:
card:
- background-color: white
- color: black
icon:
- color: var(--primary-color)
@@ -0,0 +1,64 @@
v3_button:
variables:
value_has_error: false
background_color: 'var(--v3-background)'
show_state: true
show_icon: true
show_name: true
size: 120px
card_size: 2
hold_action:
action: more-info
styles:
card:
- width: 120px
- height: 120px
- box-shadow: none
- --ha-card-background: "[[[ return variables.background_color ]]]"
icon:
- position: absolute
- top: 8px
- left: 16px
- width: 30px
- height: 30px
- --mdc-icon-size: 30px
- color: white
state:
- position: absolute
- bottom: 10px
- left: 16px
- font-weight: bold
- font-size: 13px
- color: "[[[ return variables.value_has_error ? 'red' : 'white' ]]]"
name:
- position: absolute
- left: 16px
- bottom: 28px
- white-space: normal
- word-wrap: break-word
- word-break: break-word
- width: 90px
- text-align: left
- font-weight: bold
- font-size: 15px
state:
- value: 'on'
styles: &on_styles
card:
- background-color: white
- color: black
icon:
- color: var(--primary-color)
state:
- color: "[[[ return variables.value_has_error ? 'red' : 'black' ]]]"
- value: 'home'
styles: *on_styles
- value: 'recording'
styles: *on_styles
- value: 'open'
styles: *on_styles
- value: 'playing'
styles: *on_styles
- value: 'heat'
styles: *on_styles
@@ -0,0 +1,29 @@
v3_pill:
show_name: true
show_icon: true
show_state: false
card_size: 5
hold_action:
action: more-info
styles:
card:
- width: 380px
- margin-left: 16px
- height: 60px
- font-size: 15px
- border-radius: 8px
- background-color: 'rgba(70, 70, 70, 1)'
icon:
- position: absolute
- left: 16px
- width: 30px
- --mdc-icon-size: 30px
- display: flex
- align-items: center
name:
- position: absolute
- top: 22px
- left: 60px
- width: 180px
- font-weight: bold
- text-align: left
@@ -0,0 +1,48 @@
v3_scene:
variables:
scene_color_1: rgb(255, 255, 255)
scene_color_2: rgb(255, 255, 255)
degrees: 315
show_name: true
show_icon: true
show_state: false
card_size: 5
tap_action:
action: call-service
service: scene.turn_on
service_data:
entity_id: "[[[ return entity.entity_id ]]]"
hold_action:
action: more-info
styles:
card:
- width: 250px
- height: 60px
- font-size: 15px
- box-shadow: none
- background: >
[[[
const color_1 = variables.scene_color_1;
const color_2 = variables.scene_color_2 || variables.scene_color_1;
const degrees = variables.degrees;
return "linear-gradient("
+ degrees + "deg, "
+ color_1 + " 14%, "
+ color_2 + " 14%, "
+ color_2 + " 24%, var(--v3-background) 24%)"
]]]
icon:
- position: absolute
- left: 16px
- width: 30px
- --mdc-icon-size: 30px
- display: flex
- align-items: center
name:
- position: absolute
- top: 22px
- left: 60px
- width: 180px
- font-weight: bold
- text-align: left
@@ -0,0 +1,21 @@
v3_tablet_button:
template: v3_button
styles:
card:
- width: 100px
- height: 100px
- border-radius: 16px
icon:
- top: 4px
- left: 12px
- width: 20px
- height: 20px
- --mdc-icon-size: 20px
state:
- bottom: 4px
- left: 12px
name:
- left: 12px
- bottom: 22px
- width: 60px
- font-size: 13px
@@ -0,0 +1,22 @@
v3_xs_button:
template: v3_button
show_state: false
styles:
card:
- width: 75px
- height: 75px
- border-radius: 12px
icon:
- top: 4px
- left: 12px
- width: 20px
- height: 20px
- --mdc-icon-size: 20px
name:
- left: 12px
- bottom: 8px
- white-space: normal
- word-wrap: break-word
- word-break: break-word
- width: 60px
- font-size: 13px
@@ -0,0 +1,3 @@
v3_badge_humidity:
template: v3_badge
state_display: "[[[ return Number.parseFloat(entity.state.split(' ')[0]).toFixed(1) + '%' ]]]"
@@ -0,0 +1,3 @@
v3_badge_temp:
template: v3_badge
state_display: "[[[ return Number.parseFloat(entity.state.split(' ')[0]).toFixed(1) + '°' ]]]"
@@ -0,0 +1,27 @@
v3_button_ac:
template: v3_button
icon: mdi:air-conditioner
state_display: |
[[[
if (!entity) {
return "Unavailable";
}
if (entity.state === "off") {
return "Off";
}
return entity.attributes.hvac_action.charAt(0).toUpperCase() +
entity.attributes.hvac_action.slice(1) + ' to ' +
entity.attributes.temperature + '°';
]]]
state:
- value: 'off'
operator: '!='
styles:
card:
- background-color: white
- color: black
icon:
- color: var(--primary-color)
state:
- color: black
@@ -0,0 +1,58 @@
v3_button_brita_water:
template: v3_button
name: Brita water
entity: script.brita_pour_water
variables:
long_state: true
value_has_error: |
[[[
return states['binary_sensor.brita_should_change_filter'].state === 'on';
]]]
state_display: |
[[[
return Math.round(states['input_number.brita_remaining_liters'].state) +
(variables.long_state ? 'L Remaining' : 'L')
]]]
tap_action:
action: toggle
styles:
card:
- background: >
[[[
const remaining = states['input_number.brita_remaining_liters'].state;
const percent = 100 - remaining;
const gradient = [
'180deg',
'var(--v3-background) 0%',
`var(--v3-background) ${percent}%`,
`white ${percent}%`
]
return `linear-gradient(${gradient.join(',')})`;
]]]
name:
- color: |
[[[
const remaining = states['input_number.brita_remaining_liters'].state;
return remaining > 25 ? 'black' : 'white';
]]]
- background-color: |
[[[
const remaining = states['input_number.brita_remaining_liters'].state;
return remaining > 25 ? 'white' : 'transparent';
]]]
- border-radius: 4px
icon:
- color: |
[[[
const remaining = states['input_number.brita_remaining_liters'].state;
return remaining > 65 ? 'black' : 'white';
]]]
- background-color: |
[[[
const remaining = states['input_number.brita_remaining_liters'].state;
return remaining > 65 ? 'white' : 'transparent';
]]]
- border-radius: 4px
@@ -0,0 +1,7 @@
v3_button_cover:
template: [v3_button, cover]
state_display: |
[[[
if (entity.state === 'closed') { return 'Closed' }
return entity.attributes.current_position + '% Open';
]]]
@@ -0,0 +1,7 @@
v3_button_light:
template: v3_button
state_display: |
[[[
if (entity.state === 'off') { return 'Off'; }
return Math.round(entity.attributes.brightness * 100 / 255) + "%";
]]]
@@ -0,0 +1,13 @@
v3_button_power:
template: v3_button
variables:
power_sensor:
state_display: |
[[[
if (entity.state === 'off') return 'Off';
return states[variables.power_sensor].state + " W";
]]]
icon: mdi:power-socket
tap_action:
action: more-info
entity: "[[[return variables.power_sensor]]]"
@@ -0,0 +1,12 @@
v3_button_purifier:
template: v3_button
state_display: |
[[[
if (entity.state === 'off') { return 'Off'; }
return entity.attributes.speed.charAt(0).toUpperCase() + entity.attributes.speed.slice(1);
]]]
variables:
value_has_error: |
[[[
return states['binary_sensor.purifier_filter_needs_change'].state === 'on';
]]]
@@ -0,0 +1,15 @@
v3_button_radiator:
template: v3_button
icon: mdi:radiator
state_display: |
[[[
if (entity.state === 'off') { return 'Off'};
return entity.state.charAt(0).toUpperCase() +
entity.state.slice(1) + "ing to " +
entity.attributes.temperature + '°';
]]]
tap_action:
action: call-service
service: script.toggle_radiator
service_data:
entity_id: "[[[ return entity.entity_id ]]]"
@@ -0,0 +1,21 @@
v3_button_tv:
template: v3_button
tap_action:
action: toggle
icon: mdi:television
state:
- value: 'playing'
styles: &on_styles
card:
- background-color: white
- color: black
icon:
- color: var(--primary-color)
- value: 'standby'
styles: *on_styles
- value: 'on'
styles: *on_styles
- value: 'home'
styles: *on_styles
- value: 'idle'
styles: *on_styles
@@ -9,6 +9,7 @@ sonos_media_player:
name: "[[name]]" name: "[[name]]"
info: "[[info]]" info: "[[info]]"
entity: "[[player]]" entity: "[[player]]"
scale: 1.2
speaker_group: speaker_group:
sync_volume: "[[sync_volume]]" sync_volume: "[[sync_volume]]"
entities: &entities_in_gorup entities: &entities_in_gorup
@@ -0,0 +1,16 @@
v3_horizontal_stack_card:
card:
type: custom:mod-card
card_size: 12
card:
type: horizontal-stack
cards: "[[cards]]"
card_mod:
style:
hui-horizontal-stack-card:
$: |
#root {
max-width: 100vw;
padding-bottom: 10px;
overflow: scroll
}
@@ -0,0 +1,121 @@
v3_media_with_controls:
default:
- title: "Media"
- player_name:
card:
type: vertical-stack
title: "[[title]]"
cards:
- type: custom:decluttering-card
template: sonos_media_player
variables:
- player: "[[player]]"
- name: "[[player_name]]"
- sync_volume: false
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Volume
- margin_left: 16px
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_xs_button
show_state: false
entity: script.sonos_volume_10
icon: mdi:volume-medium
name: Vol 10
tap_action:
action: call-service
service: script.sonos_volume_10
styles:
card:
- margin-left: 16px
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_xs_button
show_state: false
entity: script.sonos_volume_20
icon: mdi:volume-high
name: Vol 20
tap_action:
action: call-service
service: script.sonos_volume_20
variables:
background_color: rgba(60, 60, 60, 1)
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Group
- margin_left: 16px
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_xs_button
entity: binary_sensor.sonos_is_bedroom_master
name: Bedroom
icon: mdi:speaker-multiple
tap_action:
action: call-service
service: script.sonos_join_bedroom
styles:
card:
- margin-left: 16px
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_xs_button
entity: binary_sensor.sonos_is_living_room_master
name: TV
icon: mdi:speaker-multiple
tap_action:
action: call-service
service: script.sonos_join_tv
variables:
background_color: rgba(60, 60, 60, 1)
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Playlists
- margin_left: 16px
- type: custom:button-card
template: v3_pill
entity: script.music_play
name: Chill
icon: mdi:music
tap_action:
action: toggle
- type: custom:button-card
template: v3_pill
entity: script.music_play
name: Chill 2
icon: mdi:music
tap_action:
action: call-service
service: script.music_play
service_data:
playlist: "Songs for a Romantic Evening"
shuffle: true
volume_level: 0.1
- type: custom:button-card
template: v3_pill
entity: script.music_play
name: Retro
icon: mdi:music
tap_action:
action: call-service
service: script.music_play
service_data:
playlist: "Retro"
styles:
card:
- margin-bottom: 8px
@@ -0,0 +1,18 @@
v3_section_title:
default:
margin_left: '0'
card:
type: markdown
content: >
### [[title]]
card_mod:
style: |
ha-card {
box-shadow: none;
background: transparent;
}
ha-card > ha-markdown {
font-size: 18px;
padding: 16px 6px 6px [[margin_left]];
}
@@ -0,0 +1,17 @@
v3_title:
card:
type: markdown
content: >
## [[title]]
card_mod:
style: |
ha-card {
box-shadow: none;
background: transparent;
}
ha-card > ha-markdown {
font-size: 22px;
padding: 20px 20px 20px 0;
letter-spacing: -1px;
}
@@ -1,201 +1,307 @@
type: custom:layout-card type: custom:mod-card
layout_type: custom:horizontal-layout style:
layout: layout-card:
max_cols: 2 $:
cards: horizontal-layout:
# Column 1 $:
- type: vertical-stack .: |
cards: #columns {
- type: custom:button-card padding-left: 10px;
template: [hallway_dashboard_mode] margin: 0 20px;
- type: horizontal-stack grid-gap: 20px;
cards: }
- type: custom:button-card card:
template: half type: custom:layout-card
icon: none layout_type: custom:horizontal-layout
entity: light.all layout:
name: All max_cols: 2
- type: custom:button-card cards:
template: half # Column 1
icon: none - type: vertical-stack
entity: light.ceiling cards:
name: Ceiling - type: custom:decluttering-card
- type: horizontal-stack template: v3_section_title
cards: variables:
- type: custom:button-card - title: Sensors
template: [small, with_state_background] - type: horizontal-stack
entity: light.living_room cards:
name: Living room - type: custom:button-card
- type: custom:button-card template: v3_badge_temp
template: [small, with_state_background] entity: sensor.average_temperature
entity: light.living_room_main - type: custom:button-card
name: Main template: v3_badge_humidity
- type: custom:button-card entity: sensor.average_humidity
template: [small, with_state_background] - type: custom:button-card
entity: light.pc template: v3_badge_icon
- type: custom:button-card entity: sensor.active_motion_sensors
template: [small, with_state_background] icon: |
entity: light.living_room_ambient [[[
name: Ambient return entity.state === 0 ? 'mdi:motion-sensor-off' : 'mdi:motion-sensor';
- type: horizontal-stack ]]]
cards: state:
- type: custom:button-card - value: 0
template: [small, with_state_background] operator: '!='
entity: light.master_bedroom styles:
name: Bedroom card:
- type: custom:button-card - background-color: 'white'
template: [small, with_state_background] icon:
entity: light.master_bedroom_main - color: var(--primary-color)
name: Main - type: custom:button-card
- type: custom:button-card template: v3_badge_icon
template: [small, with_state_background] entity: sensor.open_window_count
entity: light.bed_led icon: |
name: Bed [[[
tap_action: return entity.state === 0 ? 'mdi:window-closed' : 'mdi:window-open';
action: call-service ]]]
service: script.bed_led_toggle state:
- type: custom:button-card - value: 0
template: [small, with_state_background] operator: '!='
entity: light.bedside styles:
name: Bedside card:
- type: horizontal-stack - background-color: 'white'
cards: icon:
- type: custom:button-card - color: var(--primary-color)
template: [small, with_state_background] - type: custom:button-card
entity: light.kitchen template: v3_badge_icon
name: Kitchen entity: sensor.open_door_count
- type: custom:button-card icon: |
template: [small, with_state_background] [[[
entity: light.hallway_main return entity.state === 0 ? 'mdi:door-closed' : 'mdi:door-open';
name: Hallway ]]]
- type: custom:button-card state:
template: [small, with_state_background] - value: 0
entity: light.hallway_entrance operator: '!='
name: Entrance styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
- type: custom:decluttering-card - type: custom:decluttering-card
template: media_with_controls template: v3_section_title
variables: variables:
- player: media_player.master_bedroom - title: Modes & Devices
- player_name: Bedroom - type: horizontal-stack
- title: "" cards:
- type: custom:button-card
template: v3_tablet_button
entity: input_select.hallway_dashboard_mode
name: Mode
styles:
card:
- background-color: var(--primary-color)
tap_action:
action: call-service
service: input_select.select_next
service_data:
entity_id: input_select.hallway_dashboard_mode
- type: custom:button-card
template: v3_tablet_button
entity: input_boolean.guest_mode
tap_action:
action: toggle
- type: custom:button-card
template: [v3_button_tv, v3_tablet_button]
entity: media_player.living_room_tv
name: TV
- type: horizontal-stack
cards:
- type: custom:button-card
template: [v3_button_ac, v3_tablet_button]
entity: climate.toshiba_ac
name: AC
tap_action:
action: call-service
service: script.toshiba_ac_toggle
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.living_room_radiator_mode
name: "Living room"
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.bedroom_radiator_mode
name: "Bedroom"
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.kitchen_radiator_mode
name: "Kitchen"
- type: horizontal-stack
cards:
- type: custom:button-card
template: [v3_button_cover, v3_tablet_button]
entity: cover.living_room
name: LR Cover
tap_action:
action: call-service
service: script.toggle_living_room_cover
- type: custom:button-card
template: [v3_button_purifier, v3_tablet_button]
entity: fan.philips_airpurifier
name: Air Purifier
- type: custom:button-card
template: v3_tablet_button
entity: vacuum.vacuum
name: Vacuum
- type: custom:button-card
template: v3_button_brita_water
variables:
long_state: false
styles:
card:
- width: 100px
- height: 100px
- border-radius: 16px
icon:
- top: 4px
- left: 12px
- width: 20px
- height: 20px
- --mdc-icon-size: 20px
state:
- bottom: 4px
- left: 12px
name:
- left: 12px
- bottom: 22px
- width: 60px
- font-size: 13px
# Column 2 # Column 2
- type: vertical-stack - type: vertical-stack
cards: cards:
- type: grid - type: custom:decluttering-card
columns: 4 template: v3_section_title
square: false variables:
cards: - title: Lights
- type: custom:button-card - type: horizontal-stack
template: [small, with_state_background] cards:
entity: input_boolean.speech_notifications - type: custom:button-card
name: Speech template: v3_tablet_button
- type: custom:button-card entity: light.living_room
template: [small, with_state_background] name: Living room
entity: binary_sensor.house_mode - type: custom:button-card
tap_action: template: v3_tablet_button
action: call-service entity: light.living_room_main
service: input_select.select_next name: Main
service_data: - type: custom:button-card
entity_id: input_select.house_mode template: v3_tablet_button
- type: custom:button-card entity: light.pc
template: [small, with_state_background] - type: custom:button-card
entity: input_boolean.guest_mode template: v3_tablet_button
tap_action: entity: light.living_room_ambient
action: toggle name: Ambient
- type: custom:button-card - type: horizontal-stack
template: [small, with_state_background] cards:
entity: switch.mercury_home_mode - type: custom:button-card
name: Mercury Home template: v3_tablet_button
entity: light.master_bedroom
name: Bedroom
- type: custom:button-card
template: v3_tablet_button
entity: light.master_bedroom_main
name: Main
- type: custom:button-card
template: v3_tablet_button
entity: light.bed_led
name: Bed
tap_action:
action: call-service
service: script.bed_led_toggle
- type: custom:button-card
template: v3_tablet_button
entity: light.bedside
name: Bedside
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_tablet_button
entity: light.kitchen
name: Kitchen
- type: custom:button-card
template: v3_tablet_button
entity: light.hallway_main
name: Hallway
- type: custom:button-card
template: v3_tablet_button
entity: light.hallway_entrance
name: Entrance
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Media
- type: custom:button-card - type: horizontal-stack
template: small cards:
entity: media_player.living_room_tv - type: custom:button-card
name: TV template: v3_xs_button
icon: mdi:television entity: media_player.master_bedroom
tap_action: name: Sonos
action: toggle - type: custom:button-card
state: template: v3_xs_button
- value: 'playing' show_state: false
styles: &on_styles entity: script.sonos_volume_10
card: icon: mdi:volume-medium
- background-color: var(--primary-color) name: Vol 10
- color: black tap_action:
icon: action: call-service
- color: black service: script.sonos_volume_10
- value: 'standby' - type: custom:button-card
styles: *on_styles template: v3_xs_button
- value: 'on' show_state: false
styles: *on_styles entity: script.sonos_volume_20
- value: 'home' icon: mdi:volume-high
styles: *on_styles name: Vol 20
- value: 'idle' tap_action:
styles: *on_styles action: call-service
service: script.sonos_volume_20
- type: custom:button-card - type: custom:button-card
template: [small, with_state_background, with_state_indicator] template: v3_xs_button
entity: switch.titanium entity: binary_sensor.sonos_is_bedroom_master
variables: name: Bedroom
state_indicator_id: automation.titanium_turn_off_when_idle icon: mdi:speaker-multiple
tap_action:
action: call-service
- type: custom:button-card service: script.sonos_join_bedroom
template: [ac_button, small] - type: custom:button-card
- type: custom:button-card template: v3_xs_button
template: [radiator_button, small] entity: binary_sensor.sonos_is_living_room_master
entity: climate.living_room_radiator_mode name: TV
name: "Living room" icon: mdi:speaker-multiple
- type: custom:button-card tap_action:
template: [radiator_button, small] action: call-service
entity: climate.bedroom_radiator_mode service: script.sonos_join_tv
name: "Bedroom" - type: horizontal-stack
- type: custom:button-card cards:
template: [radiator_button, small] - type: custom:button-card
entity: climate.kitchen_radiator_mode template: v3_xs_button
name: "Kitchen" entity: script.music_play
name: Chill
- type: custom:button-card icon: mdi:music
template: [with_state_background, cover, small] tap_action:
entity: cover.living_room action: toggle
name: LR Cover - type: custom:button-card
tap_action: template: v3_xs_button
action: call-service entity: script.music_play
service: script.toggle_living_room_cover name: Chill 2
- type: custom:button-card icon: mdi:music
template: [small, with_state_background, with_state_indicator] tap_action:
entity: fan.philips_airpurifier action: call-service
variables: service: script.music_play
state_indicator_id: binary_sensor.purifier_filter_needs_change service_data:
state_indicator_size: 5px playlist: "Songs for a Romantic Evening"
state_indicator_off_size: 0px shuffle: true
state_indicator_on_color: var(--color-red) volume_level: 0.1
state_on_indicator_on_color: var(--color-red) - type: custom:button-card
- type: custom:button-card template: v3_xs_button
template: [small, with_state_background] entity: script.music_play
entity: vacuum.vacuum name: Retro
name: Vacuum icon: mdi:music
- type: custom:button-card tap_action:
template: [brita_water, small] action: call-service
service: script.music_play
- type: horizontal-stack service_data:
cards: playlist: "Retro"
- type: "custom:mini-graph-card" styles:
name: Temperature card:
icon: mdi:thermometer - margin-bottom: 8px
entities:
- sensor.average_temperature
cache: false
group_by: hour
hours_to_show: 72
line_width: 2
- type: "custom:mini-graph-card"
name: Humidity
icon: mdi:water-percent
entities:
- sensor.average_humidity
cache: false
group_by: hour
hours_to_show: 72
line_width: 2
@@ -1,188 +1,298 @@
type: custom:layout-card type: custom:mod-card
layout_type: custom:horizontal-layout style:
layout: layout-card:
max_cols: 2 $:
cards: horizontal-layout:
# Column 1 $:
- type: vertical-stack .: |
cards: #columns {
- type: custom:button-card padding-left: 10px;
template: [hallway_dashboard_mode] margin: 0 20px;
- type: horizontal-stack grid-gap: 20px;
cards: }
- type: custom:button-card card:
template: half type: custom:layout-card
icon: none layout_type: custom:horizontal-layout
entity: light.all layout:
name: All max_cols: 2
- type: custom:button-card cards:
template: half # Column 1
icon: none - type: vertical-stack
entity: light.ceiling cards:
name: Ceiling - type: custom:decluttering-card
- type: horizontal-stack template: v3_section_title
cards: variables:
- type: custom:button-card - title: Welcome!
template: [small, with_state_background] - type: markdown
entity: light.living_room content: !include ../../templates/partials/tasks.yaml
name: Living room
- type: custom:button-card
template: [small, with_state_background]
entity: light.living_room_main
name: Main
- type: custom:button-card
template: [small, with_state_background]
entity: light.pc
- type: custom:button-card
template: [small, with_state_background]
entity: light.living_room_ambient
name: Ambient
- type: horizontal-stack
cards:
- type: custom:button-card
template: [small, with_state_background]
entity: light.master_bedroom
name: Bedroom
- type: custom:button-card
template: [small, with_state_background]
entity: light.master_bedroom_main
name: Main
- type: custom:button-card
template: [small, with_state_background]
entity: light.bed_led
name: Bed
tap_action:
action: call-service
service: script.bed_led_toggle
- type: custom:button-card
template: [small, with_state_background]
entity: light.bedside
name: Bedside
- type: horizontal-stack
cards:
- type: custom:button-card
template: [small, with_state_background]
entity: light.kitchen
name: Kitchen
- type: custom:button-card
template: [small, with_state_background]
entity: light.hallway_main
name: Hallway
- type: custom:button-card
template: [small, with_state_background]
entity: light.hallway_entrance
name: Entrance
- type: custom:decluttering-card - type: horizontal-stack
template: media_with_controls cards:
variables: - type: custom:button-card
- player: media_player.master_bedroom template: v3_badge_temp
- player_name: Bedroom entity: sensor.average_temperature
- title: "" - type: custom:button-card
template: v3_badge_humidity
entity: sensor.average_humidity
- type: custom:button-card
template: v3_badge_icon
entity: sensor.active_motion_sensors
icon: |
[[[
return entity.state === 0 ? 'mdi:motion-sensor-off' : 'mdi:motion-sensor';
]]]
state:
- value: 0
operator: '!='
styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
- type: custom:button-card
template: v3_badge_icon
entity: sensor.open_window_count
icon: |
[[[
return entity.state === 0 ? 'mdi:window-closed' : 'mdi:window-open';
]]]
state:
- value: 0
operator: '!='
styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
- type: custom:button-card
template: v3_badge_icon
entity: sensor.open_door_count
icon: |
[[[
return entity.state === 0 ? 'mdi:door-closed' : 'mdi:door-open';
]]]
state:
- value: 0
operator: '!='
styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
# Column 2 - type: custom:decluttering-card
- type: vertical-stack template: v3_section_title
cards: variables:
- type: grid - title: Modes & Devices
columns: 4 - type: horizontal-stack
square: false cards:
cards: - type: custom:button-card
- type: custom:button-card template: v3_tablet_button
template: [small, with_state_background] entity: input_select.hallway_dashboard_mode
entity: binary_sensor.georgi_home name: Mode
name: Georgi home? styles:
tap_action: card:
action: call-service - background-color: var(--primary-color)
service: input_boolean.toggle tap_action:
service_data: action: call-service
entity_id: input_boolean.georgi_home service: input_select.select_next
- type: custom:button-card service_data:
template: [small, with_state_background] entity_id: input_select.hallway_dashboard_mode
entity: input_boolean.speech_notifications
name: Speech
- type: custom:button-card
template: [small, with_state_background]
entity: input_boolean.guest_mode
tap_action:
action: toggle
- type: custom:button-card
template: [small, with_state_background]
entity: switch.mercury_home_mode
name: Mercury Home
- type: custom:button-card
template: small
entity: media_player.living_room_tv
name: TV
icon: mdi:television
tap_action:
action: toggle
state:
- value: 'playing'
styles: &on_styles
card:
- background-color: var(--primary-color)
- color: black
icon:
- color: black
- value: 'standby'
styles: *on_styles
- value: 'on'
styles: *on_styles
- value: 'home'
styles: *on_styles
- value: 'idle'
styles: *on_styles
- type: custom:button-card
template: [small, with_state_background, with_state_indicator]
entity: switch.titanium
variables:
state_indicator_id: automation.titanium_turn_off_when_idle
- type: custom:button-card
template: [ac_button, small]
- type: custom:button-card
template: [radiator_button, small]
entity: climate.living_room_radiator_mode
name: "Living room"
- type: custom:button-card
template: [radiator_button, small]
entity: climate.bedroom_radiator_mode
name: "Bedroom"
- type: custom:button-card
template: [radiator_button, small]
entity: climate.kitchen_radiator_mode
name: "Kitchen"
- type: custom:button-card
template: [with_state_background, cover, small]
entity: cover.living_room
name: LR Cover
tap_action:
action: call-service
service: script.toggle_living_room_cover
- type: custom:button-card
template: [small, with_state_background, with_state_indicator]
entity: fan.philips_airpurifier
variables:
state_indicator_id: binary_sensor.purifier_filter_needs_change
state_indicator_size: 5px
state_indicator_off_size: 0px
state_indicator_on_color: var(--color-red)
state_on_indicator_on_color: var(--color-red)
- type: custom:button-card
template: [small, with_state_background]
entity: vacuum.vacuum
name: Vacuum
- type: markdown - type: custom:button-card
content: !include ../../templates/partials/tasks.yaml template: v3_tablet_button
- type: entities entity: binary_sensor.georgi_home
entities: name: Georgi home?
- type: custom:decluttering-card tap_action:
template: percentage_card action: call-service
variables: service: input_boolean.toggle
- name: Quarantine service_data:
- entity: sensor.quarantined_percent entity_id: input_boolean.georgi_home
- icon: mdi:percent - type: custom:button-card
- orange: 100 template: v3_tablet_button
- red: 100 entity: input_boolean.guest_mode
- entity: sensor.quarantine_times_left tap_action:
name: Times left action: toggle
- type: custom:button-card
template: [v3_button_tv, v3_tablet_button]
entity: media_player.living_room_tv
name: TV
- type: horizontal-stack
cards:
- type: custom:button-card
template: [v3_button_ac, v3_tablet_button]
entity: climate.toshiba_ac
name: AC
tap_action:
action: call-service
service: script.toshiba_ac_toggle
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.living_room_radiator_mode
name: "Living room"
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.bedroom_radiator_mode
name: "Bedroom"
- type: custom:button-card
template: [v3_button_radiator, v3_tablet_button]
entity: climate.kitchen_radiator_mode
name: "Kitchen"
- type: horizontal-stack
cards:
- type: custom:button-card
template: [v3_button_cover, v3_tablet_button]
entity: cover.living_room
name: LR Cover
tap_action:
action: call-service
service: script.toggle_living_room_cover
- type: custom:button-card
template: [v3_button_purifier, v3_tablet_button]
entity: fan.philips_airpurifier
name: Air Purifier
- type: custom:button-card
template: v3_tablet_button
entity: vacuum.vacuum
name: Vacuum
# Column 2
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Lights
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_tablet_button
entity: light.living_room
name: Living room
- type: custom:button-card
template: v3_tablet_button
entity: light.living_room_main
name: Main
- type: custom:button-card
template: v3_tablet_button
entity: light.pc
- type: custom:button-card
template: v3_tablet_button
entity: light.living_room_ambient
name: Ambient
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_tablet_button
entity: light.master_bedroom
name: Bedroom
- type: custom:button-card
template: v3_tablet_button
entity: light.master_bedroom_main
name: Main
- type: custom:button-card
template: v3_tablet_button
entity: light.bed_led
name: Bed
tap_action:
action: call-service
service: script.bed_led_toggle
- type: custom:button-card
template: v3_tablet_button
entity: light.bedside
name: Bedside
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_tablet_button
entity: light.kitchen
name: Kitchen
- type: custom:button-card
template: v3_tablet_button
entity: light.hallway_main
name: Hallway
- type: custom:button-card
template: v3_tablet_button
entity: light.hallway_entrance
name: Entrance
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Media
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_xs_button
entity: media_player.master_bedroom
name: Sonos
- type: custom:button-card
template: v3_xs_button
show_state: false
entity: script.sonos_volume_10
icon: mdi:volume-medium
name: Vol 10
tap_action:
action: call-service
service: script.sonos_volume_10
- type: custom:button-card
template: v3_xs_button
show_state: false
entity: script.sonos_volume_20
icon: mdi:volume-high
name: Vol 20
tap_action:
action: call-service
service: script.sonos_volume_20
- type: custom:button-card
template: v3_xs_button
entity: binary_sensor.sonos_is_bedroom_master
name: Bedroom
icon: mdi:speaker-multiple
tap_action:
action: call-service
service: script.sonos_join_bedroom
- type: custom:button-card
template: v3_xs_button
entity: binary_sensor.sonos_is_living_room_master
name: TV
icon: mdi:speaker-multiple
tap_action:
action: call-service
service: script.sonos_join_tv
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_xs_button
entity: script.music_play
name: Chill
icon: mdi:music
tap_action:
action: toggle
- type: custom:button-card
template: v3_xs_button
entity: script.music_play
name: Chill 2
icon: mdi:music
tap_action:
action: call-service
service: script.music_play
service_data:
playlist: "Songs for a Romantic Evening"
shuffle: true
volume_level: 0.1
- type: custom:button-card
template: v3_xs_button
entity: script.music_play
name: Retro
icon: mdi:music
tap_action:
action: call-service
service: script.music_play
service_data:
playlist: "Retro"
styles:
card:
- margin-bottom: 8px
@@ -1,68 +1,117 @@
type: custom:layout-card type: custom:mod-card
layout_type: custom:horizontal-layout style:
layout: layout-card:
max_cols: 2 $:
cards: horizontal-layout:
- type: vertical-stack $:
cards: .: |
- type: custom:button-card #columns {
template: [hallway_dashboard_mode] padding-left: 10px;
- type: custom:weather-card margin: 0 20px;
entity: weather.dark_sky grid-gap: 20px;
- type: custom:sun-card }
darkMode: true card:
- type: vertical-stack type: custom:layout-card
cards: layout_type: custom:horizontal-layout
- type: grid layout:
square: false max_cols: 2
columns: 4 cards:
cards: - type: vertical-stack
- type: custom:button-card cards:
template: [with_state_background, cover, small] - type: custom:decluttering-card
entity: cover.living_room template: v3_section_title
name: LR Cover variables:
tap_action: - title: Sensors
action: call-service - type: horizontal-stack
service: script.toggle_living_room_cover cards:
- type: custom:button-card - type: custom:button-card
template: [small, with_state_background] template: v3_badge
entity: binary_sensor.living_room_right_window entity: sensor.quarantined_percent
name: Living room - type: custom:button-card
- type: custom:button-card template: v3_badge
template: [small, with_state_background] entity: sensor.quarantine_times_left
entity: binary_sensor.bedroom_left_window - type: custom:button-card
name: Bedroom left template: v3_badge_icon
- type: custom:button-card entity: sensor.active_motion_sensors
template: [small, with_state_background] icon: |
entity: binary_sensor.bedroom_right_window [[[
name: Bedroom right return entity.state === 0 ? 'mdi:motion-sensor-off' : 'mdi:motion-sensor';
- type: custom:button-card ]]]
template: [small, with_state_background] state:
entity: binary_sensor.kitchen_window - value: 0
name: Kitchen operator: '!='
- type: custom:button-card styles:
template: [small, with_state_background] card:
entity: binary_sensor.front_door - background-color: 'white'
- type: custom:button-card icon:
template: [small, with_state_background] - color: var(--primary-color)
entity: binary_sensor.bedroom_door - type: custom:button-card
template: v3_badge_icon
entity: sensor.open_window_count
icon: |
[[[
return entity.state === 0 ? 'mdi:window-closed' : 'mdi:window-open';
]]]
state:
- value: 0
operator: '!='
styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
- type: custom:button-card
template: v3_badge_icon
entity: sensor.open_door_count
icon: |
[[[
return entity.state === 0 ? 'mdi:door-closed' : 'mdi:door-open';
]]]
state:
- value: 0
operator: '!='
styles:
card:
- background-color: 'white'
icon:
- color: var(--primary-color)
- type: custom:mini-graph-card - type: custom:decluttering-card
hours_to_show: 72 template: v3_section_title
line_width: 2 variables:
entities: - title: Modes & Devices
- sensor.dark_sky_precip_probability - type: horizontal-stack
- sensor.dark_sky_cloud_coverage cards:
- type: custom:button-card
template: v3_tablet_button
entity: input_select.hallway_dashboard_mode
name: Mode
styles:
card:
- background-color: var(--primary-color)
tap_action:
action: call-service
service: input_select.select_next
service_data:
entity_id: input_select.hallway_dashboard_mode
- type: custom:button-card
template: [v3_button_cover, v3_tablet_button]
entity: cover.living_room
name: LR Cover
tap_action:
action: call-service
service: script.toggle_living_room_cover
- type: entities
entities: - type: custom:sun-card
- type: custom:decluttering-card darkMode: true
template: percentage_card - type: vertical-stack
variables: cards:
- name: Quarantine - type: custom:weather-card
- entity: sensor.quarantined_percent entity: weather.dark_sky
- icon: mdi:percent - type: custom:mini-graph-card
- orange: 100 hours_to_show: 72
- red: 100 line_width: 2
- entity: sensor.quarantine_times_left entities:
name: Times left - sensor.dark_sky_precip_probability
- sensor.dark_sky_cloud_coverage
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #FF7900
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -13,20 +18,31 @@
type: custom:layout-card type: custom:layout-card
layout_type: custom:horizontal-layout layout_type: custom:horizontal-layout
layout: layout:
max_cols: 2 max_cols: 3
cards: cards:
- type: vertical-stack - type: vertical-stack
cards: cards:
- type: custom:decluttering-card - type: custom:decluttering-card
template: media_with_controls template: v3_title
variables: variables:
- player: media_player.bathroom
- player_name: Bathroom
- title: Bathroom - title: Bathroom
- type: custom:decluttering-card
template: climate_card - type: horizontal-stack
variables: cards:
- title: "Climate" - type: custom:button-card
- main_entity: sensor.bathroom_weather_temperature template: v3_badge_temp
- left_entity: sensor.bathroom_weather_humidity entity: sensor.bathroom_weather_temperature
- right_entity: sensor.bathroom_weather_pressure - type: custom:button-card
template: v3_badge_humidity
entity: sensor.bathroom_weather_humidity
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Devices
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: media_player.bathroom
name: Sonos
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #871CAB
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -16,141 +21,140 @@
max_cols: 3 max_cols: 3
cards: cards:
- type: vertical-stack - type: vertical-stack
title: Bedroom
cards: cards:
- type: custom:decluttering-card
template: v3_title
variables:
- title: Bedroom
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: default template: v3_badge_temp
entity: light.master_bedroom entity: sensor.bedroom_weather_temperature
name: Bedroom state_display: "[[[return entity.state.split(' ')[0] + '°']]]"
- type: custom:button-card - type: custom:button-card
template: default template: v3_badge_humidity
entity: sensor.bedroom_weather_humidity
- type: custom:button-card
template: v3_badge
entity: sensor.purifier_air_quality
state_display: "[[[return entity.state.split(' ')[0] + ' pm2.5']]]"
variables:
state_size: "11px"
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.bedroom_left_window
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.bedroom_right_window
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.bedroom_door
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Scenes
- type: custom:decluttering-card
template: v3_horizontal_stack_card
variables:
- cards:
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_neon
name: Neon
variables:
scene_color_1: rgb(255, 0, 190)
scene_color_2: rgb(0, 255, 190)
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_ambient_neon
name: Ambient neon
variables:
scene_color_1: rgb(255, 0, 190)
scene_color_2: rgb(0, 255, 190)
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_default
name: Regular
variables:
scene_color_1: rgb(254, 255, 209)
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_ambient_default
name: Ambient regular
variables:
scene_color_1: rgb(254, 255, 209)
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_pink
name: Pink
variables:
scene_color_1: rgb(255, 92, 38)
scene_color_2: rgb(255, 0, 190)
- type: custom:button-card
template: v3_scene
entity: scene.bedroom_ambient_pink
name: Ambient pink
variables:
scene_color_1: rgb(255, 92, 38)
scene_color_2: rgb(255, 0, 190)
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Lights
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button_light
entity: light.master_bedroom
name: All
- type: custom:button-card
template: v3_button_light
entity: light.master_bedroom_main entity: light.master_bedroom_main
name: Main name: Main
- type: custom:button-card - type: custom:button-card
template: default template: v3_button_light
entity: light.bed_led
name: Bed
tap_action:
action: call-service
service: script.bed_led_toggle
- type: custom:button-card
template: default
entity: light.bedside entity: light.bedside
name: Bedside name: Bedside
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: [small, scene] template: v3_button_light
entity: scene.bedroom_ambient_neon entity: light.bed_led
name: Neon name: Bed
variables:
scene_color_1: rgb(255, 0, 190)
scene_color_2: rgb(0, 255, 190)
tap_action:
action: call-service
service: script.apply_bedroom_neon
- type: custom:button-card
template: [small, scene]
entity: scene.bedroom_ambient_neon
name: Ambient neon
variables:
scene_color_1: rgb(255, 0, 190)
scene_color_2: rgb(0, 255, 190)
tap_action:
action: call-service
service: script.apply_bedroom_ambient_neon
- type: custom:button-card
template: [small, scene]
entity: scene.bedroom_default
name: Regular
variables:
scene_color_1: rgb(254, 255, 209)
- type: custom:button-card
template: [small, scene]
entity: scene.bedroom_ambient_default
name: Ambient regular
variables:
scene_color_1: rgb(254, 255, 209)
- type: custom:button-card
template: [small, scene]
entity: scene.bedroom_ambient_pink
name: Ambient pink
tap_action:
action: call-service
service: script.apply_bedroom_pink
variables:
scene_color_1: rgb(255, 92, 38)
scene_color_2: rgb(255, 0, 190)
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Devices
- type: horizontal-stack - type: horizontal-stack
title: Climate
cards: cards:
- type: custom:button-card - type: custom:button-card
template: radiator_button template: v3_button
entity: climate.bedroom_radiator_mode entity: media_player.master_bedroom
name: Sonos
- type: custom:button-card - type: custom:button-card
template: [default, with_state_indicator] template: v3_button_purifier
entity: fan.philips_airpurifier entity: fan.philips_airpurifier
variables: name: Air Purifier
state_indicator_id: binary_sensor.purifier_filter_needs_change
state_indicator_size: 5px
state_indicator_off_size: 0px
state_indicator_on_color: var(--color-red)
state_on_indicator_on_color: var(--color-red)
- type: custom:button-card - type: custom:button-card
template: default template: v3_button_radiator
entity: sensor.purifier_speed entity: climate.bedroom_radiator_mode
tap_action: name: Radiator
action: call-service
service: input_select.select_next
service_data:
entity_id: input_select.purifier_speed
- type: custom:button-card
template: default
entity: sensor.purifier_function
tap_action:
action: call-service
service: script.purifier_toggle_function
- type: custom:decluttering-card
template: purifier_target_humidity
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_door
name: Door
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_left_window
name: Left window
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_right_window
name: Right window
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: climate_card
variables:
- title: "Climate"
- main_entity: sensor.bedroom_weather_temperature
- left_entity: sensor.bedroom_weather_humidity
- right_entity: sensor.bedroom_weather_pressure
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: media_with_controls
variables:
- player: media_player.master_bedroom
- player_name: Bedroom
- type: vertical-stack - type: vertical-stack
title: Camera
cards: cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Camera
- type: picture-glance - type: picture-glance
camera_image: camera.bedroom_hd camera_image: camera.bedroom_hd
entities: entities:
@@ -1,30 +0,0 @@
- type: custom:mod-card
style:
layout-card:
$:
horizontal-layout:
$:
.: |
#columns {
margin: 0 20px;
grid-gap: 20px;
}
card:
type: custom:layout-card
layout_type: custom:horizontal-layout
layout:
max_cols: 2
cards:
- type: vertical-stack
title: Living Room
cards:
- type: picture-glance
camera_image: camera.mercury_amcrest_1
entities: []
- type: vertical-stack
title: Bedroom
cards:
- type: picture-glance
camera_image: camera.mercury_bedroom
entities: []
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #188A9C
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -13,54 +18,44 @@
type: custom:layout-card type: custom:layout-card
layout_type: custom:horizontal-layout layout_type: custom:horizontal-layout
layout: layout:
max_cols: 2 max_cols: 3
cards: cards:
- type: vertical-stack
title: Hallway
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: light.hallway
name: Hallway
- type: custom:button-card
template: default
entity: light.hallway_entrance
name: Entrance
- type: custom:button-card
template: default
entity: light.hallway_main
name: Main
- type: horizontal-stack
title: "Sensors"
cards:
- type: custom:button-card
template: default
entity: binary_sensor.front_door
name: Front door
- type: custom:button-card
template: [default, with_state_indicator]
entity: group.hallway_motion
name: Motion
variables:
state_indicator_id: automation.lighting_hallway_motion_on
- type: custom:button-card
template: [regular, progress]
entity: sensor.hallway_motion_illuminance
name: Lux
variables:
min_value: 0
max_value: 1000
normal_value: 1000
- type: vertical-stack - type: vertical-stack
cards: cards:
- type: custom:decluttering-card - type: custom:decluttering-card
template: climate_card template: v3_title
variables: variables:
- title: "Climate" - title: Hallway
- main_entity: sensor.hallway_weather_temperature - type: horizontal-stack
- left_entity: sensor.hallway_weather_humidity cards:
- right_entity: sensor.hallway_weather_pressure - type: custom:button-card
template: v3_badge_temp
entity: sensor.hallway_weather_temperature
- type: custom:button-card
template: v3_badge_humidity
entity: sensor.hallway_weather_humidity
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.hallway_motion_occupancy
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.front_door
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Lights
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button_light
entity: light.hallway
name: All
- type: custom:button-card
template: v3_button_light
entity: light.hallway_main
name: Main
- type: custom:button-card
template: v3_button_light
entity: light.hallway_entrance
name: Entrance
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #58892D
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -9,72 +14,4 @@
margin: 0 20px; margin: 0 20px;
grid-gap: 20px; grid-gap: 20px;
} }
card: card: !include kitchen_dashboard_card.yaml
type: custom:layout-card
layout_type: custom:horizontal-layout
layout:
max_cols: 2
cards:
- type: vertical-stack
title: Kitchen
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: light.kitchen
name: Kitchen
- type: custom:button-card
template: default
entity: light.kitchen_main
name: Main
- type: custom:button-card
template: default
entity: light.kitchen_secondary
name: Secondary
- type: vertical-stack
cards:
- type: custom:button-card
template: half
entity: light.hallway_entrance
name: Entrance
- type: custom:button-card
template: half
entity: light.hallway_main
name: Hallway
styles:
card:
- height: 46px
- type: horizontal-stack
title: Devices
cards:
- type: custom:button-card
template: brita_water
- type: custom:button-card
template: radiator_button
entity: climate.kitchen_radiator_mode
- type: custom:button-card
template: default
entity: vacuum.vacuum
name: Vacuum
- type: custom:button-card
template: default
entity: binary_sensor.kitchen_window
name: Window
- type: custom:decluttering-card
template: media_with_controls
variables:
- player: media_player.kitchen
- player_name: Kitchen
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: climate_card
variables:
- title: "Climate"
- main_entity: sensor.kitchen_weather_temperature
- left_entity: sensor.kitchen_weather_humidity
- right_entity: sensor.kitchen_weather_pressure
@@ -0,0 +1,70 @@
type: custom:layout-card
layout_type: custom:horizontal-layout
layout:
max_cols: 3
cards:
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_title
variables:
- title: Kitchen
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_badge_temp
entity: sensor.kitchen_weather_temperature
- type: custom:button-card
template: v3_badge_humidity
entity: sensor.kitchen_weather_humidity
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.kitchen_motion_occupancy
- type: custom:button-card
template: v3_badge_icon
entity: binary_sensor.kitchen_window
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Lights
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button_light
entity: light.kitchen
name: All
- type: custom:button-card
template: v3_button_light
entity: light.kitchen_main
name: Main
- type: custom:button-card
template: v3_button_light
entity: light.kitchen_secondary
name: Secondary
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Devices
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button_brita_water
- type: custom:button-card
template: v3_button_radiator
entity: climate.kitchen_radiator_mode
name: Radiator
- type: custom:button-card
template: v3_button
entity: vacuum.vacuum
name: Vacuum
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: media_player.kitchen
name: Sonos
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #0040A0
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -16,137 +21,127 @@
max_cols: 3 max_cols: 3
cards: cards:
- type: vertical-stack - type: vertical-stack
title: Living room
cards: cards:
- type: custom:decluttering-card
template: v3_title
variables:
- title: Living room
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: default template: v3_badge_temp
entity: light.living_room entity: sensor.multisensor_6_temperature
name: Living room
- type: custom:button-card - type: custom:button-card
template: default template: v3_badge_humidity
entity: light.living_room_main entity: sensor.multisensor_6_relative_humidity
name: Main
- type: custom:button-card - type: custom:button-card
template: default template: v3_badge_icon
entity: light.pc entity: binary_sensor.living_room_right_window
name: PC
- type: custom:button-card - type: custom:decluttering-card
template: default template: v3_section_title
entity: light.living_room_ambient variables:
name: Ambient - title: Scenes
- type: vertical-stack - type: vertical-stack
cards:
- type: custom:button-card
template: half
entity: light.living_room_ambient_main
name: Main
- type: custom:button-card
template: half
entity: light.light_avatar_small_1
name: Secondary
styles:
card:
- height: 46px
- type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: [small, scene] template: v3_scene
entity: scene.living_room_ambient_neon entity: scene.living_room_ambient_neon
name: Neon name: Neon
variables: variables:
scene_color_1: rgb(255, 0, 190) scene_color_1: rgba(255, 0, 190, 0.7)
scene_color_2: rgb(0, 255, 190) scene_color_2: rgba(0, 255, 190, 0.7)
- type: custom:button-card - type: custom:button-card
template: [small, scene] template: v3_scene
entity: scene.living_room_ambient_default entity: scene.living_room_ambient_default
name: Regular name: Warm
variables: variables:
scene_color_1: rgb(254, 255, 209) scene_color_1: rgba(240, 240, 190, 0.7)
scene_color_2: rgba(255, 210, 170, 0.7)
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Lights
- type: horizontal-stack - type: horizontal-stack
title: Devices
cards: cards:
- type: custom:button-card - type: custom:button-card
template: [default, cover] template: v3_button_light
entity: light.living_room
name: All
- type: custom:button-card
template: v3_button_light
entity: light.living_room_main
name: Main
- type: custom:button-card
template: v3_button_light
entity: light.pc
name: PC
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button_light
entity: light.living_room_ambient
name: Ambient
- type: custom:button-card
template: v3_button_light
entity: light.living_room_ambient_main
name: Ambient Main
- type: custom:button-card
template: v3_button
entity: light.light_avatar_small_1
name: Ambient 2nd
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: "Devices"
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: media_player.living_room
name: Sonos
- type: custom:button-card
template: v3_button_tv
entity: media_player.living_room_tv
name: TV
- type: custom:button-card
template: v3_button_cover
entity: cover.living_room entity: cover.living_room
name: Cover name: Blinds
tap_action: tap_action:
action: call-service action: call-service
service: script.toggle_living_room_cover service: script.toggle_living_room_cover
- type: custom:button-card
template: radiator_button
entity: climate.living_room_radiator_mode
- type: custom:button-card
template: ac_button
- type: custom:button-card
template: default
entity: binary_sensor.living_room_right_window
name: Window
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: default template: v3_button_radiator
entity: media_player.living_room_tv entity: climate.living_room_radiator_mode
name: TV name: Radiator
icon: mdi:television - type: custom:button-card
template: v3_button_ac
entity: climate.toshiba_ac
name: AC
tap_action: tap_action:
action: toggle action: call-service
state: service: script.toshiba_ac_toggle
- value: 'playing'
styles: &on_styles
card:
- background-color: var(--primary-color)
- color: black
icon:
- color: black
- value: 'standby'
styles: *on_styles
- value: 'on'
styles: *on_styles
- value: 'home'
styles: *on_styles
- value: 'idle'
styles: *on_styles
- type: custom:button-card
template: [default, with_state_indicator]
entity: switch.titanium
variables:
state_indicator_id: automation.titanium_turn_off_when_idle
- type: custom:button-card - type: custom:button-card
template: [regular, progress] template: v3_button_power
entity: sensor.desk_outlet_power entity: switch.desk_outlet
name: Desk power name: Desk Outlet
variables: variables:
min_value: 1 power_sensor: sensor.desk_outlet_power
max_value: 800
normal_value: 100
high_value: 300
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: climate_card
variables:
- title: "Climate"
- main_entity: sensor.multisensor_6_temperature
- left_entity: sensor.multisensor_6_relative_humidity
- left_name: Humidity (6)
- right_entity: sensor.multisensor_6_luminance
- right_name: Luminance (6)
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: media_with_controls
variables:
- player: media_player.living_room
- player_name: Living room
- type: vertical-stack - type: vertical-stack
title: Camera
cards: cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Camera
- type: picture-glance - type: picture-glance
camera_image: camera.mercury_amcrest_1 camera_image: camera.mercury_amcrest_1
entities: [] entities: []
@@ -1,271 +0,0 @@
- type: custom:mod-card
style:
layout-card:
$:
horizontal-layout:
$:
.: |
#columns {
margin: 0 20px;
grid-gap: 20px;
}
card:
type: custom:layout-card
layout_type: custom:horizontal-layout
layout:
max_cols: 3
cards:
# Column 1
- type: vertical-stack
cards:
- type: vertical-stack
title: Lights
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: half
icon: none
entity: light.all
name: All
- type: custom:button-card
template: half
icon: none
entity: light.ceiling
name: Ceiling
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: light.living_room
name: Living room
- type: custom:button-card
template: default
entity: light.living_room_main
name: Main
- type: custom:button-card
template: default
entity: light.pc
- type: custom:button-card
template: default
entity: light.living_room_ambient
name: Ambient
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: light.master_bedroom
name: Bedroom
- type: custom:button-card
template: default
entity: light.master_bedroom_main
name: Main
- type: custom:button-card
template: default
entity: light.bed_led
name: Bed
tap_action:
action: call-service
service: script.bed_led_toggle
- type: custom:button-card
template: default
entity: light.bedside
name: Bedside
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: light.kitchen
name: Kitchen
- type: custom:button-card
template: default
entity: light.hallway_main
name: Hallway
- type: custom:button-card
template: default
entity: light.hallway_entrance
name: Entrance
- type: vertical-stack
title: Climate
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: [regular, progress]
entity: sensor.average_temperature
icon: mdi:thermometer
state_display: "[[[ return Math.round(entity.state) + ' °C' ]]]"
- type: custom:button-card
template: [regular, progress]
entity: sensor.average_humidity
icon: mdi:water-percent
state_display: "[[[ return Math.round(entity.state) + ' %' ]]]"
variables:
min_value: 25
max_value: 90
normal_value: 40
high_value: 65
low_color: "var(--color-red)"
# Column 2
- type: vertical-stack
cards:
- type: vertical-stack
cards:
- type: vertical-stack
title: Devices
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: [default, cover]
entity: cover.living_room
name: LR Cover
tap_action:
action: call-service
service: script.toggle_living_room_cover
- type: custom:button-card
template: regular
entity: media_player.living_room_tv
name: TV
icon: mdi:television
tap_action:
action: toggle
state:
- value: 'playing'
styles: &on_styles
card:
- background-color: var(--primary-color)
- color: black
icon:
- color: black
- value: 'standby'
styles: *on_styles
- value: 'on'
styles: *on_styles
- value: 'home'
styles: *on_styles
- value: 'idle'
styles: *on_styles
- type: custom:button-card
template: [default, with_state_indicator]
entity: switch.titanium
variables:
state_indicator_id: automation.titanium_turn_off_when_idle
- type: custom:button-card
template: default
entity: binary_sensor.pi_hole_enabled
name: Pi-Hole
icon: mdi:pi-hole
- type: horizontal-stack
cards:
- type: custom:button-card
template: ac_button
- type: custom:button-card
template: radiator_button
entity: climate.living_room_radiator_mode
name: "Living room"
- type: custom:button-card
template: radiator_button
entity: climate.bedroom_radiator_mode
name: "Bedroom"
- type: custom:button-card
template: radiator_button
entity: climate.kitchen_radiator_mode
name: "Kitchen"
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: camera.mercury_amcrest_1
name: Living Room
- type: custom:button-card
template: default
entity: switch.tapo_bedroom
name: Bedroom
- type: custom:button-card
template: [default, with_state_indicator]
entity: fan.philips_airpurifier
variables:
state_indicator_id: binary_sensor.purifier_filter_needs_change
state_indicator_size: 5px
state_indicator_off_size: 0px
state_indicator_on_color: var(--color-red)
state_on_indicator_on_color: var(--color-red)
- type: custom:button-card
template: default
entity: vacuum.vacuum
name: Vacuum
- type: custom:button-card
template: brita_water
- type: vertical-stack
title: Sensors
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: binary_sensor.living_room_right_window
name: Living room
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_left_window
name: Bedroom left
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_right_window
name: Bedroom right
- type: custom:button-card
template: default
entity: binary_sensor.kitchen_window
name: Kitchen
- type: horizontal-stack
cards:
- type: custom:button-card
template: default
entity: binary_sensor.georgi_home
tap_action:
action: call-service
service: input_boolean.toggle
service_data:
entity_id: input_boolean.georgi_home
- type: custom:button-card
template: default
entity: binary_sensor.front_door
- type: custom:button-card
template: default
entity: binary_sensor.bedroom_door
# Column 3
- type: vertical-stack
cards:
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: media_with_controls
variables:
- player: media_player.master_bedroom
- player_name: Bedroom
- type: custom:decluttering-card
template: sonos_media_player_small
variables:
- player: media_player.living_room
- name: Living room
- type: custom:decluttering-card
template: sonos_media_player_small
variables:
- player: media_player.kitchen
- name: Kitchen
- type: custom:decluttering-card
template: sonos_media_player_small
variables:
- player: media_player.bathroom
- name: Bathroom
@@ -1,6 +1,11 @@
- type: custom:mod-card - type: custom:mod-card
style: style:
layout-card: layout-card:
.: |
* {
--primary-color: #6A737A
}
$: $:
horizontal-layout: horizontal-layout:
$: $:
@@ -13,78 +18,99 @@
type: custom:layout-card type: custom:layout-card
layout_type: custom:horizontal-layout layout_type: custom:horizontal-layout
layout: layout:
max_cols: 2 max_cols: 3
cards: cards:
- type: vertical-stack - type: vertical-stack
title: Temperature
cards: cards:
- type: entities - type: custom:decluttering-card
show_header_toggle: false template: v3_title
entities: variables:
- input_boolean.heating_enabled - title: Preferences
- input_number.radiators_temperature
- script.turn_on_all_radiators
- type: divider
- input_boolean.ac_heating
- input_number.toshiba_heat_temp
- input_number.toshiba_cool_temp
- input_number.toshiba_trigger_temp
- type: entities
entities:
- input_number.bathroom_high_volume
- type: vertical-stack
title: Controls
cards:
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: [default, with_state_indicator, with_state_background] template: [v3_button, with_state_indicator]
entity: input_boolean.alarm_enabled entity: input_boolean.alarm_enabled
state_display: >- state_display: >-
[[[ [[[
if (entity.state === 'off') { return 'Off'; }
const time = states['input_datetime.alarm_time'].state; const time = states['input_datetime.alarm_time'].state;
return time.split(':').slice(0, -1).join(':'); return time.split(':').slice(0, -1).join(':');
]]] ]]]
show_state: true name: Alarm
show_name: false
styles:
icon:
- transform: translateY(0) # adjusted for state indicator size
state:
- transform: translateY(-8px) # adjusted for state indicator size
variables: variables:
state_indicator_id: automation.alarm_set_time state_indicator_id: automation.alarm_set_time
- type: custom:button-card - type: custom:button-card
template: default template: v3_button
entity: input_boolean.speech_notifications entity: input_boolean.speech_notifications
name: Speech name: Speech
- type: custom:button-card - type: custom:button-card
template: default template: v3_button
entity: binary_sensor.house_mode entity: input_select.house_mode
name: House name: House
tap_action: tap_action:
action: call-service action: call-service
service: input_select.select_next service: input_select.select_next
service_data: service_data:
entity_id: input_select.house_mode entity_id: input_select.house_mode
- type: custom:button-card
template: default
name: Guests
entity: input_boolean.guest_mode
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: custom:button-card - type: custom:button-card
template: default template: v3_button
name: Guests
entity: input_boolean.guest_mode
- type: custom:button-card
template: v3_button
entity: input_boolean.simulation_mode entity: input_boolean.simulation_mode
name: Simulation name: Simulation
- type: custom:button-card - type: custom:button-card
template: default template: v3_button
entity: switch.mercury_home_mode entity: switch.mercury_home_mode
name: Mercury name: Mercury
- type: horizontal-stack
cards:
- type: custom:button-card - type: custom:button-card
template: default template: v3_button
entity: binary_sensor.pi_hole_enabled entity: binary_sensor.pi_hole_enabled
name: Pi-Hole name: Pi-Hole
icon: mdi:pi-hole icon: mdi:pi-hole
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Media
- type: entities
entities:
- input_number.bathroom_high_volume
- type: vertical-stack
cards:
- type: custom:decluttering-card
template: v3_section_title
variables:
- title: Climate
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: input_boolean.heating_enabled
name: Central Heating
- type: custom:button-card
template: v3_button
entity: input_boolean.ac_heating
name: AC Heating
- type: custom:button-card
template: v3_button
entity: script.turn_on_all_radiators
name: Turn On Radiators
- type: entities
show_header_toggle: false
entities:
- input_number.radiators_temperature
- type: divider
- input_number.toshiba_heat_temp
- input_number.toshiba_cool_temp
- input_number.toshiba_trigger_temp
+141 -39
View File
@@ -1,10 +1,15 @@
binary_sensor.house_mode: binary_sensor.house_mode:
title: House mode title: House mode
style: &popup_style style: &popup_style |
"--ha-card-border-radius": 0 0 0.8em 0.8em ha-dialog {
border-radius: 0.8em --mdc-dialog-min-width: 400px !important;
opacity: 0.95 --mdc-dialog-max-width: 500px !important;
width: 500px }
.content {
width: auto !important;
}
card: card:
type: entities type: entities
entities: entities:
@@ -79,38 +84,45 @@ binary_sensor.camera_state:
show_name: true show_name: true
show_state: true show_state: true
media_player.kitchen: media_player.living_room:
title: Kitchen Sonos title: Living room Sonos
style: *popup_style
card: card:
type: custom:decluttering-card type: custom:decluttering-card
template: sonos_media_player template: v3_media_with_controls
variables:
- player: media_player.living_room
- player_name: Living room
- title: ""
media_player.kitchen:
title: Kitchen Sonos
card:
type: custom:decluttering-card
template: v3_media_with_controls
variables: variables:
- player: media_player.kitchen - player: media_player.kitchen
- name: Kitchen - player_name: Kitchen
- sync_volume: false - title: ""
media_player.bathroom: media_player.bathroom:
title: Bathroom Sonos title: Bathroom Sonos
style: *popup_style
card: card:
type: custom:decluttering-card type: custom:decluttering-card
template: sonos_media_player template: v3_media_with_controls
variables: variables:
- player: media_player.bathroom - player: media_player.bathroom
- name: Bathroom - player_name: Bathroom
- sync_volume: false - title: ""
media_player.master_bedroom: media_player.master_bedroom:
title: Master bedroom Sonos title: Bedroom Sonos
style: *popup_style
card: card:
type: custom:decluttering-card type: custom:decluttering-card
template: sonos_media_player template: v3_media_with_controls
variables: variables:
- player: media_player.master_bedroom - player: media_player.master_bedroom
- name: Bedroom - player_name: Bedroom
- sync_volume: false - title: ""
media_player.nvidia_shield: &nvidia_shield media_player.nvidia_shield: &nvidia_shield
title: TV title: TV
@@ -150,20 +162,21 @@ media_player.nvidia_shield: &nvidia_shield
action: call-service action: call-service
service: script.tv_bulsatcom_toggle service: script.tv_bulsatcom_toggle
- type: "custom:mini-media-player" - type: custom:mini-media-player
entity: media_player.nvidia_shield entity: media_player.nvidia_shield
- type: "custom:mini-media-player" - type: custom:mini-media-player
entity: media_player.living_room_tv entity: media_player.living_room_tv
- type: custom:decluttering-card - type: custom:decluttering-card
template: sonos_media_player template: sonos_media_player
variables: variables:
- player: media_player.living_room - player: media_player.living_room
- name: Living room - name: Sonos
- sync_volume: false - sync_volume: false
- type: horizontal-stack - type: horizontal-stack
title: Remotes
cards: cards:
- type: custom:decluttering-card - type: custom:decluttering-card
template: hdmi_switch_remote_card template: hdmi_switch_remote_card
@@ -172,23 +185,112 @@ media_player.nvidia_shield: &nvidia_shield
media_player.living_room_tv: *nvidia_shield media_player.living_room_tv: *nvidia_shield
light.living_room_main:
title: Living room lights sensor.active_motion_sensors:
style: *popup_style title: Active motion sensors
card: card:
type: custom:mod-card type: vertical-stack
card: cards:
type: custom:light-popup-card - type: horizontal-stack
entity: light.living_room_main cards:
fullscreen: false - type: custom:button-card
supportedFeaturesTreshold: -1 template: v3_button
actionsInARow: 2 entity: binary_sensor.hallway_motion_occupancy
actions: name: Hallway Entrance
- service: light.toggle styles:
service_data: card:
entity_id: light.living_room_main - margin-left: 8px
color: "#ffffcc" variables:
name: Toggle background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_button
entity: binary_sensor.trisensor_motion
name: Hallway
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_button
entity: binary_sensor.multisensor_motion
name: Living Room
variables:
background_color: rgba(60, 60, 60, 1)
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: binary_sensor.kitchen_motion_occupancy
name: Kitchen
styles:
card:
- margin-left: 8px
- margin-bottom: 8px
variables:
background_color: rgba(60, 60, 60, 1)
sensor.open_door_count:
title: Open doors
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: binary_sensor.front_door
styles:
card:
- margin-left: 8px
- margin-bottom: 8px
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_button
entity: binary_sensor.bedroom_door
name: Bedroom
variables:
background_color: rgba(60, 60, 60, 1)
sensor.open_window_count:
title: Open windows
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: binary_sensor.living_room_right_window
name: Living Room
styles:
card:
- margin-left: 8px
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_button
entity: binary_sensor.bedroom_left_window
name: Bedroom Left
variables:
background_color: rgba(60, 60, 60, 1)
- type: custom:button-card
template: v3_button
entity: binary_sensor.bedroom_right_window
name: Bedroom Right
variables:
background_color: rgba(60, 60, 60, 1)
- type: horizontal-stack
cards:
- type: custom:button-card
template: v3_button
entity: binary_sensor.kitchen_window
name: Kitchen
styles:
card:
- margin-left: 8px
- margin-bottom: 8px
variables:
background_color: rgba(60, 60, 60, 1)
sensor.bedroom_weather_temperature: sensor.bedroom_weather_temperature:
title: Bedroom climate title: Bedroom climate
+2 -2
View File
@@ -14,8 +14,6 @@
type: module type: module
- url: /hacsfiles/decluttering-card/decluttering-card.js - url: /hacsfiles/decluttering-card/decluttering-card.js
type: module type: module
- url: /hacsfiles/lovelace-gui-sandbox/gui-sandbox.js
type: module
- url: /hacsfiles/hass-bha-icons/hass-bha-icons.js - url: /hacsfiles/hass-bha-icons/hass-bha-icons.js
type: module type: module
- url: /hacsfiles/kiosk-mode/kiosk-mode.js - url: /hacsfiles/kiosk-mode/kiosk-mode.js
@@ -46,6 +44,8 @@
type: module type: module
- url: /hacsfiles/kb-better-graph-colors/kb-better-graph-colors.js - url: /hacsfiles/kb-better-graph-colors/kb-better-graph-colors.js
type: module type: module
- url: /hacsfiles/lovelace-swipe-navigation/swipe-navigation.js
type: module
- url: /hacsfiles/lovelace-template-entity-row/template-entity-row.js - url: /hacsfiles/lovelace-template-entity-row/template-entity-row.js
type: module type: module
- url: /hacsfiles/travel-time-card/travel-time-card.js - url: /hacsfiles/travel-time-card/travel-time-card.js
@@ -272,7 +272,7 @@ automation:
entity_id: fan.philips_airpurifier entity_id: fan.philips_airpurifier
state: "off" state: "off"
- condition: state - condition: state
entity_id: input_boolean.georgi_home entity_id: input_boolean.someone_home
state: "on" state: "on"
action: action:
- service: fan.turn_on - service: fan.turn_on
@@ -299,7 +299,7 @@ automation:
condition: and condition: and
conditions: conditions:
- condition: state - condition: state
entity_id: input_boolean.georgi_home entity_id: input_boolean.someone_home
state: "on" state: "on"
- condition: state - condition: state
entity_id: fan.philips_airpurifier entity_id: fan.philips_airpurifier
@@ -11,7 +11,7 @@ automation:
- alias: "Hallway tablet · Set to home after 10 minutes" - alias: "Hallway tablet · Set to home after 10 minutes"
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
to: "on" to: "on"
for: for:
minutes: 10 minutes: 10
@@ -47,7 +47,7 @@ script:
- service: input_number.set_value - service: input_number.set_value
entity_id: input_number.brita_remaining_liters entity_id: input_number.brita_remaining_liters
data: data:
value: 150 value: 100
- service: input_datetime.set_datetime - service: input_datetime.set_datetime
entity_id: input_datetime.brita_next_change entity_id: input_datetime.brita_next_change
data_template: data_template:
@@ -128,7 +128,7 @@ script:
entity_id: sensor.dark_sky_apparent_temperature entity_id: sensor.dark_sky_apparent_temperature
above: 23 above: 23
- condition: state - condition: state
entity_id: input_boolean.georgi_home entity_id: input_boolean.someone_home
state: "on" state: "on"
- condition: state - condition: state
entity_id: binary_sensor.living_room_right_window entity_id: binary_sensor.living_room_right_window
@@ -144,6 +144,7 @@ automation:
action: action:
- service: media_player.turn_on - service: media_player.turn_on
entity_id: media_player.living_room_tv entity_id: media_player.living_room_tv
- delay: "00:00:15"
- service: media_player.select_source - service: media_player.select_source
entity_id: media_player.living_room_tv entity_id: media_player.living_room_tv
data: data:
@@ -7,7 +7,6 @@ input_number:
radiators_temperature: radiators_temperature:
name: Radiators target temperature name: Radiators target temperature
unit_of_measurement: "°C" unit_of_measurement: "°C"
mode: box
min: 22 min: 22
max: 27 max: 27
step: 0.5 step: 0.5
@@ -31,7 +30,7 @@ script:
entity_id: input_boolean.heating_enabled entity_id: input_boolean.heating_enabled
state: "on" state: "on"
- condition: state - condition: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
state: "on" state: "on"
- service: climate.turn_on - service: climate.turn_on
data_template: data_template:
@@ -66,7 +65,7 @@ script:
entity_id: input_boolean.heating_enabled entity_id: input_boolean.heating_enabled
state: "on" state: "on"
- condition: state - condition: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
state: "on" state: "on"
- service: script.maybe_turn_radiator_on - service: script.maybe_turn_radiator_on
data: data:
@@ -38,6 +38,22 @@ script:
entity_id: scene.bedroom_ambient_pink entity_id: scene.bedroom_ambient_pink
scene: scene:
- name: Bedroom Neon
icon: "mdi:weather-night"
entities:
light.master_bedroom_main:
state: 'on'
xy_color: [0.66, 0.28]
brightness: 254
light.bedside:
state: "on"
rgb_color: [0, 255, 190]
brightness: 230
light.bed_led:
state: "on"
xy_color: [0.66, 0.28]
brightness: 254
- name: Bedroom Ambient Neon - name: Bedroom Ambient Neon
icon: "mdi:weather-night" icon: "mdi:weather-night"
entities: entities:
@@ -50,6 +66,22 @@ scene:
xy_color: [0.66, 0.28] xy_color: [0.66, 0.28]
brightness: 254 brightness: 254
- name: Bedroom Pink
icon: "mdi:weather-night"
entities:
light.master_bedroom_main:
state: "on"
rgb_color: [255, 36, 145]
brightness: 114
light.bedside:
state: "on"
rgb_color: [255, 36, 145]
brightness: 230
light.bed_led:
state: "on"
xy_color: [0.66, 0.28]
brightness: 254
- name: Bedroom Ambient Pink - name: Bedroom Ambient Pink
icon: "mdi:weather-night" icon: "mdi:weather-night"
entities: entities:
@@ -6,7 +6,7 @@ automation:
to: "on" to: "on"
condition: condition:
condition: state condition: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
state: "on" state: "on"
action: action:
- choose: - choose:
@@ -6,7 +6,7 @@ automation:
to: "on" to: "on"
condition: condition:
condition: state condition: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
state: "on" state: "on"
action: action:
- choose: - choose:
@@ -6,7 +6,7 @@ automation:
offset: "-00:30:00" offset: "-00:30:00"
condition: condition:
- condition: state - condition: state
entity_id: binary_sensor.georgi_home entity_id: binary_sensor.someone_home
state: "on" state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
@@ -255,7 +255,7 @@ homeassistant:
icon: mdi:ceiling-light icon: mdi:ceiling-light
light.living_room_main: light.living_room_main:
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
light.pc: light.pc:
friendly_name: PC friendly_name: PC
@@ -273,23 +273,23 @@ homeassistant:
light.master_bedroom_main: light.master_bedroom_main:
friendly_name: Bedroom main friendly_name: Bedroom main
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
light.bedside: light.bedside:
icon: mdi:desk-lamp icon: mdi:desk-lamp
# Kitchen # Kitchen
light.kitchen_main: light.kitchen_main:
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
light.kitchen_secondary: light.kitchen_secondary:
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
# Hallway # Hallway
light.hallway: light.hallway:
icon: mdi:lightbulb-group icon: mdi:lightbulb-group
light.hallway_entrance: light.hallway_entrance:
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
light.hallway_main: light.hallway_main:
icon: bha:ceiling-lamp-plafond icon: bha:ceiling-spot-lamp
+24 -11
View File
@@ -26,40 +26,52 @@ homekit:
filter: filter:
include_entities: include_entities:
# Living Room # Living Room
- light.living_room
- light.living_room_main - light.living_room_main
- light.living_room_ambient - light.living_room_ambient
- light.pc - light.pc
- binary_sensor.living_room_right_window - binary_sensor.living_room_right_window
- sensor.multisensor_6_temperature - camera.mercury_amcrest_1
- sensor.multisensor_6_relative_humidity - climate.living_room_radiator_mode
- climate.toshiba_ac - climate.toshiba_ac
- switch.desk_outlet - cover.living_room
- switch.titanium - media_player.living_room
- sensor.living_room_radiator_temperature - media_player.living_room_tv
- media_player.nvidia_shield - media_player.nvidia_shield
- scene.living_room_ambient_neon
- sensor.living_room_radiator_temperature
- sensor.multisensor_6_relative_humidity
- sensor.multisensor_6_temperature
- switch.desk_outlet
# Bedroom # Bedroom
- light.master_bedroom
- light.master_bedroom_main - light.master_bedroom_main
- light.bedside - light.bedside
- light.bed_led - light.bed_led
- sensor.bedroom_weather_temperature
- sensor.bedroom_weather_humidity
- fan.philips_airpurifier
- sensor.purifier_air_quality
- sensor.purifier_allergens
- binary_sensor.bedroom_door - binary_sensor.bedroom_door
- binary_sensor.bedroom_left_window - binary_sensor.bedroom_left_window
- binary_sensor.bedroom_right_window - binary_sensor.bedroom_right_window
- camera.bedroom_hd
- climate.bedroom_radiator_mode
- fan.philips_airpurifier
- media_player.master_bedroom - media_player.master_bedroom
- sensor.bedroom_weather_humidity
- sensor.bedroom_weather_temperature
- sensor.purifier_air_quality
- sensor.purifier_allergens
# Kitchen # Kitchen
- light.kitchen
- light.kitchen_main - light.kitchen_main
- light.kitchen_secondary - light.kitchen_secondary
- climate.kitchen_radiator_mode - climate.kitchen_radiator_mode
- binary_sensor.kitchen_motion_occupancy - binary_sensor.kitchen_motion_occupancy
- binary_sensor.kitchen_window - binary_sensor.kitchen_window
- sensor.kitchen_weather_temperature - input_number.brita_remaining_liters
- script.brita_pour_water
- sensor.kitchen_weather_humidity - sensor.kitchen_weather_humidity
- sensor.kitchen_weather_temperature
- vacuum.vacuum - vacuum.vacuum
# Bathroom # Bathroom
@@ -67,6 +79,7 @@ homekit:
- sensor.bathroom_weather_humidity - sensor.bathroom_weather_humidity
# Hallway # Hallway
- light.hallway
- light.hallway_entrance - light.hallway_entrance
- light.hallway_main - light.hallway_main
- group.hallway_motion - group.hallway_motion
-7
View File
@@ -84,13 +84,6 @@ binary_sensor:
device_class: motion device_class: motion
value_template: "{{ is_state('sensor.multisensor_6_burglar', '8') }}" value_template: "{{ is_state('sensor.multisensor_6_burglar', '8') }}"
group:
hallway_motion:
name: Hallway Motion
entities:
- binary_sensor.hallway_motion_occupancy
- binary_sensor.trisensor_motion
sensor: sensor:
- platform: history_stats - platform: history_stats
name: Quarantined percent name: Quarantined percent
+1 -1
View File
@@ -56,7 +56,7 @@ script:
{% if (is_state('media_player.master_bedroom', 'playing') {% if (is_state('media_player.master_bedroom', 'playing')
and is_state('binary_sensor.sonos_recoverable', 'off')) and is_state('binary_sensor.sonos_recoverable', 'off'))
or is_state('input_boolean.speech_notifications', 'off') or is_state('input_boolean.speech_notifications', 'off')
or is_state('input_boolean.georgi_home', 'off') %} or is_state('input_boolean.someone_home', 'off') %}
notify.telegram notify.telegram
{% else %} {% else %}
{% if is_state('media_player.master_bedroom', 'playing') {% if is_state('media_player.master_bedroom', 'playing')
+16
View File
@@ -1,3 +1,10 @@
group:
all_doors:
name: All doors
entities:
- binary_sensor.front_door
- binary_sensor.bedroom_door
sensor: sensor:
- platform: mqtt - platform: mqtt
name: "Bedroom door battery" name: "Bedroom door battery"
@@ -31,6 +38,15 @@ sensor:
unit_of_measurement: "lqi" unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}" value_template: "{{ value_json.linkquality }}"
- platform: template
sensors:
open_door_count:
friendly_name: Open door count
value_template: >-
{% set entityStates = states | selectattr('entity_id', 'in', state_attr('group.all_doors', 'entity_id')) %}
{{ entityStates | selectattr('state', 'eq', 'on') | list | count | int }}
binary_sensor: binary_sensor:
- platform: mqtt - platform: mqtt
name: "Bedroom door" name: "Bedroom door"
+23
View File
@@ -1,3 +1,18 @@
group:
all_motion_sensors:
name: All motion_sensors
entities:
- binary_sensor.hallway_motion_occupancy
- binary_sensor.kitchen_motion_occupancy
- binary_sensor.multisensor_motion
- binary_sensor.trisensor_motion
hallway_motion:
name: Hallway Motion
entities:
- binary_sensor.hallway_motion_occupancy
- binary_sensor.trisensor_motion
binary_sensor: binary_sensor:
- platform: mqtt - platform: mqtt
name: "Hallway motion occupancy" name: "Hallway motion occupancy"
@@ -60,3 +75,11 @@ sensor:
icon: "mdi:signal" icon: "mdi:signal"
unit_of_measurement: "lqi" unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}" value_template: "{{ value_json.linkquality }}"
- platform: template
sensors:
active_motion_sensors:
friendly_name: Active motion sensor count
value_template: >-
{% set entityStates = states | selectattr('entity_id', 'in', state_attr('group.all_motion_sensors', 'entity_id')) %}
{{ entityStates | selectattr('state', 'eq', 'on') | list | count | int }}
+23 -14
View File
@@ -2,45 +2,54 @@ decluttering_templates: !include_dir_merge_named lovelace/decluttering_templates
button_card_templates: !include_dir_merge_named lovelace/button_card_templates button_card_templates: !include_dir_merge_named lovelace/button_card_templates
popup_cards: !include lovelace/popup_cards.yaml popup_cards: !include lovelace/popup_cards.yaml
swipe_nav:
swipe_amount: 30
skip_tabs: 5
kiosk_mode:
hide_overflow: true
title: Home title: Home
views: views:
- title: Home - title: Living Room
path: default_view path: default_view
icon: "mdi:home"
panel: true
cards: !include lovelace/home_dashboard/main_dashboard.yaml
- title: Living room
path: living_room
icon: "mdi:sofa" icon: "mdi:sofa"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/living_room.jpg") #0040A0 fixed'
cards: !include lovelace/home_dashboard/living_room_dashboard.yaml cards: !include lovelace/home_dashboard/living_room_dashboard.yaml
- title: Master bedroom theme: sarah-noctis-grey
path: master_bedroom - title: Bedroom
path: bedroom
icon: "mdi:bed-empty" icon: "mdi:bed-empty"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/bedroom.jpg") #871CAB fixed'
cards: !include lovelace/home_dashboard/bedroom_dashboard.yaml cards: !include lovelace/home_dashboard/bedroom_dashboard.yaml
theme: sarah-noctis-grey
- title: Kitchen - title: Kitchen
path: kitchen path: kitchen
icon: "mdi:chef-hat" icon: "mdi:chef-hat"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/kitchen_3.jpg") #58892D fixed'
cards: !include lovelace/home_dashboard/kitchen_dashboard.yaml cards: !include lovelace/home_dashboard/kitchen_dashboard.yaml
theme: sarah-noctis-grey
- title: Bathroom - title: Bathroom
path: bathroom path: bathroom
icon: "mdi:shower-head" icon: "mdi:shower-head"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/bathroom_2.jpg") #FF7900 fixed'
cards: !include lovelace/home_dashboard/bathroom_dashboard.yaml cards: !include lovelace/home_dashboard/bathroom_dashboard.yaml
theme: sarah-noctis-grey
- title: Hallway - title: Hallway
path: hallway path: hallway
icon: "mdi:door-closed" icon: "mdi:door-closed"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/hallway_2.jpg") #188A9C fixed'
cards: !include lovelace/home_dashboard/hallway_dashboard.yaml cards: !include lovelace/home_dashboard/hallway_dashboard.yaml
theme: sarah-noctis-grey
- title: Preferences - title: Preferences
path: preferences path: Preferences
icon: "mdi:cogs" icon: "mdi:cogs"
panel: true panel: true
background: 'center / cover no-repeat url("/local/images/wallpapers-3/preferences.jpg") #6A737A fixed'
cards: !include lovelace/home_dashboard/preferences_dashboard.yaml cards: !include lovelace/home_dashboard/preferences_dashboard.yaml
- title: Cameras theme: sarah-noctis-grey
path: cameras
icon: "mdi:webcam"
panel: true
cards: !include lovelace/home_dashboard/cameras_dashboard.yaml
Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB