Calendar data retrieval via "get calendar events" in automation and

text_helpers.
This commit is contained in:
2026-07-10 13:33:34 +02:00
parent 67a0a03093
commit df047f61fb
5 changed files with 177 additions and 62 deletions
+20 -36
View File
@@ -145,44 +145,28 @@
unit_of_measurement: 'Mbps'
# ── Kalender-Ereignisse für epaperframe ──
# Quelle: calendar.privat und calendar.tkrz_kalender
# Diese Sensoren lesen das aktuelle (laufende) Event aus dem Kalendereintrag.
# Alle Events werden per Automation (automations.yaml) in input_text Helfer geschrieben.
# Diese template sensors lesen nur noch daraus. Das verhindert doppelte Logik und garantiert,
# dass sowohl "heute" als auch "morgen" Events mit Titeln, Uhrzeiten und Beschreibungen verfügbar sind.
- text_sensor:
# ── HEUTE ──
- name: "Kalender heute Privat"
unique_id: kalender_heute_privat
state: >-
{% set desc = state_attr('calendar.privat', 'description') or '' %}
{% set msg = state_attr('calendar.privat', 'message') or '' %}
{% if desc or msg or state_attr('calendar.privat', 'start_time') %}
{{ (msg if msg else desc) | replace('\n', ', ') | trim | truncate(60) }}
{% else %}
-
{% endif %}
state: "{{ states('input_text.kalender_heute_privat') }}"
icon: mdi:calendar-account
- name: "Kalender heute Arbeit"
unique_id: kalender_heute_arbeit
state: >-
{% set desc = state_attr('calendar.tkrz_kalender', 'description') or '' %}
{% set msg = state_attr('calendar.tkrz_kalender', 'message') or '' %}
{% if desc or msg or state_attr('calendar.tkrz_kalender', 'start_time') %}
{{ (msg if msg else desc) | replace('\n', ', ') | trim | truncate(60) }}
{% else %}
-
{% endif %}
- name: "Kalender heute Privat Uhrzeit"
unique_id: kalender_heute_privat_uhrzeit
state: >-
{% set st = state_attr('calendar.privat', 'start_time') %}
{% if st %}
{{ as_timestamp(st) | timestamp_custom('%H:%M', true) }}
{% else %}
-
{% endif %}
- name: "Kalender heute Arbeit Uhrzeit"
unique_id: kalender_heute_arbeit_uhrzeit
state: >-
{% set st = state_attr('calendar.tkrz_kalender', 'start_time') %}
{% if st %}
{{ as_timestamp(st) | timestamp_custom('%H:%M', true) }}
{% else %}
-
{% endif %}
state: "{{ states('input_text.kalender_heute_arbeit') }}"
icon: mdi:calendar-account
# ── MORGEN ──
- name: "Kalender morgen Privat"
unique_id: kalender_morgen_privat
state: "{{ states('input_text.kalender_morgen_privat') }}"
icon: mdi:calendar-calendar-today
- name: "Kalender morgen Arbeit"
unique_id: kalender_morgen_arbeit
state: "{{ states('input_text.kalender_morgen_arbeit') }}"
icon: mdi:calendar-calendar-today