Kalender: Trigger mit mehreren Einträgen am Tag

Basic im Umgang mit Home Assistant. Tipps und Ratschläge die den Umgang mit Home Assistant erleichtern.


Antworten
Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

HAllo,

ich habe hier zwei kleine Probleme und weiß nicht weiter.
Ich habe eine Automatisierung, die mir, wenn bestimmte Ganztages-Kalendereinträge vorhanden sind, einen Helfer (Bool) schaltet.
Die Kalendereinträge, bei denen ausgelöst werden soll, sind

"J: Frei"
"S: Frei"
"J: Urlaub"
"S: Urlaub"
"JS: Frei"
"JS: Urlaub"
"SJ: Urlaub"
"SJ: Frei"

(jeweils ODER und ohne Anführungszeichen)

Das erste Problem:
Bisher klappte die Automatisierung zwar, aber auch wenn irgendwo "Frei" oder "Urlaub" stand, unabhängig von den
Buchstaben davor. Ich würde aber gerne den ganzen String abfragen, weiß aber nicht wie ich das im Template "verschachtel".

Das zweite Problem ist, dass die Automatisierung nicht auslöst, wenn mehrere Ganztages-Kalendereinträge vorhanden sind.

Die Automatisierung:

Code: Alles auswählen

alias: "Helfer: Kalender Frei/Urlaub TEST"
description: Helfer für Steuerung wenn Urlaub oder Frei
trigger:
  - platform: calendar
    event: start
    offset: "-0:1:0"
    entity_id: calendar.kalender_junds_junds
    id: start
  - platform: calendar
    event: end
    offset: "0:1:0"
    entity_id: calendar.kalender_junds_junds
    id: ende
condition:
  - condition: or
    conditions:
      - condition: template
        value_template: "{{ 'Urlaub' in trigger.calendar_event.summary }}"
        enabled: true
      - condition: template
        value_template: "{{ 'Frei' in trigger.calendar_event.summary }}"
        enabled: true
action:
  - choose:
      - conditions:
          - condition: trigger
            id: start
        sequence:
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.kalender_helfer_frei_urlaub
      - conditions:
          - condition: trigger
            id: ende
        sequence:
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.kalender_helfer_frei_urlaub
mode: parallel
max: 15

Beispieltag, an dem generell es nicht funktioniert:

Code: Alles auswählen

message: Test Termin 1
all_day: true
start_time: "2024-06-03 00:00:00"
end_time: "2024-06-04 00:00:00"
location: ""
description: ""
data:
  - summary: Test Termin 1
    start: "2024-06-03"
    end: "2024-06-04"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEGAAA=
  - summary: Test Termin 2
    start: "2024-06-03"
    end: "2024-06-04"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEHAAA=
  - summary: "J: Frei"
    start: "2024-06-03"
    end: "2024-06-04"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEIAAA=
  - summary: "Karin: Weg"
    start: "2024-06-03"
    end: "2024-06-14"
    all_day: true
    description: ●
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO4TGKCAAA=
  - summary: "J: HomeOffice"
    start: "2024-06-03"
    end: "2024-06-05"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Free
    attendees: []
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgFRAAgI3INgHJ5AAEYAAAAAOVebM9HYmE_C190mZEOZcQcAsoKupPg-CUycXwqVmFwjtwAAAAABDQAAsoKupPg-CUycXwqVmFwjtwABpnMJiAAAEA==

color: light_green
hex_color: "#058039"
offset_reached: false
friendly_name: Kalender Jens und Silke

Der Trace zu der Automatisierung sieht so aus:

Code: Alles auswählen

this:
  entity_id: automation.helfer_frei_urlaub
  state: 'on'
  attributes:
    id: '1673613538241'
    last_triggered: '2024-06-01T22:01:00.001889+00:00'
    mode: single
    current: 0
    friendly_name: 'Helfer: Automatisierung: Frei / Urlaub'
  last_changed: '2024-06-01T10:36:47.299926+00:00'
  last_reported: '2024-06-01T22:01:00.003256+00:00'
  last_updated: '2024-06-01T22:01:00.003256+00:00'
  context:
    id: 01HZAX3ZB108JSK92A24VPDRDD
    parent_id: null
    user_id: null
trigger:
  id: start
  idx: '0'
  alias: null
  platform: calendar
  event: start
  offset:
    __type: <class 'datetime.timedelta'>
    total_seconds: -60
  calendar_event:
    start: '2024-06-03'
    end: '2024-06-05'
    summary: 'J: HomeOffice'
    description: ''
    location: ''
    uid: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgFRAAgI3INgHJ5AAEYAAAAAOVebM9HYmE_C190mZEOZcQcAsoKupPg-CUycXwqVmFwjtwAAAAABDQAAsoKupPg-CUycXwqVmFwjtwABpnMJiAAAEA==
    recurrence_id: >-
      AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAGmcwmIAAA=
    all_day: true

Es scheint, als würde nur der erste Kalendereintrag abgefragt und wenn der nicht passt ("Frei" oder "Urlaub"), wird abgebrochen.
Wie kann man die Automatisierung funktionsfähig hinbekommen und optimieren?

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Mo 3. Jun 2024, 09:55

Das erste Problem:
Bisher klappte die Automatisierung zwar, aber auch wenn irgendwo "Frei" oder "Urlaub" stand, unabhängig von den
Buchstaben davor. Ich würde aber gerne den ganzen String abfragen, weiß aber nicht wie ich das im Template "verschachtel".

Da wirst du dann nicht darum herumkommen jede Möglichkeit, die geprüft werden soll, per choose auszubauen.

Für deine anderen Probleme, wäre es erst mal wichtig, zu wissen, wie du den Kalender konfiguriert hast. Ich gehe aber mal davon aus, du hast keine Custom Calendars (bei CalDav) eingerichtet? Das Problem ist, wenn du das nicht machst, gild das Highlander-Prinzip. Es kann nur einen geben ...

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

@Friedi

Ok, habe ich mir gedacht. Dann lasse ich es auf "Frei" und "Urlaub".

Der Kalender kommt aus Microsoft365, per HACS-Addon.

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Mo 3. Jun 2024, 14:38

@Friedi

Ok, habe ich mir gedacht. Dann lasse ich es auf "Frei" und "Urlaub".

Kein Ding. Aber so kompliziert ist das doch nicht 🤷‍♂️

Snowrisk hat geschrieben: Mo 3. Jun 2024, 14:38

Der Kalender kommt aus Microsoft365, per HACS-Addon.

Das kenne ich leider nicht. Schick doch mal den Github-Link. Ich schaue es mir mal an.

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Kein Ding. Aber so kompliziert ist das doch nicht 🤷‍♂️

Na ja. Ich würde ja nicht fragen, wenn ich wüsste, wie es geht ;)

Das kenne ich leider nicht. Schick doch mal den Github-Link. Ich schaue es mir mal an.

https://github.com/RogerSelwyn/O365-HomeAssistant

Der Kalender ist unter "Kalender" in HA sichtbar und ich kann auch andere Automatisierungen damit fahren.
Nur die im Anfangsbeitrag erwähnte klappt nicht.

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Mo 3. Jun 2024, 17:00

Kein Ding. Aber so kompliziert ist das doch nicht 🤷‍♂️

Na ja. Ich würde ja nicht fragen, wenn ich wüsste, wie es geht ;)

Du muss beim Action-Teil, also in der Ausführung, eine Mehrfachauswahl machen (choose). Das kannst du auch über die grafische Programmierung machen (empfehlenswert):

Bild

Dann kannst du auch zu jeder Auswahl eine Bedingung und eine Sequenz (die eigentliche Aktion) zufügen.

Snowrisk hat geschrieben: Mo 3. Jun 2024, 17:00

Das kenne ich leider nicht. Schick doch mal den Github-Link. Ich schaue es mir mal an.

https://github.com/RogerSelwyn/O365-HomeAssistant

Du musst da mehrere Kalender-Entitäten anlegen. Also für jeden Termin, der zusammen mit anderen gleichzeitig erscheinen kann, musst du eine eigene Entität anlegen. Das funktioniert mit "search". Hier mal ein Beispiel:

Code: Alles auswählen

- cal_id: xxxx
  entities:
  - device_id: js_urlaub
    end_offset: 24
    name: js_urlaub
    start_offset: 0
    search: 'JS: Urlaub'
    track: true

Ist imho recht gut beschrieben: https://rogerselwyn.github.io/O365-Home ... ation.html

Snowrisk hat geschrieben: Mo 3. Jun 2024, 17:00

Der Kalender ist unter "Kalender" in HA sichtbar und ich kann auch andere Automatisierungen damit fahren.
Nur die im Anfangsbeitrag erwähnte klappt nicht.

Das ist das erwähnte Highlander-Prinzip. Wenn du nur eine Kalender-Entität hast, kann diese zur selben Zeit nur einen Zustand haben. Deshalb brauchst du mehrere Entitäten (siehe oben).

Dateianhänge
Bild.png
Bild.png (127.53 KiB) 1614 mal betrachtet
Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Du musst da mehrere Kalender-Entitäten anlegen.

Ah, also erst den Kalender generell und dann für jedes "Summary" eine Entität?
Also so (für alle Eventualitäten)?

Code: Alles auswählen

- cal_id: XXXX
  entities:
    - device_id: Kalender_JundS
      end_offset: 48
      name: Kalender Jens und Silke
      start_offset: 0
      track: true
    - device_id: js_urlaub
      end_offset: 24
      name: js_urlaub
      start_offset: 0
      search: "JS: Urlaub"
      track: true
    - device_id: js_frei
      end_offset: 24
      name: js_frei
      start_offset: 0
      search: "JS: Frei"
      track: true
    - device_id: sj_urlaub
      end_offset: 24
      name: sj_urlaub
      start_offset: 0
      search: "SJ: Urlaub"
      track: true
    - device_id: sj_frei
      end_offset: 24
      name: sj_frei
      start_offset: 0
      search: "SJ: Frei"
      track: true
    - device_id: jsl_urlaub
      end_offset: 24
      name: jsl_urlaub
      start_offset: 0
      search: "JSL: Urlaub"
      track: true
    - device_id: jsl_frei
      end_offset: 24
      name: jsl_frei
      start_offset: 0
      search: "JSL: Frei"
      track: true
    - device_id: sjl_urlaub
      end_offset: 24
      name: sjl_urlaub
      start_offset: 0
      search: "SJL: Urlaub"
      track: true
    - device_id: sjl_frei
      end_offset: 24
      name: sjl_frei
      start_offset: 0
      search: "SJL: Frei"
      track: true
    - device_id: j_urlaub
      end_offset: 24
      name: j_urlaub
      start_offset: 0
      search: "J: Urlaub"
      track: true
    - device_id: j_frei
      end_offset: 24
      name: j_frei
      start_offset: 0
      search: "J: Frei"
      track: true
    - device_id: s_urlaub
      end_offset: 24
      name: s_urlaub
      start_offset: 0
      search: "S: Urlaub"
      track: true
    - device_id: s_frei
      end_offset: 24
      name: s_frei
      start_offset: 0
      search: "S: Frei"
      track: true
      

Jetzt hab ich's verstanden.

Kann man die irgendwie Gruppieren? Der Status der einzelnen Entitäten ist ja dann "on" wenn die Bedingung zutrifft.
Dann muss ich in der Automatisierung nicht alle Kalender-Entitäten angeben, sondern brauche nur den Gruppenstatus abzufragen.
Über Helfer-Gruppen gehts leider nicht.

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Mo 3. Jun 2024, 20:13

Kann man die irgendwie Gruppieren? Der Status der einzelnen Entitäten ist ja dann "on" wenn die Bedingung zutrifft.
Dann muss ich in der Automatisierung nicht alle Kalender-Entitäten angeben, sondern brauche nur den Gruppenstatus abzufragen.
Über Helfer-Gruppen gehts leider nicht.

Hmm. Evtl. geht es per binary sensor. Du kannst dir von jedem Sensor einen binary sensor machen, der eben on oder off ist und mit diesen Sensoren eine Gruppe erstellen. Ist aber nicht ganz so einfach, da müsstest du dich mit Templating beschäftigen.

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Ist aber nicht ganz so einfach, da müsstest du dich mit Templating beschäftigen

Ok, jetzt geht es.
Aktuell sieht es so aus:

Pro "Suchbegriff" eine Kalenderentität:

Code: Alles auswählen

- cal_id: XXXXXXX
  entities:
    - device_id: Kalender_JundS
      end_offset: 24
      name: Kalender Jens und Silke
      start_offset: 0
      track: true
    - device_id: js_urlaub
      end_offset: 24
      name: js_urlaub
      start_offset: 0
      search: "JS: Urlaub"
      track: true
    - device_id: js_frei
      end_offset: 24
      name: js_frei
      start_offset: 0
      search: "JS: Frei"
      track: true
    - device_id: sj_urlaub
      end_offset: 24
      name: sj_urlaub
      start_offset: 0
      search: "SJ: Urlaub"
      track: true
    - device_id: sj_frei
      end_offset: 24
      name: sj_frei
      start_offset: 0
      search: "SJ: Frei"
      track: true
    - device_id: jsl_urlaub
      end_offset: 24
      name: jsl_urlaub
      start_offset: 0
      search: "JSL: Urlaub"
      track: true
    - device_id: jsl_frei
      end_offset: 24
      name: jsl_frei
      start_offset: 0
      search: "JSL: Frei"
      track: true
    - device_id: sjl_urlaub
      end_offset: 24
      name: sjl_urlaub
      start_offset: 0
      search: "SJL: Urlaub"
      track: true
    - device_id: sjl_frei
      end_offset: 24
      name: sjl_frei
      start_offset: 0
      search: "SJL: Frei"
      track: true
    - device_id: j_urlaub
      end_offset: 24
      name: j_urlaub
      start_offset: 0
      search: "J: Urlaub"
      track: true
    - device_id: j_frei
      end_offset: 24
      name: j_frei
      start_offset: 0
      search: "J: Frei"
      track: true
    - device_id: s_urlaub
      end_offset: 24
      name: s_urlaub
      start_offset: 0
      search: "S: Urlaub"
      track: true
    - device_id: s_frei
      end_offset: 24
      name: s_frei
      start_offset: 0
      search: "S: Frei"
      track: true

Dann habe ich mir Binary-Sensoren aus den Kalenderentitäten über Templating gebaut,
um eine Helfer-Gruppe erstellen zu können, die "on" ausgibt, wenn einer der Kalenderentitäten matcht:

Code: Alles auswählen

- platform: template
  sensors:
    js_urlaub:
      friendly_name: "Status: JS: Urlaub"
      value_template: '{{ is_state("calendar.js_urlaub_junds" , "on")}}'
    js_frei:
      friendly_name: "Status: JS: Frei"
      value_template: '{{ is_state("calendar.js_frei_junds" , "on")}}'
    sj_urlaub:
      friendly_name: "Status: SJ: Urlaub"
      value_template: '{{ is_state("calendar.sj_urlaub_junds" , "on")}}'
    sj_frei:
      friendly_name: "Status: SJ: Frei"
      value_template: '{{ is_state("calendar.sj_frei_junds" , "on")}}'
    jsl_urlaub:
      friendly_name: "Status: JSL: Urlaub"
      value_template: '{{ is_state("calendar.jsl_urlaub_junds" , "on")}}'
    jsl_frei:
      friendly_name: "Status: JSL: Frei"
      value_template: '{{ is_state("calendar.jsl_frei_junds" , "on")}}'
    sjl_urlaub:
      friendly_name: "Status: SJL: Urlaub"
      value_template: '{{ is_state("calendar.sjl_urlaub_junds" , "on")}}'
    sjl_frei:
      friendly_name: "Status: SJL: Frei"
      value_template: '{{ is_state("calendar.sjl_frei_junds" , "on")}}'
    j_urlaub:
      friendly_name: "Status: J: Urlaub"
      value_template: '{{ is_state("calendar.j_urlaub_junds" , "on")}}'
    j_frei:
      friendly_name: "Status: J: Frei"
      value_template: '{{ is_state("calendar.j_frei_junds" , "on")}}'
    s_urlaub:
      friendly_name: "Status: S: Urlaub"
      value_template: '{{ is_state("calendar.s_urlaub_junds" , "on")}}'
    s_frei:
      friendly_name: "Status: S: Frei"
      value_template: '{{ is_state("calendar.s_frei_junds" , "on")}}'

Jetzt aus den Binary-Sensoren eine Helfer-Gruppe erstellt.

Nun noch die Automatisierung gemacht:

Code: Alles auswählen

alias: "Helfer: Kalender Frei/Urlaub TEST"
description: Helfer für Steuerung wenn Urlaub oder Frei
trigger:
  - platform: state
    entity_id:
      - binary_sensor.gruppe_kalender_status_urlaub_frei
    to: "on"
    id: start
  - platform: state
    entity_id:
      - binary_sensor.gruppe_kalender_status_urlaub_frei
    to: "off"
    id: ende
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: start
        sequence:
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.kalender_helfer_frei_urlaub
      - conditions:
          - condition: trigger
            id: ende
        sequence:
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.kalender_helfer_frei_urlaub
mode: parallel
max: 15

Klappt so weit auch gut, also so wie es sein soll.

Die nächste Frage wäre die der Optimierung. Aktuell benötige ich so:

  • Pro Kalendereintrag eine Kalenderentität (lässt sich nicht ändern)

  • Umwandlung über Template in Binary-Sensoren

  • Helfer-Gruppe mit den Sensoren erstellt

  • Automatisierung, die bei "on" der Gruppe einen Helfer-Schalter switcht

Kann man das nicht irgendwie zusammenfassen?

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Di 4. Jun 2024, 10:25

Die nächste Frage wäre die der Optimierung. Aktuell benötige ich so:

  • Pro Kalendereintrag eine Kalenderentität (lässt sich nicht ändern)

  • Umwandlung über Template in Binary-Sensoren

  • Helfer-Gruppe mit den Sensoren erstellt

  • Automatisierung, die bei "on" der Gruppe einen Helfer-Schalter switcht

Kann man das nicht irgendwie zusammenfassen?

Um es kurz zu machen: ich wüsste nicht wie.

Einzig die Gruppe. Wenn du die einzelnen Sensoren nicht brauchst, kannst du auch einen Sensor machen, der per OR die Conditions der einzelnen Kalender abfragt. Ist dann einer auf ON, wäre der eine Sensor eben auch auf ON.
Damit könntest du dir die ganzen Einzelsensoren und die Gruppe schenken.

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Einzig die Gruppe. Wenn du die einzelnen Sensoren nicht brauchst, kannst du auch einen Sensor machen, der per OR die Conditions der einzelnen Kalender abfragt. Ist dann einer auf ON, wäre der eine Sensor eben auch auf ON.

Ok, das könnte man noch machen. Ich schaue mal, ob ich das hinbekomme. Meine Fähigkeiten im Templating beschränken sich
auf Googeln und Zusammenbauen, bis es klappt :lol:

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Keine Raketenwissenschaft ;)

Code: Alles auswählen

- binary_sensor:
     platform: template
     sensors:
       urlaub_gruppe:
         friendly_name: "Urlaub"
         value_template: >
 	  {{ is_state("calendar.js_urlaub_junds" , "on") or
      	    is_state("calendar.js_frei_junds" , "on") or
      	    is_state("calendar.sj_urlaub_junds" , "on") or
      	    is_state("calendar.sj_frei_junds" , "on") }}
Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Einfacher, als ich dachte...
Danke Dir!

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Neues Problem :cry:

Ich habe einen Test-Eintrag im Kalender: "JS: Urlaub"

Nun springen 2 Sensoren an:

04-06-2024_12-00-13.png
04-06-2024_12-00-13.png (173.54 KiB) 1486 mal betrachtet

Der Sensor-Code ist richtig:

Code: Alles auswählen

- platform: template
  sensors:
    js_urlaub:
      friendly_name: "Status: JS: Urlaub"
      value_template: '{{ is_state("calendar.js_urlaub_junds" , "on")}}'
      
s_urlaub: friendly_name: "Status: S: Urlaub" value_template: '{{ is_state("calendar.s_urlaub_junds" , "on")}}'

Die Kalenderentität auch:

Code: Alles auswählen

   - device_id: js_urlaub
      end_offset: 24
      name: js_urlaub
      start_offset: 0
      search: "JS: Urlaub"
      track: true       
- device_id: s_urlaub end_offset: 24 name: s_urlaub start_offset: 0 search: "S: Urlaub" track: true

Kommt das daher, das beides mal "S: Frei" im Summary steht?

Hmm.... Auch wenn ich nur "S:" oder "Thomas:" in den Kalender eintrage, werden alle Sensoren, die "S:" enthalten, auf "on" geschaltet.

Ich glaube, ich muss da dem Entwickler schreiben, ob er den Text im "Search-Parameter" genau prüfen kann und nicht nur Teile davon.

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

Snowrisk hat geschrieben: Di 4. Jun 2024, 12:11

Ich glaube, ich muss da dem Entwickler schreiben, ob er den Text im "Search-Parameter" genau prüfen kann und nicht nur Teile davon.

Hmm. Schwierig ...
Kannst du mal in die Entwicklerwerkzeuge gehen und einen dieser Kalender aufrufen (also z.B. calendar.js_urlaub) und dann mal Zustand und Attribute posten?

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

calendar.js_urlaub_junds:
Zustand: on

Code: Alles auswählen

data:
  - summary: "JS: Urlaub"
    start: "2024-06-04"
    end: "2024-06-05"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: xxxx
color: light_green
hex_color: "#058039"
friendly_name: js_urlaub
message: "JS: Urlaub"
all_day: true
start_time: "2024-06-04 00:00:00"
end_time: "2024-06-05 00:00:00"
location: ""
description: ""
offset_reached: false

calendar.s_urlaub_junds:
Zustand: on

Code: Alles auswählen

data:
  - summary: "JS: Urlaub"
    start: "2024-06-04"
    end: "2024-06-05"
    all_day: true
    description: ""
    location: ""
    categories: []
    sensitivity: Normal
    show_as: Busy
    attendees: []
    uid: xxxx
color: light_green
hex_color: "#058039"
friendly_name: s_urlaub
message: "JS: Urlaub"
all_day: true
start_time: "2024-06-04 00:00:00"
end_time: "2024-06-05 00:00:00"
location: ""
description: ""
offset_reached: false

Alles auch sichtbar im Anhang.

Hier nochmal die entsprechenden Kalenderentities:

Code: Alles auswählen

    - device_id: js_urlaub
      end_offset: 24
      name: js_urlaub
      start_offset: 0
      search: "JS: Urlaub"
      track: true       

- device_id: s_urlaub
  end_offset: 24
  name: s_urlaub
  start_offset: 0
  search: "S: Urlaub"
  track: true
Dateianhänge
04-06-2024_14-02-23.png
04-06-2024_14-02-23.png (159.62 KiB) 1462 mal betrachtet

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Benutzeravatar
Friedi
Beiträge: 486
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 39 times
Been thanked: 26 times

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Friedi »

OK, da wird bei beiden der JS: Urlaub gezogen.

Also ehrlichgesagt, würde ich hier einfach die Kalendereinträgeanpassen. In deinem Fall dürfte doch schon ein Umstellen zum Erfolg führen:

  • Urlaub JS

  • Urlaub S

Benutzeravatar
Snowrisk
Beiträge: 72
Registriert: Di 16. Aug 2022, 12:26
1
Wohnort: bei Köln
Has thanked: 32 times
Been thanked: 1 time

Re: Kalender: Trigger mit mehreren Einträgen am Tag

Beitrag von Snowrisk »

Ich lasse das jetzt so. Ist nicht weiter tragisch. Hauptsache, es wird ein "Urlaub" oder ein "Frei" erkannt.

Viele Grüße
Jens

ZigBee (Zigbee2MQTT/ SONOFF Zigbee 3.0 USB Dongle Plus ZBDongle-P), HomematicIP (raspberrymatic) und Home Assistant auf einem RPi5 / Argon OneV3 M.2 NVME

Antworten