Suddenly, the Hass Calendar Addon stopped working

The Hass Calendar Addon works perfectly from one moment to the next! I haven’t changed anything!

My configuration:

locale: nl-BE
timeZone: Europe/Brussels
fetchDays: 365
fetchDaysPast: -7
fetchCRON: "'*/1 * * * *'"
calendarList:
  - calName: agenda_bart
    calType: caldav
    username: "!secret hass_calendar_addon_id"
    password: "!secret hass_calendar_addon_secret"
    caldavUrl: >-
      https://p113-caldav.icloud.com/I haven't changed this either

The log:

-----------------------------------------------------------
 Add-on: Hass Calendar Addon
 Addon to consume caldav and google calendars and make calendar events available as sensordata in Home Assistant.
-----------------------------------------------------------
 Add-on version: 0.501
 You are running the latest version of this add-on.
 System: Home Assistant OS 16.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2025.10.1
 Home Assistant Supervisor: 2025.10.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
/app/node_modules/undici/lib/web/webidl/index.js:531
webidl.is.File = webidl.util.MakeTypeAssertion(File)
                                               ^
ReferenceError: File is not defined
    at Object.<anonymous> (/app/node_modules/undici/lib/web/webidl/index.js:531:48)
    at Module._compile (node:internal/modules/cjs/loader:1364:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
    at Module.load (node:internal/modules/cjs/loader:1203:32)
    at Module._load (node:internal/modules/cjs/loader:1019:12)
    at Module.require (node:internal/modules/cjs/loader:1231:19)
    at require (node:internal/modules/helpers:177:18)
    at Object.<anonymous> (/app/node_modules/undici/lib/web/fetch/util.js:12:20)
    at Module._compile (node:internal/modules/cjs/loader:1364:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
Node.js v18.20.3
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Does anyone here see what’s actually wrong?

Thanks for all your responses.

Since it is a problem with an addon, your best bet is to create an issue in the Github project for this addon. The creator of the addon might not be active here.

I do not use this addon, but Home Assistant has native caldav support, so maybe the addon is no longer maintained?

ps. Most of your post is in English as is required by the forum, but the first line of your post is in Dutch. While the English title basically is saying the same thing, people might think they miss some information there. Would you be so kind to change it?

Thanks for your response. I’ve already adjusted it. :+1:

I edited in the link to the Native CalDav support in my post, is there something special to the addon? It seems weird for it to be an addon and not an integration in the first place. Native calendar support has come a long way since this addon was created.

Ther’s also a mention of this problem here:

Yes, I had seen it too, but no solution, your CalDAV works, but it only shows 1 calendar point!!

That is because getting the list of appoitments is now an action instead of an attribute. This as changed because large attributes like this will explode te data stored in the recorder. If you do want them in an attribute you can create a template sensor for it but there really is no need as you can get the same done using the action.

Here you can see what calendar entities provide, the link is to the action for the events:

If you’re lookking for a great way to show the calendar, this is an example of what is available for native calendar entities. It also supports a vertical layout and lots op customization options:

There is an open issue for this on the add-on’s repo. It looks like the code owner responded 2 months ago saying they wouldn’t have time to fix it for a while.

Thanks for your reply. That’s a shame, I used Adon a lot!

Okay, I’ll give this a try.
But what if I want all the agenda items for this month? How do I set this up?

@Mabaelst, I had the same issue with the Calendar Add-On and switched my setup to the official CalDAV integration. Everything works as it did before.

You can use an action to read your calendar events and store them in the attributes of a sensor — this provides the same data the addon used to offer. You can then process this set of events just as you did before.

The example below triggers every hour, reads the calendar events for the next 90 days, and stores them in a response variable. This data is then sorted by the event start (since calendar.get_events returns unsorted data) and is written to a sensor’s attribute.

template:

  - trigger:
      - platform: time_pattern
        minutes: 0
      - platform: homeassistant
        event: start

    action:
      - service: calendar.get_events
        target:
          entity_id: calendar.<yourcalendar>
        data:
          duration:
            days: 90
        response_variable: calendar_events

    sensor:
      - name: KalenderEvents
        unique_id: kalender_events_sensor
        icon: mdi:calendar
        state: "{{ calendar_events['calendar.<yourcalendar>'].events | count() }}"
        attributes:
          events: >
            {{
              calendar_events['calendar.<yourcalendar>'].events
              | sort(attribute='start')
            }} 

The sensor’s state contains the number of events, and the attribute looks like this:

events: 
- start: '2025-10-27T08:30:00+01:00'
  end: '2025-10-27T09:30:00+01:00'
  summary: Test1
  location: testlocation
- start: '2025-10-29T07:45:00+01:00'
  end: '2025-10-29T08:45:00+01:00'
  summary: Test2
  location: testlocation
- start: '2025-10-29T09:40:00+01:00'
  end: '2025-10-29T10:40:00+01:00'
  summary: Test3
  location: testlocation
- start: '2025-11-03T12:30:00+01:00'
  end: '2025-11-03T13:30:00+01:00'
  summary: Test4
  location: testlocation
.
.
.