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 103
    • Groups 0

    Posts

    Recent Best Controversial
    • MM not showing on internal monitor after fixuppm2

      I set up MM on a Pi Zero 2 and told the install script to not start MM on boot because I wanted to be able to play with it from the command line. Now that I’ve got it mostly where it needs to be, I tried to switch to having it start at boot using the fixuppm2.sh script.

      Now it seems to be running after a reboot (I can access it from a web browser on another system) but nothing shows on the attached screen.

      It’s a Pi Zero 2w attached to a 7" LCD screen from Amazon using HDMI.

      In config.js, I have this set up:

      let config = {
              address: "192.168.xxx.xxx",     // Address to listen on, can be:
              address: "0.0.0.0",     // Address to listen on, can be:
                                                              // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                                                              // - another specific IPv4/6 to listen on a specific interface
                                                              // - "0.0.0.0", "::" to listen on any interface
                                                              // Default, when address config is left out or empty, is "localhost"
              port: 8080,
              basePath: "/",  // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
                                                                              // you must set the sub path here. basePath must end with a /
              ipWhitelist: ["127.0.0.1", "192.168.xxx.0/24"], // Set [] to allow all IP addresses
      

      On the other MM I’m working on (Pi 4), I use this to start it:

      mmstart ()
      {
          cd $HOME/MagicMirror;
          DISPLAY=:0 npm start
      }
      

      Am I missing the “DISPLAY=:0” somewhere?

      Thanks!

      posted in Troubleshooting
      UncleRogerU
      UncleRoger
    • RE: My kitchen dashboard (incomplete)

      @brentmatthews said in My kitchen dashboard (incomplete):

      I am also thinking of going to a pages scenario where the clock mainly shows with a background image all the time until the pi is triggered somehow to show the other modules.

      I am working on a MM project as well and I’m using MMM-Pages with a macro keypad from AliExpress (Like this: https://www.aliexpress.us/item/3256806121717796.html) and MMM-Keypress (https://github.com/ItsMeBrille/MMM-Keypress) to control it. You could also use an inexpensive external numeric keypad or even just a keyboard.

      posted in Show your Mirror
      UncleRogerU
      UncleRoger
    • 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
    • 1 / 1