Week Planner Card Plus and ICS Calendar Tools

are you having issues? i can help just let me know what problem your having

I’m using the original ‘Add event’ dialogue still and that adds an event OK.

I go to edit it and I get this error:

The logs show this:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:278
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 11:36:26 (1 occurrence)
Last logged: 11:36:26

[546428499936] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 278, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2819, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2862, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ics_calendar_tools/__init__.py", line 494, in handle_update
    path = _find_ics_path_for_calendar(hass, cal_ent)
  File "/config/custom_components/ics_calendar_tools/__init__.py", line 75, in _find_ics_path_for_calendar
    raise FileNotFoundError(
        f"Could not find Local Calendar .ics file for {calendar_entity_id}. Tried {path}."
    )
FileNotFoundError: Could not find Local Calendar .ics file for calendar.piers_gmail. Tried /config/.storage/local_calendar.REDACTED_gmail.ics.

The error relates to a Local Calendar, which I’m not using.

@Orange-GT3 You cannot edit google events from Home Assistant UI its just not supported. If you use Google only, then all you can do is Add/Delete events from UI. This is a limitation in the Google integration within home assistant and not anything to do with week planner card plus. That said i could make it so edit is not option if google detected to eliminate confusion.

** You should upgrade both integrations in this thread and use the new popup you can always use old Add event" button at top if you wanted to.

1 Like

You did say this previously, but it slipped my mind. Thank you.

I think that would help, yes.

Both integrations are updated. I’ll set the flag to use the new popup. I actually find the original popup a bit clumsy. I wonder if I can remove browser_mod if I stop using the old popup altogether?

agreed the original popup is pretty! But not to good for entering a lot of information. Plus when you use new popup you will now get repeat options for adding events(google supported too) :slight_smile:

OK, I have the new popup working. Is there a way to set the All day switch to false, by default?

Is it possible to add the Custom option for recurring events, as per the Google Calendar?

i have not tested but if you put this in configuration.yaml it should work. TEST change in developer tolls first by “check configuration” before restart.

Open /config/configuration.yaml
Add this at the top level (not indented under anything else):

input_boolean:
  calendar_all_day_event:
    name: All Day Event
    initial: off

@Orange-GT3 can make it anyway you want but I can code it for certain default values if you want? I use local calendars as I prefer local so you tell me how you would like it to open and options it has and I can work it into a release in the future

There is one of those already that was added by the original family_calendar.yaml package. It doesn’t seem to have any effect.

I’ll look and report back

1 Like

Defaulted to “Off” on next release and also added a “Schedule” View option

v2.0.1 update!
To get new view you must add it to your family_calendar.yaml:

  # The View selector (Week, Month, etc)
  calendar_view:
    name: Calendar View
    options:
      - Today
      - Tomorrow
      - Schedule
      - Week
      - Biweek
      - Month
    initial: Week

Or your calendar_view helper manually just add “Schedule” if you setup manually.

mod your dashboard.yaml “VIEW: states:”

VIEW: states['input_select.calendar_view']?.state
              
              VIEWMODE: |
                (() => {
                  const v = states['input_select.calendar_view']?.state || '';
                  const w = window.innerWidth;
              
                  if (v === 'Schedule') return (w >= 1100) ? 'timeGridWeek' : 'timeGridDay';
                  return 'grid';
                })()
              
              DAYS: |
                (() => {
                  const v = states['input_select.calendar_view']?.state || '';
                  const w = window.innerWidth;
              
                  if (v === 'Schedule') return (w >= 1920) ? 7 : (w >= 1100) ? 3 : 1;
              
                  // keep your existing view logic
                  if (w >= 390 && w <= 500) return 1;
                  if (v === 'Today') return 1;
                  if (v === 'Tomorrow') return 2;
                  if (v === 'Bimonth' && w >= 1920) return 56;
                  if (v === 'Month' && w >= 1920) return 28;
                  if (v === 'Biweek' && w >= 1920) return 14;
                  if (v === 'Week' && w >= 1920) return 7;
                  return 3;
                })()

and for style this is my current card_mod style:

              card_mod:
                style: |
                  ha-card {
                    background: rgba(255, 255, 255, 0.6) !important;
                    border-radius: 24px;
                    box-shadow: none;
              
                    .event.past { opacity: .2; background-color: gray !important; }
                    .time { color: #333333 !important; font-size: 0.8em !important; }
                    .event { color: #333333 !important; line-height: 16px !important; background-color: var(--border-color) !important; border-radius: 10px !important; max-height: 80px !important; overflow: hidden !important; font-size: 1.1em !important; }
                    .none { background-color: transparent !important; }
                    .today .number { border-radius: 5px; background-color: orange !important; padding-left: 4px; padding-right: 4px; }
                    .day .date .text { font-size: 1em !important; font-weight: bold !important; }
                    .day .date .number { font-weight: bold !important; font-size: 3em !important; }
                    .day { border: solid 1px whitesmoke; padding: 0.2%; width: 13% !important; }
                  }
              
                  /* ===== Schedule view ONLY: force black text on pills (all-day + hours) ===== */
                  .timelineAllDayPill,
                  .timelineAllDayPill * {
                    color: #111 !important;
                  }
              
                  .timelineEvent,
                  .timelineEvent * {
                    color: #111 !important;
                  }
              
                  /* If you want the time line slightly dimmer than the title */
                  .timelineEvent .time,
                  .timelineAllDayPill .time {
                    color: rgba(0,0,0,0.70) !important;
                  }
                  /* All-day pills wrap inside the day column (no bleed to next day) */
                  .timelineAllDayPill {
                    white-space: normal !important;
                    overflow: hidden !important;
                    text-overflow: ellipsis !important;
                    overflow-wrap: anywhere !important;
                    word-break: break-word !important;
                    max-width: 100% !important;
                    box-sizing: border-box !important;
                  }

            grid_options:
              columns: 120
              rows: 1
              showDescription: false

All the rest of documentation you might need is in my repo

I’ve added a feature request to add editing to the Google Calendar integration: https://github.com/orgs/home-assistant/discussions/2750.

Google calendar users, please add your support.

@Orange-GT3 I doubt this will be added anytime soon. CalDAV also only supports add, so google is a bit better at least it allows add and delete option. Local calendars you can add, delete and edit. I hope they implement it then it will work! in meantime i did new release that tells you you cannot edit google events if you try and same for CalDAV calendars so at least people will understand what issue is.