MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. UncleRoger
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 16
    • Posts 106
    • Groups 0

    Posts

    Recent Best Controversial
    • Difficulty getting MMM-Transitfeed working

      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?

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @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.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @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.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      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.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @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.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @sdetweil
      Do modules each have their own timer or does resetting the timer in one module affect another?

      I ask because I have MMM-BackgroundSlideshow set to change pictures each hour and MMM-SendNotification set to send a notification to MMM-Pages to switch to page 1 every 5 minutes. But in this setup, the picture never changes. My hypothesis is that when SendNotification resets the timer after 5 minutes, that affects BGSS which then never gets to 1 hour to switch to the next picture.

      If I change BGSS to change pictures every 1 minute (or less than 5 minutes), the picture does change as expected.

      Mind you, it’s probably something I’ve done that’s screwed it up, but I figured I’d ask about this first just to eliminate it as the source of the issue.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @sdetweil
      I made that change and it does indeed work as I’d hoped. This is totally awesome!

      Thank you!

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @sdetweil
      You truly are amazing!

      Am I right in thinking that if I change this:

            } else if(topic==this.config.notification){
      

      to this:

            } else if(topic==this.config.resetNotification){
      

      and put this in the config:

      resetNotification: "DIFF_NOTIF",
      

      in addition to the notification: setting, then I can have it reset when a different notification is received? And I’m assuming all modules get all the notifications?

      This would be so that if someone comes up and pushed the button to switch to the info display close to the end of the timer, it will reset it so they have time to look at what they want.

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Simple(?) module to send a notification every x minutes?

      @sdetweil
      That worked! Thank you so much!

      Now I am just being cheeky but if you are bored and want to add a feature, it would be great to be able to reset the timer based on a notification. (In my case, if MMM-Keypress sends a PAGE_INCREMENT notification to change pages, restart the timer from that point.)

      Anyway, I am getting really close to having everything the way I want it and am hoping that I can build an actual frame for the mirror and mount it next week and I couldn’t have done it without all your help (and so many others, like @MMRIZE and everyone who wrote the modules I’m using.) So, really, thank you!

      posted in Requests
      UncleRogerU
      UncleRoger
    • RE: Module list updates since the beginning of November

      @KristjanESPERANTO

      As a heads up, MMM-SFMuniBusTimes (https://github.com/vikramraja1995/MMM-SFMuniBusTimes) no longer works due to Muni switching APIs. I’ve looked at it and have info about the new API but, honestly, I’m like a bumblebee in the deep end of a swimming pool.

      posted in General Discussion
      UncleRogerU
      UncleRoger
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 10
    • 11
    • 5 / 11