Add home assistant
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
alias: "Heizung: Wohnzimmer Correction Anpassung"
|
||||
description: ""
|
||||
triggers:
|
||||
- trigger: time
|
||||
at: "20:01:00"
|
||||
conditions: []
|
||||
actions:
|
||||
- variables:
|
||||
temp_soll: |
|
||||
{{ states('input_number.wohnzimmer_heizung_soll') | float(21.0)}}
|
||||
temp_ist: |
|
||||
{{ states('sensor.median_wohnzimmer_heizungskurve_letzte_6h') | float(21.0)}}
|
||||
current_correction: |
|
||||
{{ states('input_number.temp_correction_value_wohnzimmer') | float(0.0)}}
|
||||
temp_diff: |
|
||||
{{ temp_soll - temp_ist }}
|
||||
correction_steps: |
|
||||
{{states('input_number.temp_correction_steps') | float(0.2)}}
|
||||
tolerance: |
|
||||
{{0.2}}
|
||||
correction: >
|
||||
{% if temp_diff > tolerance %}
|
||||
{{current_correction + correction_steps }}
|
||||
{% elif temp_diff > (tolerance * -1) %}
|
||||
{{current_correction - correction_steps}}
|
||||
{% else %}
|
||||
{{current_correction}}
|
||||
{% endif %}
|
||||
- action: input_number.set_value
|
||||
metadata: {}
|
||||
data:
|
||||
value: "{{correction}}"
|
||||
target:
|
||||
entity_id: input_number.temp_correction_value_wohnzimmer
|
||||
mode: single
|
||||
57
home_assistant/automatation_heizungsstufe.yml
Normal file
57
home_assistant/automatation_heizungsstufe.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
alias: Heizungsstufe (Wohnzimmer)
|
||||
description: ""
|
||||
triggers:
|
||||
- trigger: time
|
||||
at: "22:05:00"
|
||||
conditions: []
|
||||
actions:
|
||||
- variables:
|
||||
sunny_weight: |
|
||||
{% if states('sensor.forecast_sunny') | float(0.0) > 0 %}
|
||||
{{-0.2}}
|
||||
{% else %}
|
||||
{{0.0}}
|
||||
{% endif %}
|
||||
wind_weight: |
|
||||
{{states('sensor.forecast_wind') | float(0.0)}}
|
||||
forecast_temp_min: |
|
||||
{{states('sensor.forecast_min') | float(21.0)}}
|
||||
temp_soll: |
|
||||
{{states('input_number.wohnzimmer_heizung_soll') | float(17)}}
|
||||
temp_ist: |
|
||||
{{states('sensor.median_wohnzimmer_heizungskurve_letzte_6h')}}
|
||||
temp_diff: |
|
||||
{{temp_soll - temp_ist}}
|
||||
# Faktor: Wie stark soll die Raumtemp die Ladung beeinflussen?
|
||||
# Beispiel: Pro 1 Grad Abweichung, Ladestufe um 0.5 ändern.
|
||||
feedback_factor: |
|
||||
{{ 0.2 }}
|
||||
correction: |
|
||||
{{states('input_number.temp_correction_value_wohnzimmer')}}
|
||||
ladestufe_calc: >
|
||||
{% set base_load = ((15 - forecast_temp_min) / 10) %}
|
||||
{% set weather_impact = sunny_weight + wind_weight %}
|
||||
{% set room_feedback = temp_diff * feedback_factor %}
|
||||
|
||||
{{ base_load + weather_impact + room_feedback + correction}}
|
||||
ladestufe: |
|
||||
{% if ladestufe_calc < 0.0 %}
|
||||
{{0.0}}
|
||||
{% else %}
|
||||
{{ladestufe_calc}}
|
||||
{% endif %}
|
||||
- action: notify.mobile_app_mi_9t
|
||||
metadata: {}
|
||||
data:
|
||||
message: >
|
||||
Sunny: {{sunny_weight}} Wind: {{wind_weight}} Temp:
|
||||
{{forecast_temp_min}} Lvl: {{ladestufe}}
|
||||
title: Wohnzimmer (Ladestufe auf {{ ladestufe }})
|
||||
- action: notify.mobile_app_pixel_9
|
||||
metadata: {}
|
||||
data:
|
||||
message: >
|
||||
Sunny: {{sunny_weight}} Wind: {{wind_weight}} Temp:
|
||||
{{forecast_temp_min}} Lvl: {{ladestufe}}
|
||||
title: Wohnzimmer (Ladestufe auf {{ ladestufe }})
|
||||
mode: single
|
||||
54
home_assistant/automatation_heizungsstufe_schlafzimmer.yml
Normal file
54
home_assistant/automatation_heizungsstufe_schlafzimmer.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
alias: Heizungsstufe (Schlafzimmer)
|
||||
description: ""
|
||||
triggers:
|
||||
- trigger: time
|
||||
at: "22:05:00"
|
||||
conditions: []
|
||||
actions:
|
||||
- variables:
|
||||
sunny_weight: |
|
||||
{% if states('sensor.forecast_sunny') | float(0.0) > 0 %}
|
||||
{{-0.2}}
|
||||
{% else %}
|
||||
{{0.0}}
|
||||
{% endif %}
|
||||
wind_weight: |
|
||||
{{states('sensor.forecast_wind') | float(0.0)}}
|
||||
forecast_temp_min: |
|
||||
{{states('sensor.forecast_min') | float(21.0)}}
|
||||
temp_soll: |
|
||||
{{states('input_number.schlafzimmer_heizung_soll') | float(17)}}
|
||||
temp_ist: |
|
||||
{{states('sensor.median_schlafzimmer_heizungskurve_letzte_6h')}}
|
||||
temp_diff: |
|
||||
{{temp_soll - temp_ist}}
|
||||
feedback_factor: |
|
||||
{{ 0.2 }}
|
||||
correction: |
|
||||
{{states('input_number.temp_correction_value_schlafzimmer')}}
|
||||
ladestufe_calc: >
|
||||
{% set base_load = ((15 - forecast_temp_min) / 10) %}
|
||||
{% set weather_impact = sunny_weight + wind_weight %}
|
||||
|
||||
{{ base_load + weather_impact + correction}}
|
||||
ladestufe: |
|
||||
{% if ladestufe_calc < 0.0 %}
|
||||
{{0.0}}
|
||||
{% else %}
|
||||
{{ladestufe_calc}}
|
||||
{% endif %}
|
||||
- action: notify.mobile_app_mi_9t
|
||||
metadata: {}
|
||||
data:
|
||||
message: >
|
||||
Sunny: {{sunny_weight}} Wind: {{wind_weight}} Temp:
|
||||
{{forecast_temp_min}} Lvl: {{ladestufe}}
|
||||
title: Schlafzimmer (Ladestufe auf {{ ladestufe }})
|
||||
- action: notify.mobile_app_pixel_9
|
||||
metadata: {}
|
||||
data:
|
||||
message: >
|
||||
Sunny: {{sunny_weight}} Wind: {{wind_weight}} Temp:
|
||||
{{forecast_temp_min}} Lvl: {{ladestufe}}
|
||||
title: Schlafzimmer (Ladestufe auf {{ ladestufe }})
|
||||
mode: single
|
||||
Reference in New Issue
Block a user