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 15
    • Posts 101
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Difficulty getting MMM-Transitfeed working

      How to get MMM-transitfeed working on a new installation of MagicMirror (based on @sdetweil’s assistance)

      These are the steps I went through to get the module working after encountering version mismatch errors:

      Note that I was starting with a clean install of Raspberry PiOS. I made no changes prior to the steps outlined below:

      First, I installed MagicMirror using Sam Detweil’s script:

      bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
      

      Next, I installed the transitfeed module:

      {
        cd ~/MagicMirror/modules
        git clone https://github.com/bnitkin/MMM-transitfeed.git
      }
      

      Then this reset the libraries:

      {
        cd ~/MagicMirror
        rm -rf node_modules
        git checkout package.json
        git checkout package-lock.json
        npm run install-mm
      }
      

      I installed the electron rebuild package:

      npm install @electron/rebuild
      

      Next, I reset the module info:

      {
        cd ~/MagicMirror/modules/MMM-transitfeed
        rm -rf node_modules
        git checkout package.json
        git checkout package-lock.json
        npm install
      }
      

      At this point, I installed gtfs:

      {
        cd ~/MagicMirror/modules/MMM-transitfeed
        npm install gtfs
      }
      

      And lastly, I rebuilt sqlite3:

      {
        cd ~/MagicMirror/modules/MMM-transitfeed
        ../../node_modules/.bin/electron-rebuild
      }
      

      Here I added the default config from the module’s github page to my config.js and started the mirror. It worked!

      Many thanks to Sam for his patience, knowledge, and caring assistance.

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil said in Difficulty getting MMM-Transitfeed working:

      is this closeable?

      Definitely. Thanks again!

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil said in Difficulty getting MMM-Transitfeed working:

      ok, let see if wee can clean up and try again

      so we are going to reset the MM loaded libs and the module loaded libs

      That worked! Yay!

      Thank you so very much! I really appreciate all your help. You are truly amazing.

      My next step is to figure out how to get to the same point with my actual dev system before making the same changes to the production system. That and how to get it to work with my local transit system’s feeds.

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil
      It said “Rebuild Complete” but nothing about sqlite3.

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil

      Still no luck. 8^(

      I was getting a bunch of errors during the MM install which some googling suggested might be due to insufficient power (which is odd because I was using a big power supply) so I switched to an RPi power supply and still got the same errors. So maybe they’re somehow related? The errors are:

      During MM Install:

      (node:27144) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
      

      During the Electron stuff:

      (node:42678) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
      
      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil

      When you say “module folder”, you mean (in this case) ~/MagicMirror/modules/MMM-transitfeed not ~/MagicMirror/modules/ right? I’m pretty sure, but better safe than sorry.

      Thanks!

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil

      Could you check that I’m doing things correctly? These are the commands I’m using to get from a fresh OS to MM with transitfeed:

      # 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)"
      
      # NOTICE ON INSTALL: npm install -g npm@10.8.1
      
      # 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
      }
      
      # Rebuild Electron?
      
      {
        cd ~/MagicMirror
        npm install @electron/rebuild
        cd ~/MagicMirror/modules/MMM-transitfeed
        ../../node_modules/.bin/electron-rebuild
        cd ~/MagicMirror
      }
      

      Thanks so much for your help!

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil

      There is no joy in mudville.

      Here’s what I did with a fresh install of PiOS (Raspberry Pi 4 2gb):

      pi@MagicMirrorDev:~/MagicMirror $ history
          1  {   sudo apt update;   sudo apt full-upgrade; }
          2  bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
          3  sudo nmtui
          4  sudo shutdown -r now
          5  sudo nmtui
          6  sudu shutdown -r now
          7  sudo shutdown -r now
          8  {   cd ~/MagicMirror/modules;   git clone https://github.com/bnitkin/MMM-transitfeed.git; }
          9  cd ..
         10  {   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
             }
         11  {   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
             }
         12  {   sudo npm install -g n;   sudo n lts;   sudo n latest;   sudo n prune; }
         13  {   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
             }
         14  cd $HOME/MagicMirror;
         15  DISPLAY=:0 npm start
         16  npm run config:check
         17  DISPLAY=:0 npm start
         18  npm run config:check
         19  DISPLAY=:0 npm start
         20  npm run config:check
         21  DISPLAY=:0 npm start
         22  {   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; }
         23  {   cd ~/MagicMirror;   npm install @electron/rebuild; }
         24  {   cd ~/MagicMirror/modules/MMM-transitfeed;   ../../node_modules/.bin/electron-rebuild;   cd ~/MagicMirror; }
         25  DISPLAY=:0 npm start
         26  history
      pi@MagicMirrorDev:~/MagicMirror $
      

      The nmtui stuff is to set the IP address (which I did wrong a couple of times) and then I mucked up the config.js putting in the transitfeed module stuff.

      Here’s the log from trying to run it at the end (it’s basically the same):

      [2024-06-25 11:53:08.617] [LOG]   MMM-transitfeed: Importing with [object Object]
      [2024-06-25 11:53:08.649] [ERROR] (node:3464) 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-25 11:53:08.650] [ERROR] (node:3464) 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)
      

      I’m thinking I might give it another go from scratch without worrying about the IP address and catching all the output from each command.

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      Could it be hardware related? I’m not sure I have another Pi4 I can test with but I’ve got a Pi Zero 2 I could try. Would that be of any use?

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: Difficulty getting MMM-Transitfeed working

      @sdetweil

      Sadly, no. Same error.

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • 1 / 1