Card shows: Custom element does not exist (daylight-calendar-card)
Card shows: Custom element does not exist (daylight-calendar-card)
This error means Home Assistant has not loaded the card’s JavaScript file as a dashboard resource. The card UI will not render at all until the resource is registered.Steps to fix:
- In Home Assistant, go to Settings → Dashboards → Resources (you may need to enable Advanced Mode in your profile first).
- Check that
skylight-calendar-card.jsis listed and its type is set to JavaScript Module. - If the entry is missing, add it manually. The URL should match your installation path, for example
/hacsfiles/daylight-calendar-card/skylight-calendar-card.js(HACS) or/local/skylight-calendar-card.js(manual). - Hard-refresh your browser with
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(Mac) to force the browser to reload the resource.
If you installed via HACS, the resource entry is usually added automatically. If it’s missing, try removing and re-downloading the card in HACS, then check Resources again.
No events appear / calendar is blank
No events appear / calendar is blank
A blank calendar most often means the card cannot find any events from the configured entities, or the entities themselves are not returning data.Things to check:
- Verify that the entity IDs in your
entitieslist exactly match calendar entities in Home Assistant. Entity IDs are case-sensitive. - Open the Calendar view in the Home Assistant sidebar and confirm your events appear there. If they don’t, the problem is with the calendar integration itself, not the card.
- Review your YAML for typos in the
entitiesblock:
- Temporarily remove any filters that could be hiding all events, such as:
Updated to the latest version, but still seeing old behavior
Updated to the latest version, but still seeing old behavior
If HACS shows the latest version but new frontend behavior is missing, the most common cause is a stale dashboard resource or browser cache. HACS confirms that the files are installed. It does not confirm that Home Assistant or your browser is loading the current file.This is especially likely if you installed the card before the Skylight → Daylight rename. The filename is still
skylight-calendar-card.js for compatibility, but the HACS folder path should now be the Daylight folder.Symptoms:- New options or features are missing
- Documented options have no effect
- The card editor looks outdated
- The card editor is missing the About / Diagnostics section
- Confirm HACS version Open HACS → Frontend → Daylight Calendar Card and confirm it shows the version you expect. This only confirms installation, so continue with the resource checks below if the dashboard still looks old.
-
Check Dashboard Resources
In Home Assistant, go to Settings → Dashboards → Resources. Look for every resource entry that points to
skylight-calendar-card.js. -
Remove old Skylight resources
Delete duplicate or old entries that point to the pre-rename folder, such as:
-
Keep only the current Daylight resource
For a HACS install, the resource should use the Daylight folder:
The filename is intentionally still
skylight-calendar-card.js. The important part is the folder path:daylight-calendar-card, notskylight-calendar-card. -
Refresh or restart
Hard-refresh your browser with
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(Mac). If the old UI still appears, try a private/incognito window, clear your browser cache, or restart Home Assistant. - Verify the current editor loads Edit the card in your dashboard and scroll to the bottom of the card editor. Seeing the About / Diagnostics section is a good sign that the current frontend/editor is loading. If that section is missing, an old frontend resource is probably still being loaded.
-
Include details when opening an issue
If you still need help, include screenshots of:
- The HACS version shown for Daylight Calendar Card
- Settings → Dashboards → Resources
- The bottom of the card editor, especially whether About / Diagnostics appears
Cannot edit or delete an event
Cannot edit or delete an event
There are several reasons an event might not be editable or deletable:Google Calendar events Editing events is not supported through the Home Assistant Google Calendar integration. Google Calendar edits are simulated via create-then-delete, which changes the event’s UID. To truly edit an event, use the Google Calendar app or website directly. Deletion does work through HA.Event is missing a UID Some calendar integrations do not attach a UID to every event. Without a UID, the card cannot uniquely identify the event to send an edit or delete request. The only fix is to delete the event and recreate it through a source that generates UIDs.Calendar is marked read-only in the card config Check whether the calendar is listed under Remove it from the list if you want to allow editing.Event management is disabled globally Confirm
readonly_calendars:enable_event_management is not set to false in your card config.Weather icons not showing
Weather icons not showing
Weather icons require a valid
weather.* entity that provides a daily forecast.Steps to fix:- Confirm you have set
header_weather_sensorin your card config:
- Open Developer Tools → States in Home Assistant and search for your weather entity (e.g.
weather.home). Verify it exists and has a valid state. - Confirm that the weather integration provides a daily forecast. Some integrations only provide hourly forecasts, which the card does not use for day-cell icons.
- If the entity exists and has a daily forecast but icons still don’t appear, check the browser console for errors related to the weather subscription.
Card height is wrong / too tall / too short
Card height is wrong / too tall / too short
Height behavior depends on the dashboard layout you’re using.Using a panel or grid dashboard layout Enable compact height mode to let the card fill its container:This tells the card to measure its parent container and size itself to fit the available vertical space. It works correctly in HA panel and grid dashboard layouts.Using a sidebar or standard layout The card auto-sizes to its content in standard layouts. If it appears clipped, check whether
compact_height: true is set — this mode is not appropriate for sidebar layouts and may cause the card to collapse. Remove it or set it to false.Fine-tuning the height Use height_scale to proportionally scale the card taller or shorter:compact_height: true requires the card to be placed in a grid or panel dashboard layout. In a standard vertical layout, use height_scale instead.Events are duplicated
Events are duplicated
If you see the same event appearing twice (or more), you likely have multiple calendar entities that both contain that event — for example, a personal Google Calendar and a shared family calendar that both include the same entry.Enable calendar combining to automatically deduplicate events that share the same normalized title, start time, end time, and location:
Deduplication does not rely on event UIDs. If duplicates persist after enabling
combine_calendars, compare the event title, start time, end time, and location across calendars. Any difference in those fields makes the card treat the entries as distinct events.Wrong language or date format
Wrong language or date format
The card auto-detects your language from Home Assistant’s locale settings. If detection produces the wrong language or date format, you can override both explicitly.Set the display language:Supported language codes: The
en (English), fr (French), de (German), nl (Dutch), es (Spanish), ca (Catalan), da (Danish), sv (Swedish).Set the date and time locale:locale key controls how dates and times are formatted (e.g. MM/DD/YYYY vs DD.MM.YYYY) and is independent of the language key.Card only shows the header after updating
Card only shows the header after updating
If the card header appears but the calendar body is missing, check whether your dashboard card has an explicit If you currently have
grid_options.rows value that is too small.This can happen in v4.5.0 and newer because the card body now fills the available height of the Home Assistant dashboard card. If the dashboard card is only one row tall, the calendar body may collapse and only the header remains visible.Fix:rows: set to anything less than 4, it is probably too small.Stale-refresh warning or wrong events after startup
Stale-refresh warning or wrong events after startup
The card keeps a local snapshot of the last successful calendar fetch so it can render events immediately when Home Assistant reloads, even before a fresh refresh completes. The snapshot is stored in the browser (IndexedDB) and is scoped to your current card configuration.What you might see:
- A brief flash of previously known events on startup before the current data loads.
- A small “Calendar data may be stale” warning if no successful refresh has completed for 30 minutes (for example, when Home Assistant is unreachable or a calendar integration is failing).
- Events that were deleted on your calendar still appearing until the next successful refresh finishes.
- Edit the card and scroll to About / Diagnostics.
- Select Flush event cache.
- The card clears its stored snapshots and triggers a fresh fetch from Home Assistant.
Flushing only removes Daylight Calendar Card snapshots from your browser. It does not delete any events from your calendar integrations.
Submitting a bug report
Submitting a bug report
If none of the above resolves your issue, please open a GitHub issue so the maintainer can investigate.Before submitting, gather the following:
- Which dashboard view and card position is affected
- Your complete card YAML configuration (remove any sensitive entity names if needed)
- Screenshots or a screen recording of the problem
- Your Home Assistant version (found in Settings → About)
- Your browser and version
- Any errors shown in the browser developer console (F12 → Console tab)
