Halle zusammen,
in meiner Wohnung laufen einige Comet-DECT-Thermostate, die leider zwei Schwächen zeigen:
- sie übersteuern stark bei einer Änderung der Solltemperatur, und das leider recht wesentlich und
- das Polling-Intervall ist mit 15 Minuten unterirdisch.
Damit ich die trotzdem nutzen kann, habe ich mir eine Automatisierung erstellt. Dabei wird eine Ziel-Solltemperatur "Heizung Wohnzimmer Sollwert" berücksichtig und ein Schalter "Heizung Wohnzimmer ein", der grundsätzlich die Heizung abschaltet. Die Automatisierung soll dabei folgende Dinge beachten:
Habt ihr eine Idee? Den Code habe ich angefügt, ich hoffe, damit kann man was anfangen?
Danke im Voraus!
Mathias
in meiner Wohnung laufen einige Comet-DECT-Thermostate, die leider zwei Schwächen zeigen:
- sie übersteuern stark bei einer Änderung der Solltemperatur, und das leider recht wesentlich und
- das Polling-Intervall ist mit 15 Minuten unterirdisch.
Damit ich die trotzdem nutzen kann, habe ich mir eine Automatisierung erstellt. Dabei wird eine Ziel-Solltemperatur "Heizung Wohnzimmer Sollwert" berücksichtig und ein Schalter "Heizung Wohnzimmer ein", der grundsätzlich die Heizung abschaltet. Die Automatisierung soll dabei folgende Dinge beachten:
- Wird der Schalter auf off geschaltet, soll die Temperatur auf 7°C gestellt werden (Thermostate schalten bei <8°C ab).
- Wird der Schalter auf on geschaltet soll diese Unterscheidung getroffen werden:
- Ist die Ziel-Solltemperatur über 2°C unterhalb der bisher am Thermostat eingestellten Temperatur UND ist die Ziel-Solltemperatur unterhalb der aktuell am Thermostat gemessenen Temperatur, soll die Temperatur auf 2°C unterhalb der aktuell gemessenen Temperatur eingestellt werden.
- Dann soll die am Thermostat eingestellte Temperatur alle 15 Minuten um 0,5°C erhöht werden, bis die Ziel-Solltemperatur erreicht ist (Sollwertrampe).
Habt ihr eine Idee? Den Code habe ich angefügt, ich hoffe, damit kann man was anfangen?
Danke im Voraus!
Mathias
YAML:
alias: Heizungskontrolle Wohnzimmer
description: Heizungskontrolle mit automatisierter Rampe
trigger:
- platform: state
entity_id:
- input_number.heizung_wohnzimmer_sollwert
id: Sollwert
- platform: state
entity_id:
- input_boolean.heizung_wohnzimmer_ein
id: Ein
action:
- if:
- condition: state
entity_id: input_boolean.heizung_wohnzimmer_ein
state: "on"
then:
- if:
- condition: trigger
id: Ein
then:
- service: climate.set_temperature
data:
temperature: 8
target:
device_id:
- e00d5db60821770b07114e236e9368a1
- repeat:
until:
- condition: template
value_template: >-
{{
state_attr('climate.heizung_wohnzimmer_links','temperature') | float == states('input_number.heizung_wohnzimmer_sollwert') | float}}
sequence:
- if:
- condition: template
value_template: >-
{{
state_attr('climate.heizung_wohnzimmer_links','temperature') | float > states('input_number.heizung_wohnzimmer_sollwert') | float}}
- condition: template
value_template: >-
{{
state_attr('climate.heizung_wohnzimmer_links','current_temperature') | float < states('input_number.heizung_wohnzimmer_sollwert') | float}}
then:
- service: climate.set_temperature
data:
temperature: >-
{{ states('input_number.heizung_wohnzimmer_sollwert') |
float }}
target:
device_id:
- e00d5db60821770b07114e236e9368a1
else:
- if:
- condition: and
conditions:
- condition: template
value_template: >-
{{
state_attr('climate.heizung_wohnzimmer_links','temperature') | float <
states('input_number.heizung_wohnzimmer_sollwert') | float -2 }}
- condition: template
value_template: >-
{{
state_attr('climate.heizung_wohnzimmer_links','current_temperature') | float >
state_attr('climate.heizung_wohnzimmer_links','temperature') | float +2 }}
then:
- service: climate.set_temperature
data:
temperature: >-
{{
state_attr('climate.heizung_wohnzimmer_links','current_temperature') | float -2 }}
target:
device_id:
- e00d5db60821770b07114e236e9368a1
else:
- service: climate.set_temperature
data:
temperature: >-
{{
state_attr('climate.heizung_wohnzimmer_links','temperature') + 0.5 | float}}
target:
device_id:
- e00d5db60821770b07114e236e9368a1
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
else:
- service: climate.set_temperature
data:
temperature: 7
target:
device_id:
- e00d5db60821770b07114e236e9368a1
mode: single