Add home assistant

This commit is contained in:
2026-01-30 23:38:01 +01:00
parent 07de16d256
commit 54846a8b7e
3 changed files with 146 additions and 0 deletions

View File

@@ -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

View 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

View 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