Automation soll nur laufen,wenn andere Automation nicht gelaufen ist

Hi ihr,
ich steh als Anfänger in HA, (schon seit Sept 24 dabei, vieles läuft schon), auf Kriegsfuß mit Automations Logiken, per grafischem Editor zusammenklicken geht meistens, aber sobald ich was in Yaml erstellen muss, bin ich aufgeschmissen.

Zu meinem Problem:
in einem Home Assistent Kalender namens „Arbeitskalender“, trage ich für meinen Mann und mich nur die Frühdienste ein. Das Wort, welches in beiden Einträgen vorkommt ist „früh“.
Über einen Blueprint, welcher Kalendereinträge behandelt, wird nach dem Kalenderevent mit dem Wort „früh“ gesucht und 7 1/2 Std. vorher (21 Uhr am Vortag) über einen Broadlink IR Remote eine ältere Klimaanlage eingeschaltet. Aber nur, wenn jemand zuhause ist und die Temperatur zum Einschaltzeitpunkt über 23 Grad ist. Derjenige, der dann Frühdienst hat, schaltet die Klima dann über die Originalfernbedienung aus, wenn er schlafen geht. Das funktioniert auch sehr gut.
und jetzt das Problem: An allen anderen Tagen soll die Klima auch anspringen, aber nur nach Zeitvorgabe, um 23:00 Uhr; wenn jemand zuhause ist und wenn die Temperatur dann über 23 Grad ist. Die Automation funktioniert soweit, würde aber auch an „früh“ Tagen ausgelöst, wenn Temperatur um 23 Uhr wieder über 23 Grad ist. Da schläft dann aber schon jemand, der Frühdienst hat und nicht gestört werden will.
Die Frage:
Wie kann ich es hinbekommen, dass die 23UhrAutom. nicht läuft, wenn die 21:00UhrAutom. gelaufen ist.
über Diverses hab ich schon nachgedacht, z.B über Drucksensoren im Bett.
oder über eine Abfrage des Kalenders mit „morgen nicht früh“
oder Abfrage wenn Autom 1 gelaufen ist, dann 2 deaktivieren, etc.
aber ich weiß nicht wie ich das machen muss. Außer vielleicht mit den Drucksensoren, aber die habe ich noch nicht. Außerdem wäre es schön, wenn man eine temperaturbasierte Endabschaltung integrieren könnte. Also wenn Temp unter 19,5 Grad über Broadlink Klima aus.

Ich würde mich über jede Hilfe freuen, und hoffe dass ich das endlich fertig bekomme.
LG Anja

Hi, an deiner Stelle würde ich vermutlich diese Option machen:

Das scheint in der Situation das Einfachste zu sein :slight_smile:
Das ist aber tatsächlich einbisschen komplexer. Da ich da so auf Anhieb auch nicht genau weiß, wie man das leicht umsetzt, habe ich mal ChatGPT befragt .)

alias: Aktion nur wenn morgen kein "früh"-Termin
trigger:
  - platform: time
    at: "20:00:00"   # z.B. Abends am Vortag prüfen
action:
  - service: calendar.get_events
    target:
      entity_id: calendar.dein_kalender
    data:
      start_date_time: "{{ (now().date() + timedelta(days=1)).strftime('%Y-%m-%d') }}T00:00:00"
      end_date_time: "{{ (now().date() + timedelta(days=1)).strftime('%Y-%m-%d') }}T23:59:59"
    response_variable: events

  - condition: template
    value_template: >
      {{ not (events['calendar.dein_kalender'] 
              | selectattr('summary', 'search', 'früh', ignorecase=True) 
              | list) }}

  - service: notify.persistent_notification
    data:
      message: "Morgen ist KEIN 'früh'-Termin im Kalender 🎉"

Das ist eine Beispielautomation, welche zuerst die Events für den nächsten Tag abruft und dann schaut, dass dort kein Event mit „früh“ enthalten ist. Das musst du natürlich noch ein wenig anpassen, aber vielleicht hilft es dir :slight_smile: