merge temp schedule change #1
@@ -73,13 +73,27 @@ blueprint:
|
|||||||
input:
|
input:
|
||||||
radiator_schedules:
|
radiator_schedules:
|
||||||
name: Heizpläne
|
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: []
|
default: []
|
||||||
selector:
|
selector:
|
||||||
entity:
|
entity:
|
||||||
multiple: true
|
multiple: true
|
||||||
filter:
|
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:
|
away_section:
|
||||||
name: Konfiguration für Abwesenheitsmodus
|
name: Konfiguration für Abwesenheitsmodus
|
||||||
description: Konfiguration für das Absenken der Heizung im Abwesenheitsmodus eines Alarmsystems
|
description: Konfiguration für das Absenken der Heizung im Abwesenheitsmodus eines Alarmsystems
|
||||||
@@ -110,6 +124,7 @@ variables:
|
|||||||
temperature_sensor: !input temperature_sensor
|
temperature_sensor: !input temperature_sensor
|
||||||
heating_period_switch: !input heating_period_switch
|
heating_period_switch: !input heating_period_switch
|
||||||
radiator_schedules: !input radiator_schedules
|
radiator_schedules: !input radiator_schedules
|
||||||
|
active_scheduler_selector: !input active_scheduler_selector
|
||||||
away_temperature: !input away_temperature
|
away_temperature: !input away_temperature
|
||||||
alarm_control_panel: !input alarm_control_panel
|
alarm_control_panel: !input alarm_control_panel
|
||||||
is_heating_period: >
|
is_heating_period: >
|
||||||
@@ -138,19 +153,18 @@ variables:
|
|||||||
{{ window_detection_entity_id.id }}
|
{{ window_detection_entity_id.id }}
|
||||||
scheduled_temperature: >
|
scheduled_temperature: >
|
||||||
{% set ns = namespace(current_temperature = none) %}
|
{% set ns = namespace(current_temperature = none) %}
|
||||||
{% for schedule in radiator_schedules %}
|
{% set selected_friendly_name = states(active_scheduler_selector) %}
|
||||||
{% if states(schedule) == 'on' and state_attr(schedule, 'current_slot') is not none %}
|
{% if selected_friendly_name is not none and selected_friendly_name != 'unknown' %}
|
||||||
{% set current_slot = state_attr(schedule, 'current_slot') %}
|
{% for schedule in radiator_schedules %}
|
||||||
{% set actions = state_attr(schedule, 'actions') %}
|
{% if state_attr(schedule, 'friendly_name') == selected_friendly_name and states(schedule) == 'on' %}
|
||||||
{% if actions is not none and actions | length > current_slot %}
|
{% set temp = state_attr(schedule, 'temp') %}
|
||||||
{% set action = actions[current_slot] %}
|
{% if temp is not none and temp | is_number %}
|
||||||
{% if action.data.temperature is defined and action.data.temperature | is_number %}
|
{% set ns.current_temperature = temp %}
|
||||||
{% set ns.current_temperature = action.data.temperature %}
|
|
||||||
{% break %}
|
{% break %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endif %}
|
||||||
{{ ns.current_temperature }}
|
{{ ns.current_temperature }}
|
||||||
target_temperature: >
|
target_temperature: >
|
||||||
{% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %}
|
{% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %}
|
||||||
|
|||||||
Reference in New Issue
Block a user