MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Difficulty getting MMM-Transitfeed working

    Scheduled Pinned Locked Moved Solved Troubleshooting
    31 Posts 2 Posters 4.4k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • UncleRogerU Offline
      UncleRoger @UncleRoger
      last edited by

      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?

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @UncleRoger
        last edited by

        @UncleRoger its not hardware, but another try wouldn’t hurt

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        UncleRogerU 2 Replies Last reply Reply Quote 0
        • UncleRogerU Offline
          UncleRoger @sdetweil
          last edited by

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

          S 1 Reply Last reply Reply Quote 0
          • UncleRogerU Offline
            UncleRoger @sdetweil
            last edited by

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

            1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @UncleRoger
              last edited by sdetweil

              @UncleRoger ok, simpler

              flash sd card with
              use my script to install MM (do nothing before, it does the update and adds whats needed for MM)
              npm start to prove MagicMirror is working
              clone the module

              cd to the module folder and do the npm install and npm install gtfs (in module folder NOT MM folder!!)
              npm install gtfs --save-dev

              now, need electron rebuild
              cd …/… # magicmirror folder
              npm install @electron/rebuild
              cd - # go back to module folder
              …/…/node_modules/.bin/electron-rebuild
              wait, should show sqlite
              rebuild complete
              cd - # back to MM folder

              add the config entry for the module
              npm start

              should work

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              UncleRogerU 1 Reply Last reply Reply Quote 0
              • UncleRogerU Offline
                UncleRoger @sdetweil
                last edited by

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

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @UncleRoger
                  last edited by

                  @UncleRoger correct the module’s folder

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  UncleRogerU 1 Reply Last reply Reply Quote 0
                  • UncleRogerU Offline
                    UncleRoger @sdetweil
                    last edited by

                    @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
                    
                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @UncleRoger
                      last edited by sdetweil

                      @UncleRoger it’s an npm bug, nothing fatal

                      did you see the rebuild messages?

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      UncleRogerU 1 Reply Last reply Reply Quote 0
                      • UncleRogerU Offline
                        UncleRoger @sdetweil
                        last edited by

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

                        S 1 Reply Last reply Reply Quote 0
                        • S Offline
                          sdetweil @UncleRoger
                          last edited by sdetweil

                          @UncleRoger ok, let see if we can clean up and try again

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

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

                          when finished

                          npm install @electron/rebuild
                          

                          now the module

                          cd modules/MMM-Transitfeed
                          rm -rf node_modules
                          git checkout package.json
                          git checkout package-lock.json
                          npm install
                          

                          when finished

                          npm install btfs
                          

                          when finished

                          ../../node_modules/.bin/electron-rebuild
                          

                          Sam

                          How to add modules

                          learning how to use browser developers window for css changes

                          UncleRogerU 1 Reply Last reply Reply Quote 0
                          • UncleRogerU Offline
                            UncleRoger @sdetweil
                            last edited by

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

                            S 2 Replies Last reply Reply Quote 0
                            • S Offline
                              sdetweil @UncleRoger
                              last edited by

                              @UncleRoger said in Difficulty getting MMM-Transitfeed working:

                              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.

                              well, you can follow the steps from

                              npm install @electron/rebuild
                              onward

                              or you can follow all those steps… won’t hurt anything

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              1 Reply Last reply Reply Quote 0
                              • S Offline
                                sdetweil @UncleRoger
                                last edited by

                                @UncleRoger said in Difficulty getting MMM-Transitfeed working:

                                how to get it to work with my local transit system’s feeds.

                                that I have no clue on…

                                is this closeable?

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                UncleRogerU 1 Reply Last reply Reply Quote 0
                                • UncleRogerU Offline
                                  UncleRoger @sdetweil
                                  last edited by

                                  @sdetweil said in Difficulty getting MMM-Transitfeed working:

                                  is this closeable?

                                  Definitely. Thanks again!

                                  S 1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    sdetweil @UncleRoger
                                    last edited by

                                    @UncleRoger ok, another learning thing…

                                    find the message that best articulates the solution, click the 3 dots to the lower right and select “Mark this post as the correct answer”

                                    you open it, you close it…

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    UncleRogerU 1 Reply Last reply Reply Quote 0
                                    • UncleRogerU Offline
                                      UncleRoger @sdetweil
                                      last edited by

                                      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.

                                      1 Reply Last reply Reply Quote 0
                                      • UncleRogerU UncleRoger has marked this topic as solved on

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      • 1
                                      • 2
                                      • 2 / 2
                                      • First post
                                        Last post
                                      Enjoying MagicMirror? Please consider a donation!
                                      MagicMirror created by Michael Teeuw.
                                      Forum managed by Sam, technical setup by Karsten.
                                      This forum is using NodeBB as its core | Contributors
                                      Contact | Privacy Policy