alias: Awtrix Battery App
description: ""
triggers:
  - trigger: homeassistant
    event: start
  - trigger: state
    entity_id:
      - sensor.powerwall_3_battery_power
conditions: []
actions:
  - action: mqtt.publish
    data:
      topic: awtrix/custom/Powerwall
      payload: >
        {%- set charge = states('sensor.powerwall_3_percentage_charged') |
        float(-1) | round(0) %}

        {%- set power = states('sensor.powerwall_3_battery_power') | float(0) %}


        {%- if power < 0 %}
          {%- set mode = "Charge" %}
        {%- elif power > 0 %}
          {%- set mode = "Discharge" %}
        {%- else %}
          {%- set mode = "Idle" %}
        {%- endif %}


        {%- if mode == "Charge" %}
          {%- if charge > 85 %}
            {%- set icon = 32047 %}
          {%- elif charge > 69 %}
            {%- set icon = 32049 %}
          {%- elif charge > 51 %}
            {%- set icon = 32050 %}
          {%- elif charge > 34 %}
            {%- set icon = 32051 %}
          {%- elif charge > 17 %}
            {%- set icon = 32052 %}
          {%- else %}
            {%- set icon = 32053 %}
          {%- endif %}
        {%- elif mode == "Discharge" %}
          {%- if charge > 85 %}
            {%- set icon = 32059 %}
          {%- elif charge > 69 %}
            {%- set icon = 32058 %}
          {%- elif charge > 51 %}
            {%- set icon = 32057 %}
          {%- elif charge > 34 %}
            {%- set icon = 32056 %}
          {%- elif charge > 17 %}
            {%- set icon = 32055 %}
          {%- else %}
            {%- set icon = 32054 %}
          {%- endif %}
        {%- else %}
          {%- if charge > 90 %}
            {%- set icon = 13735 %}
          {%- elif charge > 70 %}
            {%- set icon = 13732 %}
          {%- elif charge > 40 %}
            {%- set icon = 13731 %}
          {%- elif charge > 10 %}
            {%- set icon = 13725 %}
          {%- else %}
            {%- set icon = 13734 %}
          {%- endif %}
        {%- endif %}


        { "text": "{{ charge }} %", "icon": "{{icon}}", "progress": {{ charge }}
        }
mode: single