From 412b35c4c05481ee426b413b659f9570359ad4f8 Mon Sep 17 00:00:00 2001 From: Brian Nelson Date: Sat, 29 Nov 2025 11:48:16 -0500 Subject: [PATCH] add caldav events working --- add-caldav-event.yaml | 68 +++++++++++++++++++++++++++++++++++ config.yaml => dashboard.yaml | 16 ++++----- 2 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 add-caldav-event.yaml rename config.yaml => dashboard.yaml (96%) diff --git a/add-caldav-event.yaml b/add-caldav-event.yaml new file mode 100644 index 0000000..fc5fb4d --- /dev/null +++ b/add-caldav-event.yaml @@ -0,0 +1,68 @@ +alias: Add CalDAV Calendar Event +description: Create an event based on All Day or Timed selection +sequence: + - choose: + - conditions: + - condition: state + entity_id: input_boolean.calendar_all_day_event + state: "off" + sequence: + - target: + entity_id: calendar.{{ states('input_select.calendar_select') | lower }} + data: + summary: "{{ states('input_text.calendar_event_title') }}" + description: "{{ states('input_text.calendar_event_description') }}" + start_date_time: "{{ states('input_datetime.calendar_timed_event_start') }}" + end_date_time: "{{ states('input_datetime.calendar_timed_event_end') }}" + action: calendar.create_event + - delay: + hours: 0 + minutes: 0 + seconds: 3 + - action: browser_mod.navigate + data: + path: /our-calendar/calendar + deviceID: + - THIS + - data: + title: Calendar Entry Added + message: >- + Added Calendar Entry for {{ + states('input_select.calendar_select') }} ({{ + states('input_text.calendar_event_title') }}) + action: persistent_notification.create + - conditions: + - condition: state + entity_id: input_boolean.calendar_all_day_event + state: "on" + sequence: + - target: + entity_id: calendar.{{ states('input_select.calendar_select') | lower }} + data: + summary: "{{ states('input_text.calendar_event_title') }}" + description: "{{ states('input_text.calendar_event_description') }}" + start_date: | + {{ states('input_datetime.calendar_day_event_start') }} + end_date: > + {% set end_date = + states('input_datetime.calendar_day_event_end') | as_datetime %} + {% set end_date = end_date + timedelta(days=1) %} {{ + end_date.strftime('%Y-%m-%d') }} + action: calendar.create_event + - delay: + hours: 0 + minutes: 0 + seconds: 3 + - action: browser_mod.navigate + data: + path: /our-calendar/calendar + deviceID: + - THIS + - data: + title: All Day Calendar Entry Added + message: >- + Added ALL DAY Calendar Entry for {{ + states('input_select.calendar_select') }} ({{ + states('input_text.calendar_event_title') }}) + action: persistent_notification.create +mode: single diff --git a/config.yaml b/dashboard.yaml similarity index 96% rename from config.yaml rename to dashboard.yaml index 177b006..5fc744e 100644 --- a/config.yaml +++ b/dashboard.yaml @@ -232,7 +232,7 @@ views: card: type: custom:week-planner-card calendars: - - entity: calendar.personal + - entity: calendar.brian name: brian color: rgba(15, 208, 184, 0.3) filter: ${ PERSONCAL } @@ -378,14 +378,10 @@ views: card: type: entities entities: - - entity: input_datetime.calendar_day_event_start - name: Event Start Date - - entity: input_datetime.calendar_day_event_end - name: Event End Date - - entity: input_datetime.calendar_event_start - name: Start Time - - entity: input_datetime.calendar_event_end - name: End Time + - entity: input_datetime.calendar_timed_event_start + name: Start Date & Time + - entity: input_datetime.calendar_timed_event_end + name: End Date & Time - type: conditional conditions: - entity: input_boolean.calendar_all_day_event @@ -401,7 +397,7 @@ views: name: Add Event to Calendar tap_action: action: call-service - service: script.add_calendar_event + service: script.add_caldav_calendar_event styles: card: - background-color: |