• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 1.0k 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.
  • S Away
    sdetweil @UncleRoger
    last edited by Jun 25, 2024, 10:41 AM

    @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

    U 2 Replies Last reply Jun 25, 2024, 7:05 PM Reply Quote 0
    • U Offline
      UncleRoger @sdetweil
      last edited by Jun 25, 2024, 7:05 PM

      @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 Jun 25, 2024, 7:17 PM Reply Quote 0
      • U Offline
        UncleRoger @sdetweil
        last edited by Jun 25, 2024, 7:14 PM

        @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 Away
          sdetweil @UncleRoger
          last edited by sdetweil Jun 25, 2024, 7:52 PM Jun 25, 2024, 7:17 PM

          @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

          U 1 Reply Last reply Jun 25, 2024, 8:03 PM Reply Quote 0
          • U Offline
            UncleRoger @sdetweil
            last edited by Jun 25, 2024, 8:03 PM

            @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 Jun 25, 2024, 8:35 PM Reply Quote 0
            • S Away
              sdetweil @UncleRoger
              last edited by Jun 25, 2024, 8:35 PM

              @UncleRoger correct the module’s folder

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              U 1 Reply Last reply Jun 25, 2024, 9:50 PM Reply Quote 0
              • U Offline
                UncleRoger @sdetweil
                last edited by Jun 25, 2024, 9:50 PM

                @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 Jun 25, 2024, 9:52 PM Reply Quote 0
                • S Away
                  sdetweil @UncleRoger
                  last edited by sdetweil Jun 25, 2024, 9:53 PM Jun 25, 2024, 9:52 PM

                  @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

                  U 1 Reply Last reply Jun 25, 2024, 10:12 PM Reply Quote 0
                  • U Offline
                    UncleRoger @sdetweil
                    last edited by Jun 25, 2024, 10:12 PM

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

                    S 1 Reply Last reply Jun 25, 2024, 11:52 PM Reply Quote 0
                    • S Away
                      sdetweil @UncleRoger
                      last edited by sdetweil Jun 26, 2024, 6:24 PM Jun 25, 2024, 11:52 PM

                      @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

                      U 1 Reply Last reply Jun 26, 2024, 6:17 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 2 / 4
                      2 / 4
                      • First post
                        20/31
                        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