I’ve had issues with the calendar not syncing properly over the last few versions, but now I’m on v4.18.0 and it’s not working at all.
The following error appears in the log:
2023-04-03T08:00:00+0000 <info> scene.checkCalendarTriggers.js:24 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Mon, 03 Apr 2023 08:00:00 GMT
2023-04-03T08:00:00+0000 <warn> scene.actions.js:73 () TypeError: Cannot read properties of null (reading 'service')
at DeviceManager.setValue (/src/server/lib/device/device.setValue.js:14:57)
at /src/server/lib/scene/scene.actions.js:71:27
at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (node:internal/timers:476:21)
When I click Sync now the following shows:
2023-04-03T08:19:22+0000 <info> calendar.requests.js:53 () CalDAV : Found calendar ******@*********
2023-04-03T08:19:22+0000 <info> calendar.requests.js:53 () CalDAV : Found calendar gladys
2023-04-03T08:19:22+0000 <info> calendar.syncUserCalendars.js:38 (CalDAVHandler.syncUserCalendars) CalDAV : Found 2 calendars.
2023-04-03T08:19:22+0000 <info> calendar.syncUserWebcals.js:16 (CalDAVHandler.syncUserWebcals) Webcal : Found 0 calendars.
On the Synchronization page the calender called “gladys” is set to sync.
I have a recurring event in the calendar at 9am every week day that runs a scene. I sometimes delete a single event from google, but that doesn’t get reflected on /dashboard/calendar.
Basically the calendar sync functionality just doesn’t work. The workaround I use is to remove the calendar integration entirely and then add it back.