Oops. I did the rebuild again. Still doesn’t say anything about the sqlite3 but it does say rebuild complete.
Thanks
Oops. I did the rebuild again. Still doesn’t say anything about the sqlite3 but it does say rebuild complete.
Thanks
Nothing about sqlite but it did say “Rebuild Complete”:
pi@MagicMirrorDev:~/MagicMirror $ {
cd ~/MagicMirror
npm install @electron/rebuild
cd ~/MagicMirror/modules/MMM-transitfeed
../../node_modules/.bin/electron-rebuild
cd ~/MagicMirror
}
added 81 packages in 11s
253 packages are looking for funding
run `npm fund` for details
✔ Rebuild Complete
pi@MagicMirrorDev:~/MagicMirror $
This time around, I didn’t do the sqlite update:
{
cd ~/MagicMirror
rm -r node_modules/better-sqlite3/
npm install better-sqlite3 --build-from-source --runtime=electron --target=26.4.3 --dist-url=https://electronjs.org/headers --force
}
But I don’t think it worked any better when I did. I’ll try that and then do the rebuild.
The MMM-transitfeed module directory:
{
cd ~/MagicMirror
npm install @electron/rebuild
cd ~/MagicMirror/modules/MMM-transitfeed
../../node_modules/.bin/electron-rebuild
cd ~/MagicMirror
}
I basically copy-and-pasted that.
I appreciate the help, as always… I wiped the system again, reinstalled the OS and MM, did the rebuild. Still the same error except the version numbers are different:
[2024-06-21 15:30:32.001] [ERROR] (node:53456) UnhandledPromiseRejectionWarning: Error: The module '/home/pi/MagicMirror/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 127. This version of Node.js requires
NODE_MODULE_VERSION 121. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
I should mention that this is on a Pi4 (probably 2gb) with no other modules installed.
Maybe it’s just not meant to be.
I gave that a bash and am still getting the same error. I even wiped the system and started from scratch just in case I’d done something to make things worse.
Re: MMM-transitfeed - upcoming departure board for most transit agencies
I tried to install this a while back but ran into problems. I had difficulty initially because when I tried to install it, I got a message back saying the gtfs stuff needed a newer node.js. I tried updating it and that went… badly. I managed to get things back the way they were and gave up for a bit. (Had a lot going on in my life at the time.)
I’ve decided to try again (I want to get it working for my son who goes to school/work on public transit) and this time I set up a fresh install. New Raspberry PiOS, new MM install, nothing else done. Here’s what I’ve done so far:
# Update system
sudo apt update
sudo apt full-upgrade
# Install MagicMirror
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
# update Node/NPM
sudo npm install -g n
sudo n lts
sudo n latest
sudo n prune
# Install transitfeed
cd ~/MagicMirror/modules
git clone https://github.com/bnitkin/MMM-transitfeed.git
# Install gtfs
cd ~/MagicMirror # Enter magicmirror project directory
npm uninstall gtfs-realtime-bindings # Now part of gtfs
npm install gtfs --save-dev # Force update to latest version
# Update better-sqlite3
cd ~/MagicMirror
rm -r node_modules/better-sqlite3/
npm install better-sqlite3 --build-from-source --runtime=electron --target=26.4.3 --dist-url=https://electronjs.org/headers --force
And here’s the error I’m getting:
[2024-06-21 11:14:44.933] [ERROR] (node:53839) UnhandledPromiseRejectionWarning: Error: The module '/home/pi/MagicMirror/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 116. This version of Node.js requires
NODE_MODULE_VERSION 121. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at process.func [as dlopen] (node:electron/js2c/node_init:2:2214)
at Module._extensions..node (node:internal/modules/cjs/loader:1343:18)
at Object.func [as .node] (node:electron/js2c/node_init:2:2214)
at Module.load (node:internal/modules/cjs/loader:1098:32)
at Module._load (node:internal/modules/cjs/loader:945:12)
at c._load (node:electron/js2c/node_init:2:13672)
at Module.require (node:internal/modules/cjs/loader:1122:19)
at require (node:internal/modules/helpers:130:18)
at bindings (/home/pi/MagicMirror/node_modules/bindings/bindings.js:112:48)
at new Database (/home/pi/MagicMirror/node_modules/better-sqlite3/lib/database.js:48:64)
at setupDb (file:///home/pi/MagicMirror/node_modules/gtfs/lib/db.js:10:14)
at openDb (file:///home/pi/MagicMirror/node_modules/gtfs/lib/db.js:31:12)
at Module.importGtfs (file:///home/pi/MagicMirror/node_modules/gtfs/lib/import.js:676:16)
at Class.startup (/home/pi/MagicMirror/modules/MMM-transitfeed/node_helper.js:48:29)
at async Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-transitfeed/node_helper.js:33:52)
(Use `electron --trace-warnings ...` to show where the warning was created)
[2024-06-21 11:14:44.934] [ERROR] (node:53839) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 8)
It seems like I need an even newer version of better_sqlite3? Or maybe an older version of node.js?
@MMRIZE said in Simple(?) module to send a notification every x minutes?:
@UncleRoger
Can you share your forked version?
I’d love to, but I’m not sure how. I mean, it’s a couple tiny changes…
It’s here: https://github.com/Unclearogre/MMM-SendNotification
I should update the readme before trying to put it back in the main one.
@sdetweil
I have the latest version. (I’ve also forked it to add a separate resetNotification but that’s not in place at the moment.)
Based on what I’ve read about setInterval, the two modules should not be interfering with each other and yet, they sure seem to be.
So a little more testing…
If the interval for BGSS is >= the interval for SN, BGSS never changes the image. That is, SN causes BGSS to be active so its timer should start and (assuming nothing else changes) it should switch pictures according to the set interval but it doesn’t.
If the interval for BGSS < the interval for SN, and BGSS is active, it changes the image as it should.
Suspending and resuming BGSS does reset its timer, but if it’s not suspended, and its interval is >= SN’s, then it doesn’t change the image.
@MMRIZE
Hmmm… That’s actually a good behaviour, in my case. If it’s not being shown, there’s no need to be changing the picture.
But even when it’s not suspended, i.e., the picture is shown, it doesn’t change if its interval is greater than the SendNotification interval.
If i disable SendNotification and manually switch to the picture (i.e., unsuspend BGSS), it will happily switch pictures every hour.