Kolor ikon zależnie od stanu

Chce zmienić kolor ikon które zaznaczyłem
Google Photos
Są zawsze Białe i nigdy nie wiem czy faktycznie kliknolem.

@Spatz znam dwie metody, pierwsza to do ustawień karty dopisujesz:

 state_color: true

i gdy masz stan na “on” ikona jest koloru żółtego a gdy “off” białego.
Druga metoda to przykład z mojego postu - gdzie dobrowolnie ustawiasz sobie kolory stanów.

Widocznie z tymi kartami nie działają te komendy

Wykopalisko, ale nie napisałeś czy i jak rozwiązałeś problem.

To nie problem kart, tylko użytych w nich encji.
“Z automatu” zaszytą zmianę koloru mają encje z domen switch, binary_sensor (oraz wszystkie jego pochodne np. door) oraz light (tu jest wręcz cała paleta - bo w zależności od typu może być obrazowana jasność i/lub kolor), być może jakąś domenę pominąłem, ale zasadniczo we wszystkich pozostałych trzeba samodzielnie zadbać o kolor ikony.

Witam,
Utworzyłem nowy sensor dla drzwi tarasowych który ma 3 stany (otwarte, uchylone, zamknięte). Niestety poległem na zmianie koloru ikony gdy drzwi są otwarte. Czy ktoś byłby w stanie napisać co robię nie tak?

capture|690x291, 50%

Poniżej masz przykład zmiany ikony i koloru:

entities:
  - entity: binary_sensor.openclose_58
    name: Górny zamek w drzwiach
    state_color: false
    card_mod:
      style: |
        :host {
         --card-mod-icon: 
           {% if is_state('binary_sensor.openclose_58', 'on') %} 
             mdi:lock-open-variant-outline;
           {% else %}
             mdi:lock-outline;
           {% endif %}
         --card-mod-icon-color:
           {% if is_state('binary_sensor.openclose_58', 'off') %}
             green;
           {% else %}
             red;
           {% endif %}
        }
    secondary_info: last-changed
type: entities

oczywiście w miejsce “binary_sensor.openclose_58” podstaw Swoją encję oraz ikony które chcesz.

Dzięki za pomoc, wszystko działa.
Pozdrawiam

Próbuję ustawić kolor ikony zależnie od ilości tonera w drukarce w biurze. Konica Minolta Bizhub C224e podaje jako encję ilość tonera, ale coś mi nie idzie… przykład poniżej

entities:
  - entity: sensor.konica_minolta_bizhub_c224e_toner_cartridge_y
    name: Toner K
    state_color: true
    card_mod:
      style: |
        :host {
         --card-mod-icon: 
           {% if is_state('sensor.konica_minolta_bizhub_c224e_toner_cartridge_y', '< 10') %} 
             red;
           {% else %}
             blue;
           {% endif %}
        }
type: entities
state_color: false

Co jest nie tak?

Nie działa ponieważ zastosowałeś złą funkcję.
Poniższy kod powinien zadziałać:

card_mod:
   style: |
     :host {
         --paper-item-icon-color:
          {% if states('sensor.konica_minolta_bizhub_c224e_toner_cartridge_y') |int < 10 %}
                red
          {% else %}
                blue
          {% endif %}
              ;
           }

Wielkie dzięki, działa! A jak zrobić jak mam 4 tonery, żeby to była reguła dla wszystkich 4, bo tak nie dziala?

card_mod:
  style: |
    :host {
        --paper-item-icon-color:
         {% if states('entities') |int < 10 %}
               red
         {% else %}
               blue
         {% endif %}
             ;
          }
type: entities
entities:
  - entity: sensor.konica_minolta_bizhub_c224e_toner_cartridge_c
    secondary_info: last-updated
  - entity: sensor.konica_minolta_bizhub_c224e_toner_cartridge_m
    secondary_info: last-updated
  - entity: sensor.konica_minolta_bizhub_c224e_toner_cartridge_y
    secondary_info: last-updated
  - entity: sensor.konica_minolta_bizhub_c224e_toner_cartridge_k
    secondary_info: last-updated
title: Konica Minolta
state_color: true
show_header_toggle: false

Najprościej dla każdej encji osobny wpis lub spróbuj utwórzyć grupę z tych tonerów.

Ok, na jednej karcie nie potrafię tego zrobić, w stosie pionowym zrobiłem. Dzięki

Kilka przykładów kart drukarki, coś na pewno znajdziesz
https://community.home-assistant.io/t/ipp-printer-sensors-with-custom-button-card/250719

Moja karta . Screenshot - 07.08.2021 , 17_26_42

Sorry za odkopywanie starego tematu ale nie zmienia mi koloru ikon tak jak bym chciał.

style: |
  :host {
    --paper-item-icon-color:
     {% if states('sensor.lumi_lumi_weather_temperature')|int >= 20 %}
       red
     {% elif states('sensor.lumi_lumi_weather_temperature')|int >= 21 %}
       green
     {% elif states('sensor.lumi_lumi_weather_temperature')|int >= 17 %}
       grey
     {% else %} grey
     {% endif %}
     ;
   }

Przy 21 stopniach powinno zmienić kolor a nie zmienia ?

Po pierwsze od grudniowej aktualizacji musisz określić wartość domyślną miedzy innymi funkcji

int

po drugie masz zdublowany wpis “grey”

po trzecie warunek:

{% else %}

nie jest potrzebny.

@robert_00 tak jak @rafkan piszę ustawiasz wartość domyślną dla “int” dodatkowo wyrzucasz “else” a dodatkowo kolejność.

style: |
  :host {
    --paper-item-icon-color:
     {% if states('sensor.lumi_lumi_weather_temperature')|int(0) >= 21 %}
       red
     {% elif states('sensor.lumi_lumi_weather_temperature')|int(0) >= 20 %}
       green
     {% elif states('sensor.lumi_lumi_weather_temperature')|int(0) >= 17 %}
       grey
     {% endif %}
     ;
   }
2 Likes

Cześć
Podpowiecie jak wpisać kod pod encją:

type: glance
entities:
  - entity: device_tracker.desktop_3sivm65state_color: false
show_state: false
title: SIEĆ DOMOWA - podłączone urządzenia

aby ikona zmieniała kolor - czerwony dla odłączonego urządzenia, zielony dla podłączonego.
Encja ma wartość: “home” lub “not_home”

Tutaj masz przykład:

  • Klucz “entities.0.card_mod” nie jest oczekiwany lub nie jest obsługiwany przez edytor wizualny.
  • Wprowadzona wartość dla “entities.0” nie jest obsługiwana przez edytor wizualny. Obsługujemy (string), a otrzymaliśmy ({“entity”:“device_tracker.desktop_3sivm65”,“card_mod”:{“style”:":host {\n --card-mod-icon: \n {% if is_state(’ device_tracker.desktop_3sivm65’, ‘home’) %} \n mdi:lan-connect;\n {% else %}\n mdi:lan-disconnect;\n {% endif %}\n --card-mod-icon-color:\n {% if is_state(’ device_tracker.desktop_3sivm65’, ‘not_home’) %}\n green;\n {% else %}\n red;\n {% endif %}\n}\n"}}).

Dodatek card-mod masz zainstalowany?