Czy mogę prosić o podpowiedz co i gdzie dopisać do tego sensora aby ikona była trash i kolor można było zmienić w zależności od 0, 1, 2??
template:
- sensor:
- name: Popiół
state: >-
{% set t = now() %}
{% set midnight = today_at() %}
{% set event = state_attr('calendar.popiol', 'start_time') | as_datetime | as_local %}
{% set delta = event - midnight %}
{% if delta.days == 0 %}
Dziś
{% elif delta.days == 1 %}
Jutro
{% elif delta.days == 2 %}
Pojutrz
{% else %}
Za {{ delta.days }} dni
{% endif %}
attributes:
days: >-
{{ ((state_attr('calendar.popiol','start_time') | as_timestamp - today_at('00:00') | as_timestamp) / 86400) | int }}
data: >-
{{ state_attr('calendar.popiol','start_time') }}
Walczę z tym na różne sposoby i nie mogę tego ogarnąć.
Z góry dziękuje za pomoc.
krskrab
2
Może fotkę dopisać (foto z folderu WWW)
picture: >-
{% if delta.days == 0 %}
'/local/foto_0.png'
{% elif delta.days == 1 %}
'/local/foto_1.jpg'
{% elif delta.days == 2 %}
'/local/foto_2.png'
{% else %}
'/local/foto_default.png'
{% endif %}
Ikony:
icon: >-
{% if delta.days == 0 %}
'mdi:trash-can'
{% elif delta.days == 1 %}
'mdi:trash-xxx'
{% elif delta.days == 2 %}
'mdi:trash-zzz'
{% else %}
'mdi:trash-ccc'
{% endif %}
Kolor
color: >-
{% if delta.days == 0 %}
'red'
{% elif delta.days == 1 %}
'yellow'
{% elif delta.days == 2 %}
'green'
{% else %}
'blue'
{% endif %}
Kurka nie pykło, albo w złym miejscu to wstawiam?
template:
- sensor:
- name: Popiół
state: >-
{% set t = now() %}
{% set midnight = today_at() %}
{% set event = state_attr('calendar.popiol', 'start_time') | as_datetime | as_local %}
{% set delta = event - midnight %}
{% if delta.days == 0 %}
Dziś
{% elif delta.days == 1 %}
Jutro
{% elif delta.days == 2 %}
Pojutrz
{% else %}
Za {{ delta.days }} dni
{% endif %}
attributes:
days: >-
{{ ((state_attr('calendar.popiol','start_time') | as_timestamp - today_at('00:00') | as_timestamp) / 86400) | int }}
data: >-
{{ state_attr('calendar.popiol','start_time') }}
icon: >-
{% if delta.days == 0 %}
'mdi:trash-can-outline'
{% elif delta.days == 1 %}
'mdi:trash-can-outline'
{% elif delta.days == 2 %}
'mdi:trash-can-outline'
{% else %}
'mdi:trash-can-outline'
{% endif %}
color: >-
{% if delta.days == 0 %}
'red'
{% elif delta.days == 1 %}
'yellow'
{% elif delta.days == 2 %}
'green'
{% else %}
'blue'
{% endif %}
artpc
(artur)
5
Tutaj możesz sprawdzić swój kod
Zrobiłem tak że nie wyrzuca mi błędów, a moje ikony się nie zmieniają.
rafkan
7
Jeśli tak masz w kodzie jak napisałeś powyżej to się nie zmienią bo w każdym warunku są takie same.
Tak ale ja mam ikonę:

Czyli nie takie jakie bym chciał. Do testów wpisałem taką samą ikonę.
krskrab
9
Taka konfiguracja zmienia ikony
W sensor.yaml
- platform: template
sensors:
przypomnieniekalendarz2:
friendly_name: "Przypomnienie kalendarz2"
value_template: >-
{% set event_date = state_attr('sensor.ics_1', 'start') %}
{% set now = now() %}
{% set delta = event_date - now %}
{{ delta.days }}
icon_template: >-
{% set days = states('sensor.przypomnieniekalendarz2')|int %}
{% if days == 0 %}
mdi:calendar-remove
{% elif days == 1 %}
mdi:calendar-alert
{% elif days == 2 %}
mdi:calendar
{% else %}
mdi:calendar-blank
{% endif %}

icon_template
odwołuje się do sensora który wylicza ile pozostało dni i na tej podstawie zmienia ikony.