Kalender Zeiten berechnen und Dauer eintragen

Hallo Allen Zusammen,
ich bräuchte Hilfe bei Templates. Ich trage in meinen Kalender über REST API aus Mattermost die Anfangszeiten und Endzeiten meiner Arbeit ein.
Es gibt jeden Tag zwei Einträge. Start und Ende.
Jetzt würde ich gerne die Arbeitszeit berechnen und auch in den Kalender eintragen. Kann mir dort jemand mit den Templates bitte helfen?

Die Einträge habe ich ausgelesen und in der Entity sensor.calendar_scheduled_arbeit gespeichert.

Aber wie komme ich in dem Template an den Datensatz und wie kann ich dort eine Berrechung erstellen und diese soll auch in den Kalender eingetragen werden jeden Tag. Am besten über 8 Stunden Arbeitszeit in Rot :slight_smile:

Vielen Dank schon im Voraus für die Hilfe.

scheduled_events: 
- start: '2024-02-23T07:04:32+01:00'
  end: '2024-02-23T07:05:32+01:00'
  summary: Arbeitsbegin
  description: Los gehts
  location: Firma
- start: '2024-02-23T16:20:54+01:00'
  end: '2024-02-23T16:21:54+01:00'
  summary: Arbeitsende
  description: Für heute reicht es
  location: Firma
- start: '2024-02-26T09:35:44+01:00'
  end: '2024-02-26T09:36:44+01:00'
  summary: Arbeitsbegin
  description: Los gehts
  location: Firma
- start: '2024-02-26T16:19:30+01:00'
  end: '2024-02-26T16:20:30+01:00'
  summary: Arbeitsende
  description: Für heute reicht es
  location: Firma

Durch den Trigger bekomme ich alle Werte in meine Entity aus den Kalender…

- trigger:
    - platform: time_pattern
      minutes: "/5"
    - platform: event
      event_type: event_template_reloaded
  action:
    - service: calendar.get_events
      data:
        duration:
          hours: 450
          minutes: 0
          seconds: 0
        #start_date_time: "{{ today_at() -1 }}"
        start_date_time: "2024-02-23 00:00:00+01:00"

      target:
        entity_id: calendar.arbeit
      response_variable: scheduledevent
  sensor:
    - name: Calendar Scheduled Arbeit
      unique_id: calendar_scheduled_Arbeit
      state: "{{ scheduledevent['calendar.arbeit']['events'] | count() }}"
      attributes:
        scheduled_events: "{{ scheduledevent['calendar.arbeit']['events'] }}"
      icon: mdi:calendar'

Der erste template trigger funktioniert wie er soll. Ich bekomme alle Einträge aus dem Kalender in die entity sensor.calendar_scheduled_arbeit.

Aber der zweite der die Dauer in den Kalender pro Tag schreiben soll. Schlägt leider fehl. Beide sind in der template.yaml

Kann jemand mir auf die Spur helfen?

Danke schon mal

G ROBudus

missed comma between flow collection entries (33:90)

 30 |  ... 
 31 |  ... 
 32 |  ... 
 33 |  ... led_arbeit","scheduled_events")[0].start }}
-----------------------------------------^
 34 |  ... ed_arbeit","scheduled_events")[1].end }}
 35 |  ... ```

- trigger:
    - platform: time_pattern
      minutes: "/5"
    - platform: event
      event_type: event_template_reloaded
  action:
    - service: calendar.get_events
      data:
        duration:
          hours: 450
          minutes: 0
          seconds: 0
        #start_date_time: "{{ today_at() -1 }}"
        start_date_time: "2024-02-23 00:00:00+01:00"

      target:
        entity_id: calendar.arbeit
      response_variable: scheduledevent
  sensor:
    - name: Calendar Scheduled Arbeit
      unique_id: calendar_scheduled_Arbeit
      state: "{{ scheduledevent['calendar.arbeit']['events'] | count() }}"
      attributes:
        scheduled_events: "{{ scheduledevent['calendar.arbeit']['events'] }}"
- trigger:
    - platform: time
      at: 18:00:00
    - platform: event
      event_type: event_template_reloaded  
  action:
    - variables:
        arbeitsbegin: {{ state_attr("sensor.calendar_scheduled_arbeit","scheduled_events")[0].start }}
        arbeitsende: {{ state_attr("sensor.calendar_scheduled_arbeit","scheduled_events")[1].end }}
        timestbegin: {{ as_timestamp(arbeitsbegin) }}
        timestampende: {{ as_timestamp(arbeitsende) }}
        hours: {{ ((as_timestamp(arbeitsende) - as_timestamp(arbeitsbegin)) |timestamp_custom("%H")) }}
        minutes: {{ ((as_timestamp(arbeitsende) - as_timestamp(arbeitsbegin)) |timestamp_custom("%M")) }}
        duration: {{ [hours, minutes]|join(':') }}
    - service: calendar.create_event
      target: 
        entity_id: calendar.arbeit
      data:
          summary: "{{duration}}"
          start_date_time: "{{ now() }}"
          end_date_time: "{{ now() + timedelta(minutes=1) }}"
  sensor:
    - name: Claendar Scheduled Arbeit Add
      unique_id: calendar_scheduled_Arbeit_add