Created
May 23, 2021 15:58
-
-
Save rccoleman/2211351b6062cb3c41e238d0af09caf8 to your computer and use it in GitHub Desktop.
Lovelace config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
button_card_templates: | |
auto_on_off_template: | |
entity: switch.buzz_auto_on_off | |
show_label: true | |
show_name: true | |
show_icon: false | |
styles: | |
grid: | |
- grid-template-areas: '"l n"' | |
name: | |
- font-size: 20px | |
label: | |
- font-size: 20px | |
badge_template_parent: | |
show_icon: true | |
show_state: true | |
show_units: true | |
show_name: false | |
styles: | |
card: | |
- background-color: var(--primary-background-color) | |
- box-shadow: none | |
aspect_ratio: 1.8/1 | |
size: 30% | |
badge_template_desktop: | |
template: badge_template_parent | |
aspect_ratio: 1.8/1 | |
size: 30% | |
badge_template_mobile: | |
template: badge_template_parent | |
aspect_ratio: 1/1 | |
size: 125% | |
styles: | |
state: | |
- font-size: 9px | |
name: | |
- font-size: 9px | |
glance_parent_template: | |
variables: | |
abnormal: "on" | |
normal: "off" | |
size: 30% | |
tap_action: | |
action: toggle | |
hold_action: | |
action: more-info | |
styles: | |
card: | |
- background-color: var(--primary-background-color) | |
- box-shadow: none | |
- padding: 0px | |
- margin: 0% | |
state: | |
- font-size: 14px | |
name: | |
- font-size: 14px | |
icon: | |
- margin-bottom: 20% | |
grid: | |
- grid-template-areas: '"n" "i"' | |
glance_template: | |
template: glance_parent_template | |
styles: | |
icon: | |
- color: > | |
[[[ | |
if (entity.state === variables.normal) return "green"; | |
else return "red"; | |
]]] | |
glance_template_notap: | |
template: glance_parent_template | |
tap_action: | |
action: none | |
glance_light_template: | |
template: glance_template | |
state: | |
- value: 'on' | |
icon: 'mdi:lightbulb-group' | |
- value: 'off' | |
icon: 'mdi:lightbulb-group' | |
btle_template: | |
template: glance_parent_template | |
state: | |
- value: 0 | |
color: red | |
icon: 'mdi:bluetooth-audio' | |
- value: 90 | |
operator: '<=' | |
color: yellow | |
icon: 'mdi:bluetooth-audio' | |
- operator: 'default' | |
color: green | |
icon: 'mdi:bluetooth-audio' | |
tap_action: | |
action: call-service | |
service: persistent_notification.create | |
service_data: | |
message: "[[[ return `${entity.attributes.friendly_name}` ]]]" | |
alarm_template: | |
template: glance_parent_template | |
variables: | |
armed_state: "disarmed" | |
action: "script.disarm_alarm" | |
icon: 'mdi:alarm-bell' | |
tap_action: | |
action: call-service | |
service: '[[[ return variables.action; ]]]' | |
styles: | |
icon: | |
- color: > | |
[[[ | |
if (states['sensor.armed_status'].state == variables.armed_state) return "green"; | |
else return "#696969"; | |
]]] | |
color: &color | | |
:host { | |
--paper-item-icon-color: | |
{% if states(config.entity) == 'on' %} red; | |
{% else %} green; | |
{% endif %} | |
--paper-item-icon-active-color: red; | |
} | |
divider: ÷r | | |
.card-content { | |
padding: 1px; | |
} | |
:host { | |
background-color: var(--primary-background-color); | |
box-shadow: none; | |
} | |
background: &background | | |
ha-card { | |
background-color: var(--primary-background-color); | |
box-shadow: none; | |
background: none; | |
} | |
red_background: &red_background | | |
ha-card { | |
background-color: red; | |
box-shadow: none; | |
} | |
coffee_cards: &coffee_cards | | |
ha-card { | |
background-color: var(--primary-background-color); | |
box-shadow: none; | |
background: none; | |
--st-font-size-xl: 20px; | |
--st-font-size-m: 15px; | |
--st-font-size-title: 19px; | |
--st-font-size-sensors: 15px; | |
--st-spacing: 2px; | |
--lamarzocco-config-elements-background-color: var(--primary-background-color); | |
} | |
views: | |
- badges: [] | |
title: Home | |
icon: 'mdi:home' | |
panel: true | |
cards: | |
- type: vertical-stack | |
cards: | |
- type: custom:state-switch | |
entity: user | |
default: Desktop | |
states: | |
Desktop: | |
type: custom:layout-card | |
layout_type: horizontal | |
layout_options: | |
max_cols: 1 | |
width: 800 | |
cards: | |
- type: horizontal-stack | |
cards: | |
- type: conditional | |
card: | |
type: "custom:button-card" | |
entity: sensor.landscape | |
template: badge_template_desktop | |
name: Landscape | |
icon: "mdi:pine-tree" | |
show_name: true | |
show_state: false | |
tap_action: | |
action: call-service | |
service: homeassistant.turn_off | |
service_data: | |
entity_id: input_boolean.trash | |
state: | |
- value: "0" | |
color: red | |
- value: "1" | |
color: green | |
conditions: | |
- entity: sensor.landscape | |
state_not: '2' | |
- entity: input_boolean.trash | |
state: 'on' | |
- type: conditional | |
card: | |
type: "custom:button-card" | |
entity: sensor.recycling | |
template: badge_template_desktop | |
name: Recycling | |
icon: "mdi:recycle" | |
show_name: true | |
show_state: false | |
tap_action: | |
action: call-service | |
service: homeassistant.turn_off | |
service_data: | |
entity_id: input_boolean.trash | |
state: | |
- value: '0' | |
color: red | |
- value: '1' | |
color: green | |
conditions: | |
- entity: sensor.recycling | |
state_not: '2' | |
- entity: input_boolean.trash | |
state: 'on' | |
- type: custom:button-card | |
template: badge_template_desktop | |
entity: binary_sensor.updates_available | |
show_state: false | |
show_units: false | |
show_name: true | |
icon: mdi:home-assistant | |
name: > | |
[[[ | |
if (states['binary_sensor.updates_available'].state === 'off') return "Current"; | |
else return "Updates"; | |
]]] | |
state: | |
- value: 'off' | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
tap_action: | |
action: navigate | |
navigation_path: /hassio/dashboard | |
- type: custom:button-card | |
entity: sensor.hacs | |
template: badge_template_desktop | |
show_state: false | |
show_units: false | |
show_name: true | |
name: > | |
[[[ | |
if (states['sensor.hacs'].state === '0') return "Current"; | |
else if (states['sensor.hacs'].state === 'unknown') return "Loading"; | |
else return "Updates"; | |
]]] | |
state: | |
- value: 0 | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
tap_action: | |
action: navigate | |
navigation_path: /hacs | |
- type: custom:button-card | |
entity: sensor.occupancy | |
template: badge_template_desktop | |
show_state: false | |
show_units: false | |
show_name: true | |
state: | |
- value: "[[[ return states['automation.away_timer'].state === 'on'; ]]]" | |
operator: 'template' | |
name: "[[[ return parseInt(states['input_number.away'].state) + 's'; ]]]" | |
icon: "mdi:timer" | |
color: yellow | |
- value: "[[[ return parseInt(states['input_number.away'].state) === 0; ]]]" | |
operator: 'template' | |
name: "Away" | |
icon: "mdi:home-export-outline" | |
color: "red" | |
- operator: 'default' | |
color: green | |
name: "Home" | |
icon: "mdi:home" | |
- type: custom:button-card | |
entity: alarm_control_panel.area_001 | |
template: badge_template_desktop | |
state: | |
- value: 'disarmed' | |
operator: '==' | |
icon: mdi:bell-off | |
color: green | |
- value: 'armed_night' | |
operator: '==' | |
icon: mdi:weather-night | |
color: red | |
- operator: 'default' | |
icon: mdi:bell | |
color: red | |
- type: custom:button-card | |
entity: sensor.washer_dryer | |
icon: mdi:washing-machine | |
template: badge_template_desktop | |
state: | |
- value: 'Idle' | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
- type: custom:button-card | |
entity: sensor.mbath_water_temp | |
name: Water Temp | |
icon: mdi:water | |
show_state: true | |
show_units: true | |
template: badge_template_desktop | |
styles: | |
icon: | |
- color: > | |
[[[ | |
if (states['input_boolean.heat_water'].state === 'on') | |
return 'red'; | |
else | |
return 'green'; | |
]]] | |
tap_action: | |
action: call-service | |
service: homeassistant.toggle | |
service_data: | |
entity_id: input_boolean.heat_water | |
Mobile: | |
type: horizontal-stack | |
cards: | |
- type: conditional | |
card: | |
type: "custom:button-card" | |
entity: sensor.landscape | |
template: badge_template_mobile | |
name: Landscape | |
icon: "mdi:pine-tree" | |
show_name: true | |
show_state: false | |
tap_action: | |
action: call-service | |
service: homeassistant.turn_off | |
service_data: | |
entity_id: input_boolean.trash | |
state: | |
- value: "0" | |
color: red | |
- value: "1" | |
color: green | |
conditions: | |
- entity: sensor.landscape | |
state_not: '2' | |
- entity: input_boolean.trash | |
state: 'on' | |
- type: conditional | |
card: | |
type: "custom:button-card" | |
entity: sensor.recycling | |
template: badge_template_mobile | |
name: Recycling | |
icon: "mdi:recycle" | |
show_name: true | |
show_state: false | |
tap_action: | |
action: call-service | |
service: homeassistant.turn_off | |
service_data: | |
entity_id: input_boolean.trash | |
state: | |
- value: "0" | |
color: red | |
- value: "1" | |
color: green | |
conditions: | |
- entity: sensor.recycling | |
state_not: '2' | |
- entity: input_boolean.trash | |
state: 'on' | |
- type: custom:button-card | |
template: badge_template_mobile | |
entity: binary_sensor.updates_available | |
show_state: false | |
show_units: false | |
show_name: true | |
icon: mdi:home-assistant | |
name: > | |
[[[ | |
if (states['binary_sensor.updates_available'].state === 'off') return "Current"; | |
else return "Updates"; | |
]]] | |
state: | |
- value: 'off' | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
tap_action: | |
action: navigate | |
navigation_path: /hassio/dashboard | |
- type: custom:button-card | |
entity: sensor.hacs | |
template: badge_template_mobile | |
show_state: false | |
show_units: false | |
show_name: true | |
name: > | |
[[[ | |
if (states['sensor.hacs'].state === '0') return "Current"; | |
else if (states['sensor.hacs'].state === 'unknown') return "Loading"; | |
else return "Updates"; | |
]]] | |
state: | |
- value: 0 | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
tap_action: | |
action: navigate | |
navigation_path: /hacs | |
- type: custom:button-card | |
entity: sensor.occupancy | |
template: badge_template_mobile | |
show_state: false | |
show_units: false | |
show_name: true | |
state: | |
- value: "[[[ return states['automation.away_timer'].state === 'on'; ]]]" | |
operator: 'template' | |
name: "[[[ return parseInt(states['input_number.away'].state) + 's'; ]]]" | |
icon: "mdi:timer" | |
color: yellow | |
- value: "[[[ return parseInt(states['input_number.away'].state) === 0; ]]]" | |
operator: 'template' | |
name: "Away" | |
icon: "mdi:home-export-outline" | |
color: "red" | |
- operator: 'default' | |
color: green | |
name: "Home" | |
icon: "mdi:home" | |
- type: custom:button-card | |
entity: alarm_control_panel.area_001 | |
template: badge_template_mobile | |
state: | |
- value: 'disarmed' | |
operator: '==' | |
icon: mdi:bell-off | |
color: green | |
- value: 'armed_night' | |
operator: '==' | |
icon: mdi:weather-night | |
color: red | |
- operator: 'default' | |
icon: mdi:bell | |
color: red | |
- type: custom:button-card | |
entity: sensor.washer_dryer | |
icon: mdi:washing-machine | |
template: badge_template_mobile | |
state: | |
- value: 'Idle' | |
operator: '==' | |
color: green | |
- operator: 'default' | |
color: red | |
- type: custom:button-card | |
entity: sensor.mbath_water_temp | |
name: Water Temp | |
icon: mdi:water | |
show_state: true | |
show_units: true | |
template: badge_template_mobile | |
styles: | |
icon: | |
- color: > | |
[[[ | |
if (states['input_boolean.heat_water'].state === 'on') | |
return 'red'; | |
else | |
return 'green'; | |
]]] | |
tap_action: | |
action: call-service | |
service: homeassistant.toggle | |
service_data: | |
entity_id: input_boolean.heat_water | |
- type: 'custom:layout-card' | |
layout_type: horizontal | |
cards: | |
# Column 1 | |
- type: vertical-stack | |
cards: | |
- entity: weather.dark_sky | |
# type: 'weather-forecast' | |
type: "custom:weather-card" | |
icons: "/hacsfiles/weather-icons/" | |
card_mod: | |
style: | | |
ha-card { | |
background-color: var(--primary-background-color); | |
background: none; | |
box-shadow: none; | |
} | |
- type: entities | |
show_header_toggle: false | |
entities: | |
- type: 'custom:mini-graph-card' | |
entities: | |
- entity: sensor.eagle_power_power | |
name: Power | |
show_fill: false | |
show_legend: false | |
- entity: sensor.zero | |
color: '#606060' | |
show_fill: false | |
show_points: false | |
show_legend: false | |
show: | |
name: false | |
icon: false | |
hours_to_show: 0.17 | |
update_interval: 10 | |
line_width: 3 | |
points_per_hour: 3600 | |
aggregate_func: last | |
smoothing: true | |
height: 170 | |
color_thresholds_transition: hard | |
icon_adaptive_color: true | |
color_thresholds: | |
- value: -6.0 | |
color: '#00ff00' | |
- value: 0.0 | |
color: '#ff0000' | |
cache: false | |
card_mod: | |
style: | | |
ha-card { | |
padding: 0px; | |
margin: 0px; | |
background-color: var(--primary-background-color); | |
background: none; | |
box-shadow: none; | |
} | |
card_mod: | |
style: | |
.: | | |
.card-content { | |
padding: 0px; | |
margin: 0px; | |
background-color: var(--primary-background-color); | |
} | |
ha-card { | |
background: none; | |
box-shadow: none; | |
--secondary-text-color: var(--primary-text-color); | |
padding: 0px; | |
margin: 0px; | |
background-color: var(--primary-background-color) | |
} | |
- type: entities | |
card_mod: | |
style: | |
text-divider-row: | |
$: | | |
h2.text-divider { | |
margin: 0px; | |
padding: 0px; | |
} | |
.: | | |
.card-content { | |
padding: 0px; | |
margin: 0px; | |
} | |
ha-card { | |
background: none; | |
box-shadow: none; | |
--secondary-text-color: var(--primary-text-color); | |
padding: 0px; | |
margin: 0px; | |
} | |
entities: | |
- type: custom:text-divider-row | |
text: Presence | |
- type: custom:layout-card | |
layout_type: horizontal | |
layout_options: | |
width: 100 | |
max_cols: 3 | |
cards: | |
- type: 'custom:button-card' | |
name: Master | |
entity: sensor.iphone_msuite_btle | |
template: btle_template | |
- type: 'custom:button-card' | |
name: Garage | |
entity: sensor.iphone_garage_btle | |
template: btle_template | |
- type: 'custom:button-card' | |
name: Living Room | |
entity: sensor.iphone_lr_btle | |
template: btle_template | |
card_mod: | |
style: | | |
ha-card { | |
heigt: 0px; | |
} | |
- type: entities | |
card_mod: | |
style: | |
text-divider-row: | |
$: | | |
h2.text-divider { | |
margin: 0px; | |
padding: 0px; | |
} | |
.: | | |
.card-content { | |
padding: 0px; | |
margin: 0px; | |
} | |
ha-card { | |
background: none; | |
box-shadow: none; | |
--secondary-text-color: var(--primary-text-color); | |
padding: 0px; | |
margin: 0px; | |
} | |
entities: | |
- type: custom:text-divider-row | |
text: Roomba | |
- type: horizontal-stack | |
cards: | |
- type: 'custom:button-card' | |
name: Battery | |
entity: sensor.roomba_battery | |
template: glance_template_notap | |
size: 35% | |
styles: | |
icon: | |
- color: > | |
[[[ | |
if (entity.state <= 30) return "red"; | |
else return "green"; | |
]]] | |
grid: | |
- grid-template-areas: '"i" "n"' | |
- type: 'custom:button-card' | |
name: Time | |
entity: sensor.roomba_cleaning_time | |
template: glance_template_notap | |
size: 35% | |
styles: | |
icon: | |
- color: green | |
grid: | |
- grid-template-areas: '"i" "n"' | |
- type: 'custom:button-card' | |
name: Area | |
entity: sensor.roomba_cleaned_area | |
template: glance_template_notap | |
size: 35% | |
styles: | |
icon: | |
- color: green | |
grid: | |
- grid-template-areas: '"i" "n"' | |
- type: 'custom:button-card' | |
name: > | |
[[[ | |
if (entity.state === "docked") return "Start"; | |
else return entity.state[0].toUpperCase() + entity.state.slice(1); | |
]]] | |
entity: vacuum.taileater_2_0 | |
template: glance_template | |
size: 35% | |
show_state: false | |
tap_action: | |
action: call-service | |
service: vacuum.turn_on | |
service_data: | |
entity_id: vacuum.taileater_2_0 | |
variables: | |
normal: "docked" | |
icon: > | |
[[[ | |
if (entity.state === "docked") return "mdi:robot-vacuum-variant"; | |
else if (entity.state === "error") return "mdi:alert"; | |
else return "mdi:robot-vacuum"; | |
]]] | |
styles: | |
grid: | |
- grid-template-areas: '"i" "n"' | |
# Column 2 | |
- type: vertical-stack | |
cards: | |
- type: 'custom:auto-entities' | |
show_empty: false | |
filter: | |
include: | |
- entity_id: "sensor.wirelesstag_*" | |
state: unavailable | |
- entity_id: "sensor.*_temperature" | |
state: unavailable | |
card: | |
type: glance | |
title: Sensors Unavailable | |
show_state: true | |
card_mod: | |
style: *red_background | |
- type: conditional | |
card: | |
type: glance | |
title: Data Closet UPS Problem | |
entities: | |
- sensor.data_closet_ups_status | |
- sensor.data_closet_ups_load | |
- sensor.data_closet_ups_battery_runtime | |
card_mod: | |
style: *red_background | |
conditions: | |
- entity: sensor.data_closet_ups_status | |
state_not: 'Online' | |
- type: conditional | |
card: | |
type: glance | |
title: Office UPS Problem | |
entities: | |
- sensor.office_ups_status | |
- sensor.office_ups_load | |
- sensor.office_ups_battery_runtime | |
card_mod: | |
style: *red_background | |
conditions: | |
- entity: sensor.data_closet_ups_status | |
state_not: 'Online' | |
- type: 'custom:auto-entities' | |
filter: | |
include: | |
- entity_id: "lock.*" | |
state: unlocked | |
show_empty: false | |
card: | |
type: glance | |
title: Doors Unlocked | |
show_state: false | |
card_mod: | |
style: *red_background | |
- type: 'custom:auto-entities' | |
filter: | |
include: | |
- entity_id: "binary_sensor.*_leak_detected" | |
state: 'on' | |
show_empty: false | |
card: | |
type: glance | |
title: Leaks! | |
show_state: false | |
card_mod: | |
style: *red_background | |
- type: 'custom:auto-entities' | |
filter: | |
include: | |
- entity_id: "sensor.zone_*" | |
state: Violated | |
show_empty: false | |
card: | |
type: glance | |
title: Zone Violated | |
show_state: false | |
card_mod: | |
style: *red_background | |
- type: entities | |
card_mod: | |
style: | |
text-divider-row: | |
$: | | |
h2.text-divider { | |
margin: 0px; | |
padding: 0px; | |
} | |
.: | | |
.card-content { | |
padding: 0px; | |
margin: 0px; | |
} | |
ha-card { | |
background: none; | |
box-shadow: none; | |
--secondary-text-color: var(--primary-text-color); | |
padding: 0px; | |
margin: 0px; | |
} | |
entities: | |
- type: custom:text-divider-row | |
text: Alarm | |
- type: horizontal-stack | |
cards: | |
- type: 'custom:button-card' | |
name: Disarm | |
template: alarm_template | |
variables: | |
armed_state: "disarmed" | |
action: script.disarm_alarm | |
- type: 'custom:button-card' | |
name: Arm Away | |
template: alarm_template | |
variables: | |
armed_state: "armed_away" | |
action: script.arm_alarm_away | |
- type: 'custom:button-card' | |
name: Arm Night | |
template: alarm_template | |
variables: | |
armed_state: "armed_to_night" | |
action: script.arm_alarm_night | |
- type: entities | |
card_mod: | |
style: | |
text-divider-row: | |
$: | | |
h2.text-divider { | |
margin: 0px; | |
padding: 0px; | |
} | |
.: | | |
.card-content { | |
padding: 0px; | |
margin: 0px; | |
} | |
ha-card { | |
background: none; | |
box-shadow: none; | |
--secondary-text-color: var(--primary-text-color); | |
padding: 0px; | |
margin: 0px; | |
} | |
entities: | |
- type: custom:text-divider-row | |
text: Status | |
- type: custom:layout-card | |
layout_type: horizontal | |
layout_options: | |
width: 100 | |
max_cols: 3 | |
cards: | |
- type: 'custom:button-card' | |
entity: group.fr | |
name: Family Room | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.kit_overhead | |
name: Kitchen | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.lr | |
name: Living Room | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.mbr | |
name: Master Bedroom | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.mbath | |
name: Master Bathroom | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.office | |
name: Office | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.outside_lights | |
name: Outside | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: switch.garage_landscape_lights | |
name: Landscape | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: switch.whole_house_fan | |
name: > | |
[[[ | |
return "Fan - " + states['sensor.master_bedroom_temperature'].state + "F"; | |
]]] | |
template: glance_template | |
state: | |
- value: 'on' | |
icon: 'mdi:fan' | |
- value: 'off' | |
icon: 'mdi:fan' | |
- type: 'custom:button-card' | |
entity: automation.whole_house_fan_temp_shutoff | |
name: Fan Temp Shutoff | |
template: glance_template | |
variables: | |
abnormal: "off" | |
normal: "on" | |
icon: 'mdi:thermometer-lines' | |
- type: 'custom:button-card' | |
entity: cover.garage_door | |
name: Garage Door | |
template: glance_template | |
variables: | |
abnormal: "open" | |
normal: "closed" | |
tap_action: | |
action: call-service | |
service: switch.turn_on | |
service_data: | |
entity_id: switch.garage_door_switch | |
- type: 'custom:button-card' | |
entity: group.garage | |
name: Garage | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: group.laundryrm | |
name: Laundry Room | |
template: glance_light_template | |
- type: 'custom:button-card' | |
entity: switch.garage_pump_switch | |
name: Pump | |
template: glance_template | |
icon: 'mdi:water-pump' | |
- type: 'custom:button-card' | |
entity: switch.mbath_valve_relay | |
name: Valve | |
template: glance_template | |
icon: 'mdi:valve' | |
- type: 'custom:button-card' | |
entity: switch.buzz_main | |
template: glance_template | |
name: > | |
[[[ | |
return "Espresso - " + states['water_heater.buzz_coffee'].state + "F"; | |
]]] | |
- type: markdown | |
content: > | |
{% set display = state_attr('switch.buzz_main', 'front_panel_display') %} | |
{{ "## " + display[:16] + " " + display[16:] }} | |
card_mod: | |
style: *background | |
# Column 3 | |
- type: vertical-stack | |
cards: | |
- type: horizontal-stack | |
cards: | |
- type: custom:button-card | |
entity: group.upstairs_lights | |
template: glance_light_template | |
tap_action: | |
action: more-info | |
size: 30% | |
- type: custom:button-card | |
entity: group.downstairs_lights | |
template: glance_light_template | |
tap_action: | |
action: more-info | |
size: 30% | |
- type: custom:button-card | |
entity: group.fans | |
template: glance_template | |
tap_action: | |
action: more-info | |
size: 30% | |
state: | |
- value: 'on' | |
icon: 'mdi:fan' | |
- value: 'off' | |
icon: 'mdi:fan' | |
- type: entities | |
show_header_toggle: false | |
entities: | |
- type: 'custom:mini-graph-card' | |
entities: | |
- entity: sensor.water_usage | |
hours_to_show: 1 | |
update_interval: 10 | |
aggregate_func: last | |
smoothing: true | |
show: | |
name: false | |
icon: false | |
line_width: 3 | |
cache: false | |
points_per_hour: 360 | |
card_mod: | |
style: *background | |
- entity: sensor.water_usage_total | |
icon: 'mdi:water-pump' | |
card_mod: | |
style: | | |
ha-card { | |
background-color: var(--primary-background-color); | |
box-shadow: none; | |
} | |
- type: 'custom:upcoming-media-card' | |
entity: sensor.recently_recorded | |
title: Recently Recorded | |
image_style: fanart | |
max: 3 | |
card_mod: | |
style: | | |
ha-card { | |
background-color: var(--primary-background-color); | |
background: none; | |
box-shadow: none; | |
} | |
- badges: [] | |
title: La Marzocco | |
panel: true | |
icon: 'mdi:coffee-maker' | |
cards: | |
- type: custom:layout-card | |
layout: auto | |
# column_num: 3 | |
cards: | |
- type: vertical-stack | |
cards: | |
- type: horizontal-stack | |
cards: | |
- type: markdown | |
content: > | |
{% set display = state_attr('switch.buzz_main', 'front_panel_display') %} | |
{{ "### " + display[:16] + " " + display[16:] }} | |
card_mod: | |
style: *background | |
- type: custom:button-card | |
entity: switch.buzz_main | |
template: glance_template | |
show_name: false | |
- type: 'custom:simple-thermostat' | |
entity: water_heater.buzz_coffee | |
header: | |
name: Coffee Temp | |
step_size: 0.1 | |
card_mod: | |
style: *coffee_cards | |
hide: | |
temperature: true | |
state: true | |
layout: | |
step: row | |
mode: | |
headings: true | |
sensors: | |
- entity: water_heater.buzz_coffee | |
name: Current | |
unit: "°F" | |
- type: 'custom:simple-thermostat' | |
entity: water_heater.buzz_steam | |
header: | |
name: Steam Temp | |
step_size: 0.1 | |
card_mod: | |
style: *coffee_cards | |
hide: | |
temperature: true | |
state: true | |
layout: | |
step: row | |
mode: | |
headings: true | |
sensors: | |
- entity: water_heater.buzz_steam | |
name: Current | |
unit: "°F" | |
- type: vertical-stack | |
cards: | |
- type: 'custom:lamarzocco-config-card' | |
card_type: auto | |
card_mod: | |
style: *coffee_cards | |
name: Auto On/Off Hours | |
- type: 'custom:lamarzocco-config-card' | |
card_type: prebrew | |
card_mod: | |
style: *coffee_cards | |
name: Prebrew Times | |
- type: 'custom:lamarzocco-config-card' | |
card_type: dose | |
name: Coffee Dose | |
card_mod: | |
style: *coffee_cards | |
- type: 'custom:lamarzocco-config-card' | |
card_type: hot_water_dose | |
name: Hot Water Dose | |
card_mod: | |
style: *coffee_cards | |
- !include view-climate.yaml | |
- !include view-cameras.yaml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment