123 lines
5.8 KiB
YAML
Executable File
123 lines
5.8 KiB
YAML
Executable File
---
|
|
trigger:
|
|
platform: time_pattern
|
|
minutes: "/4"
|
|
action:
|
|
- service: weather.get_forecasts
|
|
data:
|
|
type: daily
|
|
target:
|
|
entity_id: weather.forecast_home
|
|
response_variable: daily
|
|
sensor:
|
|
- name: e-ink Display Data
|
|
unique_id: e_ink_display_data
|
|
icon: ios:display-2
|
|
state: "OK"
|
|
attributes:
|
|
greeting: >
|
|
{%- if now() > today_at('18:00') %}
|
|
Good evening
|
|
{%- elif now() > today_at('12:00') %}
|
|
Good afternoon
|
|
{%- elif now() > today_at('5:00') %}
|
|
Good morning
|
|
{%- else %}
|
|
Good night
|
|
{%- endif %}
|
|
|
|
weather_condition_now: >
|
|
{% set cond_now = states('weather.forecast_home') %}
|
|
{% if states('sun.sun') == 'below_horizon' %}
|
|
{% if cond_now == 'sunny' %} night {% elif cond_now == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond_now }} {% endif %}
|
|
{% else %}
|
|
{{ cond_now }}
|
|
{% endif %}
|
|
|
|
weather_condition_0: >
|
|
{% set cond0 = daily["weather.forecast_home"].forecast[0].condition %}
|
|
{% set next_setting = as_timestamp(state_attr('sun.sun', 'next_setting')) %}
|
|
{% set next_rising = as_timestamp(state_attr('sun.sun', 'next_rising')) %}
|
|
{% set cond0_time = as_timestamp(daily["weather.forecast_home"].forecast[0].datetime) %}
|
|
{% if cond0_time > next_setting and cond0_time < next_rising %}
|
|
{% if cond0 == 'sunny' %} night {% elif cond0 == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond0 }} {% endif %}
|
|
{% else %}
|
|
{{ cond0 }}
|
|
{% endif %}
|
|
weather_temperature_0: >
|
|
{{ daily["weather.forecast_home"].forecast[0].temperature | round }}
|
|
#{{ daily["weather.forecast_home"].forecast[0].temperature | round }}
|
|
weather_timestamp_0: >
|
|
{{ as_timestamp(daily["weather.forecast_home"].forecast[0].datetime) | timestamp_custom('%a') }}
|
|
weather_condition_1: >
|
|
{% set cond1 = daily["weather.forecast_home"].forecast[1].condition %}
|
|
{% set next_setting = as_timestamp(state_attr('sun.sun', 'next_setting')) %}
|
|
{% set next_rising = as_timestamp(state_attr('sun.sun', 'next_rising')) %}
|
|
{% set cond1_time = as_timestamp(daily["weather.forecast_home"].forecast[1].datetime) %}
|
|
{% if cond1_time > next_setting and cond1_time < next_rising %}
|
|
{% if cond1 == 'sunny' %} night {% elif cond1 == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond1 }} {% endif %}
|
|
{% else %}
|
|
{{ cond1 }}
|
|
{% endif %}
|
|
weather_temperature_1: >
|
|
{{ daily["weather.forecast_home"].forecast[1].temperature | round }}
|
|
weather_timestamp_1: >
|
|
{{ as_timestamp(daily["weather.forecast_home"].forecast[1].datetime) | timestamp_custom('%a') }}
|
|
weather_condition_2: >
|
|
{% set cond2 = daily["weather.forecast_home"].forecast[2].condition %}
|
|
{% set next_setting = as_timestamp(state_attr('sun.sun', 'next_setting')) %}
|
|
{% set next_rising = as_timestamp(state_attr('sun.sun', 'next_rising')) %}
|
|
{% set cond2_time = as_timestamp(daily["weather.forecast_home"].forecast[2].datetime) %}
|
|
{% if cond2_time > next_setting and cond2_time < next_rising %}
|
|
{% if cond2 == 'sunny' %} night {% elif cond2 == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond2 }} {% endif %}
|
|
{% else %}
|
|
{{ cond2 }}
|
|
{% endif %}
|
|
weather_temperature_2: >
|
|
{{ daily["weather.forecast_home"].forecast[2].temperature | round }}
|
|
weather_timestamp_2: >
|
|
{{ as_timestamp(daily["weather.forecast_home"].forecast[2].datetime) | timestamp_custom('%a') }}
|
|
weather_condition_3: >
|
|
{% set cond3 = daily["weather.forecast_home"].forecast[3].condition %}
|
|
{% set next_setting = as_timestamp(state_attr('sun.sun', 'next_setting')) %}
|
|
{% set next_rising = as_timestamp(state_attr('sun.sun', 'next_rising')) %}
|
|
{% set cond3_time = as_timestamp(daily["weather.forecast_home"].forecast[3].datetime) %}
|
|
{% if cond3_time > next_setting and cond3_time < next_rising %}
|
|
{% if cond3 == 'sunny' %} night {% elif cond3 == 'partlycloudy' %} night-partly-cloudy {% else %} {{ cond3 }} {% endif %}
|
|
{% else %}
|
|
{{ cond3 }}
|
|
{% endif %}
|
|
weather_temperature_3: >
|
|
{{ daily["weather.forecast_home"].forecast[3].temperature | round }}
|
|
weather_timestamp_3: >
|
|
{{ as_timestamp(daily["weather.forecast_home"].forecast[3].datetime) | timestamp_custom('%a') }}
|
|
afval_today: >
|
|
{{ states('sensor.afvalinfo_thuis_trash_type_today') }}
|
|
afval_tomorrow: >
|
|
{{ states('sensor.afvalinfo_thuis_trash_type_tomorrow') }}
|
|
travel_Best_time: >
|
|
{{ state_attr('sensor.werk_best','duration') | round(2) }}
|
|
travel_Best_name: >
|
|
{{ state_attr('sensor.werk_best','friendly_name') }}
|
|
travel_ASML_time: >
|
|
{{ state_attr('sensor.werk_asml','duration') | round(2) }}
|
|
travel_ASML_name: >
|
|
{{ state_attr('sensor.werk_asml','friendly_name') }}
|
|
travel_Euretco_time: >
|
|
{{ state_attr('sensor.reistijd_hoeverlaken','duration') | round(2) }}
|
|
travel_Euretco_name: >
|
|
{{ state_attr('sensor.reistijd_hoeverlaken','friendly_name') }}
|
|
sun_next_rising: >
|
|
{{ state_attr('Sun.sun', 'next_rising') }}
|
|
sun_next_setting: >
|
|
{{ state_attr('Sun.sun', 'next_setting') }}
|
|
moon_phase_icon: >
|
|
{{ state_attr('sensor.moon_phase', 'icon') }}
|
|
|
|
media_playing_status: >
|
|
{{ states('media_player.keuken') }}
|
|
media_playing_title: >
|
|
{{ state_attr('media_player.keuken', 'media_title') | title }}
|
|
media_playing_artist: >
|
|
{{ state_attr('media_player.keuken', 'media_artist') | title }} (on {{ state_attr('media_player.office_sonos', 'media_channel') | title }})
|