Icon basierend auf Status

Hallo zusammen,

ich möchte gerne, dass sich mein Icon abhängig vom Status (Licht an / aus) ändert. Ich verwende eine Tile Card und versuche die Funtion über Card-mod umzusetzen.

Grundsätzlich funktioniert es schon, dass das Icon orange wird, wenn das Licht eingeschaltet wird, allerdings ändert sich die Farbe erst wieder zurück auf „primary“, wenn ich das Dashboard refreshe. So lange bleibt das Icon orange, selbst wenn die Lampe wieder ausgeschaltet ist. Bei meinen Badges funktioniert es einwandfrei und ohne refresh. Hat jemand eine Idee woran das liegen könnte?

type: tile
entity: sensor.aqara_temperatursensor_buero_temperatur
show_entity_picture: true
hide_state: false
state_content: state
name: Büro
icon: mdi:desk
color: blue
tap_action:
  action: navigate
  navigation_path: /dashboard-mobile/buro
card_mod:
  style: |
    ha-card {  
    --ha-card-background: rgba(0,0,0,0.5); color: white;
    --primary-text-color: white;
    }
    ha-state-icon {
    {% if is_state("light.licht_buero_gruppe", "off") %}
    --card-mod-icon-color: primary;
    {% else %}  
    --card-mod-icon-color: orange;
    {% endif %}  
    }

Ich habe es mal mit meinem PC-Licht getestet und wie folgt umgeschrieben. Funktioniert auf jeden Fall. Als Entität musst du bei dieser Card das Licht hinterlegen, was geschalten werden soll. Ich verstehe nicht wieso du entity: sensor.aqara_temperatursensor_buero_temperatur dort nutzt.

type: tile
entity: switch.pc_led_pv_led
show_entity_picture: true
hide_state: false
state_content: state
name: Büro
icon: mdi:desk
tap_action:
  action: toggle
card_mod:
  style: |
    ha-card {  
    --ha-card-background: rgba(0,0,0,0.5); color: white;
    --primary-text-color: white;
    }    
    ha-state-icon {
      color: {% if states('switch.pc_led_pv_led') == 'off' %} green {% else %} orange {% endif %};
    } 
    mushroom-shape-icon {
      --shape-color: {% if states('switch.pc_led_pv_led') == 'off' %} rgba(0, 128, 0, 0.4) {% else %} rgba(255, 0, 0, 0.2) {% endif %} !important;
    }

Wenn du einen Tempwert abhängig einfärben möchtest, je nach Zustand, musst du dir einen Template Sensor in der configuration.yaml erstellen und deinen Tempsensor hinterlegen.

  - platform: template
    sensors:
      temperature_color:
        friendly_name: "Außentemperatur Farbconfig"
        value_template: >
          {% set temp = states('sensor.aussentemperatur_temperatur') | float %}
          {% if temp < 10 %}
            steelblue
          {% elif temp < 15 %}
            green
          {% elif temp < 23 %}
            orange
          {% else %}
            red
          {% endif %}

Vielen Dank für die schnelle Antwort! Das werde ich mal testen.

Den Temperatursensor habe ich gewählt, weil sich der Button auf meinem Übersichts-Dashboard befindet. Sprich: Ich habe auf der Startseite u.a. alle meine Räume aufgelistet und hier die Temperatur der jeweiligen Räume dargestellt. Ein Click auf den Button navigiert dann zum jeweiligen Raum.

Ah ok, dann musst du bei dir nur den Card-Mod Teil anpassen. Denke so passt es.

card_mod:
  style: |
    ha-card {  
    --ha-card-background: rgba(0,0,0,0.5); color: white;
    --primary-text-color: white;
    }    
    ha-state-icon {
      color: {% if states('light.licht_buero_gruppe') == 'off' %} green {% else %} orange {% endif %};
    } 
    mushroom-shape-icon {
      --shape-color: {% if states('light.licht_buero_gruppe') == 'off' %} rgba(0, 128, 0, 0.4) {% else %} rgba(255, 0, 0, 0.2) {% endif %} !important;
    }
1 „Gefällt mir“

Funktioniert einwandfrei! Vielen Dank für die schnelle Hilfe! :slight_smile:

1 „Gefällt mir“