Looks great, but a few things I think would be awesome:
Calendar Level
Add Additional Settings
-
Calendar_Class
- see below - ICON
- COLOR - Foreground/Background
Add some items to the config
- Import/Export ICS
- Ability to Modify Calendar_Class/Icon/Color settings
Add some service calls
- AddEvent - Allows for scripting the creation of events in response to anything you can dream up
- RemoveEvent - Allows for scripting to cleanup of events, or dynamic management of events
- ModifyEvent - Allows for automation to manage internal events, events we can see on a calendar, but can be managed by automations.
- ImportEvents - Allows for automation of importing ICS files
- ExportEvents - Allows for automation of exporting ICS files
Small tweak to how calendars are listed/shown
Using the new calendar_class
or the end user can override using the other new settings, we go from:
Current
New
---------- ------------------------------------
| checkbox | ico: calendar.icon | calendar.name |
| fg: calendar.color.foreground |
| bg: calendar.color.background |
---------- ------------------------------------
Calendar_Class example
Contains 2 new class entries, the default, and an example of a user created entry
calendar_class:
- name: Default
id: default-calendar-class
icon: mdi:calendar
# Should there be a dark/light version of this setting?
color:
foreground: whateverisbeingusednow
background: whateverisbeingusednow
- name: Family
id: family-shared-calendar
icon: mdi:family
color:
foreground: white
background: light-blue
Event Level
Add Ability to Edit Single/Series
Additional Settings
-
Event_Class - See
Event_Class
for more information - Icon
- Color - Foreground/Background
Change to display of Event
Current
New
-------------------------------------------------------
| ico: event.icon | event.summary |
| fg: calendar.color.foreground | event.color.foreground |
| bg: calendar.color.background | event.color.background |
-------------------------------------------------------
Event_Class Example
Contains 2 new class entries, the default, and an example of a user created entry
event_class:
- name: Default
id: default-event-class
icon: none
defaults:
# Ok this may be reaching a little, but was thinking if you selected a birthday event_class,
# it would automatically change to all day, and set repeat yearly by default.
# Similar to how when you select All Day now, it removes the times from the dates.
all_day: true/false
repeat: none/yearly/monthly
color:
foreground: whateverisbeingusednow
background: whateverisbeingusednow
I am hoping to begin trying to do some of this myself in Jan/Feb 2023.
But currently, my skillsets cover just about everything except Python. (working on that now)