@sdetweil Thank you again for the information, but with that being the case, for me it is NOT working inside the calendar entry. I spun up a new Magic Mirror on identical hardware and software this morning, with the ONLY change to MM being the copy the config.js.sample to config.js, then running, and it was defaulting to 3.6 million ms which is 1 hour, rather than the 604.8 million ms which is 168 hours or 1 week.
Here is essentially what I did:
Raspbian - Raspberry PI OS Legacy 32 bit - configured with ONLY new username and Wifi credentials
Enable VNC
sudo apt update
sudo apt upgrade
sudo apt install -y ca-certificates curl gnupg git
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install nodejs -y
git clone https://github.com/MichMich/MagicMirror
cd MagicMirror/
npm run install-mm
sudo npm install -g npm@10.2.5
cp config/config.js.sample config/config.js
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=1024
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
npm run start
Here is the full output of my test, key is the line just a few from the end:
https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics - Interval: 3600000
Again, this is running without modifying ANY of the files, it is just as it cloned it from Git. Is this a quirk on my hardware, or is the fetchInterval not currently working under the calendar.
xxxxxxxx@raspberrypi:~ $ ls -l
total 36
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 20:48 Bookshelf
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Desktop
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Documents
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Downloads
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Music
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Pictures
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Public
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Templates
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Videos
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo apt update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
The following packages will be upgraded:
chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra xserver-common xserver-xorg-core xwayland
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 126 MB of archives.
After this operation, 1,224 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf chromium-browser-l10n all 120.0.6099.102-rpt1 [6,436 kB]
Get:2 http://archive.raspberrypi.org/debian bullseye/main armhf chromium-browser armhf 120.0.6099.102-rpt1 [110 MB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf chromium-codecs-ffmpeg-extra armhf 120.0.6099.102-rpt1 [1,024 kB]
Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf xserver-common all 2:1.20.11-1+rpt3+deb11u10 [2,285 kB]
Get:5 http://archive.raspberrypi.org/debian bullseye/main armhf xserver-xorg-core armhf 2:1.20.11-1+rpt3+deb11u10 [3,352 kB]
Get:6 http://archive.raspberrypi.org/debian bullseye/main armhf xwayland armhf 2:1.20.11-1+rpt3+deb11u10 [2,970 kB]
Fetched 126 MB in 42s (3,035 kB/s)
Reading changelogs... Done
(Reading database ... 106663 files and directories currently installed.)
Preparing to unpack .../0-chromium-browser-l10n_120.0.6099.102-rpt1_all.deb ...
Unpacking chromium-browser-l10n (120.0.6099.102-rpt1) over (119.0.6045.171-rpt1) ...
Preparing to unpack .../1-chromium-browser_120.0.6099.102-rpt1_armhf.deb ...
Unpacking chromium-browser (120.0.6099.102-rpt1) over (119.0.6045.171-rpt1) ...
Preparing to unpack .../2-chromium-codecs-ffmpeg-extra_120.0.6099.102-rpt1_armhf.deb ...
Unpacking chromium-codecs-ffmpeg-extra (120.0.6099.102-rpt1) over (119.0.6045.171-rpt1) ...
Preparing to unpack .../3-xserver-common_2%3a1.20.11-1+rpt3+deb11u10_all.deb ...
Unpacking xserver-common (2:1.20.11-1+rpt3+deb11u10) over (2:1.20.11-1+rpt3+deb11u8) ...
Preparing to unpack .../4-xserver-xorg-core_2%3a1.20.11-1+rpt3+deb11u10_armhf.deb ...
Unpacking xserver-xorg-core (2:1.20.11-1+rpt3+deb11u10) over (2:1.20.11-1+rpt3+deb11u8) ...
Preparing to unpack .../5-xwayland_2%3a1.20.11-1+rpt3+deb11u10_armhf.deb ...
Unpacking xwayland (2:1.20.11-1+rpt3+deb11u10) over (2:1.20.11-1+rpt3+deb11u8) ...
Setting up chromium-codecs-ffmpeg-extra (120.0.6099.102-rpt1) ...
Setting up chromium-browser (120.0.6099.102-rpt1) ...
Setting up chromium-browser-l10n (120.0.6099.102-rpt1) ...
Setting up xserver-common (2:1.20.11-1+rpt3+deb11u10) ...
Setting up xwayland (2:1.20.11-1+rpt3+deb11u10) ...
Setting up xserver-xorg-core (2:1.20.11-1+rpt3+deb11u10) ...
Processing triggers for mailcap (3.69) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u7) ...
Processing triggers for man-db (2.9.4-2) ...
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo apt-get install -y ca-certificates curl gnupg git
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ca-certificates is already the newest version (20210119).
curl is already the newest version (7.74.0-1.3+deb11u10).
git is already the newest version (1:2.30.2-1+deb11u2).
gnupg is already the newest version (2.2.27-2+deb11u2).
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo mkdir -p /etc/apt/keyrings
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ NODE_MAJOR=20
xxxxxxxx@raspberrypi:~ $ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo apt update
Get:1 https://deb.nodesource.com/node_20.x nodistro InRelease [12.1 kB]
Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
Get:4 https://deb.nodesource.com/node_20.x nodistro/main armhf Packages [4,508 B]
Fetched 16.6 kB in 2s (9,336 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ sudo apt install nodejs -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
libfuse2
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
nodejs
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 28.1 MB of archives.
After this operation, 185 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_20.x nodistro/main armhf nodejs armhf 20.10.0-1nodesource1 [28.1 MB]
Fetched 28.1 MB in 7s (4,298 kB/s)
Selecting previously unselected package nodejs.
(Reading database ... 106663 files and directories currently installed.)
Preparing to unpack .../nodejs_20.10.0-1nodesource1_armhf.deb ...
Unpacking nodejs (20.10.0-1nodesource1) ...
Setting up nodejs (20.10.0-1nodesource1) ...
Processing triggers for man-db (2.9.4-2) ...
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ ls -l
total 36
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 20:48 Bookshelf
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Desktop
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Documents
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Downloads
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Music
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Pictures
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Public
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Templates
drwxr-xr-x 2 xxxxxxxx xxxxxxxx 4096 Dec 4 21:08 Videos
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ git clone https://github.com/MichMich/MagicMirror
Cloning into 'MagicMirror'...
remote: Enumerating objects: 25974, done.
remote: Counting objects: 100% (332/332), done.
remote: Compressing objects: 100% (184/184), done.
remote: Total 25974 (delta 162), reused 276 (delta 128), pack-reused 25642
Receiving objects: 100% (25974/25974), 21.84 MiB | 3.61 MiB/s, done.
Resolving deltas: 100% (16046/16046), done.
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $
xxxxxxxx@raspberrypi:~ $ cd MagicMirror/
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ npm run install-mm
> magicmirror@2.25.0 install-mm
> npm install --no-audit --no-fund --no-update-notifier --only=prod --omit=dev
npm WARN config only Use `--omit=dev` to omit dev dependencies from the install.
> magicmirror@2.25.0 postinstall
> npm run install-vendor && npm run install-fonts && echo "MagicMirror² installation finished successfully!
> "
> magicmirror@2.25.0 install-vendor
> echo "Installing vendor files ...
> " && cd vendor && npm install --loglevel=error --no-audit --no-fund --no-update-notifier
Installing vendor files ...
added 10 packages in 58s
> magicmirror@2.25.0 install-fonts
> echo "Installing fonts ...
> " && cd fonts && npm install --loglevel=error --no-audit --no-fund --no-update-notifier
Installing fonts ...
added 2 packages in 5s
MagicMirror² installation finished successfully!
> magicmirror@2.25.0 prepare
> [ -f node_modules/.bin/husky ] && husky install || echo no husky installed.
no husky installed.
added 334 packages in 6m
npm notice
npm notice New patch version of npm available! 10.2.3 -> 10.2.5
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.5
npm notice Run npm install -g npm@10.2.5 to update!
npm notice
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ sudo npm install -g npm@10.2.5
removed 11 packages, and changed 44 packages in 20s
28 packages are looking for funding
run `npm fund` for details
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ cp config/config.js.sample config/config.js
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ sudo dphys-swapfile swapoff
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ sudo nano /etc/dphys-swapfile
xxxxxxxx@raspberrypi:~/MagicMirror $ sudo dphys-swapfile setup
want /var/swap=1024MByte, checking existing: deleting wrong size file (104857600), generating swapfile ... of 1024MBytes
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ sudo dphys-swapfile swapon
xxxxxxxx@raspberrypi:~/MagicMirror $
xxxxxxxx@raspberrypi:~/MagicMirror $ npm run start
> magicmirror@2.25.0 start
> DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
[20.12.2023 10:38.28.775] [LOG] Starting MagicMirror: v2.25.0
[20.12.2023 10:38.28.794] [LOG] Loading config ...
[20.12.2023 10:38.28.803] [DEBUG] config template file not exists, no envsubst
[20.12.2023 10:38.28.826] [LOG] Loading module helpers ...
[20.12.2023 10:38.28.832] [LOG] No helper found for module: alert.
[20.12.2023 10:38.28.914] [LOG] Initializing new module helper ...
[20.12.2023 10:38.28.916] [LOG] Module helper loaded: updatenotification
[20.12.2023 10:38.28.924] [LOG] No helper found for module: clock.
[20.12.2023 10:38.29.661] [LOG] Initializing new module helper ...
[20.12.2023 10:38.29.664] [LOG] Module helper loaded: calendar
[20.12.2023 10:38.29.669] [LOG] No helper found for module: compliments.
[20.12.2023 10:38.29.673] [LOG] No helper found for module: weather.
[20.12.2023 10:38.30.106] [LOG] Initializing new module helper ...
[20.12.2023 10:38.30.107] [LOG] Module helper loaded: newsfeed
[20.12.2023 10:38.30.108] [LOG] All module helpers loaded.
[20.12.2023 10:38.30.132] [LOG] Starting server on port 8080 ...
[20.12.2023 10:38.33.155] [LOG] Server started ...
[20.12.2023 10:38.33.158] [LOG] Connecting socket for: updatenotification
[20.12.2023 10:38.33.160] [LOG] Starting module helper: updatenotification
[20.12.2023 10:38.33.162] [LOG] Connecting socket for: calendar
[20.12.2023 10:38.33.163] [LOG] Starting node helper for: calendar
[20.12.2023 10:38.33.164] [LOG] Connecting socket for: newsfeed
[20.12.2023 10:38.33.166] [LOG] Starting node helper for: newsfeed
[20.12.2023 10:38.33.167] [LOG] Sockets connected & modules started ...
[20.12.2023 10:38.33.488] [LOG] Launching application.
[2832:1220/103835.520076:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
../../buildtools/third_party/libc++/trunk/include/vector:1473: assertion __n < size() failed: vector[] index out of bounds[2832:1220/103909.594196:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=6
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
[2901:1220/103920.340951:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.092737:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.108810:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.123298:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.139159:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.155662:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.171791:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.186838:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.202814:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.218720:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.234435:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.248651:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.277456:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[2901:1220/103921.288642:ERROR:shared_image_manager.cc(217)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
../../buildtools/third_party/libc++/trunk/include/vector:1473: assertion __n < size() failed: vector[] index out of bounds[2832:1220/103926.104153:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=6
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
[2876:1220/103933.639804:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
../../buildtools/third_party/libc++/trunk/include/vector:1473: assertion __n < size() failed: vector[] index out of bounds[2832:1220/103942.045012:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=6
[20.12.2023 10:40.52.148] [LOG] Create new calendarfetcher for url: https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics - Interval: 3600000
[20.12.2023 10:40.55.368] [LOG] Create new newsfetcher for url: https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
[20.12.2023 10:40.55.898] [INFO] Checking git for module: MagicMirror
[20.12.2023 10:41.13.460] [INFO] Calendar-Fetcher: Broadcasting 13 events from https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics.
[20.12.2023 10:41.18.983] [INFO] Newsfeed-Fetcher: Broadcasting 25 items.
^C^C^C^C/home/xxxxxxxx/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
xxxxxxxx@raspberrypi:~/MagicMirror $ ^C
Also, for clarity in case I am not communicating it correctly:
DOES NOT work:
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},
DOES work:
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
fetchInterval: 7 * 24 * 60 * 60 * 1000,
calendars: [
{
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},