Skip to main content

SET Temperature Script

Ich habe bemerkt, dass die Temperatur nicht immer mit einem Befehl an die TRVs richtig gesetzt wird. Das habe ich sowohl bei den Shellys als auch bei den Danfoss Thermostaten festgestellt.

Darum habe ich nun ein Skript erstellt, das solange die Temperatur setzt, bis sie auch tatsächlich anliegt.

Aktuell suche ich noch nach der Erklärung, in welchem Modus das Skript laufen muss um Überschneidungen zu vermeiden und auch keine Endlos Schleife zu erhalten sodass es nicht endente Jobs gibt.

Um das Script variabel zu halten werden der Raum und die Zieltemperatur übergeben.

Die gesetzte Temperatur liest das Script in jedem Run erneut aus.

Das Delay für den nächsten Test sind 30s.

  - service: script.turn_on
    data:
      variables:
        room: "{{ room }}"
        temp: "{{ temp }}"
    target:
      entity_id: script.heizung_set_temperature
alias: Heizung Set Temperature
sequence:
  - variables:
      device: "{{ 'climate.thermostat_' + room }}"
  - repeat:
      until:
        - condition: template
          value_template: "{{ state_attr(device, 'temperature') == temp  }}"
      sequence:
        - service: climate.set_temperature
          continue_on_error: true
          data:
            temperature: "{{ temp }}"
          target:
            entity_id: "{{ device }}"
        - delay:
            hours: 0
            minutes: 0
            seconds: 30
            milliseconds: 0
mode: queued
max: 10