Zmiana koloru kafelki na dashbordzie kiedy pralka zacznie pracować

Dzień dobry, jestem dość świeżym “użytkownikiem” Home Assistant oraz Node-Red. Chciałbym stworzyć sobie ikonę pralki, która będzie zmieniać swój kolor w momencie kiedy gniazdko wykryje zwiększone zużycie prądu.

Mniej więcej wyobrażam sobie to tak:
Kolor czerwony pralki zużycie <5W
Kolor zielony pralki zużycie >5W

Czy ktoś laikowi jest w stanie wyjaśnić jak zrobić to za pomocą dostępnych kafelek?

Pralkę oczywiście mam podpięte pod gniazdko (zigbee), które monitoruje na bieżąco zużycie energii.

Pozdrawiam, Konrad.

Ja to u siebie mam zrealizowane tak:
Utworzyłem template sensor który mi eksponuje 3 stany (pracuje, nie pracuje i odłączone z zasilania). Do tego mam zrobione 3 własne ikony które są dodane jako karta picture. Jakbyś chciał bardziej szczegółowo to mogę Ci udostępnić

Jeśli mogę Cię prosić, nawet sam zrzut ekranu byłoby super!

Nie wiem co już masz zainstalowane a co nie więc od początku.
Do modyfikacji wyglądu poszczególnych elementów kart home assistanta niezbędna jest integracja card-mod:

Można ją doinstalować do HA korzystając z zasobów HACS (Home Assistant Community Store)

Gdy będziesz to już miał można to zrobić np. tak:

type: tile
entity: switch.gniazdko_pralka
features_position: bottom
name: Pralka
vertical: false
card_mod:
  style: |
    ha-tile-icon {
     {% set s1 = states('sensor.gniazdko_pralka_moc')|int %}
     {% if (s1 < 5) %}
        --tile-color: red
     {% elif (s1 == 5) %}
        --tile-color: blue
     {% elif (s1 > 5) %}
        --tile-color: green
     {% endif %}
    }

Efekt jak poniżej w zależności od stanu encji pokazującej moc.


Oczywiście musisz dopasować nazwy encji do własnych potrzeb

Nie wiem tylko dlaczego dodałeś swój temat w kategorii Node-RED.

Tu masz przykładowego template:

### dzialanie pralki ###
- platform: template
  sensors:
    work_pralka:
      friendly_name: "Pranie"
      icon_template: mdi:washing-machine
      value_template: >
        {% if is_state('switch.pralka' ,'off') %}
          0
        {% elif states('sensor.pralka_power')|int(0) > 3 and (now() - timedelta(seconds=5)) %}
        on 
        {% else %}
          off
        {% endif %}

A tutaj kod karty:

type: image
entity: sensor.work_pralka
state_image:
  "0": /local/img/ikony/pralka-0.png
  "on": /local/img/ikony/pralka-ON.png
  "off": /local/img/ikony/pralka-OFF.png
style:
  top: 50%
  left: 50%
  width: 100%
tap_action:
  action: call-service
  service: switch.toggle
  target:
    entity_id: switch.pralka
  data: {}

A ikonki mam własne które są po prostu obrazkami:

Czy mógłbyś jeszcze mi wytłumaczyć kwestie jak tworzy się template? :slight_smile:

Mógłbym Ci napisać instrukcję ale lepiej dla Ciebie jak przekieruje Cię do dokumentacji :wink:

Myślałem, że raczej do tego będzie trzeba wykorzystać node-red, rzeczywiście mój błąd :slight_smile:

Rzeczywiście to zadziałało! Działa to naprawdę nieźle, próbowałem to również zaimplementować na większą ikonę - byłoby dla mnie wygodniej i bardziej przejrzyście, ale niestety nie chce mi to zadziałać. Jest defaultowo biała lub żółta, byłbyś w stanie wskazać gdzie robię błąd? Z góry dziękuję :slight_smile:

Przede wszystkim nie zamieszczaj zrzutów ekranu pokazując kod karty. Nikt nie będzie tego przepisywał z obrazka.
Zapoznaj się z instrukcją jak poprawnie zamieszczać kod:

Natomiast co do samej karty, to pytałeś o rozwiązanie dla karty typu Kafelek (Tile) i dla tego typu podałem Ci rozwiązanie. Teraz używasz karty typu Przycisk (Button) i podkładasz do jej kodu modyfikację dla kafelka.
To tak nie działa. Każdy typ karty, a przynajmniej większość, wymaga innych modyfikacji, które mają mieć wpływ na jej wygląd.
Proponuję trochę poczytać i samemu poeksperymentować. Oczekiwanie na gotowe rozwiązania niczemu dobremu Ci nie posłuży.
Dobrym źródłem informacji jak modyfikować poszczególne elementy różnych typów kart jest między innymi ten wątek, zawierający mnóstwo odnośników: