Lovelace Google Calendar

My configuration is almost identical.

  - platform: caldav
    username: username
    password: !secret calendar_password

I am using Nextcloud as a NAS solution with a CalDAV server. This worked out of the box and HA automatically discovers all the calendars which belong to the specified user.

Unfortunately, I am not an expert on CalDAV… But have you tried to add your CalDAV calendar to a different client e.g. Thunderbird, Outlook or DAVdroid?

Hi Abeksis,

I don’t know that much of RTL support and I’m developing a new card. I’m open for suggestions on how to implement it and pull requests however. Do you know something about that?

Hi all,

I updated the card and it now:

  • supports also caldav calendars (at least my synology calendar which should be caldav compliant)
  • fixed the icon color
  • I do not add the progressbar anymore when there are no events today
  • less resource hungry, no dependency on font-awesome anymore

Do note that installation instructions are now different!! Please check them on the github, I updated them.


1 Like

Hi @jfierb_3420,

caldav support is there!

Hi @arsaboo,

this should be solved with the new version

Wow, thanks! Great work.

Just a brief comment:

I implemented the calendar on the same tab as the Custom animated weather card where @arsaboo contributed to. The apperance of both cards got messed up because they both use the class day. So the CSS of one of the cards was applied to both of them. I fixed it by changing the class name and according CSS entry from day to calendar_day.

I can confirm that it also works with Nextcloud as a CalDAV server!


Please I need help, I deleted <dist> dir, uploaded calendar-card.js (raw download) to config/www and modified ui.lovelace.yaml like this:

  - url:[email protected]/moment.js
    type: js
  - url: /local/calendar-card.js
    type: module

  - type: "custom:calendar-card"
    name: ""
    showprogressbar: false
      - calendar.personal
      - calendar.contacts

But I get an error saying no such custom card to be shown.

As I was writing this post I rememberedd appending ?v=0.0.3 to the resource call, like this:

  - url: /local/calendar-card.js?v=0.0.3
    type: module

And now it works and quite well, so thank you @rdehuyss for creating it.

How can I change the color of the meeting time?

Currently, you can’t :slight_smile: . It follows the color of your theme. But, since it now is not compiled anymore, you can easily change it yourself.

I just done all steps same as you (i think), but get same error:3-default

File calendar-card.js raw downloaded to /config/www/ dir with 777 permission…

In fact, i have other custom cards succesfully loaded on ui.lovelace.yaml.

I have tried appending “?v=0.0.3” or changing “type: module” to “type: js”

What am i loosing?

Add this under fronted in “configration.yaml” file se below

frontend: javascript_version: latest


thanks @Supersonical

But i had already added it.

Well, besides trying different version suffixes I’m stumped :thinking:

Check the developer console, I think you will have a 404 . So, probably, the URL to the calendar card is wrong.

That is right @rdehuyss

I got following error message:


URL seems OK, but i can’t find syntax error in my code:

  • type: custom:calendar-card
    name: “”
    showprogressbar: false
    - calendar.XXXXXXXXXXXXXXX
    - calendar.contacts

Your calendar-card.js should be ~9KB in size, is that correct?

Im a little confused by this…at first you say I cant, but at the end it sounds like your saying I can.

If so, would you mind sharing how I can adjust that?

Thank you

If you know a little about html and css, you can open the contents of the card and change the styling in the style tag

Have you tried the simplest install possible?

type: custom:calendar-card

  • calendar.contacts

The casing of showProgressBar is wrong and I didn’t try with an empty name. Also, like @vermis said, check in the network tab that your card size is 8.4 KB