Created
May 23, 2021 15:58
-
-
Save rccoleman/2211351b6062cb3c41e238d0af09caf8 to your computer and use it in GitHub Desktop.
Lovelace config
This file contains hidden or 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