Kalender: Auslösen bei bestimmtem Eintrag

Hallo,

ich habe vor kurzem von den Google-Kalendern auf lokale Kalender umgestellt, da ich so wenig wie notwendig Cloudlösungen in HA haben wollte.
Bisher hatte ich einen Kalender für unseren Rasenmähroboter (Luis) und einen weiteren “Haus & Garten”. Ich hielt es für eine gute Idee diese zusammenzuführen.
Leider bekomme ich es nicht hin eine Automation nur bei bestimmten Events (Luis) abzufeuern. Der Kalendertrigger bietet nur die Möglichkeit Event-Start und Ende.
Muss ich da jetzt echt wieder einen eigenen Kalender für anlegen? Oder kann man den Kalendereintrag irgendwie abfragen per template condition mit trigger.calendar_event.summary oder so? Ich hab das nicht hinbekommen.

Mein code bisher:

- id: '1592657921512'
  alias: 'Garten: Luis Timer-Modus'
  description: ''
  trigger:
  - platform: calendar
    event: start
    offset: -0:0:0
    entity_id: calendar.haus_garten
  condition:
  - condition: template
    value_template: "{{ 'Luis' in trigger.calendar_event.summary }}"
  - below: '0.3'
    condition: numeric_state
    entity_id: sensor.netatmo_aussen_regen_rain_last_hour
  action:
  - data: {}
    entity_id: input_boolean.luis_mahauftrag
    service: input_boolean.turn_on
  mode: single

Feuert aber immer ab, ganz egal wie der Kalendereintrag heißt.
Hat jemand eine Idee?

also ich hab das mittlerweile gelöst bekommen.

Kurze Antwort - über eine Automation mittels Trigger ist das so einfach kaum lösbar. Dafür kommen da zuviele Parameter zusammen, die berücksichtigt werden müssen.
Es geht über das Anlegen eines Template-Sensors, der feststellt ob ein Kalendereintrag da ist UND z.Zt. auch aktiv ist.
Nur zur Info, falls irgendwer ein ähnliches Problem hat.

2 „Gefällt mir“

Ich stehe vor einem ähnlichen Problem. Ich möchte einen mehrtägigen Kalendereintrag “Urlaub” als Trigger nutzen. Aber auch wenn ich in den Bedingungen ein Template mit den Kalendereitrag abfrage, so feuert trotzdem jeder Kalendereintrag meine Automation, da ja der Eintrag “Urlaub” im betreffenden Zeitraum permanent ansteht.
Gibt es dafür eine Lösung, z.B. dass der Kalendereintrag bereits im Trigger abgefragt wird.

Das funktioniert bei mir blendend:

alias: Kalendertrigger Urlaub
description: ""
trigger:
  - platform: calendar
    event: start
    offset: "0:0:0"
    entity_id: calendar.heiko
    id: Start
  - platform: calendar
    event: end
    offset: "-18:0:0"
    entity_id: calendar.heiko
    id: Ende
condition:
  - condition: template
    value_template: "{{ trigger.calendar_event.summary is search('Urlaub') }}"
action:
  - if:
      - condition: trigger
        id:
          - Start
    then:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.urlaubsreise
  - if:
      - condition: trigger
        id:
          - Ende
    then:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.urlaubsreise
mode: single

Achte beim Testen darauf, dass der Kalendereintrag eine Viertelstunde in der Zukunft liegen sollte.