Icon_Template - nie działa

Mam taki przykładowy szablon.
Chciałbym żeby zmieniała się ikona w zależności od stanu (nie chce binary sensor trigger).

W narzędziach deweloperskich sprawdzam składnię YAML i jest ok.
Odpalam szablony i po wklejeniu kodu wynik dla stanu ikony jest ok. (foto poniżej)

Mam w sumie 3 wersje kodu dla icon_template - wszystkie są poprawne jako kod yaml. (zaznaczone haszami)

Dodałem

- platform: template
  sensors:
    lodowka:
      friendly_name: "Lodowka"
      value_template: >-
        {% if states('sensor.pp_lodowka_power') != ('unavailable' or 'unknown') %}
          {% if states('sensor.pp_lodowka_power') | int > 2 %}
            Praca
          {% else %}
            Wyłączona
          {% endif %}
        {% else %}
          {{ states('sensor.lodowka') }}
        {% endif %}
#1       icon_template: >-
#1        {% if is_state('sensor.lodowka','Wyłączona') %} mdi:fridge-off
#1        {% else %} mdi:fridge   
#1        {% endif %}        
#2       icon_template: "{{ 'mdi:fridge' if is_state('sensor.lodowka', 'Praca') else 'mdi:fridge-off' }}"
#3      icon_template: >-
#3         {% if (states.sensor.lodowka.state) == "Praca" %}
#3            mdi:fridge
#3         {% else %}
#3            mdi:fridge-off
#3         {% endif %}

Na podstawie dokumentacji Legacy Sensor configuration format:

This format still works but is no longer recommended. Use modern configuration.

może warto zacząć używać nowej definicji template sensor. Wtedy możesz zrobić wg przykładu tak:

       icon: >
          {% if is_state("binary_sensor.sun_up", "on") %}
            mdi:weather-sunset-up
          {% else %}
            mdi:weather-sunset-down
          {% endif %}

Od dawna używam nowego sposobu definiowania sensorów i wg mnie jest mniej problemów, jest też więcej przykładów w internetach np. Add ICON to Template Sensor - #3 by andyblac - Configuration - Home Assistant Community.

Nie pomogłem ale może warto zmienić przyzwyczajenia :wink: .

Edit:
Próbujesz ustawić stan ikony encji na podstawie stanu tej encji, który wcześniej zdeniniowałeś (obliczyłeś) w value_template, nie wiem czy tak można robić “w locie”. W edytorze szablonów to zadziałało bo stan encji sensor.lodowka jest już określony. Możesz spóbować ustawić stan ikony na podstawie tych samych encji, które wykorzystałeś przy value_template, wtedy musi zadziałać.

So, what is not working actually?

You are defining a sensor and using it for templating itself? That seems to be a bit odd to me, and I would think that it would not be allowed.

Będzie to działać w przypadku wyświetlania na custom button card jednak przy zwykłych chyba nie da rady w locie nadpisywać.

type: custom:button-card
entity: sensor.lodowka_active_power
show_icon: true
icon: |
  [[[ 
    return entity.state > 2 ? 'mdi:power' : 'mdi:power-off';
  ]]]

Edit.
A żeby to miało ręce i nogi w przypadku lodówki to jeszcze kolor na jasny niebieski gdy mrozi.

type: custom:button-card
entity: sensor.lodowka_active_power
show_icon: true
icon: |
  [[[ 
    return entity.state > 2 ? 'mdi:power' : 'mdi:power-off';
  ]]]
styles:
  icon:
    - color: >
        [[[ 
          return entity.state > 2 ? '#ADD8E6' : 'red';
        ]]]
2 polubienia