Frontend (A) Need to apply the Alarm animation though
- theme: Backend-selected
title: Levels
path: levels
badges: []
cards:
- type: custom:button-card
template: main_nav
- type: custom:stack-in-card
keep:
background: true
border_radius: true
box_shadow: false
mode: vertical
cards:
- type: vertical-stack
cards:
- type: custom:button-card
name: Pool Tank
styles:
name:
- text-transform: uppercase
- letter-spacing: 0.5em
- font-familly: cursive
- justify-self: start
- padding: 0px 5px
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.pool_tank_level_number
show_entity_picture: true
show_name: false
size: 25%
styles:
card:
- height: 150px
- width: 90px
- border-radius: 20px
entity_picture:
- justify-self: start
- width: 65px
- border-radius: 5px
state:
- value: 5
operator: '=='
entity_picture: /local/my-icons/water 5.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- box-shadow: 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- transition: all 2s ease
- value: 4
operator: '=='
entity_picture: /local/my-icons/water 4.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- box-shadow: 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- transition: all 2s ease
- value: 3
operator: '=='
entity_picture: /local/my-icons/water 3.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- box-shadow: 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- transition: all 2s ease
- value: 2
operator: '=='
entity_picture: /local/my-icons/water 2.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(246,135,41)
- box-shadow: 0 0 0.95rem 0.2rem rgb(246,135,41)
- transition: all 2s ease
- value: 1
operator: '=='
entity_picture: /local/my-icons/water 1.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(237,28,35)
- box-shadow: 0 0 0.95rem 0.2rem rgb(237,28,35)
- transition: all 2s ease
- animation: blink 2s ease infinite
- type: custom:stack-in-card
keep:
background: true
border_radius: true
box_shadow: false
mode: vertical
cards:
- type: custom:button-card
entity: sensor.pool_tank_current_volume
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:button-card
entity: sensor.pool_tank_level_percent
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:button-card
entity: switch.pool_tank_valve
show_name: false
show_entity_picture: true
show_state: true
show_icon: false
- type: custom:button-card
entity: switch.pool_filter_pump
show_name: false
show_entity_picture: true
show_state: false
show_icon: false
size: 60%
styles:
card:
- height: 90px
- width: 90px
- border-radius: 20px
entity_picture:
- justify-self: start
- width: 65px
- border-radius: 5px
state:
- value: 'on'
operator: '=='
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- box-shadow: 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- transition: all 2s ease
- border-radius: 5px
- type: custom:text-divider-row
text: Settings
- type: glance
show_icon: false
entities:
- entity: sensor.pool_tank_level_percent
name: percent
- entity: sensor.pool_tank_current_volume
name: Now
- entity: sensor.pool_tank_capacity
name: Capacity
- entity: sensor.pool_tank_level_number
name: Level
- type: glance
show_icon: false
entities:
- entity: sensor.pool_tank_adc
name: Now V
- entity: input_number.pool_tank_volt_per_cm
name: v/cm
- entity: input_number.pool_tank_max_v
name: max V
- entity: sensor.pool_tank_current_height
name: now H
- entity: input_number.pool_tank_h
name: height
- entity: input_number.pool_tank_w
name: width
- entity: input_number.pool_tank_l
name: length
- type: custom:stack-in-card
keep:
background: true
border_radius: true
box_shadow: false
mode: vertical
cards:
- type: vertical-stack
cards:
- type: custom:button-card
name: Irrigation Tank
styles:
name:
- text-transform: uppercase
- letter-spacing: 0.5em
- font-familly: cursive
- justify-self: start
- padding: 0px 5px
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.irrigation_tank_level_number
show_entity_picture: true
show_name: false
size: 25%
styles:
card:
- height: 150px
- width: 90px
- border-radius: 20px
entity_picture:
- justify-self: start
- width: 65px
- border-radius: 5px
state:
- value: 5
operator: '=='
entity_picture: /local/my-icons/water 5.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- box-shadow: 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- transition: all 2s ease
- value: 4
operator: '=='
entity_picture: /local/my-icons/water 4.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- box-shadow: 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- transition: all 2s ease
- value: 3
operator: '=='
entity_picture: /local/my-icons/water 3.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- box-shadow: 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- transition: all 2s ease
- value: 2
operator: '=='
entity_picture: /local/my-icons/water 2.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(246,135,41)
- box-shadow: 0 0 0.95rem 0.2rem rgb(246,135,41)
- transition: all 2s ease
- value: 1
operator: '=='
entity_picture: /local/my-icons/water 1.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(237,28,35)
- box-shadow: 0 0 0.95rem 0.2rem rgb(237,28,35)
- transition: all 2s ease
- animation: blink 2s ease infinite
- type: custom:button-card
entity: sensor.irrigation_tank_current_volume
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:button-card
entity: sensor.irrigation_tank_level_percent
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:text-divider-row
text: Settings
- type: glance
show_icon: false
entities:
- entity: sensor.irrigation_tank_level_percent
name: percent
- entity: sensor.irrigation_tank_current_volume
name: Now
- entity: sensor.irrigation_tank_capacity
name: Capacity
- entity: sensor.irrigation_tank_level_number
name: Level
- type: glance
show_icon: false
entities:
- entity: sensor.irrigation_tank_adc
name: Now V
- entity: input_number.irrigation_tank_volt_per_cm
name: v/cm
- entity: input_number.irrigation_tank_max_v
name: max V
- entity: sensor.irrigation_tank_current_height
name: now H
- entity: input_number.irrigation_tank_h
name: height
- entity: input_number.irrigation_tank_w
name: width
- entity: input_number.irrigation_tank_l
name: length
- type: custom:stack-in-card
keep:
background: true
border_radius: true
box_shadow: false
mode: vertical
cards:
- type: vertical-stack
cards:
- type: custom:button-card
name: Main Tank
styles:
name:
- text-transform: uppercase
- letter-spacing: 0.5em
- font-familly: cursive
- justify-self: start
- padding: 0px 5px
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.main_tank_level_number
show_entity_picture: true
show_name: false
size: 25%
styles:
card:
- height: 150px
- width: 90px
- border-radius: 20px
entity_picture:
- justify-self: start
- width: 65px
- border-radius: 5px
state:
- value: 5
operator: '=='
entity_picture: /local/my-icons/water 5.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- box-shadow: 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- transition: all 2s ease
- value: 4
operator: '=='
entity_picture: /local/my-icons/water 4.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- box-shadow: 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- transition: all 2s ease
- value: 3
operator: '=='
entity_picture: /local/my-icons/water 3.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- box-shadow: 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- transition: all 2s ease
- value: 2
operator: '=='
entity_picture: /local/my-icons/water 2.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(246,135,41)
- box-shadow: 0 0 0.95rem 0.2rem rgb(246,135,41)
- transition: all 2s ease
- value: 1
operator: '=='
entity_picture: /local/my-icons/water 1.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(237,28,35)
- box-shadow: 0 0 0.95rem 0.2rem rgb(237,28,35)
- transition: all 2s ease
- animation: blink 2s ease infinite
- type: custom:button-card
entity: sensor.main_tank_current_volume
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:button-card
entity: sensor.main_tank_level_percent
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:text-divider-row
text: Settings
- type: glance
show_icon: false
entities:
- entity: sensor.main_tank_level_percent
name: percent
- entity: sensor.main_tank_current_volume
name: Now
- entity: sensor.main_tank_capacity
name: Capacity
- entity: sensor.main_tank_level_number
name: Level
- type: glance
show_icon: false
entities:
- entity: sensor.main_tank_adc
name: Now V
- entity: input_number.main_tank_volt_per_cm
name: v/cm
- entity: input_number.main_tank_max_v
name: max V
- entity: sensor.main_tank_current_height
name: now H
- entity: input_number.main_tank_h
name: height
- entity: input_number.main_tank_w
name: width
- entity: input_number.main_tank_l
name: length
- type: custom:stack-in-card
keep:
background: true
border_radius: true
box_shadow: false
mode: vertical
cards:
- type: vertical-stack
cards:
- type: custom:button-card
name: Diesel Tank
styles:
name:
- text-transform: uppercase
- letter-spacing: 0.5em
- font-familly: cursive
- justify-self: start
- padding: 0px 5px
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.diesel_tank_level_number
show_entity_picture: true
show_name: false
size: 25%
styles:
card:
- height: 150px
- width: 90px
- border-radius: 20px
entity_picture:
- justify-self: start
- width: 65px
- border-radius: 5px
state:
- value: 5
operator: '=='
entity_picture: /local/my-icons/diesel 5.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- box-shadow: 0 0 0.95rem 0.2rem rgb(5, 113, 185)
- transition: all 2s ease
- value: 4
operator: '=='
entity_picture: /local/my-icons/diesel 4.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- box-shadow: 0 0 0.95rem 0.2rem rgb(39, 127, 194)
- transition: all 2s ease
- value: 3
operator: '=='
entity_picture: /local/my-icons/diesel 3.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- box-shadow: 0 0 0.95rem 0.2rem rgb(85, 186, 71)
- transition: all 2s ease
- value: 2
operator: '=='
entity_picture: /local/my-icons/diesel 2.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(246,135,41)
- box-shadow: 0 0 0.95rem 0.2rem rgb(246,135,41)
- transition: all 2s ease
- value: 1
operator: '=='
entity_picture: /local/my-icons/diesel 1.png
styles:
entity_picture:
- '-webkit-box-shadow': 0 0 0.95rem 0.2rem rgb(237,28,35)
- box-shadow: 0 0 0.95rem 0.2rem rgb(237,28,35)
- transition: all 2s ease
- animation: blink 2s ease infinite
- type: custom:button-card
entity: sensor.diesel_tank_current_volume
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:button-card
entity: sensor.diesel_tank_level_percent
name: current
icon: hass:percent
show_name: false
show_state: true
show_icon: false
styles:
state:
- font-size: 30px
- type: custom:text-divider-row
text: Settings
- type: glance
show_icon: false
entities:
- entity: sensor.diesel_tank_level_percent
name: percent
- entity: sensor.diesel_tank_current_volume
name: Now
- entity: sensor.diesel_tank_capacity
name: Capacity
- entity: sensor.diesel_tank_level_number
name: Level
- type: glance
show_icon: false
entities:
- entity: sensor.diesel_tank_adc
name: Now V
- entity: input_number.diesel_tank_volt_per_cm
name: v/cm
- entity: input_number.diesel_tank_max_v
name: max V
- entity: sensor.diesel_tank_current_height
name: now H
- entity: input_number.diesel_tank_h
name: height
- entity: input_number.diesel_tank_w
name: width
- entity: input_number.diesel_tank_l
name: length
- entity: input_number.diesel_tank_adc_offset
name: ADC offset
Frontend (B) Need to apply the Alarm animation though
type: grid
square: false
columns: 1
cards:
- square: false
columns: 1
type: grid
cards:
- type: custom:mushroom-title-card
title: Tanks
- square: true
columns: 4
type: grid
cards:
- type: custom:mushroom-template-card
primary: '{{ states(entity) }}%'
secondary: Pool
icon: none
layout: vertical
entity: sensor.pool_tank_level_percent
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
icon_color: ''
badge_color: ''
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% set water_level = states(config.entity) | int %}
{% if water_level > 80 %}
background: url("/local/my-icons/water 5.png") no-repeat center;
{% elif water_level > 60 %}
background: url("/local/my-icons/water 4.png") no-repeat center;
{% elif water_level > 40 %}
background: url("/local/my-icons/water 3.png") no-repeat center;
{% elif water_level > 20 %}
background: url("/local/my-icons/water 2.png") no-repeat center;
{% else %}
background: url("/local/my-icons/water 1.png") no-repeat center;
{% endif %}
background-size: contain;
--shape-color: none;
}
- type: custom:mushroom-template-card
primary: '{{ states(entity) }}%'
secondary: Irrigation
icon: none
layout: vertical
entity: sensor.irrigation_tank_level_percent
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
icon_color: ''
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% set water_level = states(config.entity) | int %}
{% if water_level > 80 %}
background: url("/local/my-icons/water 5.png") no-repeat center;
{% elif water_level > 60 %}
background: url("/local/my-icons/water 4.png") no-repeat center;
{% elif water_level > 40 %}
background: url("/local/my-icons/water 3.png") no-repeat center;
{% elif water_level > 20 %}
background: url("/local/my-icons/water 2.png") no-repeat center;
{% else %}
background: url("/local/my-icons/water 1.png") no-repeat center;
{% endif %}
background-size: contain;
--shape-color: none;
}
- type: custom:mushroom-template-card
primary: '{{ states(entity) }}%'
secondary: Main
icon: none
layout: vertical
entity: sensor.main_tank_level_percent
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
icon_color: ''
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% set water_level = states(config.entity) | int %}
{% if water_level > 80 %}
background: url("/local/my-icons/water 5.png") no-repeat center;
{% elif water_level > 60 %}
background: url("/local/my-icons/water 4.png") no-repeat center;
{% elif water_level > 40 %}
background: url("/local/my-icons/water 3.png") no-repeat center;
{% elif water_level > 20 %}
background: url("/local/my-icons/water 2.png") no-repeat center;
{% else %}
background: url("/local/my-icons/water 1.png") no-repeat center;
{% endif %}
background-size: contain;
--shape-color: none;
}
- type: custom:mushroom-template-card
primary: '{{ states(entity) }}%'
secondary: Diesel
icon: none
layout: vertical
entity: sensor.diesel_tank_level_percent
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
icon_color: ''
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% set water_level = states(config.entity) | int %}
{% if water_level > 80 %}
background: url("/local/my-icons/diesel 5.png") no-repeat center;
{% elif water_level > 60 %}
background: url("/local/my-icons/diesel 4.png") no-repeat center;
{% elif water_level > 40 %}
background: url("/local/my-icons/diesel 3.png") no-repeat center;
{% elif water_level > 20 %}
background: url("/local/my-icons/diesel 2.png") no-repeat center;
{% else %}
background: url("/local/my-icons/diesel 1.png") no-repeat center;
{% endif %}
background-size: contain;
--shape-color: none;
}
Here are the PNG files
Diesel:
Water:
Begins at Part 1