Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- animated_background:
- groups:
- - name: weather
- config:
- entity: text.text
- state_url:
- smoke:
- - >-
- /local/backgrounds/smoke/mixkit-smoke-effect-over-black-background-1967.mp4
- - >-
- /local/backgrounds/smoke/mixkit-light-smoke-in-the-dark-12496-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-pink-smoke-on-a-black-background-billows-45596-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-plume-of-smoke-in-lower-third-1962.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-billowing-from-the-bottom-left-of-frame-45297-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-billowing-with-pink-and-blue-light-45295-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-drifting-in-the-dark-8501-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-effect-over-black-background-1967.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-on-a-black-background-1961.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-rising-in-the-dark-8461-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-smoke-with-fluorescent-particles-on-black-background-12495-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-swirling-smoke-coloured-by-blue-and-pink-light-45296-medium.mp4
- - >-
- /local/backgrounds/smoke/mixkit-white-smoke-with-black-background-1960.mp4
- halloween:
- - >-
- /local/backgrounds/halloween/mixkit-bats-and-the-full-moon-on-halloween-18024-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-bats-and-witches-on-halloween-2d-animation-18026-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-bats-flying-in-a-mysterious-night-18028-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-black-background-with-smoke-foreground-1968.mp4
- - >-
- /local/backgrounds/halloween/mixkit-creepy-graveyard-with-view-of-the-starry-sky-26969-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-creepy-halloween-pumpkin-in-dark-cloud-forest-33884.mp4
- - >-
- /local/backgrounds/halloween/mixkit-dark-dry-tree-forest-in-3d-under-a-big-moon-31515-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-dark-forest-under-the-moon-and-a-green-haze-31522-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-glowing-halloween-pumpkins-in-the-dark-32986-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-graveyard-under-the-moon-with-green-mist-14207-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-halloween-pumpkin-in-the-garden-33885.mp4
- - >-
- /local/backgrounds/halloween/mixkit-halloween-pumpkin-lit-up-surrounded-by-spiders-webs-and-smoke-47946-medium.mp4
- - >-
- /local/backgrounds/halloween/mixkit-scary-halloween-pumpkin-lit-up-in-the-dark-33882.mp4
- - >-
- /local/backgrounds/halloween/mixkit-smiling-silhouette-of-a-halloween-pumpkin-33881.mp4
- - >-
- /local/backgrounds/halloween/mixkit-spooky-illuminated-carved-pumpkins-48840-medium.mp4
- sunny:
- - https://cdn.flixel.com/flixel/hlhff0h8md4ev0kju5be.hd.mp4
- - https://cdn.flixel.com/flixel/zjqsoc6ecqhntpl5vacs.hd.mp4
- - https://cdn.flixel.com/flixel/jvw1avupguhfbo11betq.hd.mp4
- - https://cdn.flixel.com/flixel/8cmeusxf3pkanai43djs.hd.mp4
- - https://cdn.flixel.com/flixel/guwb10mfddctfvwioaex.hd.mp4
- partlycloudy:
- - https://cdn.flixel.com/flixel/13e0s6coh6ayapvdyqnv.hd.mp4
- - https://cdn.flixel.com/flixel/aorl3skmssy7udwopk22.hd.mp4
- - https://cdn.flixel.com/flixel/qed6wvf2igukiioykg3r.hd.mp4
- - https://cdn.flixel.com/flixel/3rd72eezaj6d23ahlo7y.hd.mp4
- - https://cdn.flixel.com/flixel/9m11gd43m6qn3y93ntzp.hd.mp4
- - https://cdn.flixel.com/flixel/hrkw2m8eofib9sk7t1v2.hd.mp4
- cloudy:
- - https://cdn.flixel.com/flixel/13e0s6coh6ayapvdyqnv.hd.mp4
- - https://cdn.flixel.com/flixel/aorl3skmssy7udwopk22.hd.mp4
- - https://cdn.flixel.com/flixel/qed6wvf2igukiioykg3r.hd.mp4
- - https://cdn.flixel.com/flixel/3rd72eezaj6d23ahlo7y.hd.mp4
- - https://cdn.flixel.com/flixel/9m11gd43m6qn3y93ntzp.hd.mp4
- - https://cdn.flixel.com/flixel/hrkw2m8eofib9sk7t1v2.hd.mp4
- mostlycloudy:
- - https://cdn.flixel.com/flixel/e95h5cqyvhnrk4ytqt4q.hd.mp4
- - https://cdn.flixel.com/flixel/l2bjw34wnusyf5q2qq3p.hd.mp4
- - https://cdn.flixel.com/flixel/rrgta099ulami3zb9fd2.hd.mp4
- clear-night:
- - https://cdn.flixel.com/flixel/x9dr8caygivq5secll7i.hd.mp4
- - https://cdn.flixel.com/flixel/v26zyfd6yf0r33s46vpe.hd.mp4
- - https://cdn.flixel.com/flixel/ypy8bw9fgw1zv2b4htp2.hd.mp4
- - https://cdn.flixel.com/flixel/rosz2gi676xhkiw1ut6i.hd.mp4
- fog:
- - https://cdn.flixel.com/flixel/vwqzlk4turo2449be9uf.hd.mp4
- - https://cdn.flixel.com/flixel/5363uhabodwwrzgnq6vx.hd.mp4
- rainy: https://cdn.flixel.com/flixel/f0w23bd0enxur5ff0bxz.hd.mp4
- kiosk_mode:
- user_settings:
- - users:
- - derek
- - another_user
- ignore_entity_settings: true
- hide_sidebar: true
- hide_search: true
- hide_assistant: true
- - users:
- - tablet
- hide_header: true
- hide_sidebar: true
- hide_menubutton: true
- hide_overflow: true
- hide_account: true
- hide_search: true
- hide_assistant: true
- entity_settings:
- - entity:
- input_boolean.fire_main_hide_header: 'on'
- hide_header: false
- - entity:
- input_boolean.fire_main_hide_header: 'off'
- hide_header: true
- - entity:
- input_boolean.fire_main_hide_sidebar: 'on'
- hide_sidebar: false
- - entity:
- input_boolean.fire_main_hide_sidebar: 'off'
- hide_sidebar: true
- - entity:
- input_boolean.fire_main_hide_menubutton: 'on'
- hide_menubutton: false
- - entity:
- input_boolean.fire_main_hide_menubutton: 'off'
- hide_menubutton: true
- - entity:
- input_boolean.fire_main_hide_overflow: 'on'
- hide_overflow: false
- - entity:
- input_boolean.fire_main_hide_overflow: 'off'
- hide_overflow: true
- - entity:
- input_boolean.fire_main_hide_account: 'on'
- hide_account: false
- - entity:
- input_boolean.fire_main_hide_account: 'off'
- hide_account: true
- - entity:
- input_boolean.fire_main_hide_search: 'on'
- hide_search: false
- - entity:
- input_boolean.fire_main_hide_search: 'off'
- hide_search: true
- - entity:
- input_boolean.fire_main_hide_assistant: 'on'
- hide_assistant: false
- - entity:
- input_boolean.fire_main_hide_assistant: 'off'
- hide_assistant: true
- button_card_templates:
- header_example_template:
- styles:
- card:
- - padding: 5px 15px
- - background-color: var(--paper-item-icon-active-color)
- name:
- - text-transform: uppercase
- - color: var(--primary-background-color)
- - justify-self: start
- - font-weight: bold
- label:
- - text-transform: uppercase
- - color: var(--primary-background-color)
- - justify-self: start
- - font-weight: bold
- generic_custom_button:
- show_icon: true
- show_name: true
- show_state: false
- color_type: icon
- triggers_update: all
- state:
- - color: rgb(28, 28, 28)
- operator: '=='
- value: 'off'
- styles:
- name:
- - color: rgb(128, 128, 128)
- - color: yellow
- operator: '=='
- value: 'on'
- styles:
- name:
- - color: white
- styles:
- card:
- - background: rgba(255,255,255,0.1);
- - '--ha-card-box-shadow': none
- - border-radius: 20px
- - '--mdc-ripple-color': white
- - '--mdc-ripple-press-opacity': 1.5
- - border: 1px solid var(--primary-text-color)
- tap_action:
- action: toggle
- hold_action:
- action: more-info
- double_tap_action:
- action: none
- blank_custom_button:
- show_icon: false
- show_name: false
- show_state: false
- triggers_update: all
- styles:
- card:
- - border: none
- - '--ha-card-box-shadow': none
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- oversized_custom_button:
- template: generic_custom_button
- aspect_ratio: 2/2
- custom_fields:
- color_temp: |-
- [[[ if ((entity.state === 'on')) ;
- if (entity.attributes.color_mode == 'color_temp') return entity.attributes.color_temp_kelvin + "K";
- if (entity.attributes.rgb_color != undefined) return "RGB(" + entity.attributes.rgb_color + ")";
- else return;
- ]]]
- last_changed: |-
- [[[ if (entity.state === 'on') {
- var last_changed_in_minutes = ((new Date().getTime() - new Date(entity.last_changed).getTime())/60000).toFixed(0);
- if (last_changed_in_minutes < 1) return;
- if (last_changed_in_minutes < 60) return last_changed_in_minutes + " min";
- if (last_changed_in_minutes >= 60) {
- var hrs = Math.floor(last_changed_in_minutes / 60);
- return hrs + " hr" + " " + (last_changed_in_minutes % (hrs * 60)) + " min"; }
- } ]]]
- styles:
- card:
- - background: null;
- - font-size: 30px
- icon:
- - width: 125%
- custom_fields:
- color_temp:
- - align-self: middle
- - justify-self: right
- - position: absolute
- - right: 3%
- - top: 3%
- - font-size: 20px
- - color: white
- - transform: rotate(0deg)
- - opacity: 33%
- last_changed:
- - align-self: middle
- - justify-self: right
- - position: absolute
- - right: 3%
- - top: 8%
- - font-size: 20px
- - color: white
- - transform: rotate(0deg)
- - opacity: 33%
- card_mod:
- style: |
- ha-card {
- background: none;
- {% if state_attr(config.entity, "color_mode") == "xy" %}
- {% set r = state_attr(config.entity, 'rgb_color')[0] %}
- {% set g = state_attr(config.entity, 'rgb_color')[1] %}
- {% set b = state_attr(config.entity, 'rgb_color')[2] %}
- background-color: rgba( {{r}}, {{g}}, {{b}}, 0.2 );
- --card-mod-icon-color: rgba( {{r}}, {{g}}, {{b}}, 1 );
- //--primary-text-color: rgba( {{r}}, {{g}}, {{b}}, 0.99 );
- //--secondary-text-color: rgba( {{r}}, {{g}}, {{b}}, 0.50 );
- {% elif state_attr(config.entity, "color_mode") == "color_temp" %}
- --card-mod-icon-color: yellow;
- --primary-text-color: white;
- {% elif is_state(config.entity, 'off') %}
- background: none;
- --card-mod-icon-color: rgb(28, 28, 28);
- --primary-text-color: rgb(128, 128, 128);
- {%- endif %}
- }
- oversized_custom_button_with_auto:
- template: oversized_custom_button
- variables:
- var_auto_entity: input_boolean.automation_auto_kitchen_lights
- var_timer_entity: timer.automation_auto_office_lights
- custom_fields:
- auto: >
- [[[ if ((states[variables.var_auto_entity].state === 'on')) return
- "Automatic"; ]]]
- countdown_timer:
- card:
- type: conditional
- conditions:
- - entity: '[[[ return variables.var_timer_entity ]]]'
- state: active
- card:
- type: entities
- entities:
- - entity: '[[[ return variables.var_timer_entity ]]]'
- name: "\_"
- icon: none
- card_mod:
- style: |
- ha-card {
- background: none;
- border: none;
- padding: 0px 0 0 0
- }
- timer-bar-card:
- card:
- type: custom:timer-bar-card
- entity: '[[[ return variables.var_timer_entity ]]]'
- translations:
- idle: "\_"
- layout: full_row
- invert: true
- bar_background: none
- bar_height: 5px
- bar_radius: 5px
- text_width: 0px
- sync_issues: fix
- tap_action:
- action: none
- modifications:
- - remaining: 100%
- bar_foreground: lime
- - remaining: 75%
- bar_foreground: orange
- - remaining: 50%
- bar_foreground: yellow
- - remaining: 25%
- bar_foreground: red
- styles:
- custom_fields:
- auto:
- - align-self: middle
- - justify-self: left
- - position: absolute
- - left: 3%
- - top: 3%
- - font-size: 24px
- - color: yellow
- - transform: rotate(0deg)
- - opacity: 33%
- countdown_timer:
- - align-self: left
- - justify-self: left
- - position: absolute
- - left: 12%
- - top: '-9px'
- - font-size: 18px
- - color: gray
- - transform: rotate(0deg)
- - opacity: 33%
- timer-bar-card:
- - align-self: left
- - justify-self: left
- - position: absolute
- - width: 100%
- - left: 0%
- - bottom: '-16px'
- - font-size: 18px
- - transform: rotate(0deg)
- - opacity: 75%
- double_tap_action:
- action: call-service
- service: input_boolean.toggle
- service_data:
- entity_id: '[[[ return variables.var_auto_entity; ]]]'
- rgb_kelvin_color_selector_base:
- template: generic_custom_button
- variables:
- var_color_name: null
- var_color_temp: null
- var_kelvin_value: null
- var_entity_id: light.living_room_lights
- show_name: false
- show_icon: false
- styles:
- card:
- - border-radius: 50%
- - height: 75px
- - width: 75px
- - background-color: rgba(255, 0, 0, 0.5)
- tap_action:
- action: call-service
- service: light.turn_on
- service_data:
- entity_id: '[[[ return variables.var_entity_id; ]]]'
- hold_action:
- action: call-service
- service: nodered.trigger
- service_data:
- entity_id: switch.nodered_all_lights_to_rgb
- rgb_selector:
- template: rgb_kelvin_color_selector_base
- tap_action:
- service_data:
- color_name: '[[[ return variables.var_color_name; ]]]'
- hold_action:
- service_data:
- message:
- color_name: '[[[ return variables.var_color_name ]]]'
- kelvin_selector:
- template: rgb_kelvin_color_selector_base
- tap_action:
- service_data:
- kelvin: '[[[ return variables.var_kelvin_value; ]]]'
- hold_action:
- service_data:
- message:
- kelvin: '[[[ return variables.var_kelvin_value; ]]]'
- color_temp_selector:
- template: rgb_kelvin_color_selector_base
- tap_action:
- service_data:
- color_temp: '[[[ return variables.var_color_temp; ]]]'
- hold_action:
- service_data:
- message:
- color_temp: '[[[ return variables.var_color_temp; ]]]'
- brightness_selector:
- template: generic_custom_button
- variables:
- var_value: 100
- var_entity_id: light.living_room_lights
- name: '[[[ return `${variables.var_value}%` ]]]'
- show_icon: false
- state:
- - operator: template
- value: |-
- [[[ return states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-5)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- styles:
- card:
- - height: 75px
- name:
- - font-weight: bold
- - font-size: 24px
- tap_action:
- action: call-service
- service: light.turn_on
- service_data:
- brightness_pct: '[[[ return variables.var_value; ]]]'
- entity_id: '[[[ return variables.var_entity_id; ]]]'
- hold_action:
- action: call-service
- service: nodered.trigger
- service_data:
- entity_id: switch.nodered_all_lights_to_rgb
- message:
- brightness_pct: '[[[ return variables.var_value; ]]]'
- battery_custom_button:
- template: generic_custom_button
- entity: sensor.tab_s7_fe_battery_level
- name: Tablet
- tap_action:
- action: none
- variables:
- var_color: |-
- [[[
- var battery_level=entity.state;
- if (battery_level > 70) return 'lime';
- else if (battery_level >= 30) return 'yellow';
- else return 'red';
- ]]]
- custom_fields:
- battery_percentage: |
- [[[ if (entity.state === 'unavailable') return " ";
- else return `${entity.state}%` ]]]
- styles:
- card:
- - border: none
- icon:
- - color: '[[[ return variables.var_color ]]]'
- - animation: |
- [[[ if (entity.state <= 10 ) return 'blink 2s ease infinite'; ]]]
- custom_fields:
- battery_percentage:
- - align-self: middle
- - justify-self: center
- - position: absolute
- - left: 5%
- - top: 25%
- - font-size: 14px
- - color: '[[[ return variables.var_color ]]]'
- - transform: rotate(90deg)
- motion_detector_animated:
- entity: binary_sensor.bathroom_motion_detector_on_off
- name: Bathroom
- show_name: true
- variables:
- var_battery_entity: sensor.living_room_motion_detector_battery_level
- custom_fields:
- battery_percentage: >
- [[[ return `<ha-icon icon="mdi:circle-small" style="width: 25px; height:
- 25px;"> </ha-icon>`; ]]]
- styles:
- custom_fields:
- battery_percentage:
- - position: absolute
- - left: 5%
- - top: 5%
- - color: |-
- [[[
- var battery_level=states[variables.var_battery_entity].state;
- if (battery_level > 70) return 'lime';
- else if (battery_level >= 30) return 'yellow';
- else return 'red';
- ]]]
- card:
- - background-color: rgb(17, 17, 17)
- - border-radius: 20px
- state:
- - value: 'off'
- operator: '=='
- icon: mdi:walk
- color: rgb(28, 28, 28)
- styles:
- name:
- - color: rgb(28, 28, 28)
- - value: 'on'
- operator: '=='
- icon: mdi:motion-sensor
- color: rgb(255, 0, 0)
- styles:
- name:
- - color: white
- icon:
- - animation: blink 2s ease infinite
- - value: unavailable
- operator: '=='
- icon: mdi:walk
- color: rgb(255, 255, 0)
- styles:
- name:
- - color: rgb(255, 255, 0)
- - animation: blink 3s cubic-bezier(.2, 0, 1, 1) infinite
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- chips:
- tap_action:
- action: more-info
- show_icon: false
- show_label: true
- show_name: false
- show_state: false
- styles:
- label:
- - justify-self: center
- - padding: 0px 6px
- - font-weight: bold
- - font-size: 14px
- img_cell:
- - width: 24px
- grid:
- - grid-template-areas: '''l'''
- card:
- - border-radius: 18px
- - box-shadow: var(--box-shadow)
- - height: 36px
- - width: auto
- - padding-left: 6px
- - padding-right: 6px
- size: 80%
- chip_icon_label:
- template: chips
- show_icon: true
- size: 100%
- styles:
- card:
- - padding-top: 6px
- - padding-button: 6px
- - padding-left: 12px
- grid:
- - grid-template-areas: '''i l'''
- - grid-template-columns: max_content auto
- - grid-template-rows: min-content
- img_cell:
- - place-self: center
- - width: 14px
- - height: 24px
- label:
- - font-size: 12px
- - margin-left: 0px
- views:
- - theme: Derek Dark Theme
- subview: false
- type: panel
- title: Room
- path: room
- icon: mdi:floor-plan
- badges: []
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 50% 50%
- cards:
- - type: custom:room-card
- title: Living Room
- entity: light.living_room_lights
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/living-room
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- info_entities:
- - entity: binary_sensor.living_room_door_on_off
- show_icon: true
- state_color: true
- - entity: binary_sensor.living_room_door_vibration
- show_icon: true
- state_color: true
- - entity: binary_sensor.living_room_motion_detector_on_off
- show_icon: true
- state_color: false
- card_mod:
- style: |
- ha-card {
- animation: blink 1s linear infinite;
- }
- icon:
- conditions:
- - condition: equals
- value: 'on'
- styles:
- color: red
- animation: blink 1s linear infinite
- - condition: equals
- value: 'off'
- styles:
- color: green
- - entity: binary_sensor.espresense_living_room
- show_icon: true
- state_color: false
- icon:
- conditions:
- - icon: mdi:bluetooth-connect
- condition: equals
- value: 'on'
- styles:
- color: blue
- - icon: mdi:bluetooth-off
- condition: equals
- value: 'off'
- styles:
- color: dodgerblue
- - entity: sensor.living_room_motion_detector_illuminance
- - entity: sensor.living_room_motion_detector_temperature
- format: precision0
- rows:
- - entities:
- - entity: light.living_room1
- name: Right
- template: light_template
- - entity: light.living_room2
- name: Left
- template: light_template
- - entities:
- - entity: sensor.fire_living_room_battery_level
- name: Fire
- template: battery_template
- - entity: sensor.living_room_door_power
- name: Door
- template: battery_template
- - entity: sensor.living_room_door_vibration_power
- name: Vibration
- template: battery_template
- - entity: sensor.living_room_motion_detector_power
- name: Motion
- template: battery_template
- - entity: sensor.living_room_tradfri_power
- name: Tradfri
- template: battery_template
- - entity: input_boolean.automation_plex_scene
- name: Plex Scene
- show_icon: true
- icon:
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - entity: input_boolean.guest_mode
- name: Guest Mode
- show_icon: true
- icon:
- state_on: mdi:home
- state_off: mdi:home-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - type: custom:room-card
- title: Kitchen
- entity: light.kitchen_lights
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/kitchen
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- - name: binary_template
- template:
- show_icon: true
- state_color: false
- icon:
- conditions:
- - condition: equals
- value: 'on'
- styles:
- color: red
- - condition: equals
- value: 'off'
- styles:
- color: green
- info_entities:
- - entity: binary_sensor.kitchen_leak_sensor_status
- template: binary_template
- - entity: binary_sensor.kitchen_motion_detector_2_on_off
- template: binary_template
- - entity: binary_sensor.kitchen_motion_detector_on_off
- template: binary_template
- rows:
- - entities:
- - entity: light.kitchen
- name: Overhead
- template: light_template
- - entity: light.stove
- name: Stove
- template: light_template
- - entities:
- - entity: sensor.kitchen_button_power
- name: Button
- template: battery_template
- - entity: sensor.kitchen_motion_detector_power
- name: Motion 1
- template: battery_template
- - entity: sensor.kitchen_motion_detector_2_power
- name: Motion 2
- template: battery_template
- - entity: sensor.kitchen_leak_sensor_battery
- name: Leak
- template: battery_template
- - entity: input_boolean.automation_auto_kitchen_lights
- name: Auto Lights
- show_icon: true
- icon:
- state_on: mdi:lightbulb-auto
- state_off: mdi:lightbulb-auto-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - type: custom:room-card
- title: Bathroom
- entity: light.bathroom_lights
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/bathroom
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- info_entities:
- - entity: binary_sensor.bathroom_door
- show_icon: true
- state_color: false
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:door-open
- styles:
- color: rgb(169, 177, 188)
- - condition: equals
- value: 'off'
- icon: mdi:door
- styles:
- color: yellow
- - entity: binary_sensor.bathroom_motion_detector_on_off
- show_icon: true
- state_color: false
- icon:
- conditions:
- - condition: equals
- value: 'on'
- styles:
- color: red
- - condition: equals
- value: 'off'
- styles:
- color: green
- - entity: sensor.bathroom_motion_detector_illuminance
- - entity: sensor.bathroom_door_temperature
- format: precision0
- rows:
- - entities:
- - entity: light.bathroom1
- name: 1
- template: light_template
- - entity: light.bathroom2
- name: 2
- template: light_template
- - entity: light.bathroom3
- name: 3
- template: light_template
- - entity: light.bathroom4
- name: 4
- template: light_template
- - entities:
- - entity: sensor.bathroom_door_power
- name: Door
- template: battery_template
- - entity: sensor.bathroom_motion_detector_power
- name: Motion
- template: battery_template
- - entity: sensor.bathroom_tradfri_power
- name: Tradfri
- template: battery_template
- - entity: input_boolean.automation_auto_bathroom_lights
- name: Auto Lights
- show_icon: true
- icon:
- state_on: mdi:lightbulb-auto
- state_off: mdi:lightbulb-auto-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - type: custom:room-card
- title: Office
- entity: light.office_lights
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/office
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- info_entities:
- - entity: sensor.canon_laser_printer
- show_icon: true
- state_color: true
- - entity: binary_sensor.office_motion_detector_on_off
- show_icon: true
- state_color: false
- icon:
- conditions:
- - condition: equals
- value: 'on'
- styles:
- color: red
- - condition: equals
- value: 'off'
- styles:
- color: green
- - entity: sensor.office_motion_detector_illuminance
- - entity: sensor.office_motion_detector_temperature
- show_icon: false
- format: precision0
- rows:
- - entities:
- - entity: light.office1
- name: Main
- template: light_template
- - entity: light.office2
- name: Lamp
- template: light_template
- - entities:
- - entity: sensor.office_motion_detector_power
- name: Motion
- template: battery_template
- - entity: sensor.office_button_power
- name: Button
- template: battery_template
- - entity: input_boolean.automation_auto_office_lights
- name: Auto Lights
- show_icon: true
- icon:
- state_on: mdi:lightbulb-auto
- state_off: mdi:lightbulb-auto-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - type: custom:room-card
- title: Hallway
- entity: light.hallway
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- info_entities:
- - entity: binary_sensor.hallway_closet
- show_icon: true
- state_color: true
- - entity: binary_sensor.smoke_detector_smoke_alarm_smoke_detected
- show_icon: true
- state_color: true
- - entity: binary_sensor.smoke_detector_co_alarm_carbon_monoxide_detected
- show_icon: true
- state_color: true
- rows:
- - entities:
- - entity: light.hallway
- template: light_template
- - entities:
- - entity: sensor.hallway_closet_battery
- name: Closet
- template: battery_template
- - entity: sensor.smoke_detector_battery_level
- name: Smoke/CO2
- template: battery_template
- - entity: input_boolean.automation_auto_hallway_lights
- name: Auto Lights
- show_icon: true
- icon:
- state_on: mdi:lightbulb-auto
- state_off: mdi:lightbulb-auto-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else
- return 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- - type: custom:room-card
- title: Bedroom
- entity: light.bedroom_lights
- show_icon: true
- state_color: false
- show_state: false
- icon:
- state_on: mdi:lightbulb-group
- state_off: mdi:lightbulb-group-outline
- template:
- styles: >
- if (entity.state == 'on') return 'color: yellow'; else return
- 'color: rgb(169, 177, 188)';
- tap_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/bedroom
- templates:
- - name: light_template
- template:
- show_icon: true
- tap_action:
- action: toggle
- icon:
- conditions:
- - condition: equals
- value: 'on'
- icon: mdi:lightbulb
- - condition: equals
- value: 'off'
- icon: mdi:lightbulb-outline
- - name: battery_template
- template:
- show_icon: true
- state_color: true
- tap_action:
- action: none
- info_entities:
- - entity: binary_sensor.bedroom_motion_detector_on_off
- show_icon: true
- state_color: false
- icon:
- conditions:
- - condition: equals
- value: 'on'
- styles:
- color: red
- - condition: equals
- value: 'off'
- styles:
- color: green
- - entity: binary_sensor.espresense_bedroom
- show_icon: true
- state_color: false
- icon:
- conditions:
- - icon: mdi:bluetooth-connect
- condition: equals
- value: 'on'
- styles:
- color: blue
- - icon: mdi:bluetooth-off
- condition: equals
- value: 'off'
- styles:
- color: dodgerblue
- - entity: sensor.bedroom_motion_detector_illuminance
- - entity: sensor.bedroom_motion_detector_temperature
- format: precision0
- rows:
- - entities:
- - entity: null
- - entity: light.bedroom1
- name: Nightstand
- template: light_template
- - entity: light.bedroom2
- name: Dresser
- template: light_template
- - entity: light.bedroom_floor_lamp
- name: Floor Lamp
- template: light_template
- - entities:
- - entity: sensor.s22_ultra_battery_level
- name: Phone
- template: battery_template
- - entity: sensor.watch5_battery_level
- name: Watch
- template: battery_template
- - entity: sensor.tab_s7_fe_battery_level
- name: Tablet
- template: battery_template
- - entity: sensor.fire_computer_desk_battery_level
- name: Fire
- template: battery_template
- - entity: sensor.bedroom_motion_detector_battery
- name: Motion
- template: battery_template
- - entity: sensor.bedroom_tradfri_1_power
- name: Tradfri 1
- template: battery_template
- - entity: sensor.bedroom_tradfri_2_power
- name: Tradfri 2
- template: battery_template
- - entity: sensor.bedroom_tempertaure_power
- name: Temp
- template: battery_template
- - entity: sensor.lumi_lumi_sensor_cube_power
- name: Cube
- template: battery_template
- - title: Living Room
- path: living-room
- theme: Derek Dark Theme
- animated_background: weather
- type: panel
- badges: []
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: entity
- entity: person.derek
- use_entity_picture: true
- card_mod:
- style: |
- ha-card {
- border: unset;
- --chip-background: none;
- --chip-font-size: 16px;
- --chip-padding: 0 0.3em;
- --chip-box-shadow: none;
- - type: template
- content: >-
- {{ states(entity) }} {{ state_attr(entity,
- "unit_of_measurement") }}
- icon: >
- {% set battery_level =
- states('sensor.s22_ultra_battery_level') | int // 10 * 10 %}
- {% set charging_state =
- states('sensor.s22_ultra_charger_type') %} {% set is_charging
- = is_state('binary_sensor.s22_ultra_is_charging', 'on') |
- iif(True, False) %}
- {% set map = {"none":"", "ac":"charging-",
- "wireless":"charging-wireless-"} %} {% set charging =
- map[states('sensor.s22_ultra_charger_type')] %}
- {% if battery_level == 100 and is_charging == True %}
- mdi:battery-charging {% elif battery_level == 100 %}
- mdi:battery {% elif battery_level >= 10 %}
- mdi:battery-{{charging}}{{battery_level}} {% elif
- battery_level >= 0 %}mdi:battery-{{charging}}outline {%
- else %} mdi:battery-unknown {% endif %}
- entity: sensor.s22_ultra_battery_level
- icon_color: |
- {% set battery_level = (states(entity) | int) %}
- {% if battery_level >= 90 %} green
- {% elif battery_level >= 80 %} light-green
- {% elif battery_level >= 68 %} orange
- {% elif battery_level >= 56 %} yellow
- {% elif battery_level >= 44 %} amber
- {% elif battery_level >= 32 %} orange
- {% elif battery_level >= 20 %} deep-orange
- {% else %} red
- {% endif %}
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: template
- entity: input_boolean.guest_mode
- content: Guest Mode
- icon: |
- {{ (states(entity)=="on") | iif("mdi:home",
- "mdi:home-off-outline") }}
- icon_color: |
- {{ (states(entity)=="on") | iif("green", "red") }}
- press_action:
- action: toggle
- - type: template
- entity: input_boolean.automation_override
- content: Automations
- icon: >
- {{ (states(entity)=="off") | iif("mdi:lightbulb-auto",
- "mdi:lightbulb-auto-outline") }}
- icon_color: |
- {{ (states(entity)=="off") | iif("green", "red") }}
- press_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/automations
- - type: template
- entity: input_boolean.automation_interior_motion_detectors
- content: Motion Detectors
- icon: >
- {{ (states(entity)=="on") | iif("mdi:motion-sensor",
- "mdi:motion-sensor-off") }}
- icon_color: |
- {{ (states((entity))=="on") | iif("green", "red") }}
- press_action:
- action: toggle
- - type: conditional
- conditions:
- - entity: binary_sensor.living_room_motion_detector_on_off
- state: 'on'
- chip:
- type: template
- icon_color: red
- icon: mdi:motion-sensor
- card_mod:
- style: |
- :host {
- position: fixed;
- top: 0px;
- left: 94%;
- z-index: 99;
- }
- ha-card {
- {% if is_state('binary_sensor.living_room_motion_detector_on_off', 'on') %}
- animation: ping 2s infinite
- {% endif %}
- }
- @keyframes ping {
- 0% { box-shadow: inset 0 0 1px 0px rgba(255,0,0, 0.7); }
- 100% { box-shadow: inset 0 0 1px 10px transparent; }
- }
- hold_action:
- action: navigate
- navigation_path: /fire-main/sensors
- - type: custom:state-switch
- entity: template
- template: >-
- {% if is_state('binary_sensor.living_room_door_on_off', 'on')
- and (as_timestamp(now()) -
- as_timestamp(states.binary_sensor.living_room_door_on_off.last_updated))|int
- > 30 %} open_too_long {% endif %}
- states:
- open_too_long:
- type: custom:mushroom-chips-card
- chips:
- - type: template
- icon_color: red
- icon: mdi:door-open
- card_mod:
- style: |
- ha-card {
- animation: blink 1s linear infinite;
- --chip-icon-size: 0.6em;
- }
- hold_action:
- action: navigate
- navigation_path: /fire-main/sensors
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 49% 50%
- margin: '-5px -5px -5px -5px'
- padding: 0
- card_margin: 0
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 68% 18% 18%
- cards:
- - type: custom:button-card
- template: oversized_custom_button
- entity: light.living_room_lights
- hold_action:
- action: navigate
- navigation_path: /fire-main/room
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 100
- var_entity_id: light.living_room_lights
- state:
- - operator: template
- value: >-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55)
- &&
- states[variables.var_entity_id].attributes.brightness
- >=
- Math.floor((variables.var_value-13)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 75
- var_entity_id: light.living_room_lights
- state:
- - operator: template
- value: >-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55)
- &&
- states[variables.var_entity_id].attributes.brightness
- >=
- Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 50
- var_entity_id: light.living_room_lights
- state:
- - operator: template
- value: >-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55)
- &&
- states[variables.var_entity_id].attributes.brightness
- >=
- Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 25
- var_entity_id: light.living_room_lights
- state:
- - operator: template
- value: >-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55)
- &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-9)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 8px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 10
- var_entity_id: light.living_room_lights
- state:
- - operator: template
- value: >-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >=
- Math.floor((variables.var_value-10)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- card_mod:
- class: top-level-card
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: red
- var_entity_id: light.living_room_lights
- styles:
- card:
- - background-color: rgba(255, 0, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: green
- var_entity_id: light.living_room_lights
- styles:
- card:
- - background-color: rgba(0, 255, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: blue
- var_entity_id: light.living_room_lights
- styles:
- card:
- - background-color: rgba(0, 0, 255, 0.5)
- - type: custom:button-card
- template: kelvin_selector
- variables:
- var_kelvin_value: 2000
- var_entity_id: light.living_room_lights
- styles:
- card:
- - background-color: rgba(255, 160, 0, 0.5)
- - type: custom:button-card
- template: color_temp_selector
- variables:
- var_color_temp: 288
- var_entity_id: light.living_room_lights
- styles:
- card:
- - background-color: rgba(255, 255, 255, 0.5)
- - type: custom:mod-card
- card_mod:
- style: |
- ha-card {
- border: solid 2px var(--primary-text-color);;
- background: transparent;
- position: fixed;
- bottom: 0px;
- width: 49%;
- z-index: 0;
- }
- card:
- type: custom:frigate-card
- cameras:
- - camera_entity: camera.rtsp
- view:
- dark_mode: 'on'
- menu:
- buttons:
- frigate:
- enabled: false
- live:
- enabled: true
- cameras:
- enabled: false
- camera_ui:
- enabled: false
- substreams:
- enabled: false
- style: none
- live:
- preload: true
- controls:
- builtin: false
- performance:
- features:
- animated_progress_indicator: false
- card_mod:
- style: |
- :host {
- height: 330px;
- }
- - type: vertical-stack
- cards:
- - type: grid
- view_layout:
- grid-area: main
- columns: 5
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.living_room1
- icon: mdi:lamp
- - type: custom:button-card
- template: generic_custom_button
- entity: light.living_room2
- icon: mdi:lamp
- - type: custom:button-card
- template: generic_custom_button
- entity: light.kitchen
- icon: mdi:ceiling-light-outline
- hold_action:
- action: navigate
- navigation_path: /fire-main/kitchen
- - type: custom:button-card
- template: generic_custom_button
- entity: light.stove
- icon: mdi:stove
- hold_action:
- action: navigate
- navigation_path: /fire-main/kitchen
- - type: custom:button-card
- template: generic_custom_button
- entity: light.hallway
- icon: mdi:wall-sconce-outline
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom_lights
- name: Bathroom
- icon: mdi:shower
- hold_action:
- action: navigate
- navigation_path: /fire-main/bathroom
- - type: custom:button-card
- template: generic_custom_button
- entity: light.office_lights
- name: Office
- icon: mdi:desk
- hold_action:
- action: navigate
- navigation_path: /fire-main/office
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bedroom_lights
- name: Bedroom
- icon: mdi:bed-empty
- hold_action:
- action: navigate
- navigation_path: /fire-main/bedroom
- - type: custom:button-card
- template: generic_custom_button
- entity: light.all_lights
- icon: mdi:lightbulb-group-outline
- name: >
- [[[ if ((entity.state === 'on')) return "All Lights
- Off"; else return "All Lights On"]]]
- hold_action:
- action: navigate
- navigation_path: /fire-main/all-lights
- - type: custom:mod-card
- card_mod:
- style: |
- ha-card {
- border: none;
- background: transparent;
- position: fixed;
- bottom: 0px;
- }
- card:
- type: vertical-stack
- cards:
- - type: conditional
- view_layout:
- grid-area: media
- conditions:
- - entity: >-
- media_player.plex_plex_for_windows_desktop_p54jk04
- state: playing
- card:
- type: custom:mushroom-media-player-card
- entity: media_player.plex_plex_for_windows_desktop_p54jk04
- collapsible_controls: false
- volume_controls: []
- show_volume_level: false
- use_media_info: true
- fill_container: true
- icon_type: entity-picture
- tap_action:
- action: none
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- - type: custom:mod-card
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);;
- background: transparent;
- }
- card:
- type: horizontal-stack
- layout_type: grid
- layout:
- grid-template-columns: 50% 50%
- cards:
- - type: weather-forecast
- entity: weather.home
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - type: picture
- image: >-
- https://s.w-x.co/staticmaps/wu/wu/wxtype1200_cur/usday/animate.png
- tap_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- style: >
- --popup-max-width: 80%;
- --popup-min-width: 60%;
- --popup-max-height: 80%;
- --popup-min-height: 60%;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em)
- brightness(1.2);
- timeout: 10000
- card_mod:
- style: |
- @media (min-width: 812px) {
- :host .content {
- width: 90vw;
- height: 90vh;
- }
- }
- ha-dialog$: |
- div.mdc-dialog div.mdc-dialog__scrim {
- background: rgba(100, 100, 100, 0.7);
- }
- content:
- type: vertical-stack
- cards:
- - type: picture
- image: >-
- https://s.w-x.co/staticmaps/wu/wu/wxtype1200_cur/usday/animate.png
- tap_action:
- action: none
- hold_action:
- action: navigate
- navigation_path: /fire-main/weather
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- width: 50%;
- }
- - type: grid
- columns: 2
- cards:
- - type: picture
- image: local/CGL-Sandwich.gif
- tap_action:
- action: none
- hold_action:
- action: none
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- width: 50%;
- }
- - type: picture
- image: local/CGL-Geocolor.gif
- tap_action:
- action: none
- hold_action:
- action: none
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- width: 50%;
- }
- hold_action:
- action: navigate
- navigation_path: /fire-main/weather
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - theme: Derek Dark Theme
- title: Kitchen
- path: kitchen
- type: panel
- badges: []
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 49% 51%
- grid-template-rows: 350px 160px 150px 150px
- grid-template-areas: |
- "col1 main"
- "gap gap1"
- "gap2 footer2"
- "footer1 footer2"
- margin: '-4px 4px -4px -4px'
- padding: 0
- card_margin: 0
- cards:
- - type: custom:layout-card
- view_layout:
- grid-area: col1
- layout_type: grid
- layout:
- grid-template-columns: 68% 18% 18%
- cards:
- - type: custom:button-card
- template: oversized_custom_button_with_auto
- entity: light.kitchen_lights
- hold_action:
- action: navigate
- navigation_path: /fire-main/room
- variables:
- var_auto_entity: input_boolean.automation_auto_kitchen_lights
- var_timer_entity: timer.automation_auto_kitchen_lights
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 100
- var_entity_id: light.kitchen_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-13)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 75
- var_entity_id: light.kitchen_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 50
- var_entity_id: light.kitchen_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 25
- var_entity_id: light.kitchen_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-9)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 10
- var_entity_id: light.kitchen_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-10)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: red
- var_entity_id: light.kitchen_lights
- styles:
- card:
- - background-color: rgba(255, 0, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: green
- var_entity_id: light.kitchen_lights
- styles:
- card:
- - background-color: rgba(0, 255, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: blue
- var_entity_id: light.kitchen_lights
- styles:
- card:
- - background-color: rgba(0, 0, 255, 0.5)
- - type: custom:button-card
- template: kelvin_selector
- variables:
- var_kelvin_value: 2000
- var_entity_id: light.kitchen_lights
- styles:
- card:
- - background-color: rgba(255, 160, 0, 0.5)
- - type: custom:button-card
- template: color_temp_selector
- variables:
- var_color_temp: 288
- var_entity_id: light.kitchen_lights
- styles:
- card:
- - background-color: rgba(255, 255, 255, 0.5)
- - type: custom:gap-card
- view_layout:
- grid-area: gap
- - type: entities
- view_layout:
- grid-area: footer1
- entities:
- - entity: sensor.kitchen_button_battery_level
- - entity: sensor.kitchen_motion_detector_2_battery_level
- - entity: sensor.kitchen_motion_detector_battery_level
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- - type: vertical-stack
- view_layout:
- grid-area: main
- cards:
- - type: grid
- columns: 4
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.kitchen
- icon: mdi:ceiling-light-outline
- - type: custom:button-card
- template: generic_custom_button
- entity: light.stove
- icon: mdi:stove
- - type: custom:button-card
- template: generic_custom_button
- entity: light.living_room_lights
- name: Living Room
- icon: mdi:television-classic
- hold_action:
- action: navigate
- navigation_path: /fire-main/living-room
- - type: custom:button-card
- template: generic_custom_button
- entity: light.hallway
- icon: mdi:wall-sconce
- - type: custom:layout-card
- view_layout:
- grid-area: footer2
- layout_type: grid
- square: true
- layout:
- grid-template-columns: 100%
- cards:
- - type: custom:mini-media-player
- name: Kitchen Dot
- entity: media_player.kitchen_dot
- icon: mdi:amazon-alexa
- artwork: cover
- source: full
- mini-media-player-scale: 1
- hide:
- power_state: false
- power: true
- source: true
- name: true
- icon: true
- runtime: false
- controls: false
- volume: false
- progress: true
- shortcuts:
- columns: 3
- buttons:
- - name: Play Music
- type: AMAZON_MUSIC
- id: Play Music
- - name: RadioU
- type: TUNEIN
- id: RadioU
- - name: Alt 105.7
- type: iHeartRadio
- id: Columbus Alternative 105.7
- - name: My Likes
- type: AMAZON_MUSIC
- id: My Likes and more
- - name: KOKE (Cnty)
- type: TUNEIN
- id: KOKE FM
- - name: 2000s Hip Hop
- type: AMAZON_MUSIC
- id: 2000s hip hop
- - name: Tom MacDonald
- type: AMAZON_MUSIC
- id: Tom MacDonald
- - name: Feel Good (Cnty)
- type: AMAZON_MUSIC
- id: Feel-Good Country
- - name: Classical
- type: AMAZON_MUSIC
- id: Ultimate Classical Station
- - name: Classic FM
- type: TUNEIN
- id: Classic FM
- - name: BBC News
- type: TUNEIN
- id: BBC World Service News
- - name: Similiar Music
- type: AMAZON_MUSIC
- id: Similar Music
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- square: false
- - theme: Derek Dark Theme
- title: Bedroom
- path: bedroom
- type: panel
- animated_background: weather
- visible:
- - user: 533e51fcaca94bfbbc41b474e0b127af
- - user: f1ff35aa97074588beee1542d27c4d95
- badges: []
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 49% 51%
- grid-template-rows: 350px 175px 190px 13px
- grid-template-areas: |
- "col1 main"
- "gap gap1"
- "gap2 gap3"
- "footer1 gap4"
- "footer1 footer2"
- margin: '-4px 4px -4px -4px'
- padding: 0
- card_margin: 0
- cards:
- - type: vertical-stack
- view_layout:
- grid-area: col1
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 68% 18% 18%
- cards:
- - type: custom:button-card
- template: oversized_custom_button
- entity: light.bedroom_lights
- hold_action:
- action: navigate
- navigation_path: /fire-main/room
- aspect_ratio: 2/2
- styles:
- card:
- - font-size: 30px
- icon:
- - width: 125%
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 100
- var_entity_id: light.bedroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-13)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 75
- var_entity_id: light.bedroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 50
- var_entity_id: light.bedroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 25
- var_entity_id: light.bedroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-9)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 10
- var_entity_id: light.bedroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-10)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: red
- var_entity_id: light.bedroom_lights
- styles:
- card:
- - background-color: rgba(255, 0, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: green
- var_entity_id: light.bedroom_lights
- styles:
- card:
- - background-color: rgba(0, 255, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: blue
- var_entity_id: light.bedroom_lights
- styles:
- card:
- - background-color: rgba(0, 0, 255, 0.5)
- - type: custom:button-card
- template: kelvin_selector
- variables:
- var_kelvin_value: 2000
- var_entity_id: light.bedroom_lights
- styles:
- card:
- - background-color: rgba(255, 160, 0, 0.5)
- - type: custom:button-card
- template: color_temp_selector
- variables:
- var_color_temp: 288
- var_entity_id: light.bedroom_lights
- styles:
- card:
- - background-color: rgba(255, 255, 255, 0.5)
- - type: vertical-stack
- card_mod:
- style: |
- ha-card {
- display: false;
- }
- cards:
- - type: custom:frigate-card
- cameras:
- - camera_entity: camera.rtsp
- view:
- dark_mode: 'on'
- menu:
- buttons:
- frigate:
- enabled: false
- live:
- enabled: false
- cameras:
- enabled: false
- camera_ui:
- enabled: true
- substreams:
- enabled: false
- style: none
- live:
- preload: true
- controls:
- builtin: false
- performance:
- features:
- animated_progress_indicator: false
- card_mod:
- style: |
- ha-card {
- border: solid 2px var(--primary-text-color);
- background-color: transparent
- }
- - type: custom:layout-card
- view_layout:
- grid-area: footer1
- layout_type: grid
- layout:
- grid-template-columns: 50%
- square: false
- cards:
- - type: entities
- entities:
- - entity: sensor.s22_ultra_next_alarm
- name: Next alarm
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: rgba(0, 0, 0, 0)
- }
- - type: vertical-stack
- view_layout:
- grid-area: main
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 100%
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- show_state: false
- show_icon: false
- show_name: true
- tap_action: none
- hold_action: none
- name: >-
- [[[ return states["sensor.dashboard_date"].state + " / " +
- states["sensor.time"].state ]]]
- styles:
- card:
- - font-size: 50px
- - height: 65px
- - border: none
- - background: transparent
- - type: grid
- columns: 5
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bedroom1
- name: Nightstand
- icon: mdi:lamp
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bedroom2
- name: Dresser
- icon: mdi:dresser
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bedroom_floor_lamp
- name: Floor Lamp
- icon: mdi:floor-lamp-dual-outline
- - type: custom:button-card
- template: generic_custom_button
- entity: light.living_room_lights
- name: Living Room
- icon: mdi:television-classic
- hold_action:
- action: navigate
- navigation_path: /fire-main/living-room
- - type: custom:button-card
- template: generic_custom_button
- entity: light.kitchen_lights
- name: Kitchen
- icon: mdi:countertop-outline
- hold_action:
- action: navigate
- navigation_path: /fire-main/kitchen
- - type: custom:button-card
- template: generic_custom_button
- entity: light.office_lights
- name: Office
- icon: mdi:google-classroom
- hold_action:
- action: navigate
- navigation_path: /fire-main/office
- - type: custom:button-card
- template: generic_custom_button
- entity: light.hallway
- name: Hallway
- icon: mdi:wall-sconce-outline
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom_lights
- name: Bathroom
- icon: mdi:shower
- hold_action:
- action: navigate
- navigation_path: /fire-main/bathroom
- - type: custom:button-card
- template: generic_custom_button
- entity: fan.tower_fan
- icon: mdi:fan
- name: Fan
- styles:
- icon:
- - animation: >
- [[[ if ((entity.state === 'on')) return "rotating 5s
- linear infinite"]]]
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- style: >
- color: red;
- --popup-max-width: 800px;
- --popup-min-width: 600px;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em)
- brightness(1.2);
- timeout: 35000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:mushroom-fan-card
- entity: fan.tower_fan
- icon_animation: true
- fill_container: true
- layout: horizontal
- icon_type: icon
- show_percentage_control: true
- show_oscillate_control: true
- collapsible_controls: true
- - type: custom:button-card
- template: generic_custom_button
- entity: light.all_lights
- icon: mdi:lightbulb-group-outline
- name: >
- [[[ if ((entity.state === 'on')) return "All Lights Off";
- else return "All Lights On"]]]
- hold_action:
- action: navigate
- navigation_path: /fire-main/all-lights
- - type: grid
- columns: 3
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- tap_action:
- action: call-service
- service: nodered.trigger
- service_data:
- entity_id: switch.nodered_goodmorning
- target: {}
- entity: switch.nodered_goodmorning
- show_state: false
- show_icon: true
- icon: mdi:weather-sunny
- name: Good Morning
- styles:
- icon:
- - color: rgb(18,18,18)
- - animation:
- - rotating 10s linear infinite alternate
- - type: custom:button-card
- template: blank_custom_button
- - type: custom:button-card
- template: generic_custom_button
- tap_action:
- action: call-service
- service: nodered.trigger
- service_data:
- entity_id: switch.nodered_goodnight
- target: {}
- entity: switch.nodered_goodnight
- show_state: false
- show_icon: true
- icon: mdi:weather-night
- name: Good Night
- styles:
- icon:
- - color: rgb(18,18,18)
- - animation:
- - rock 3s linear infinite
- name:
- - color: red
- extra_styles: |
- @keyframes rock {
- 0% {transform: rotatez(15deg)}
- 25% {transform: rotatez(30deg)}
- 50% {transform: rotatez(15deg)}
- 75% {transform: rotatez(0deg)}
- 100% {transform: rotatez(15deg)}}
- - type: grid
- view_layout:
- grid-area: footer2
- columns: 7
- square: false
- cards:
- - type: custom:button-card
- template: battery_custom_button
- entity: sensor.s22_ultra_battery_level
- name: Phone
- - type: custom:button-card
- template: battery_custom_button
- entity: sensor.watch5_battery_level
- name: Watch
- - type: custom:button-card
- template: battery_custom_button
- entity: sensor.tab_s7_fe_battery_level
- name: Tablet
- - type: custom:button-card
- template: battery_custom_button
- entity: sensor.fire_computer_desk_battery_level
- name: Fire
- - type: custom:gap-card
- view_layout:
- grid-area: gap
- - theme: Derek Dark Theme
- path: bathroom
- type: panel
- icon: mdi:bathtub-outline
- badges: []
- cards:
- - type: grid
- columns: 2
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 66% 17% 17%
- cards:
- - type: custom:button-card
- template: oversized_custom_button_with_auto
- entity: light.bathroom_lights
- hold_action:
- action: navigate
- navigation_path: /fire-main/room
- variables:
- var_auto_entity: input_boolean.automation_auto_bathroom_lights
- var_timer_entity: timer.automation_auto_bathroom_lights
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 100
- var_entity_id: light.bathroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-13)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 75
- var_entity_id: light.bathroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 50
- var_entity_id: light.bathroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 25
- var_entity_id: light.bathroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-9)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 10
- var_entity_id: light.bathroom_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-10)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: red
- var_entity_id: light.bathroom_lights
- styles:
- card:
- - background-color: rgba(255, 0, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: green
- var_entity_id: light.bathroom_lights
- styles:
- card:
- - background-color: rgba(0, 255, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: blue
- var_entity_id: light.bathroom_lights
- styles:
- card:
- - background-color: rgba(0, 0, 255, 0.5)
- - type: custom:button-card
- template: kelvin_selector
- variables:
- var_kelvin_value: 2000
- var_entity_id: light.bathroom_lights
- styles:
- card:
- - background-color: rgba(255, 160, 0, 0.5)
- - type: custom:button-card
- template: color_temp_selector
- variables:
- var_color_temp: 288
- var_entity_id: light.bathroom_lights
- styles:
- card:
- - background-color: rgba(255, 255, 255, 0.5)
- - type: entities
- entities:
- - entity: sensor.bathroom_tradfri_battery_level
- - entity: sensor.bathroom_door_battery_level
- - entity: sensor.bathroom_motion_detector_battery_level
- - type: custom:template-entity-row
- icon: mdi:thermometer
- name: Temperature
- state: >-
- {{ (states('sensor.bathroom_motion_detector_temperature')
- | float * 1) | round(0) }} °F
- - entity: sensor.bathroom_motion_detector_illuminance
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- - type: vertical-stack
- cards:
- - type: grid
- columns: 4
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom1
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom2
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom3
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom4
- - type: custom:layout-card
- layout_type: grid
- square: true
- layout:
- grid-template-columns: 50%
- cards:
- - type: custom:mini-media-player
- entity: media_player.bathroom
- icon: mdi:music-box-outline
- artwork: card
- mini-media-player-scale: 2
- hide:
- power: true
- source: true
- controls: false
- volume: false
- progress: true
- - theme: Derek Dark Theme
- panel: true
- path: office
- type: panel
- icon: mdi:desktop-classic
- badges: []
- cards:
- - type: grid
- columns: 2
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 66% 17% 17%
- cards:
- - type: custom:button-card
- template: oversized_custom_button_with_auto
- entity: light.office_lights
- hold_action:
- action: navigate
- navigation_path: /fire-main/room
- variables:
- var_auto_entity: input_boolean.automation_auto_office_lights
- var_timer_entity: timer.automation_auto_office_lights
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 100
- var_entity_id: light.office_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-13)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 75
- var_entity_id: light.office_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 50
- var_entity_id: light.office_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-12)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 25
- var_entity_id: light.office_lights
- state:
- - operator: template
- value: |-
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+12)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-9)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: custom:button-card
- template: brightness_selector
- variables:
- var_value: 10
- var_entity_id: light.office_lights
- state:
- - operator: template
- value: |
- [[[ return
- states[variables.var_entity_id].attributes.brightness
- <= Math.floor((variables.var_value+5)*2.55) &&
- states[variables.var_entity_id].attributes.brightness
- >= Math.floor((variables.var_value-10)*2.55)]]]
- styles:
- name:
- - color: yellow
- card:
- - box-shadow: inset 0px 0px 5px 1px yellow
- - border: 1px solid yellow
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: red
- var_entity_id: light.office_lights
- styles:
- card:
- - background-color: rgba(255, 0, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: green
- var_entity_id: light.office_lights
- styles:
- card:
- - background-color: rgba(0, 255, 0, 0.5)
- - type: custom:button-card
- template: rgb_selector
- variables:
- var_color_name: blue
- var_entity_id: light.office_lights
- styles:
- card:
- - background-color: rgba(0, 0, 255, 0.5)
- - type: custom:button-card
- template: kelvin_selector
- variables:
- var_kelvin_value: 2000
- var_entity_id: light.office_lights
- styles:
- card:
- - background-color: rgba(255, 160, 0, 0.5)
- - type: custom:button-card
- template: color_temp_selector
- variables:
- var_color_temp: 288
- var_entity_id: light.office_lights
- styles:
- card:
- - background-color: rgba(255, 255, 255, 0.5)
- - type: entities
- entities:
- - entity: sensor.office_motion_detector_battery_level
- - entity: sensor.office_button_battery_level
- - entity: sensor.office_motion_detector_temperature
- - entity: sensor.office_motion_detector_illuminance
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- - type: grid
- columns: 4
- square: false
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.office1
- icon: mdi:lamp
- - type: custom:button-card
- template: generic_custom_button
- entity: light.office2
- icon: mdi:dresser
- - type: custom:button-card
- template: generic_custom_button
- entity: light.hallway
- icon: mdi:wall-sconce-outline
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom_lights
- icon: mdi:shower
- hold_action:
- action: navigate
- navigation_path: /fire-main/bathroom
- square: false
- - theme: Derek Dark Theme
- title: Sensors
- path: sensors
- type: panel
- icon: mdi:battery-unknown
- badges: []
- cards:
- - type: grid
- columns: 3
- cards:
- - type: vertical-stack
- cards:
- - type: custom:mod-card
- card_mod:
- style:
- hui-grid-card:
- $: |
- .card-header {
- color: white !important;
- text-align: center !important;
- font-family: Times New Roman !important;
- font-weight: 1000 !important;
- letter-spacing: 3px !important;
- }
- $: |
- :host {
- --primary-text-color: green !important;
- }
- card:
- type: grid
- layout:
- grid-template-columns: 20% 20% 20% 20%
- title: Motion Detectors
- columns: 4
- square: false
- cards:
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.living_room_motion_detector_on_off
- name: Living Room
- variables:
- var_battery_entity: sensor.living_room_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.office_motion_detector
- name: Office
- variables:
- var_battery_entity: sensor.office_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.bathroom_motion_detector
- name: Bathroom
- variables:
- var_battery_entity: sensor.bathroom_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.kitchen_motion_detector
- name: Kitchen 1
- variables:
- var_battery_entity: sensor.kitchen_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.kitchen_motion_detector_2
- name: Kitchen 2
- variables:
- var_battery_entity: sensor.kitchen_motion_detector_2_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.bedroom_motion_detector
- name: Bedroom
- variables:
- var_battery_entity: sensor.bedroom_motion_detector_battery_level
- - type: grid
- layout:
- grid-template-columns: 25% 25% 25% 25%
- title: Temperatures
- columns: 4
- square: false
- cards:
- - type: custom:bignumber-card
- entity: sensor.living_room_motion_detector_temperature
- title: Indoor
- from: bottom
- scale: 30px
- hideunit: true
- round: 0
- min: 35
- max: 100
- severity:
- - value: 65
- bnStyle: rgb(0,255,0)
- - value: 68
- bnStyle: rgb(255,255,0)
- - value: 76
- bnStyle: rgb(0,255,0)
- - value: 100
- bnStyle: rgb(255,0,0)
- color: '#FFFFFF'
- - type: custom:bignumber-card
- entity: sensor.openweathermap_forecast_temperature
- title: Outdoor
- from: bottom
- scale: 30px
- hideunit: true
- round: 0
- min: 10
- max: 100
- severity:
- - value: 50
- bnStyle: rgb(0,0,255)
- - value: 75
- bnStyle: rgb(0,255,0)
- - value: 85
- bnStyle: rgb(255,255,0)
- - value: 100
- bnStyle: rgb(255,0,0)
- color: FFFFFF
- - type: custom:bignumber-card
- entity: sensor.openweathermap_feels_like_temperature
- title: Feels Like
- from: bottom
- scale: 30px
- hideunit: true
- round: 0
- min: 10
- max: 100
- severity:
- - value: 50
- bnStyle: rgb(0,0,255)
- - value: 75
- bnStyle: rgb(0,255,0)
- - value: 85
- bnStyle: rgb(255,255,0)
- - value: 100
- bnStyle: rgb(255,0,0)
- color: '#FFFFFF'
- - type: grid
- layout:
- grid-template-columns: 50% 50%
- title: Graphs
- columns: 2
- square: false
- cards:
- - type: custom:mini-graph-card
- entities:
- - sensor.openweathermap_forecast_temperature
- name: Outside
- hours_to_show: 24
- points_per_hour: 0.25
- decimals: 0
- hour24: true
- line_width: 10
- font_size: 75
- color_thresholds:
- - value: 85
- color: red
- - value: 60
- color: yellow
- - value: 40
- color: blue
- show:
- fill: true
- icon: false
- name: true
- labels: true
- - type: custom:mini-graph-card
- entities:
- - sensor.office_motion_detector_temperature
- name: Inside
- hours_to_show: 24
- points_per_hour: 0.25
- decimals: 0
- hour24: true
- line_width: 10
- font_size: 75
- color_thresholds:
- - value: 85
- color: red
- - value: 60
- color: yellow
- - value: 40
- color: blue
- show:
- fill: true
- icon: false
- name: true
- labels: true
- - type: vertical-stack
- cards:
- - type: custom:battery-state-card
- title: Battery Levels under 50%
- secondary_info: last_updated
- sort_by_level: asc
- tap_action: more-info
- state_map:
- - from: 'on'
- to: 0
- - from: 'off'
- to: 100
- filter:
- include:
- - name: entity_id
- value: sensor.*_power*
- - name: entity_id
- value: sensor.*_battery_level*
- exclude:
- - name: state
- operator: '>='
- value: 50
- - name: state
- operator: '='
- value: Unavailable
- - name: state
- operator: '='
- value: Unknown
- - name: entity_id
- value: sensor.*_battery_power
- - name: entity_id
- value: '*shellyplug*'
- - name: entity_id
- value: sensor.tv_plug_active_power
- card_mod:
- style: |
- ha-card .card-header .truncate {
- color: white;
- text-align: center;
- font-weight: 1000;
- letter-spacing: 3px;
- font-family: Times New Roman
- }
- - type: custom:battery-state-card
- title: Unavailable Battery Levels
- secondary_info: last_updated
- sort_by_level: asc
- tap_action: more-info
- state_map:
- - from: 'on'
- to: 0
- - from: 'off'
- to: 100
- filter:
- include:
- - name: entity_id
- value: sensor.*_power*
- - name: entity_id
- value: sensor.*_battery_level*
- - name: state
- operator: '='
- value: Unavailable
- - name: state
- operator: '='
- value: Unknown
- exclude:
- - name: state
- operator: '>='
- value: 0
- - name: entity_id
- value: sensor.*_battery_power
- - name: entity_id
- value: '*shellyplug*'
- - name: entity_id
- value: sensor.fire*
- - name: entity_id
- value: sensor.quest_media_session
- card_mod:
- style: |
- ha-card .card-header .truncate {
- color: white;
- text-align: center;
- font-weight: 1000;
- letter-spacing: 3px;
- font-family: Times New Roman
- }
- - type: grid
- columns: 1
- square: false
- cards:
- - type: custom:home-feed-card
- title: Home Feed
- show_empty: false
- scrollbars_enabled: false
- max_item_count: 6
- entities:
- - entity: light.bedroom1
- icon: mdi:lightbulb
- name: Bedroom 1
- - entity: light.bedroom2
- icon: mdi:lightbulb
- name: Bedroom 2
- - type: custom:battery-state-card
- title: Unavailable Lights
- secondary_info: last_updated
- sort_by_level: asc
- tap_action: more-info
- state_map:
- - from: 'on'
- to: 0
- - from: 'off'
- to: 100
- filter:
- include:
- - name: entity_id
- value: light.*
- - name: state
- operator: '='
- value: Unavailable
- exclude:
- - name: state
- operator: '>='
- value: 0
- - name: entity_id
- value: light.fire*
- - name: entity_id
- value: sensor.quest_media_session
- card_mod:
- style: |
- ha-card .card-header .truncate {
- color: white;
- text-align: center;
- font-weight: 1000;
- letter-spacing: 3px;
- font-family: Times New Roman
- }
- - title: Automations
- path: automations
- type: panel
- theme: Derek Dark Theme
- icon: mdi:robot-outline
- badges: []
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 85% 20%
- grid-template-rows: 65px
- margin: 0px 0px 0px 0px
- padding: 0
- card_margin: 0
- cards:
- - type: markdown
- content: >
- <ha-icon icon="mdi:robot-outline"></ha-icon><font size=6>
- Automations</font>
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: rgba(0, 0, 0, 0)
- }
- - type: horizontal-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- name: Refresh
- icon: mdi:tablet-dashboard
- styles:
- card:
- - height: 60px
- - width: 80px
- name:
- - text-transform: uppercase
- - letter-spacing: 0.1em
- - font-familly: cursive
- - justify-self: center
- - padding: 0px 5px
- - font-size: 10px
- tap_action:
- action: call-service
- service: automation.trigger
- service_data:
- entity_id: automation.refresh_tablets_on_boot
- - type: custom:button-card
- template: generic_custom_button
- name: Return
- icon: mdi:keyboard-return
- styles:
- card:
- - height: 60px
- - width: 80px
- name:
- - text-transform: uppercase
- - letter-spacing: 0.1em
- - font-familly: cursive
- - justify-self: center
- - padding: 0px 5px
- - font-size: 10px
- tap_action:
- action: navigate
- navigation_path: /fire-main/living-room
- - type: grid
- columns: 2
- square: false
- cards:
- - type: custom:auto-entities
- card:
- type: entities
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- filter:
- include:
- - entity_id: input_boolean.automation*
- domain: input_boolean
- exclude:
- - entity_id: '*light*'
- sort:
- method: friendly_name
- reverse: false
- - type: custom:auto-entities
- card:
- type: entities
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- filter:
- include:
- - entity_id: input_select.*
- domain: input_select
- - entity_id: input_boolean.card_mod_z_index
- domain: input_boolean
- sort:
- method: friendly_name
- reverse: false
- - type: custom:auto-entities
- card:
- type: entities
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- filter:
- include:
- - entity_id: input_datetime.*
- domain: input_datetime
- exclude: []
- sort:
- method: friendly_name
- reverse: false
- - type: custom:auto-entities
- card:
- type: entities
- show_header_toggle: false
- state_color: true
- show_state: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- filter:
- include:
- - entity_id: input_number.automation*
- domain: input_number
- exclude: []
- sort:
- method: friendly_name
- reverse: false
- - type: vertical-stack
- cards:
- - type: custom:button-card
- entity: automation.auto_bathroom_lights
- styles:
- card:
- - height: 40px
- - width: 600px
- - border-radius: 15px
- - font-size: 14px
- - padding-bottom: 0px
- - padding-top: 0px
- - padding-right: 5px
- - border: none
- - background-color: transparent
- grid:
- - grid-template-areas: '"i n slider markdown"'
- - grid-template-columns: 4em 1fr 40% 20%
- - grid-template-rows: auto
- name:
- - justify-self: start
- markdown:
- - font-size: 12px
- custom_fields:
- slider:
- card:
- full_row: true
- type: custom:slider-entity-row
- entity: input_number.automation_auto_bathroom_lights_duration
- hide_state: true
- markdown:
- card:
- type: markdown
- content: >
- {{-
- states.input_number.automation_auto_bathroom_lights_duration.state
- |int| string +" minutes"-}}
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - type: custom:button-card
- entity: automation.auto_office_lights
- styles:
- card:
- - height: 40px
- - width: 600px
- - border-radius: 15px
- - font-size: 14px
- - padding-bottom: 0px
- - padding-top: 0px
- - padding-right: 5px
- - border: none
- - background-color: transparent
- grid:
- - grid-template-areas: '"i n slider markdown"'
- - grid-template-columns: 4em 1fr 40% 20%
- - grid-template-rows: auto
- name:
- - justify-self: start
- markdown:
- - font-size: 12px
- custom_fields:
- slider:
- card:
- full_row: true
- type: custom:slider-entity-row
- entity: input_number.automation_auto_office_lights_duration
- hide_state: true
- markdown:
- card:
- type: markdown
- content: >
- {{-
- states.input_number.automation_auto_office_lights_duration.state
- |int| string +" minutes"-}}
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - type: custom:button-card
- entity: automation.auto_kitchen_lights
- styles:
- card:
- - height: 40px
- - width: 600px
- - border-radius: 15px
- - font-size: 14px
- - padding-bottom: 0px
- - padding-top: 0px
- - padding-right: 5px
- - border: none
- - background-color: transparent
- grid:
- - grid-template-areas: '"i n slider markdown"'
- - grid-template-columns: 4em 1fr 40% 20%
- - grid-template-rows: auto
- name:
- - justify-self: start
- markdown:
- - font-size: 12px
- custom_fields:
- slider:
- card:
- full_row: true
- type: custom:slider-entity-row
- entity: input_number.automation_auto_kitchen_lights_duration
- hide_state: true
- markdown:
- card:
- type: markdown
- content: >
- {{-
- states.input_number.automation_auto_kitchen_lights_duration.state
- |int| string +" minutes"-}}
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - type: custom:button-card
- entity: automation.auto_hallway_lights
- styles:
- card:
- - height: 40px
- - width: 600px
- - border-radius: 15px
- - font-size: 14px
- - padding-bottom: 0px
- - padding-top: 0px
- - padding-right: 5px
- - border: none
- - background-color: transparent
- grid:
- - grid-template-areas: '"i n slider markdown"'
- - grid-template-columns: 4em 1fr 40% 20%
- - grid-template-rows: auto
- name:
- - justify-self: start
- markdown:
- - font-size: 12px
- custom_fields:
- slider:
- card:
- full_row: true
- type: custom:slider-entity-row
- entity: input_number.automation_auto_hallway_lights_duration
- hide_state: true
- markdown:
- card:
- type: markdown
- content: >
- {{-
- states.input_number.automation_auto_hallway_lights_duration.state
- |int| string +" minutes"-}}
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - theme: Derek Dark Theme
- title: System
- path: system
- icon: mdi:desktop-classic
- type: panel
- badges: []
- cards:
- - type: grid
- columns: 2
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 33% 33% 33%
- cards:
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.processor_use
- name: CPU
- hours_to_show: 12
- font_size: 75
- fill: true
- show:
- graph: line
- color_thresholds:
- - value: 75
- color: red
- - value: 50
- color: yellow
- - value: 25
- color: green
- icon: mdi:chip
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.memory_use_percent
- name: Memory
- hours_to_show: 12
- font_size: 75
- show:
- fill: true
- graph: line
- color_thresholds:
- - value: 85
- color: red
- - value: 75
- color: yellow
- - value: 50
- color: green
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.disk_use_percent_home
- name: Disk
- hours_to_show: 12
- font_size: 75
- show:
- fill: true
- graph: line
- color_thresholds:
- - value: 50
- color: green
- - value: 75
- color: yellow
- - value: 85
- color: red
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.speedtest_download
- name: Download
- hours_to_show: 72
- font_size: 75
- show:
- fill: true
- graph: bar
- color_thresholds:
- - value: 400
- color: green
- - value: 300
- color: yellow
- - value: 200
- color: red
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.speedtest_upload
- name: Upload
- hours_to_show: 72
- font_size: 75
- show:
- fill: true
- graph: bar
- color_thresholds:
- - value: 18
- color: green
- - value: 16
- color: yellow
- - value: 12
- color: red
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.speedtest_ping
- name: Ping
- hours_to_show: 72
- font_size: 75
- show:
- fill: true
- graph: bar
- color_thresholds:
- - value: 75
- color: red
- - value: 50
- color: yellow
- - value: 5
- color: green
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.qbittorrent_down_speed
- name: qBittorent Down
- font_size: 75
- show:
- fill: true
- - type: custom:mini-graph-card
- align_icon: left
- align_state: center
- entities:
- - sensor.qbittorrent_up_speed
- name: qBittorent Up
- font_size: 75
- show:
- fill: true
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 100%
- cards:
- - type: entities
- entities:
- - entity: sensor.home_assistant_uptime
- icon: mdi:home-assistant
- - entity: update.home_assistant_operating_system_update
- - entity: update.home_assistant_core_update
- hold_action:
- service: update.install
- data:
- backup: true
- - entity: update.home_assistant_supervisor_update
- - entity: sensor.hacs
- show_header_toggle: false
- state_color: true
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- }
- - title: Show
- path: show
- icon: mdi:tablet
- type: panel
- theme: Derek Dark Theme
- badges: []
- cards:
- - type: vertical-stack
- cards:
- - type: custom:layout-card
- layout_type: grid
- layout:
- grid-template-columns: 25% 50% 25%
- cards:
- - type: markdown
- content: '{{ now().strftime("%m/%d/%Y") }}'
- card_mod:
- style: |
- ha-markdown {
- font-size: 22px !important;
- font-weight: normal !important;
- line-height: 1.4 !important;
- }
- ha-card {
- background: transparent;
- border: none;
- box-shadow: none;
- text-align: left;
- }
- - type: markdown
- content: |
- {% set time = now().hour %}
- {% if (time >= 18) %} Good evening, {{user}}!
- {% elif (time >= 12) %} Good afternoon, {{user}}!
- {% elif (time >= 6) %} Good morning, {{user}}!
- {% elif (time >= 0) %} Good night, {{user}}!
- {% else %} Hello, {{user}}!
- {% endif %}
- card_mod:
- style: |
- ha-markdown {
- font-size: 22px !important;
- font-weight: normal !important;
- line-height: 1.4 !important;
- }
- ha-card {
- font-family: Arial;
- background: transparent;
- border: none;
- box-shadow: none;
- text-align: center;
- }
- - type: markdown
- content: '{{ now().strftime("%H:%M") }}'
- card_mod:
- style: |
- ha-markdown {
- font-size: 22px !important;
- font-weight: normal !important;
- line-height: 1.4 !important;
- }
- ha-card {
- background: transparent;
- border: none;
- box-shadow: none;
- text-align: right;
- }
- - type: custom:mushroom-chips-card
- chips:
- - type: entity
- entity: person.derek
- use_entity_picture: true
- card_mod:
- style: |
- ha-card {
- border: unset;
- --chip-background: none;
- --chip-font-size: 16px;
- --chip-padding: 0 0.3em;
- --chip-box-shadow: none;
- - type: template
- content: >-
- {{ states(entity) }} {{ state_attr(entity,
- "unit_of_measurement") }}
- icon: >
- {% set battery_level =
- states('sensor.s22_ultra_battery_level') | int // 10 * 10 %}
- {% set charging_state =
- states('sensor.s22_ultra_charger_type') %} {% set is_charging
- = is_state('binary_sensor.s22_ultra_is_charging', 'on') |
- iif(True, False) %}
- {% set map = {"none":"", "ac":"charging-",
- "wireless":"charging-wireless-"} %} {% set charging =
- map[states('sensor.s22_ultra_charger_type')] %}
- {% if battery_level == 100 and is_charging == True %}
- mdi:battery-charging {% elif battery_level == 100 %}
- mdi:battery {% elif battery_level >= 10 %}
- mdi:battery-{{charging}}{{battery_level}} {% elif
- battery_level >= 0 %}mdi:battery-{{charging}}outline {%
- else %} mdi:battery-unknown {% endif %}
- entity: sensor.s22_ultra_battery_level
- icon_color: |
- {% set battery_level = (states(entity) | int) %}
- {% if battery_level >= 90 %} green
- {% elif battery_level >= 80 %} light-green
- {% elif battery_level >= 68 %} orange
- {% elif battery_level >= 56 %} yellow
- {% elif battery_level >= 44 %} amber
- {% elif battery_level >= 32 %} orange
- {% elif battery_level >= 20 %} deep-orange
- {% else %} red
- {% endif %}
- tap_action:
- action: none
- hold_action:
- action: none
- double_tap_action:
- action: none
- - type: template
- entity: input_boolean.guest_mode
- content: Guest Mode
- icon: |
- {{ (states(entity)=="on") | iif("mdi:home",
- "mdi:home-off-outline") }}
- icon_color: |
- {{ (states(entity)=="on") | iif("green", "red") }}
- press_action:
- action: toggle
- - type: template
- entity: input_boolean.automation_override
- content: Automations
- icon: >
- {{ (states(entity)=="off") | iif("mdi:lightbulb-auto",
- "mdi:lightbulb-auto-outline") }}
- icon_color: |
- {{ (states(entity)=="off") | iif("green", "red") }}
- press_action:
- action: toggle
- hold_action:
- action: navigate
- navigation_path: /fire-main/automations
- - type: template
- entity: input_boolean.automation_interior_motion_detectors
- content: Motion Detectors
- icon: >
- {{ (states(entity)=="on") | iif("mdi:motion-sensor",
- "mdi:motion-sensor-off") }}
- icon_color: |
- {{ (states((entity))=="on") | iif("green", "red") }}
- press_action:
- action: toggle
- - type: template
- entity: input_boolean.card_mod_z_index
- content: Z-Index
- icon: >
- {{ (states(entity)=="on") | iif("mdi:alpha-z-box",
- "mdi:alpha-z-box-outline") }}
- icon_color: |
- {{ (states((entity))=="on") | iif("green", "red") }}
- press_action:
- action: toggle
- - type: conditional
- conditions:
- - entity: binary_sensor.living_room_motion_detector_on_off
- state: 'on'
- chip:
- type: template
- icon_color: red
- icon: mdi:motion-sensor
- card_mod:
- style: |
- :host {
- position: fixed;
- top: 0px;
- left: 94%;
- z-index: 99;
- }
- ha-card {
- {% if is_state('binary_sensor.living_room_motion_detector_on_off', 'on') %}
- animation: ping 2s infinite
- {% endif %}
- }
- @keyframes ping {
- 0% { box-shadow: inset 0 0 1px 0px rgba(255,0,0, 0.7); }
- 100% { box-shadow: inset 0 0 1px 10px transparent; }
- }
- hold_action:
- action: navigate
- navigation_path: /fire-main/sensors
- - type: custom:state-switch
- entity: template
- template: >-
- {% if is_state('binary_sensor.living_room_door_on_off', 'on')
- and (as_timestamp(now()) -
- as_timestamp(states.binary_sensor.living_room_door_on_off.last_updated))|int
- > 30 %} open_too_long {% endif %}
- states:
- open_too_long:
- type: custom:mushroom-chips-card
- chips:
- - type: template
- icon_color: red
- icon: mdi:door-open
- card_mod:
- style: |
- ha-card {
- animation: blink 1s linear infinite;
- --chip-icon-size: 0.6em;
- }
- hold_action:
- action: navigate
- navigation_path: /fire-main/sensors
- - type: horizontal-stack
- cards:
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.living_room_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: hue-rotate(120deg) blur(0.8em) brightness(1.2);
- --dialog-backdrop-background-color: rgb(255,0,0);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.living_room1
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.living_room2
- hide_state: true
- toggle: true
- step: 1
- - type: custom:big-slider-card
- entity: light.living_room_lights
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.kitchen_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.kitchen
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.stove
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: >-
- input_number.automation_auto_kitchen_lights_duration
- name: Auto Lights Duration
- hide_state: false
- toggle: false
- step: 1
- - type: custom:big-slider-card
- entity: light.kitchen_lights
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.hallway
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.hallway
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: >-
- input_number.automation_auto_hallway_lights_duration
- name: Auto Lights Duration
- hide_state: false
- toggle: false
- step: 1
- - type: custom:big-slider-card
- entity: light.hallway
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.office_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.office1
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.office2
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: >-
- input_number.automation_auto_office_lights_duration
- name: Auto Lights Duration
- hide_state: false
- toggle: false
- step: 1
- - type: custom:big-slider-card
- entity: light.office_lights
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bedroom_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.bedroom1
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.bedroom2
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.bedroom_floor_lamp
- hide_state: true
- toggle: true
- step: 1
- - type: custom:big-slider-card
- entity: light.bedroom_lights
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.bathroom_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.bathroom1
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.bathroom2
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.bathroom3
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.bathroom4
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: >-
- input_number.automation_auto_bathroom_lights_duration
- name: Auto Lights Duration
- hide_state: false
- toggle: false
- step: 1
- - type: custom:big-slider-card
- entity: light.bathroom_lights
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: vertical-stack
- cards:
- - type: custom:button-card
- template: generic_custom_button
- entity: light.all_lights
- hold_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- card_mod:
- style: |
- ha-dialog {
- --mdc-dialog-min-width: 500px !important;
- --mdc-dialog-max-width: 500px !important;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em) brightness(1.2);
- --dialog-content-padding: 20px;
- }
- .content {
- width: auto !important;
- }
- timeout: 10000
- content:
- type: entities
- state_color: true
- show_header_toggle: false
- entities:
- - type: custom:slider-entity-row
- entity: light.living_room1
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.living_room2
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.kitchen
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.stove
- hide_state: true
- toggle: true
- step: 1
- - type: custom:slider-entity-row
- entity: light.hallway
- hide_state: true
- toggle: true
- - entity: light.bathroom1
- - entity: light.bathroom2
- - entity: light.bathroom3
- - entity: light.bathroom4
- - type: custom:big-slider-card
- entity: light.all_lights_on
- name: "\_"
- transition: 0.3
- color: white
- icon: none
- tap_action:
- action: none
- hold_action:
- action: none
- - type: custom:mod-card
- card:
- type: vertical-stack
- cards:
- - type: grid
- layout:
- grid-template-columns: 20% 20% 20% 20%
- title: Motion Detectors
- columns: 6
- square: false
- cards:
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.living_room_motion_detector_on_off
- name: Living Room
- variables:
- var_battery_entity: sensor.living_room_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.office_motion_detector
- name: Office
- variables:
- var_battery_entity: sensor.office_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.bathroom_motion_detector_on_off
- name: Bathroom
- variables:
- var_battery_entity: sensor.bathroom_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.kitchen_motion_detector_on_off
- name: Kitchen 1
- variables:
- var_battery_entity: sensor.kitchen_motion_detector_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.kitchen_motion_detector_2_on_off
- name: Kitchen 2
- variables:
- var_battery_entity: sensor.kitchen_motion_detector_2_battery_level
- - type: custom:button-card
- template: motion_detector_animated
- entity: binary_sensor.bedroom_motion_detector_on_off
- name: Bedroom
- variables:
- var_battery_entity: sensor.bedroom_motion_detector_battery_level
- - type: horizontal-stack
- cards:
- - type: vertical-stack
- cards:
- - type: custom:gap-card
- height: 325
- - type: custom:frigate-card
- cameras:
- - camera_entity: camera.rtsp
- view:
- dark_mode: 'on'
- menu:
- buttons:
- frigate:
- enabled: true
- live:
- enabled: false
- cameras:
- enabled: false
- camera_ui:
- enabled: true
- substreams:
- enabled: false
- style: none
- live:
- preload: true
- controls:
- builtin: false
- performance:
- features:
- animated_progress_indicator: false
- dimensions:
- min_height: '300'
- card_mod:
- style: |
- :host {
- border: solid 2px var(--primary-text-color);
- background-color: rgba(0, 0, 0, 0)
- position: fixed;
- }
- - type: custom:mod-card
- card_mod:
- style: |
- ha-card {
- border: solid 1px var(--primary-text-color);
- background-color: transparent
- }
- card:
- type: vertical-stack
- cards:
- - type: picture
- image: >-
- https://s.w-x.co/staticmaps/wu/wu/wxtype1200_cur/usday/animate.png
- hold_action:
- action: none
- double_tap_action:
- action: none
- tap_action:
- action: fire-dom-event
- browser_mod:
- service: browser_mod.popup
- data:
- style: >
- --popup-max-width: 80%;
- --popup-min-width: 60%;
- --popup-border-width: 1px;
- --popup-border-radius: 12px;
- --popup-padding-x: 0px;
- --popup-padding-y: 0px;
- --dialog-backdrop-filter: blur(0.8em)
- brightness(1.2);
- timeout: 10000
- card_mod:
- style:
- ha-dialog$: |
- div.mdc-dialog div.mdc-dialog__scrim {
- background: rgba(100, 100, 100, 0.7);
- }
- content:
- type: vertical-stack
- cards:
- - type: picture
- image: >-
- https://s.w-x.co/staticmaps/wu/wu/wxtype1200_cur/usday/animate.png
- tap_action:
- action: none
- hold_action:
- action: navigate
- navigation_path: /fire-main/weather
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent;
- }
- - type: grid
- columns: 2
- cards:
- - type: picture
- image: local/CGL-Sandwich.gif
- tap_action:
- action: none
- hold_action:
- action: none
- - type: picture
- image: local/CGL-Geocolor.gif
- tap_action:
- action: none
- hold_action:
- action: none
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent
- }
- - type: weather-forecast
- entity: weather.home
- card_mod:
- style: |
- ha-card {
- border: none;
- background-color: transparent
- }
- - type: custom:layout-card
- cards:
- - type: custom:mushroom-chips-card
- chips:
- - type: action
- tap_action:
- action: navigate
- navigation_path: home
- icon: mdi:home-outline
- - type: action
- tap_action:
- action: navigate
- navigation_path: grafiekenslaapkamermattheo
- icon: mdi:chart-bar
- - type: action
- tap_action:
- action: navigate
- navigation_path: home
- icon: mdi:home-outline
- - type: action
- tap_action:
- action: navigate
- navigation_path: grafiekenslaapkamermattheo
- icon: mdi:chart-bar
- card_mod:
- style: |
- ha-card {
- border: none;
- background: transparent;
- position: fixed;
- bottom: 0px;
- left: 0px;
- width: 100%;
- display: flex;
- justify-content: center;
- {% if is_state('input_boolean.card_mod_z_index', 'off') %}
- z-index: 0;
- {% else %}
- z-index: -1;
- {% endif %}
- }
- }
Add Comment
Please, Sign In to add comment