- platform: template sensors: devices_with_low_battery: friendly_name: 'Devices with Low Battery' unit_of_measurement: devices value_template: >- {% set ignore_entities = [] %} {{ states.sensor | selectattr('attributes.device_class', 'eq', 'battery') | rejectattr('entity_id', 'in', ignore_entities) | map(attribute='state') | reject('in', ['unknown', 'unavailable']) | map('int', -1) | select('le', 30) | select('ge', 0) | list | count }} icon_template: >- {% if is_state('sensor.devices_with_low_battery', '0') %} mdi:battery-check {% else %} mdi:battery-alert {% endif %} type: custom:stack-in-card cards: - type: custom:mushroom-chips-card alignment: center chips: - type: template entity: sensor.devices_with_low_battery icon_color: red icon: mdi:battery-alert content: '{{ states(entity) }}' tap_action: action: fire-dom-event browser_mod: service: browser_mod.popup data: title: Low Batteries content: type: custom:auto-entities filter: include: - attributes: device_class: battery state: < 30 options: type: custom:mushroom-template-card primary: '{{ states(entity) }}%' secondary: '{{ state_attr(entity, ''friendly_name'') | title }}' icon: > {% set battery_level = (states(entity) | int / 10) | round(0) | int * 10 %} {% if battery_level == 100 %} mdi:battery {% elif battery_level > 0 %} mdi:battery-{{ battery_level }} {% else %} mdi:battery-outline {% endif %} icon_color: |- {% set battery_level = states(entity) | int %} {% if battery_level > 90 %} green {% elif battery_level > 60 %} light-green {% elif battery_level > 50 %} lime {% elif battery_level > 40 %} yellow {% elif battery_level > 30 %} amber {% elif battery_level > 20 %} orange {% elif battery_level > 10 %} deep-orange {% else %} red {% endif %} layout: horizontal tap_action: action: none badge_icon: |- {% set battery_level = states(entity) | int %} {% if battery_level < 10 %} mdi:exclamation-thick {% endif %} badge_color: red exclude: null show_empty: false card: type: custom:layout-card cards: [] layout_type: masonry sort: method: friendly_name card_mod: style: | ha-card { --chip-box-shadow: none; --chip-spacing: 15px; --chip-icon-size: 35px; --chip-height: 35px; height: 60px; margin-top: 15px; }