Skip to main content
The Daylight Calendar Card requires only a list of calendar entities to get started, but a handful of core options let you tailor the card’s behavior to your household. Most of these options are available in the visual editor — you only need YAML if you prefer it or are version-controlling your dashboard.

Required Options

entities
list
required
A list of one or more Home Assistant calendar entity IDs to display. This is the only truly required field — every other option has a sensible default.
entities:
  - calendar.family
  - calendar.work
  - calendar.holidays_in_united_states
title
string
default:"Family Calendar"
The title displayed in the card header.
title: My Calendar

Core Options

default_view
string
default:"month"
The view shown when the card first loads. Accepted values:
  • month — traditional monthly grid.
  • week or week-compact — compact weekly overview where each day is a column with stacked events. The card normalizes week to week-compact internally.
  • schedule or week-standard — timed weekly grid with days as columns and hours as rows. Events are positioned as blocks by their actual start and end times. The card normalizes schedule to week-standard internally.
  • agenda — scrollable day-by-day list of upcoming events, rolling forward from today.
See Week, Schedule, Month, and Agenda for the full per-view docs.
first_day_of_week
number
default:"0"
The day the week starts on, expressed as a number where 0 = Sunday, 1 = Monday, and so on through 6 = Saturday.
week_days
array
default:"[0, 1, 2, 3, 4, 5, 6]"
An array of day numbers (0–6) to include in week and schedule views. Omitting a day hides it entirely from those views. Defaults to all seven days: [0, 1, 2, 3, 4, 5, 6].Use [1, 2, 3, 4, 5] to show Monday through Friday only.
language
string
The language used for all UI strings — day names, month names, button labels, and more. Supported values: en, fr, de, nl, es, ca, da, sv. When omitted, the card automatically detects the language set in your Home Assistant profile.
locale
string
A BCP 47 locale string (e.g. en-US, de-DE, fr-CA) that overrides the default locale associated with the selected language. Use this when you want, for example, German UI strings but Swiss date formatting (de-CH).
color_scheme
string
default:"auto"
Controls light/dark mode for the card. auto follows the Home Assistant theme, light forces a light appearance, and dark forces a dark appearance.
preference_storage_key
string
A unique string used as the browser-storage key for saving the user’s current view, hidden calendars, and other per-session preferences. When you have multiple Daylight Calendar Cards on different dashboards, give each one a different key so their preferences do not overwrite each other.

People & Calendar Mapping

calendar_person_entities
map
default:"[]"
A map of calendar entity IDs to Home Assistant person.* entity IDs. When configured, the card reads each person entity’s current location state and displays a small avatar or badge on the calendar to show where household members are. This is especially useful on a family dashboard where you want to see at a glance that a family member is at school, at work, or home.
calendar_person_entities:
  calendar.ian: person.ian
  calendar.sarah: person.sarah
The key must be a calendar entity ID that is already listed under entities. The value must be a valid person.* entity ID tracked by Home Assistant’s Person integration.

Example

The YAML below shows a complete basic configuration that covers the most commonly used options:
type: custom:daylight-calendar-card
title: Family Calendar
entities:
  - calendar.family
  - calendar.work
  - calendar.holidays_in_united_states
default_view: month
first_day_of_week: 1
week_days:
  - 1
  - 2
  - 3
  - 4
  - 5
language: en
locale: en-GB
color_scheme: auto
preference_storage_key: main_dashboard_calendar
max_events: 50
calendar_person_entities:
  calendar.family: person.parent
The visual editor covers all of these options — and many more — through a point-and-click interface. Open the card editor in Home Assistant, click the card, then select Edit to access it. You only need to write YAML manually if you prefer or if you are managing your configuration in version control.