merge temp schedule change #1
@@ -73,13 +73,27 @@ blueprint:
|
||||
input:
|
||||
radiator_schedules:
|
||||
name: Heizpläne
|
||||
description: Alle Heizpläne die für den Radiator berücksichtigt werden sollen. Sind mehrere Schedules aktiv, wird der erste mit einem gültigen Slot verwendet.
|
||||
description: Alle Heizpläne die für den Radiator berücksichtigt werden sollen. Sind mehrere Schedules aktiv, wird der erste mit einer gültigen Temperatur verwendet.
|
||||
default: []
|
||||
selector:
|
||||
entity:
|
||||
multiple: true
|
||||
filter:
|
||||
- domain: switch
|
||||
- domain: schedule
|
||||
|
||||
active_scheduler_selector:
|
||||
name: Aktiver Scheduler Selector
|
||||
description: >
|
||||
Input Select der den aktuell aktiven Scheduler enthält (per Friendly Name).
|
||||
Wird verwendet um zu bestimmen welcher Schedule für die Temperatur verwendet werden soll.
|
||||
|
||||
**WICHTIG**: Die Options müssen die Friendly Names der Scheduler aus der Scheduler-Liste enthalten.
|
||||
|
||||
Beispiel: Wird typischerweise vom "Heizplan Selector" Blueprint gesteuert.
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain: input_select
|
||||
away_section:
|
||||
name: Konfiguration für Abwesenheitsmodus
|
||||
description: Konfiguration für das Absenken der Heizung im Abwesenheitsmodus eines Alarmsystems
|
||||
@@ -110,6 +124,7 @@ variables:
|
||||
temperature_sensor: !input temperature_sensor
|
||||
heating_period_switch: !input heating_period_switch
|
||||
radiator_schedules: !input radiator_schedules
|
||||
active_scheduler_selector: !input active_scheduler_selector
|
||||
away_temperature: !input away_temperature
|
||||
alarm_control_panel: !input alarm_control_panel
|
||||
is_heating_period: >
|
||||
@@ -138,19 +153,18 @@ variables:
|
||||
{{ window_detection_entity_id.id }}
|
||||
scheduled_temperature: >
|
||||
{% set ns = namespace(current_temperature = none) %}
|
||||
{% for schedule in radiator_schedules %}
|
||||
{% if states(schedule) == 'on' and state_attr(schedule, 'current_slot') is not none %}
|
||||
{% set current_slot = state_attr(schedule, 'current_slot') %}
|
||||
{% set actions = state_attr(schedule, 'actions') %}
|
||||
{% if actions is not none and actions | length > current_slot %}
|
||||
{% set action = actions[current_slot] %}
|
||||
{% if action.data.temperature is defined and action.data.temperature | is_number %}
|
||||
{% set ns.current_temperature = action.data.temperature %}
|
||||
{% set selected_friendly_name = states(active_scheduler_selector) %}
|
||||
{% if selected_friendly_name is not none and selected_friendly_name != 'unknown' %}
|
||||
{% for schedule in radiator_schedules %}
|
||||
{% if state_attr(schedule, 'friendly_name') == selected_friendly_name and states(schedule) == 'on' %}
|
||||
{% set temp = state_attr(schedule, 'temp') %}
|
||||
{% if temp is not none and temp | is_number %}
|
||||
{% set ns.current_temperature = temp %}
|
||||
{% break %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{{ ns.current_temperature }}
|
||||
target_temperature: >
|
||||
{% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %}
|
||||
|
||||
Reference in New Issue
Block a user