From 9cb8b30fcaa8c369be1f11467a0f9a14b4607143 Mon Sep 17 00:00:00 2001 From: Pierre Eisenbrandt Date: Sun, 21 Dec 2025 13:28:25 +0100 Subject: [PATCH] check if schedule exists in selector --- Climate/schedule_selector.yaml | 80 +++++++++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 10 deletions(-) diff --git a/Climate/schedule_selector.yaml b/Climate/schedule_selector.yaml index 3fd728c..3878c47 100644 --- a/Climate/schedule_selector.yaml +++ b/Climate/schedule_selector.yaml @@ -183,11 +183,53 @@ actions: - condition: template value_template: "{{ matched_scheduler is not none and matched_scheduler != '' }}" sequence: - - service: input_select.select_option - target: - entity_id: !input helper_entity - data: - option: "{{ matched_scheduler }}" + - if: + - condition: template + value_template: > + {{ matched_scheduler in state_attr(helper, 'options') }} + then: + # Matched Scheduler ist in Options vorhanden + - service: input_select.select_option + target: + entity_id: !input helper_entity + data: + option: "{{ matched_scheduler }}" + else: + # Matched Scheduler nicht vorhanden - Fallback auf Default + - if: + - condition: template + value_template: > + {{ default_scheduler in state_attr(helper, 'options') }} + then: + - service: input_select.select_option + target: + entity_id: !input helper_entity + data: + option: "{{ default_scheduler }}" + - service: persistent_notification.create + data: + title: "⚠️ Heizplan Selector - Konfigurationsfehler" + message: > + Der gematchte Scheduler '{{ matched_scheduler }}' ist nicht in den Options der input_select '{{ helper }}' vorhanden. + + Fallback auf Standard-Scheduler '{{ default_scheduler }}'. + + Event: {{ trigger.calendar_event.summary }} + notification_id: "schedule_selector_config_error" + else: + # Auch Default-Scheduler nicht vorhanden + - service: persistent_notification.create + data: + title: "❌ Heizplan Selector - Kritischer Konfigurationsfehler" + message: > + Weder der gematchte Scheduler '{{ matched_scheduler }}' noch der Standard-Scheduler '{{ default_scheduler }}' sind in den Options der input_select '{{ helper }}' vorhanden. + + Kein Scheduler wurde aktiviert! + + Bitte input_select Options korrigieren. + + Event: {{ trigger.calendar_event.summary }} + notification_id: "schedule_selector_critical_error" alias: Event-Start - Scheduler aktivieren # Event-Ende: Zu Standard zurückkehren (nur wenn kein anderes Event aktiv) @@ -197,11 +239,29 @@ actions: - condition: template value_template: "{{ not other_event_active }}" sequence: - - service: input_select.select_option - target: - entity_id: !input helper_entity - data: - option: "{{ default_scheduler }}" + - if: + - condition: template + value_template: > + {{ default_scheduler in state_attr(helper, 'options') }} + then: + - service: input_select.select_option + target: + entity_id: !input helper_entity + data: + option: "{{ default_scheduler }}" + else: + - service: persistent_notification.create + data: + title: "❌ Heizplan Selector - Konfigurationsfehler" + message: > + Der Standard-Scheduler '{{ default_scheduler }}' ist nicht in den Options der input_select '{{ helper }}' vorhanden. + + Kein Scheduler wurde aktiviert! + + Bitte input_select Options korrigieren. + + Event: {{ trigger.calendar_event.summary }} + notification_id: "schedule_selector_default_error" alias: Event-Ende - Standard-Scheduler aktivieren default: []