Warum eine Automatisierung oftmals nicht so geht, wie man will

RudiP

Well-known member
Oft kommen neue HA User hierher, weil sie eine Automatisierung erstellt haben und die einfach nicht das macht, was man will.
Ein häufiger Fehler ist, das man denkt, eine Automatisierung startet immer dann, wenn irgendein Wert über einem festgelegten Wert ist.
Beispiel:
Code:
alias: Rollo schließen bei >25 Grad
description: >-
  Schließt die vorderen Rollos wenn die Temperatur über 25 Grad ist und es nach
  13 Uhr ist
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.opentherm_outdoor_temp
    above: 25
condition:
  - condition: time
    after: "13:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - service: cover.close_cover
    data: {}
    target:
      entity_id:
        - cover.wohnzimmer_rollo_1_curtain
        - cover.wohnzimmer_rollo_3_curtain
        - cover.buro_rollo_curtain
mode: single
Vom Grundgedanken her sollte diese Automatisierung immer dann, wenn die Außentemperatur über 25 Grad ist und es nach 13:00 Uhr ist, bestimmte Rolläden schließen, damit die Sonne nicht in die Zimmer knallt.
Kurz gesagt: Wenn Außentemperatur größer 25 Grad UND es nach 13:00 Uhr ist, dann schließe die Rolläden.

Grober Fehler.
Tatsächlich macht die Routine folgendes.
Wenn die Außentemperatur über 25 Grad geht, also z.B. von 24,6 auf 25,1 Grad, dann wird diese Automatisierung gestartet. UND NUR DANN !!!!
Geht die Temperatur von 25,1 auf 26 Grad, rührt sich die Automatisierung keinen Meter. Und das ist der Denkfehler, den viele machen. Ich übrigens auch immer wieder mal gerne. :D
Wenn jetzt also um 12:30 Uhr die Temperatur über 25 Grad ansteigt, bleiben die Rolläden oben, weil die Bedingung Uhrzeit nicht erfüllt ist. Ist es dann aber 13:30 Uhr, wird die Automatisierung ja nicht mehr gestartet, weil die Temperatur schon über 25 Grad ist.

Richtiger wäre es, wenn man die Automatisierung wie folgt erstellt.
Code:
alias: Rollo schließen bei >25 Grad
description: >-
  Schließt die vorderen Rollos wenn die Temperatur über 25 Grad ist und es nach
  13 Uhr ist
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.opentherm_outdoor_temp
    above: 25
  - platform: time
    at: "13:00:05"
condition:
  - condition: time
    after: "13:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
  - condition: numeric_state
    entity_id: sensor.opentherm_outdoor_temp
    above: 25
action:
  - service: cover.close_cover
    data: {}
    target:
      entity_id:
        - cover.wohnzimmer_rollo_1_curtain
        - cover.wohnzimmer_rollo_3_curtain
        - cover.buro_rollo_curtain
mode: single
Die Automatisierung wird also gestartet, wenn die Temperatur über 25 Grad klettert ODER wenn es 13:00:05 Uhr ist.
Merke: Auslöser sind immer ODER Verknüpft, wenn man nichts anderes programmiert. ODER heißt, einer der Auslöser muß zutreffen, dann gehts los.
Läuft die Programmierung, wird geprüft, ob es NACH 13:00:00 Uhr ist (deswegen oben Auslöser 5 Sekunden nach 13:00 Uhr) UND ob die Temperatur über 15 Grad ist.
Merke: Bedingungen sind UND Verknüpft, außer man programmiert was anderes. UND heißt, ALLE Bedingungen müssen zutreffen, damit es weiter geht.
Passt nur eine nicht, wird die Automatisierung abgebrochen.

Unsere Automatisierung wird also immer dann gestartet, wenn die Temperatur über 25 Grad geht oder um 13:00:05 Uhr.
Da einer der Auslöser ausreicht, die Automatisierung zu starten, müssen wir mit den Bedingungen festlegen, das auch beide zutreffen.
Sprich, wird es VOR 13:00 Uhr über 25 Grad, sollen die Rolläden oben bleiben, weil die Sonne noch nicht in die Räume scheinen kann.
Um 13:00 Uhr prüfen wird dann aber nochmal, ob die Temperatur über 25 Grad ist und wenn ja, dann fahren die Rolläden herunter.
Geht die Temperatur nach 13:00 Uhr auf über 25 Grad, sind auch neide Bedingungen erfüllt und die Rolläden fahren herunter.

Wir sehen also, das UND oder ODER Verknüpfen ist extrem wichtig und es macht manchmal durchaus Sinn, sein Vorhaben erst mal grob in einem Ablaufplan zu skizieren und dann in eine Automatisierung umzusetzen.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.456
Beiträge
53.919
Mitglieder
5.257
Neuestes Mitglied
B4c4rd1
Zurück
Oben