forked from matt8707/hass-config
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sidebar.yaml
128 lines (124 loc) · 6.43 KB
/
sidebar.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
- sensor:
- unique_id: sidebar
state: template
attributes:
time: >
{% set hours = now().strftime('%H') %}
{% set minutes = now().strftime('%M') %}
<span class="time">
{{ hours }}<span class="time-colon">:</span>{{ minutes }}
</span>
date: >
<font color='#6a7377'><b>
{% if strptime(states('sensor.date'), '%Y-%m-%d').day != None %}
{%- set days = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'] %}
{%- set months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'] %}
{{ days[now().weekday()] }}, {{ strptime(states('sensor.date'), '%Y-%m-%d').day }} {{ months[now().month-1] }}
{% endif %}
</b></font>
greet: >
<b>
{% set time = now().hour %}
{%- if time <= 5 -%} Gute Nacht {{'\U0001F634'}}
{%- elif time <= 9 -%} Guten Morgen {{'\u2615\uFE0F'}}
{%- elif time <= 10 -%} Guten Morgen {{'\U0001F642'}}
{%- elif time <= 13 -%} Guten Tag {{'\U0001F60A'}}
{%- elif time <= 15 -%} Guten Tag {{'\U0001F60E'}}
{%- elif time <= 17 -%} Guten Tag {{'\U0001F44B\U0001F3FB'}}
{%- elif time <= 19 -%} Guten Abend {{'\U0001F44B\U0001F3FB'}}
{%- elif time <= 22 -%} Guten Abend {{'\U0001F60C'}}
{%- elif time <= 23 -%} Guten Abend {{'\U0001F634'}}
{%- else %} Guten Abend {{'\U0001F634'}}
{% endif %}
</b>
active: >
<b>
{% set lights = [
states.light.wohnzimmer,
states.light.esszimmer
] %}
{% set devices = [
states.media_player.badezimmer,
states.media_player.fernseher_im_wohnzimmer_2,
states.media_player.onkyo_tx_nr676e_eaaa8f,
states.media_player.wohnzimmer
] %}
{% set lights_on = lights | selectattr('state','eq','on') | list %}
{% set lights_name = lights | selectattr('state','eq','on') | map(attribute='name') | join(', ') %}
{% set devices_on = devices | selectattr('state','search','(on|cool|fan_only|playing)') | list %}
{% set devices_name = devices_on | map(attribute='name') | join(', ') %}
{%- if (lights_on | length == 0) and (devices_on | length > 0) -%}
{{ devices_name | regex_replace(',([^,]*)$',' und\\1') }} ist eingeschaltet
{%- elif (lights_on | length == 1) and (devices_on | length == 1) -%}
{{ lights_name }} 💡 und {{devices_name }} 🎵 ist eingeschaltet
{%- elif (lights_on | length == 1) and (devices_on | length > 1) -%}
{{ lights_name }} 💡, {{ devices_name | regex_replace(',([^,]*)$',' und\\1') }} sind eingeschaltet
{%- elif (lights_on | length > 1) and (devices_on | length == 1) -%}
{{ lights_on | length }} Lampen und {{ devices_name }} 🎵 sind eingeschaltet
{%- elif (lights_on | length > 1) and (devices_on | length > 1) -%}
{{ lights_on | length }} Lampen, {{ devices_name | regex_replace(',([^,]*)$',' und\\1') }} sind eingeschaltet
{%- elif (lights_on | length == 1) and (devices_on | length == 0) -%}
{{ lights_name }} 💡 ist eingeschaltet
{%- elif (lights_on | length > 1) and (devices_on | length == 0) -%}
{{ lights_on | length }} Lampen sind an
{%- else %}
<font color='#6a7377'>Alles ist aus</font>
{%- endif -%}
</b>
mailbox: >
{% set mailbox = states('sensor.mailbox') %}
{% if mailbox | int(default=0) > 0 %}
{{ '\U0001F4EC' }} <font color='#6a7377'><b>Brevlåda ({{ mailbox }})</b></font>
{% endif %}
vacuum: >
{% set entity_id = 'vacuum.robi' %}
{% if is_state(entity_id, 'cleaning') %}
<b>Staubsauger läuft</b>
{% elif is_state(entity_id, 'returning') %}
<b>Staubsauger ist bereit</b>
{% endif %}
# weather: >
# {% set entity = 'weather.smhi_home' %}
# {% if not is_state(entity, 'unknown') %}
# {% set temp = state_attr(entity, 'temperature') | round %}
# {% set precip = state_attr(entity, 'forecast')[0]['precipitation'] | round %}
# Känns som {{ temp }}° med {{ 'ingen risk för regn' if precip == 0
# else precip | string + 'mm regn \u2614\uFE0F' }}
# {% else %}
# Kan inte läsa in väder...
# {% endif %}
# laundry: >
# {% set start_time = state_attr('calendar.tvatta', 'start_time') %}
# {% if start_time != None %}
# {% set time = as_timestamp(start_time) | timestamp_custom('%H:%M') %}
# {% set hours = as_timestamp(start_time) | timestamp_custom('%H') | int(default=0) / 24 %}
# {% set count = (as_timestamp(start_time) - as_timestamp(now())) / 86400 - hours %}
# {% set day = strptime(start_time, '%Y-%m-%d %H:%M:%S').strftime('%A')
# | replace('Monday', 'Måndag')
# | replace('Tuesday', 'Tisdag')
# | replace('Wednesday', 'Onsdag')
# | replace('Thursday', 'Torsdag')
# | replace('Friday', 'Fredag')
# | replace('Saturday', 'Lördag')
# | replace('Sunday', 'Söndag') %}
# {% if count <= 0.0 %}
# {{'\U0001F4A6'}} Tvätt idag {{ time }}
# {% elif count <= 1.0 %}
# Tvätt imorgon klockan {{ time }}
# {% elif count <= 2.0 %}
# Tvätt i övermorgon klockan {{ time }}
# {% else %}
# Tvätt om {{ (count + hours) | round }} dagar på {{ day }} kl {{ time }}
# {% endif %}
# {% endif %}
# battery: >
# {% set entities = states.sensor
# | selectattr('entity_id', 'search', 'battery')
# | rejectattr('entity_id', 'search', 'iphone')
# | map(attribute = 'entity_id') | list %}
# {% for sensor in entities if states(sensor) != 'unknown' and states(sensor) !=
# 'unavailable' and states(sensor) != 'None' and states(sensor) | int(default=0) <= 5 %}
# {% if loop.first %} {{'\u26A0\uFE0F'}} Batteri {% else %}, {% endif %}
# {{ state_attr(sensor, 'friendly_name') }} {{ states(sensor) }}%
# {% endfor %}