Lovelace: Button card

This works for me:

- platform: template
  sensors:
    battery_huawei:
      unit_of_measurement: '%'
      value_template: >-
          {% if states('sensor.lya_l29_battery_level') %}
              {{ states('sensor.lya_l29_battery_level') | round }}
          {% else %}
              {{ states('sensor.battery_huawei') }}
          {% endif %}
      icon_template: >-
        {% if is_state('sensor.battery_huawei', 'unknown') %}
          mdi:battery-unknown
        {% elif is_state('sensor.lya_l29_battery_state', 'charging') %}
          mdi:battery-charging
        {% elif states('sensor.lya_l29_battery_level')|float <= 5 %}
          mdi:battery-outline
        {% elif states('sensor.lya_l29_battery_level')|float >= 95 %}
          mdi:battery          
        {% else %}
          mdi:battery-{{(states('sensor.lya_l29_battery_level')|float / 10)|round*10}}
        {% endif %}

Changes the icon of the battery based on its level and whether it’s charging or not. No colors, though. To do that, you can check out battery state card / entity row available on HACS.