note I also have a card_mod in the top entities card applying to the individual rows generically
Full card
type: entities
card_mod:
style:
hui-sensor-entity-row:
$: |
hui-generic-entity-row {
height: 25px;
padding: 0px 16px;
border: 1px groove var(--primary-color);
}
.: |
{% set light = is_state('binary_sensor.donker_thema','off') %}
{% set kleur = 'var(--ha-color)' if light else 'var(--primary-color)' %}
ha-card {
box-shadow: var(--box-shadow);
background: linear-gradient(90deg, {{kleur}} 30%,var(--card-background-color) 100%);
color: white;
--icon-primary-color: white;
--mdc-icon-size: 20px;
font-weight: bold;
}
entities:
- type: custom:hui-element
card_type: vertical-stack # required because hui-element does not support visibility
cards:
- visibility:
- condition: state
entity: binary_sensor.donker_thema
state: 'on'
image: /local/home-assistant/home-assistant-wordmark-color-on-dark.png
<<: &picture
type: picture
entity: device_tracker.ha_main
card_mod:
style: |
ha-card {
{% set light = is_state('binary_sensor.donker_thema','off') %}
{% set kleur = 'var(--ha-color)' if light else 'var(--primary-color)' %}
background: linear-gradient(90deg, {{kleur}} 30%,var(--card-background-color) 100%);
}
tap_action:
action: more-info
hold_action:
action: navigate
navigation_path: /config/system
- visibility:
- condition: state
entity: binary_sensor.donker_thema
state: 'off'
image: /local/home-assistant/home-assistant-wordmark-monochrome-on-dark.png
<<: *picture
- entity: sensor.last_boot
format: datetime
<<: &no_border
card_mod:
style: |
hui-generic-entity-row {
border: none !important;
}
- entity: sensor.uptime
<<: *no_border
- entity: sensor.processor_use
name: Cpu
card_mod: &perc
style: |
hui-generic-entity-row {
background:
{% set perc = states(config.entity)|float(0) %}
{% if perc >= 59 %} {% set bar = '255,0,0' %}
{% elif perc >= 44 %} {% set bar = '128,0,0' %}
{% elif perc >= 24 %} {% set bar = '255,165,0' %}
{% elif perc >= 9 %} {% set bar = '0,100,0' %}
{% else %} {% set bar = '0,128,0' %}
{% endif %}
linear-gradient(to right, rgb({{bar}},0.9) 0%, rgb({{bar}},0.6) {{perc}}%,
rgb({{bar}},0.3){{perc}}%, rgb({{bar}},0.1) 100%);
}
- entity: sensor.processor_temperature
name: Temp
card_mod:
style: |
hui-generic-entity-row {
background:
{% set temp = states(config.entity)|float(0) %}
{% if temp >= 85 %} {% set bar = '255,0,0' %}
{% elif temp >= 75 %} {% set bar = '128,0,0' %}
{% elif temp >= 65 %} {% set bar = '255,99,71' %}
{% elif temp >= 55 %} {% set bar = '255,69,0' %}
{% elif temp >= 45 %} {% set bar = '255,140,0' %}
{% elif temp >= 35 %} {% set bar = '255,165,0' %}
{% else %} {% set bar = '0,128,0' %}
{% endif %}
linear-gradient(to right, rgba({{bar}},0.9) 0%, rgba({{bar}},0.9) {{temp}}%,
rgba({{bar}},0.6){{temp}}%, rgba({{bar}},0.2) 100%);
}
- entity: sensor.memory_use_percent
name: Memory
card_mod:
style: |
hui-generic-entity-row {
background:
{% set perc = states(config.entity)|float(0) %}
{% if perc >= 85 %} {% set bar = '255,0,0' %}
{% elif perc >= 75 %} {% set bar = '128,0,0' %}
{% elif perc >= 60 %} {% set bar = '255,140,0' %}
{% elif perc >= 50 %} {% set bar = '255,165,0' %}
{% else %} {% set bar = '0,128,0' %}
{% endif %}
linear-gradient(to right, rgba({{bar}},0.9) 0%, rgb({{bar}},0.9) {{perc}}%,
rgba({{bar}},0.6){{perc}}%, rgba({{bar}},0.2) 100%);
}
- entity: sensor.disk_use_percent_home
name: Disk
card_mod: *perc
- entity: sensor.swap_use_percent
name: Swap
card_mod:
style: |
hui-generic-entity-row {
background:
{% set swap = states(config.entity)|float(0) %}
{% if swap >= 768 %} {% set bar = '255,0,0' %}
{% elif swap >= 640 %} {% set bar = '255,215,0' %}
{% else %} {% set bar = '50,205,50' %}
{% endif %}
linear-gradient(to right, rgba({{bar}},0.9) 0%, rgba({{bar}},0.9) {{swap}}%,
rgba({{bar}},0.1){{swap}}%, rgba({{bar}},0.1) 100%);
}
- entity: sensor.system_monitor_open_file_descriptors_python3
name: Python3
card_mod:
style: |
hui-generic-entity-row {
background:
{% set py = states(config.entity)|float(0) %}
{% set max = 2048 %}
{% set percent = (py / max * 100) | round(1) %}
{% if py >= 2000 %}
{% set bar = '255,0,0' %} {# Red #}
{% elif py >= 1500 %}
{% set bar = '255,69,0' %} {# OrangeRed #}
{% elif py >= 1000 %}
{% set bar = '255,140,0' %} {# DarkOrange #}
{% elif py >= 500 %}
{% set bar = '255,215,0' %} {# Gold #}
{% elif py >= 250 %}
{% set bar = '173,255,47' %} {# GreenYellow #}
{% elif py >= 100 %}
{% set bar = '144,238,144' %} {# LightGreen #}
{% else %}
{% set bar = '0,128,0' %} {# Green #}
{% endif %}
linear-gradient(to right, rgba({{bar}},0.9) 0%,
rgba({{bar}},0.9) {{percent}}%,
rgba({{bar}},0.6){{percent}}%,
rgba({{bar}},0.2) 100%);
}
- entity: sensor.home_assistant_v2_db_size
name: Db
# footer:
# type: custom:hui-element
# card_type: statistics-graph
# entities:
# - sensor.home_assistant_v2_db_size
# green #0, 128, 0
# darkgreen #0, 100, 0
# limegreen 50, 205, 50
# gold 255, 215, 0
# brown # 165, 42, 42
# orange #255, 165, 0
# darkorange #255, 140, 0
# orangered #255, 69, 0
# tomato # 255, 99, 71
# maroon #128, 0, 0
# red #255, 0, 0
# {{'-dark' if dark }}
# url('/local/homeassistant/homeassistant_background.png');
# {% set dark = states('input_select.theme') is search('ight|Dark|Matrix',ignorecase=True) %}
# {% set bcolor = 'var(--ha-color)' if dark else 'rgb(49,150,207)' %}