Cardmod Icon Color Wird im Dashboard falsch angezeigt

Ich hänge gerade an einem, für mich, nicht nachvollziehbaren Problem.

Der Rollladen ist zu 13% geöffnet.
Das Icon passt, die Farbe nicht, die ist purple

show_name: true
show_icon: true
type: button
grid_options:
  columns: 3
  rows: 2
entity: cover.rollladen_wohnzimmer_li_s2pmg3_cover_0
name: WZ LI
show_state: true
hold_action:
  action: navigate
  navigation_path: /dashboard-dashboard/rollladen
card_mod:
  style: |

    :host {
      --mdc-icon-size: 70;
      --paper-item-icon-color: {% if state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 100 %} orange
                        {% elif 89 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 100 %} orange
                        {% elif 79 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 90 %} orange
                        {% elif 69 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 80 %} orange
                        {% elif 59 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 70 %} orange
                        {% elif 49 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 60 %} orange
                        {% elif 39 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 50 %} orange
                        {% elif 29 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 40 %} orange
                        {% elif 19 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 30 %} orange
                        {% elif 9 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 15 %} blue
                        {% elif 0 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 10 %} orange
                        {% elif state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 0 %} green
                        {% else %} red
                        {% endif %};
                        
      --card-mod-icon: {% if state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 100 %} phu:shutter-0
                        {% elif 89 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 100 %} phu:shutter-10
                        {% elif 79 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 90 %} phu:shutter-20
                        {% elif 69 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 80 %} phu:shutter-30
                        {% elif 59 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 70 %} phu:shutter-40
                        {% elif 49 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 60 %} phu:shutter-50
                        {% elif 39 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 50 %} phu:shutter-60
                        {% elif 29 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 40 %} phu:shutter-70
                        {% elif 19 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 30 %} phu:shutter-80
                        {% elif 9 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 15 %} kuf:fts_shutter_90
                        {% elif 0 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 10 %} phu:shutter-90
                        {% elif state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 0 %} phu:shutter-100
                        {% else %} mdi:window-shutter-alert
                        {% endif %};

          }

In den Entwicklerwerkzeugen wird mir beim Template aber blue ausgegeben

{% if state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 100 %} orange
                        {% elif 89 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 100 %} orange
                        {% elif 79 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 90 %} orange
                        {% elif 69 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 80 %} orange
                        {% elif 59 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 70 %} orange
                        {% elif 49 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 60 %} orange
                        {% elif 39 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 50 %} orange
                        {% elif 29 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 40 %} orange
                        {% elif 19 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 30 %} orange
                        {% elif 9 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 15 %} blue
                        {% elif 0 < state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') < 10 %} orange
                        {% elif state_attr('cover.rollladen_wohnzimmer_li_s2pmg3_cover_0', 'current_position') == 0 %} green
                        {% else %} red
                        {% endif %};

Ich vermute mal dass die Farbe vom System überschrieben wird da ja beim Rollladen alles über 0% purple ist.
Kann man das irgendwie umgehen ohne einen Helfer machen zu müssen?

Wenn der Rollladen zu ist wird das Symbol übrigens grün, also das geht soweit.

Das kann dir keiner beantworten.

Wen du Fragen zu Cardmod hast solltest du den Code der Karte auch dazu geben, denn nicht jeder code funktioniert bei jeder Karte.

LG

Danke für den Hinweis!
Ich habe den Code jetzt im Beitrag ergänzt.

Folgender Code ändert beim Kartentyp type: button die Farbe wunschgemäß:


card_mod:
  style: |
    :host {
      --card-mod-icon-color:
          {% set c = state_attr(config.entity, 'current_position')|int(-1) %}
          {% if 19 < c <= 100 or 0 < c < 10 %} orange
          {% elif 9 < c < 15 %} blue
          {% elif c == 0 %} green
          {% else %} red
          {% endif %}
    }

1 „Gefällt mir“

Vielen Dank!

Das war die Lösung!
Und ich hab wieder was gelernt wie man Code übersichtlicher schreiben kann. :slight_smile:

Gerne doch.
Mir ist aufgefallen, dass du zwischen 15 und 19 eine Lücke hast. Ist das gewollt?

Ah, das ist ein Schlampigkeitsfehler von mir.
Je nach Fenster habe ich bei mir 13% oder 14% Öffnung für die Lüftfunktion.
Sonst habe ich für alle 10% Öffnung ein eigenes Symbol.

Ist mir nicht aufgefallen, da ich derzeit in der Steuerung nur Buttons für “closed”, 13/14%, 50%, 80% und “open” habe.