Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- button_card_templates:
- ulm_language_variables:
- variables:
- ulm_currency: €
- ulm_updates_available: Updates beschikbaar!
- ulm_no_updates_available: Geen updates beschikbaar
- ulm_ophaling: Huisvuilophaling!
- ulm_geen_ophaling: Geen ophalingen
- ulm_volgende_ophaling: Volgende ophalingen
- ulm_morning: Goedemorgen
- ulm_afternoon: Goedemiddag
- ulm_evening: Goedenavond
- ulm_hello: Hallo
- ulm_volume: Volume
- ulm_popups_color: Kleur
- ulm_radar: Radar
- ulm_popup_total: Totaal
- card_esh_welcome:
- template: ulm_language_variables
- variables:
- ulm_weather: '[[[ return variables.ulm_weather]]]'
- entity_1:
- color: |
- [[[
- var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
- var color = colors[Math.floor(Math.random() * colors.length)];
- return color;
- ]]]
- entity_2:
- color: |
- [[[
- var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
- var color = colors[Math.floor(Math.random() * colors.length)];
- return color;
- ]]]
- entity_3:
- color: |
- [[[
- var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
- var color = colors[Math.floor(Math.random() * colors.length)];
- return color;
- ]]]
- entity_4:
- color: |
- [[[
- var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
- var color = colors[Math.floor(Math.random() * colors.length)];
- return color;
- ]]]
- entity_5:
- color: |
- [[[
- var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
- var color = colors[Math.floor(Math.random() * colors.length)];
- return color;
- ]]]
- show_icon: false
- show_label: true
- show_name: false
- styles:
- grid:
- - grid-template-areas: |
- [[[
- if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
- return "\'item1\' \'item2\' ";
- } else {
- return "\'item1\' \'item2\' \'item3\'";
- }
- ]]]
- - grid-template-columns: 1fr
- - grid-template-rows: min-content min-content
- - row-gap: 0px
- card:
- - border-radius: var(--border-radius)
- - box-shadow: var(--box-shadow)
- - padding: 10px
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- custom_fields:
- item3:
- - display: |
- [[[
- if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
- return "none";
- } else {
- return "block";
- }
- ]]]
- item4:
- - display: |
- [[[
- if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
- return "none";
- } else {
- return "block";
- }
- ]]]
- custom_fields:
- item1:
- card:
- type: custom:button-card
- template: card_esh_welcome_topbar
- variables:
- ulm_card_esh_welcome_collapse: '[[[ return variables.ulm_card_esh_welcome_collapse ]]]'
- ulm_weather: '[[[ return variables.ulm_weather]]]'
- styles:
- card:
- - border-radius: none
- - box-shadow: none
- - padding: 4px
- - margin-left: relative
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- item2:
- card:
- type: custom:button-card
- show_icon: false
- show_label: false
- show_name: true
- show_entity_picture: false
- name: |
- [[[
- var today = new Date();
- var time = today.getHours()
- let welcome = '';
- if (time >= '18'){
- welcome = variables.ulm_evening;
- } else if (time >= '12'){
- welcome = variables.ulm_afternoon;
- } else if (time >= '5'){
- welcome = variables.ulm_morning;
- } else {
- welcome = variables.ulm_hello;
- }
- return welcome + ', ' + ' <br>' + user.name + '!';
- ]]]
- styles:
- name:
- - align-self: start
- - justify-self: start
- - font-weight: bold
- - font-size: 24px
- - margin-left: 16px
- grid:
- - grid-template-areas: '''i n'' ''i l'''
- - grid-template-columns: min-content auto
- - grid-template-rows: min-content min-content
- - text-align: start
- card:
- - box-shadow: none
- - padding-bottom: 8px
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- item3:
- card:
- type: custom:button-card
- template: card_esh_welcome_nav
- styles:
- card:
- - border-radius: none
- - box-shadow: none
- - padding: 4px
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- variables:
- entity_1: '[[[ return variables.entity_1 ]]]'
- entity_2: '[[[ return variables.entity_2 ]]]'
- entity_3: '[[[ return variables.entity_3 ]]]'
- entity_4: '[[[ return variables.entity_4 ]]]'
- entity_5: '[[[ return variables.entity_5 ]]]'
- card_esh_welcome_title:
- tap_action:
- action: none
- show_icon: false
- show_label: true
- show_name: true
- styles:
- label:
- - justify-self: start
- - font-weight: bold
- - font-size: 1rem
- - opacity: '0.4'
- name:
- - justify-self: start
- - font-weight: bold
- - font-size: 20px
- grid:
- - grid-template-areas: '''n'' ''l'''
- - grid-template-columns: 1fr
- - grid-template-rows: min-content min-content
- card:
- - background-color: rgba(0,0,0,0)
- - box-shadow: none
- - height: auto
- - width: auto
- - margin-top: '-10px'
- - margin-left: 16px
- - margin-bottom: '-15px'
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- card_esh_welcome_nav:
- show_icon: false
- show_name: true
- show_label: false
- styles:
- grid:
- - grid-template-areas: |
- [[[
- return "'" + [(variables.entity_1?.nav ? 'item1' : ''),
- (variables.entity_2?.nav ? 'item2' : ''),
- (variables.entity_3?.nav ? 'item3' : ''),
- (variables.entity_4?.nav ? 'item4' : ''),
- (variables.entity_5?.nav ? 'item5' : '')].join(' ') + "'";
- ]]]
- - grid-template-columns: |
- [[[
- return [(variables.entity_1?.nav ? '1fr' : ''),
- (variables.entity_2?.nav ? '1fr' : ''),
- (variables.entity_3?.nav ? '1fr' : ''),
- (variables.entity_4?.nav ? '1fr' : ''),
- (variables.entity_5?.nav ? '1fr' : '')].join(' ');
- ]]]
- - grid-template-rows: min-content
- - justify-items: center
- card:
- - border-radius: var(--border-radius)
- - box-shadow: var(--box-shadow)
- - padding: 12px
- - overflow: visible
- custom_fields:
- item1:
- card:
- type: custom:button-card
- template: card_esh_welcome_pill_nav
- variables:
- number_of_nav_pills: |
- [[[
- return [variables.entity_1?.nav,
- variables.entity_2?.nav,
- variables.entity_3?.nav,
- variables.entity_4?.nav,
- variables.entity_5?.nav].filter(el => el !== undefined).length;
- ]]]
- entity: '[[[ return variables.entity_1; ]]]'
- item2:
- card:
- type: custom:button-card
- template: card_esh_welcome_pill_nav
- variables:
- number_of_nav_pills: |
- [[[
- return [variables.entity_1?.nav,
- variables.entity_2?.nav,
- variables.entity_3?.nav,
- variables.entity_4?.nav,
- variables.entity_5?.nav].filter(el => el !== undefined).length;
- ]]]
- entity: '[[[ return variables.entity_2; ]]]'
- item3:
- card:
- type: custom:button-card
- template: card_esh_welcome_pill_nav
- variables:
- number_of_nav_pills: |
- [[[
- return [variables.entity_1?.nav,
- variables.entity_2?.nav,
- variables.entity_3?.nav,
- variables.entity_4?.nav,
- variables.entity_5?.nav].filter(el => el !== undefined).length;
- ]]]
- entity: '[[[ return variables.entity_3; ]]]'
- item4:
- card:
- type: custom:button-card
- template: card_esh_welcome_pill_nav
- variables:
- number_of_nav_pills: |
- [[[
- return [variables.entity_1?.nav,
- variables.entity_2?.nav,
- variables.entity_3?.nav,
- variables.entity_4?.nav,
- variables.entity_5?.nav].filter(el => el !== undefined).length;
- ]]]
- entity: '[[[ return variables.entity_4; ]]]'
- item5:
- card:
- type: custom:button-card
- template: card_esh_welcome_pill_nav
- variables:
- number_of_nav_pills: |
- [[[
- return [variables.entity_1?.nav,
- variables.entity_2?.nav,
- variables.entity_3?.nav,
- variables.entity_4?.nav,
- variables.entity_5?.nav].filter(el => el !== undefined).length;
- ]]]
- entity: '[[[ return variables.entity_5; ]]]'
- card_esh_welcome_pill_nav:
- tap_action:
- action: navigate
- navigation_path: '[[[ return variables.entity?.nav; ]]]'
- show_icon: false
- show_label: false
- show_name: false
- state:
- - operator: template
- value: '[[[ return !variables.entity?.nav; ]]]'
- styles:
- card:
- - display: none
- styles:
- grid:
- - grid-template-areas: '''item1'' ''item2'''
- - grid-template-columns: 1fr
- - grid-template-rows: 1fr 1fr
- - row-gap: 12px
- - justify-items: center
- - column-gap: auto
- card:
- - border-radius: 50px
- - place-self: center
- - width: >-
- [[[ return (52 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- - height: >-
- [[[ return (84 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- - box-shadow: |
- [[[
- if (hass.themes.darkMode){
- return "0px 2px 4px 0px rgba(0,0,0,0.80)";
- } else {
- return "var(--box-shadow)";
- }
- ]]]
- - '--mdc-ripple-press-opacity': 0.12
- color: var(--google-grey)
- custom_fields:
- item1:
- card:
- type: custom:button-card
- tap_action:
- action: navigate
- navigation_path: '[[[ return variables.entity?.nav; ]]]'
- show_icon: true
- show_label: false
- show_name: false
- icon: '[[[ return variables.entity?.icon ]]]'
- styles:
- icon:
- - color: >-
- [[[ return `rgba(var(--color-${variables.entity?.color}),
- 1)`;]]]
- - width: >-
- [[[ return (20 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- img_cell:
- - background-color: >-
- [[[ return `rgba(var(--color-${variables.entity?.color}),
- 0.20)`;]]]
- - border-radius: 50%
- - width: >-
- [[[ return (42 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- - height: >-
- [[[ return (42 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- grid:
- - grid-template-areas: i
- card:
- - box-shadow: none
- - border-radius: 50px
- - padding: 5px
- state:
- - value: 'on'
- styles:
- card:
- - overflow: visible
- - box-shadow: |
- [[[
- if (hass.themes.darkMode){
- return "0px 2px 4px 0px rgba(0,0,0,0.80)";
- } else {
- return "var(--box-shadow)";
- }
- ]]]
- item2:
- card:
- type: custom:button-card
- tap_action:
- action: navigate
- navigation_path: '[[[ return variables.entity?.nav; ]]]'
- show_icon: false
- show_label: false
- name: '[[[ return variables.entity?.name ]]]'
- styles:
- name:
- - font-weight: bold
- - font-size: >-
- [[[ return (9.5 *
- (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) +
- 'px'; ]]]
- - width: >-
- [[[ return (33 * (1+(5-Math.max(variables.number_of_nav_pills,
- 3))*0.25)) + 'px'; ]]]
- - padding-bottom: 7px
- grid:
- - grid-template-areas: 'n'
- card:
- - box-shadow: none
- - padding: 0px 5px 5px 5px
- - margin-top: '-5px'
- - border-radius: 50px
- card_esh_welcome_topbar:
- show_icon: false
- show_label: false
- show_name: true
- styles:
- grid:
- - grid-template-areas: '''item1 item2 item3'''
- - grid-template-columns: 1fr 7fr 1fr
- - grid-template-rows: min-content
- - justify-items: center
- card:
- - border-radius: var(--border-radius)
- - box-shadow: var(--box-shadow)
- - padding: 12px
- - cursor: default
- - '--mdc-ripple-press-opacity': 0
- custom_fields:
- item1:
- card:
- type: custom:button-card
- template: chips
- tap_action:
- action: perform-action
- perform_action: input_boolean.toggle
- target:
- entity_id: '[[[ return variables.ulm_card_esh_welcome_collapse ]]]'
- show_icon: true
- icon: mdi:chevron-up
- entity: '[[[ return variables.ulm_card_esh_welcome_collapse ]]]'
- styles:
- grid:
- - grid-template-areas: '''i'''
- card:
- - box-shadow: |
- [[[
- if (hass.themes.darkMode){
- return "0px 2px 4px 0px rgba(0,0,0,0.80)";
- } else {
- return "var(--box-shadow)";
- }
- ]]]
- - visibility: >-
- [[[ return variables.ulm_card_esh_welcome_collapse ? 'visible'
- : 'hidden'; ]]]
- - '--mdc-ripple-press-opacity': 0.12
- state:
- - value: 'on'
- icon: mdi:chevron-down
- styles:
- icon:
- - color: rgb(var(--color-theme))
- item2:
- card:
- type: custom:button-card
- template: chip_weather_date
- variables:
- ulm_weather: '[[[ return variables.ulm_weather]]]'
- tap_action:
- action: more-info
- entity: '[[[ return variables.ulm_weather]]]'
- styles:
- card:
- - width: 100px
- - box-shadow: |
- [[[
- if (hass.themes.darkMode){
- return "0px 2px 4px 0px rgba(0,0,0,0.80)";
- } else {
- return "var(--box-shadow)";
- }
- ]]]
- - '--mdc-ripple-press-opacity': 0.12
- item3:
- card:
- type: custom:button-card
- template: chip_mdi_icon_only
- variables:
- ulm_chip_mdi_icon_only_icon: mdi:cog-outline
- tap_action:
- action: navigate
- navigation_path: /config/dashboard
- styles:
- card:
- - align-self: end
- - box-shadow: |
- [[[
- if (hass.themes.darkMode){
- return "0px 2px 4px 0px rgba(0,0,0,0.80)";
- } else {
- return "var(--box-shadow)";
- }
- ]]]
- - '--mdc-ripple-press-opacity': 0.12
- views:
- - title: Home
- type: panel
- cards:
- - type: custom:button-card
- template: card_esh_welcome
- triggers_update: input_boolean.minimalist_dropdown
- variables:
- ulm_card_esh_welcome_collapse: input_boolean.minimalist_dropdown
- ulm_weather: weather.buienradar
- entity_1:
- nav: home
- icon: mdi:home-circle-outline
- name: Home
- color: red
- entity_2:
- nav: rooms
- icon: mdi:floor-plan
- name: Rooms
- color: yellow
- entity_3:
- nav: energy
- icon: mdi:home-lightning-bolt
- name: Energy
- color: green
- entity_4:
- nav: system
- icon: mdi:nas
- name: System
- color: purple
- entity_5:
- nav: weather
- icon: mdi:weather-partly-cloudy
- name: Weather
- color: blue
Add Comment
Please, Sign In to add comment