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 2.1k 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 @sdetweil
      last edited by

      @sdetweil

      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.

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

        @UncleRoger don’t install sql again, else you have to rebuild again

        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

          Oops. I did the rebuild again. Still doesn’t say anything about the sqlite3 but it does say rebuild complete.

          Thanks

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

            @UncleRoger and? does it run.

            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

              Sadly, no. Same error.

              UncleRogerU 1 Reply Last reply Reply Quote 0
              • 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
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • 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