Przydatne szablony do wyświetlania różnego typu informacji które mogą się przydać.
Zachęcam do dodawania swoich ciekawych użytecznych szablonów które można wykorzystać w powiadomieniach itp. Pomyślałem że zgromadzenie ich w jednym temacie nie jednemu początkującemu i nie tylko może się przydać. Zacznę może ja
Informacja kiedy będzie kolejne wydarzenie w kalendarzu. calendar.urodziny
(zamień na swoją encje kalendarza)
{% set now = utcnow() %}
{% set calendar_event = state_attr('calendar.urodziny', 'start_time') %}
{% if calendar_event %}
{% set event_time = as_datetime(calendar_event).astimezone(now.tzinfo) %}
{% set time_left = event_time - now %}
Czas do najbliższego wydarzenia w kalendarzu: {{ time_left.days }} dni, {{ time_left.seconds // 3600 }} godzin, {{ (time_left.seconds % 3600) // 60 }} minut.
{% else %}
Brak nadchodzącego wydarzenia.
{% endif %}
Ilość dni do Nowego Roku
{% set new_year = now().replace(month=1, day=1, year=now().year + 1).date() %}
{% set days_left = (new_year - now().date()).days %}{{ days_left }}
Kierunek wiatru (u mnie pobiera to z integracji wbudowanej weather.home
i atrybutu wind_bearing
{% set winbearing = (state_attr('weather.home', 'wind_bearing') | float / 45) | int | round %}
{% set winddir = ['Północny', 'Północno Wschodni', 'Wschodni', 'Południowo Wschodni', 'Południowy', 'Południowo Zachodni', 'Zachodni', 'Północno Zachodni'] %}
{{ winddir[winbearing % winddir | length] }}
Ilość włączonych świateł i jakie.
{% set lights_on = states.light | selectattr('state', 'equalto', 'on') | list %}
Obecnie włączonych świateł: {{ lights_on | length }}
{% if lights_on | length > 0 %}
Światła, które są włączone:
{% for light in lights_on %}
- {{ light.name }} {% endfor %}
{% else %}
Brak włączonych świateł.
{% endif %}
Procentowo ilość włączonych i wyłączonych świateł .
{% set lights = states.light %}
{% set total_lights = lights | selectattr('state', 'in', ['on', 'off']) | list %}
{% set on_lights = lights | selectattr('state', 'equalto', 'on') | list %}
{% set off_lights = lights | selectattr('state', 'equalto', 'off') | list %}
{% set on_percentage = (on_lights | length / total_lights | length * 100) | round(2) %}
{% set off_percentage = (off_lights | length / total_lights | length * 100) | round(2) %}
Włączonych świateł : {{ on_percentage }}%
Wyłączonych świateł: {{ off_percentage }}%
Ile dziś zostało uruchomionych automatyzacji.
{% set today = now().strftime('%Y-%m-%d') %}
{% set automations_today = states.automation | selectattr('attributes.last_triggered', 'defined') | selectattr('attributes.last_triggered', 'search', today) | list | length %}
Dziś uruchomiono {{ automations_today }} automatyzacji.
Procent urządzeń o stanie niedostępnym:
{% set unavailable_entities = states | selectattr('state', 'equalto', 'unavailable') | list %}
{% set total_entities = states | list %}
{% if total_entities %}
Niedostępne: {{ (unavailable_entities | length / total_entities | length * 100) | round(1) }}%
{% else %}
Brak danych o urządzeniach.
{% endif %}
Średnia temperatura w domu z wszystkich czujników
{% set temp_sensors = states.sensor | selectattr('attributes.device_class', 'equalto', 'temperature') | map(attribute='state') | map('float', default=0) | list %}
{% if temp_sensors %}
Średnia temperatura: {{ (temp_sensors | sum / temp_sensors | length) | round(1) }} °C
{% else %}
Brak czujników temperatury.
{% endif %}
Edit.
Pozostały czas do zamknięcia / otwarcia rolet (warunek że zamykają się o zachodzie i otwierają o wschodzie jak u mnie / do zamiany encja rolety lub encja grupy rolet jak w moim przypadku cover.wszystkie_rolety
.
{% set sunrise = as_timestamp(state_attr('sun.sun', 'next_rising')) %}
{% set sunset = as_timestamp(state_attr('sun.sun', 'next_setting')) %}
{% set now = as_timestamp(now()) %}
{% if is_state('cover.wszystkie_rolety', 'open') %}
{% set time_until_event = sunset - now %}
{% set event_type = 'zamknięcia rolet' %}
{% else %}
{% set time_until_event = sunrise - now %}
{% set event_type = 'otwarcia rolet' %}
{% endif %}
{% if time_until_event > 0 %}
Czas do {{ event_type }} : {{ (time_until_event // 3600) | int }} godzin i {{ ((time_until_event % 3600) // 60) | int }} minut{% else %}{% endif %}
Czas zachodu - wschodu słońca.
{% set sunrise = as_datetime(state_attr('sun.sun', 'next_rising')) | as_local %}
{% set sunset = as_datetime(state_attr('sun.sun', 'next_setting')) | as_local %}
Wschód słońca: {{ sunrise.strftime('%H:%M') }}
Zachód słońca: {{ sunset.strftime('%H:%M') }}
Szablon nasłuchujący czy wszystkie okna są zamknięte ,jeśli nie wymienia które.
{% set open_windows = states.binary_sensor | selectattr('attributes.device_class', 'equalto', 'window') | selectattr('state', 'equalto', 'on') | map(attribute='name') | list %}
{% if open_windows %}
Otwarte okna: {{ open_windows | join(', ') }}
{% else %}
Wszystkie okna są zamknięte.
{% endif %}