Read the statement by Michael Teeuw here.
MMM-CalendarExt3 not loading events
-
not sure what i’m doing wrong. Tried setting DEBUG mode on, dont get any logs of substance related to MMM-CalendarExt3, nor do I see it even try to download or parse the ICS in my config.
my module config:
{ module: "MMM-CalendarExt3", position: "bottom_bar", title: "", config: { mode: "week", instanceId: "basicCalendar", maxEventLines: 5, firstDayOfWeek: 7, weekIndex: 0, weeksInView: 3, broadcastPastEvents: true, calendars: [ { url: "https://ics.calendarlabs.com/75/51ccb94a/UK_Holidays.ics", name: "UK Holidays", color: "red" } ] } }
my packages.json in case there is any interest
{ "name": "magicmirror", "version": "2.26.0", "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { "start": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js", "start:dev": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js dev", "server": "node ./serveronly", "install-mm": "npm install --no-audit --no-fund --no-update-notifier --only=prod --omit=dev", "install-mm:dev": "npm install --no-audit --no-fund --no-update-notifier", "install-vendor": "echo \"Installing vendor files ...\n\" && cd vendor && npm install --loglevel=error --no-audit --no-fund --no-update-notifier", "install-fonts": "echo \"Installing fonts ...\n\" && cd fonts && npm install --loglevel=error --no-audit --no-fund --no-update-notifier", "postinstall": "npm run install-vendor && npm run install-fonts && echo \"MagicMirror² installation finished successfully! \n\"", "test": "NODE_ENV=test jest -i --forceExit", "test:coverage": "NODE_ENV=test jest --coverage -i --verbose false --forceExit", "test:electron": "NODE_ENV=test jest --selectProjects electron -i --forceExit", "test:e2e": "NODE_ENV=test jest --selectProjects e2e -i --forceExit", "test:unit": "NODE_ENV=test jest --selectProjects unit", "test:prettier": "prettier . --check", "test:js": "eslint 'js/**/*.js' 'modules/default/**/*.js' 'clientonly/*.js' 'serveronly/*.js' 'translations/*.js' 'vendor/*.js' 'tests/**/*.js' 'config/*'", "test:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json", "test:calendar": "node ./modules/default/calendar/debug.js", "config:check": "node js/check_config.js", "lint:prettier": "prettier . --write", "lint:js": "eslint 'js/**/*.js' 'modules/default/**/*.js' 'clientonly/*.js' 'serveronly/*.js' 'translations/*.js' 'vendor/*.js' 'tests/**/*.js' 'config/*' --fix", "lint:css": "stylelint 'css/main.css' 'fonts/*.css' 'modules/default/**/*.css' 'vendor/*.css' --config .stylelintrc.json --fix", "lint:staged": "lint-staged", "prepare": "[ -f node_modules/.bin/husky ] && husky install || echo no husky installed." }, "repository": { "type": "git", "url": "git+https://github.com/MichMich/MagicMirror.git" }, "keywords": [ "magic mirror", "magicmirror", "smart mirror", "mirror UI", "modular" ], "author": "Michael Teeuw", "contributors": [ "https://github.com/MichMich/MagicMirror/graphs/contributors" ], "license": "MIT", "bugs": { "url": "https://github.com/MichMich/MagicMirror/issues" }, "homepage": "https://magicmirror.builders", "devDependencies": { "@stylistic/eslint-plugin": "^1.5.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^27.6.0", "eslint-plugin-jsdoc": "^46.9.1", "express-basic-auth": "^1.2.1", "husky": "^8.0.3", "jest": "^29.7.0", "jsdom": "^23.0.1", "lint-staged": "^15.2.0", "lodash": "^4.17.21", "playwright": "^1.40.1", "prettier": "^3.1.1", "sinon": "^17.0.1", "stylelint": "^16.1.0", "stylelint-config-standard": "^36.0.0", "stylelint-prettier": "^5.0.0", "suncalc": "^1.9.0" }, "optionalDependencies": { "electron": "^27.2.0" }, "dependencies": { "colors": "^1.4.0", "command-exists": "^1.2.9", "console-stamp": "^3.1.2", "envsub": "^4.1.0", "eslint": "^8.56.0", "express": "^4.18.2", "express-ipfilter": "^1.3.1", "feedme": "^2.0.2", "helmet": "^7.1.0", "html-to-text": "^9.0.5", "iconv-lite": "^0.6.3", "module-alias": "^2.2.3", "moment": "^2.30.1", "node-ical": "^0.17.1", "socket.io": "^4.7.2" }, "lint-staged": { "*": "prettier --write", "*.js": "eslint", "*.css": "stylelint" }, "_moduleAliases": { "node_helper": "js/node_helper.js", "logger": "js/logger.js" }, "engines": { "node": ">=18" } }
-
@carefreepineappl
CX3 doesn’t employnode_helper.js
so there is no log on yourbackend-sided
log, onlyfrontend-sided
log (in your browser dev console) is used.If you want to deliver your
frontend log
to your general backend, consider to useMMM-LogExt
(https://github.com/MMRIZE/MMM-LogExt) -
@MMRIZE thank you, i’ve installed that module and captured more logs, but I still dont see any action from the MMM-CalendarExt3 module. It doesnt seem to download or parse the ICS I specified.
pi@rpi2o1:/opt/MagicMirror $ npm start > magicmirror@2.26.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [05.02.2024 11:19.05.767] [LOG] Starting MagicMirror: v2.26.0 [05.02.2024 11:19.05.791] [LOG] Loading config ... [05.02.2024 11:19.05.802] [DEBUG] config template file not exists, no envsubst [05.02.2024 11:19.05.818] [LOG] Loading module helpers ... [05.02.2024 11:19.05.825] [LOG] No helper found for module: alert. [05.02.2024 11:19.05.954] [LOG] Initializing new module helper ... [05.02.2024 11:19.05.958] [LOG] Module helper loaded: updatenotification [05.02.2024 11:19.05.962] [LOG] No helper found for module: clock. [05.02.2024 11:19.05.966] [LOG] No helper found for module: compliments. [05.02.2024 11:19.05.972] [LOG] No helper found for module: weather. [05.02.2024 11:19.05.982] [LOG] Initializing new module helper ... [05.02.2024 11:19.05.984] [LOG] Module helper loaded: MMM-mmpm [05.02.2024 11:19.05.994] [LOG] Initializing new module helper ... [05.02.2024 11:19.05.996] [LOG] Module helper loaded: MMM-LogExt [05.02.2024 11:19.06.000] [LOG] No helper found for module: MMM-CalendarExt3. [05.02.2024 11:19.06.002] [LOG] All module helpers loaded. [05.02.2024 11:19.06.045] [LOG] Starting server on port 8080 ... [05.02.2024 11:19.07.077] [LOG] Server started ... [05.02.2024 11:19.07.083] [LOG] Connecting socket for: updatenotification [05.02.2024 11:19.07.087] [LOG] Starting module helper: updatenotification [05.02.2024 11:19.07.091] [LOG] Connecting socket for: MMM-mmpm [05.02.2024 11:19.07.093] [LOG] Starting module helper: MMM-mmpm [05.02.2024 11:19.07.097] [LOG] Connecting socket for: MMM-LogExt [05.02.2024 11:19.07.115] [LOG] Sockets connected & modules started ... [05.02.2024 11:19.07.189] [LOG] Launching application. [05.02.2024 11:19.14.710] [LOG] [MMM-LogExt.js:115:9] MMM-LogExt hooks original Log from now on. [05.02.2024 11:19.14.834] [INFO] [main.js:608:8] All modules started! [05.02.2024 11:19.15.134] [WARN] [MMM-CalendarExt3.js:372:11] [CX3] Module is not prepared yet, wait a while. [05.02.2024 11:19.16.093] [LOG] [weather.js:166:7] New weather information available. [05.02.2024 11:19.16.800] [INFO] updatenotification: Updater Class Loaded! [05.02.2024 11:19.16.804] [INFO] updatenotification: Checking PM2 using... [05.02.2024 11:19.16.824] [INFO] Checking git for module: MMM-mmpm [05.02.2024 11:19.17.053] [INFO] Checking git for module: MMM-LogExt [05.02.2024 11:19.17.201] [INFO] Checking git for module: MMM-CalendarExt3 [05.02.2024 11:19.17.299] [INFO] Checking git for module: MagicMirror [05.02.2024 11:19.20.998] [DEBUG] [main.js:125:10] updateDom: module_7_MMM-CalendarExt3 Has speed in object: 2000 [05.02.2024 11:19.21.050] [DEBUG] [main.js:129:11] updateDom: module_7_MMM-CalendarExt3 Has animate in object: out->fadeOut, in->fadeIn [05.02.2024 11:19.21.411] [DEBUG] [main.js:306:9] module_7_MMM-CalendarExt3 Has animateOut: fadeOut [05.02.2024 11:19.22.480] [DEBUG] [main.js:311:10] module_7_MMM-CalendarExt3 Remove animateOut: fadeOut [05.02.2024 11:19.23.143] [DEBUG] [main.js:421:9] module_7_MMM-CalendarExt3 Has animateIn: fadeIn [05.02.2024 11:19.23.469] [INFO] updatenotification: You are not using pm2 [05.02.2024 11:19.24.085] [DEBUG] [main.js:426:10] module_7_MMM-CalendarExt3 Remove animateIn: fadeIn Warning: vkCreateInstance: Found no drivers! Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88) at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458) at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344) at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)
-
@carefreepineappl CalendarExt3 depends on the default calendar module to read and parse the ICS event data and broadcast it to other interested modules.
ext3 does NOT read the ICS directly
so, the calendars:[] list needs to be moved to the default calendar module. you can keep the default from showing by commenting out it’s position config option
-
@sdetweil that did it. thank you! sorry, I misread the example in the MMM-CalendarExt3 repo, it clearly shows configuration of the calendar module.
-
@sdetweil
ok, so after I got the example ICS working and displaying, I swapped out the URL link to my private google calendar, which I confirmed is available through an incognito window.The logs appear to show its downloading and attempting to parse the data, there are no errors, but it doesn’t display any events on the calendar.
{ module: "calendar", config: { broadcastPastEvents: true, calendars: [ { fetchInterval: 7 * 24 * 60 * 60 * 1000, symbol: "calendar-check", url: "https://calendar.google.com/calendar/ical/<redacted>/basic.ics", name: "google", color: "red" } ], maximumEntries: 5 } }, { module: "MMM-CalendarExt3", position: "bottom_bar", title: "", config: { mode: "week", instanceId: "basicCalendar", maxEventLines: 5, firstDayOfWeek: 7, weekIndex: 0, weeksInView: 3, calendarSet: ['google'] } }
Im looking for
error
in the logs, are there any other terms I should search for?pi@rpi2o1:/opt/MagicMirror $ cat log.txt | grep -i error pi@rpi2o1:/opt/MagicMirror $
I see entries getting processed
pi@rpi2o1:/opt/MagicMirror $ cat log.txt | grep -i "processing entry" | wc -l 398
Here’s an example event
[05.02.2024 14:31.15.068] [DEBUG] Processing entry... [05.02.2024 14:31.15.072] [DEBUG] Event: {"type":"VEVENT","params":[],"start":"2024-02-07T19:30:00.000Z","datetype":"date-time","end":"2024-02-07T22:00:00.000Z","dtstamp":"2024-02-05T19:30:09.000Z","uid":"<redacted>@google.com","created":"2024-01-30T15:39:19.000Z","lastmodified":"2024-01-30T17:02:11.000Z","sequence":"1","status":"CONFIRMED","summary":"Coco senior exam 3:10","transparency":"OPAQUE","method":"PUBLISH"} [05.02.2024 14:31.15.074] [DEBUG] start: Wed Feb 07 2024 14:30:00 GMT-0500 (Eastern Standard Time) [05.02.2024 14:31.15.076] [DEBUG] end:: Wed Feb 07 2024 17:00:00 GMT-0500 (Eastern Standard Time) [05.02.2024 14:31.15.078] [DEBUG] duration: 9000000 -- [05.02.2024 14:31.15.090] [DEBUG] start offset=0 [05.02.2024 14:31.15.092] [DEBUG] start date/time w tz =Wed Feb 07 2024 14:30:00 GMT-0500 (Eastern Standard Time) [05.02.2024 14:31.15.095] [DEBUG] event date=Wed Feb 07 2024 14:30:00 GMT-0500 (Eastern Standard Time) [05.02.2024 14:31.15.097] [DEBUG] event offset=0 hour=19 event date=Wed Feb 07 2024 14:30:00 GMT-0500 (Eastern Standard Time) [05.02.2024 14:31.15.099] [DEBUG] adjustHours=0
I tried going back to the prior parser, but there wasn’t a change for the google calendar. I tried changing the ICS back to the holidays ICS with the new parser, and that no longer showed any events either.
pi@rpi2o1:~$ cd /opt/MagicMirror npm install node-ical@0.16.1 pi@rpi2o1:~ $ cat /opt/MagicMirror/package.json | grep node-ical "node-ical": "^0.16.1",
tried going to the latest version of node-ical to at least get back to where I was and I still dont see any events even with the holidays ICS that was working.
pi@rpi2o1:~$ cd /opt/MagicMirror npm install node-ical@0.17.2
Log shows entries processed even identifying an upcoming one
[05.02.2024 15:42.40.179] [DEBUG] [weather.js:112:11] First upcoming event with location: { title: "Presidents' Day", startDate: '1676869200000', endDate: '1676955599999', fullDayEvent: true, location: 'United States', geo: false, description: "Visit https://calendarlabs.com/holidays/us/?utm_source=calendarlabs&utm_medium=web&utm_campaign=ical to know more about Presidents' Day. \n" + '\n' + ' Like us on Facebook: http://fb.com/calendarlabs to get updates', today: false, dayBeforeYesterday: false, yesterday: false, tomorrow: false, dayAfterTomorrow: false, symbol: [ 'fas fa-fw fa-calendar-check' ], calendarName: 'google', color: 'red' }
Im seeing new events and a total event count
pi@rpi2o1:/opt/MagicMirror $ cat log.txt | grep "Create new" [05.02.2024 15:42.34.945] [LOG] Create new calendarfetcher for url: https://ics.calendarlabs.com/76/82950923/US_Holidays.ics - Interval: 604800000 pi@rpi2o1:/opt/MagicMirror $ cat log.txt | grep "Calendar-Fetcher:" [05.02.2024 15:42.39.116] [INFO] Calendar-Fetcher: Broadcasting 24 events from https://ics.calendarlabs.com/76/82950923/US_Holidays.ics.
I hope i’m doing something stupid as per usual.
-
@carefreepineappl please go back to
node-ical@0.16.1
-
@sdetweil all set
pi@rpi2o1:/opt/MagicMirror $ npm install node-ical@0.16.1 pi@rpi2o1:/opt/MagicMirror $ cat /opt/MagicMirror/package.json | grep node-ical "node-ical": "^0.16.1",
Before attempting the google calendar again, i’m going back to trying to get the US holidays calendar working.
Unfortunately i’m still not seeing presidents day appear on the calendar.
-
@sdetweil if you’re interested, here’s the log file
https://drive.google.com/file/d/119GJ_HUliObRNVHb5iQkxr8VZX92Yl-_/view?usp=drive_linkEDIT: for some reason the presidents day event finally popped up. I wasnt watching it to see how long it took to populate, but it had to have been a little while.
I’ll test again to see if I can get a time frame. I was watching the logs and when the events were finished processing, I assumed they should be displayed. Is that not the case?
-
@carefreepineappl read this and following posts from Ext3 author about how ext processes