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.

    how to update my MM

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    45 Posts 3 Posters 17.5k Views 3 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.
    • mumblebajM Offline
      mumblebaj Module Developer @sdetweil
      last edited by

      @sdetweil said in how to update my MM:

      what? check if what exist?

      What I was referring to is for a single script to run, check if MagicMirror exist, check version and upgrade if not on the latest, if not exist then do a fresh install. This way whoever runs your script does not run the wrong one. Just a suggestion.

      Check out my modules at: https://github.com/mumblebaj?tab=repositories
      Check my blog-post: https://mumblebaj.xyz/
      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

        @rikko14 look in the pm2 logs output

        search for Cannot find module

        sorry for the dual use of the word module. NPM calls the library a module and MagicMirror calls its app a module…

        after that string, there will be a name in quotes ‘request’ or ‘valid-url’, or maybe something else

        on one of the next lines will be a file path

        MagicMirror/modules/??? some MagicMirror module name

        THAT is the MagicMirror module which is missing the library found in the 'Cannot find module ’ message above

        So, navigate to that MagicMirror module folder

        cd ~/MagicMirror/modules/modulename 
        

        and then look for the package.json file

        ls package.json
        

        if you get ‘No such file or directory’ in response to the ls command, then create the file by doing

        npm init -y
        

        next step,

        npm install ???
        where ??? is the name of the missing library in the message ’ Cannot find module ’

        done for this library for this MM module

        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 @mumblebaj
          last edited by

          @mumblebaj oh… no… don’t want to get into that

          they are two distinct functions… users have to learn sometime

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          mumblebajM 1 Reply Last reply Reply Quote 0
          • mumblebajM Offline
            mumblebaj Module Developer @sdetweil
            last edited by

            @sdetweil :-) I understand. But it would make your life easier with running the wrong script, messing up their install and you having to go through a 100 different things for them to do to get it fixed… :-)

            Check out my modules at: https://github.com/mumblebaj?tab=repositories
            Check my blog-post: https://mumblebaj.xyz/
            Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

              @mumblebaj they can’t mess up their install …

              install aborted as already present

              upgrade won’t change anything unless you ask for it.
              and it won’t try to upgrade to the same version, unless you report it and I tell you how to get around it.
              (I am constantly finding things that users don’t understand, and trying to make life easier as best I can)

              this particular problem is unrelated to the scripts…

              it was caused by a networking problem I can’t fix.
              and I don’t know if all this will work .

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • R Offline
                RIKKO14
                last edited by

                I do this for the first modul :

                pi@raspberrypi:~ $ cd ~/MagicMirror/modules/MMM-DHT-Sensor
                pi@raspberrypi:~/MagicMirror/modules/MMM-DHT-Sensor $ ls package.json
                package.json
                pi@raspberrypi:~/MagicMirror/modules/MMM-DHT-Sensor $ 
                
                

                i do this : npm init -y ?

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

                  @rikko14 no. the file exists.

                  only do npm init -y if the file does NOT exist

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    RIKKO14
                    last edited by

                    @sdetweil as you told me, I do cd ~/MagicMirror/modules/modulename for each module.
                    I found an error in the last module : MMM-WeatherOrNot, a module that I no longer use so I deleted it with the command : cd ~ / MagicMirror and rm -rf modules / MMM-WeatherOrNot then i redid pm2 save and pm2 start 0 and turned the MM off and on again with ~ 1 minute but I still have a black screen and an electron problem.
                    what to do ?
                    2022-01-14-090544_1080x1920_scrot.png

                    mumblebajM 1 Reply Last reply Reply Quote 0
                    • mumblebajM Offline
                      mumblebaj Module Developer @RIKKO14
                      last edited by mumblebaj

                      @rikko14 Can you run the following command and post the output please?

                      grep -r -E '('request')' ~/MagicMirror/modules/*/*.js
                      

                      Or post the pm2 logs again? There must be a module that is missing a module as per what Sam advised previously. Let us see if we can find the module that is broken.

                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                      Check my blog-post: https://mumblebaj.xyz/
                      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                      1 Reply Last reply Reply Quote 0
                      • R Offline
                        RIKKO14
                        last edited by

                        pi@raspberrypi:~ $ grep -r -E '('request')' ~/MagicMirror/modules/*/*.js
                        /home/pi/MagicMirror/modules/MMM-Jast/node_helper.js:(()=>{"use strict";var e={944:function(e,t,o){var r=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(n,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=o(543),i=o(61);e.exports=n.create({start(){console.log(`${this.name} helper method started...`)},requestStocks(e){return r(this,void 0,void 0,(function*(){let t=[];for(const o of e.stocks)try{const{summaryDetail:e,price:r}=yield i.default.quoteSummary(o.symbol);if(e&&r){const n={symbol:o.symbol,name:o.name,quantity:o.quantity};t.push({summaryDetail:e,price:r,meta:n})}}catch(e){console.error("There was an error requesting the API.",e.message)}return t}))},socketNotificationReceived(e,t){return r(this,void 0,void 0,(function*(){if(e){const e=yield this.requestStocks(t);this.sendSocketNotification("STOCKS_RESULT",e)}else console.warn(`${e} is invalid notification`)}))}})},543:e=>{e.exports=require("node_helper")},61:e=>{e.exports=require("yahoo-finance2")}},t={},o=function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,o),i.exports}(944);module.exports=o})();
                        /home/pi/MagicMirror/modules/MMM-MovieListings/node_helper.js:var request = require('request');
                        /home/pi/MagicMirror/modules/MMM-MovieListings/node_helper.js:    request(
                        /home/pi/MagicMirror/modules/MMM-MovieListings/node_helper.js:    request(
                        /home/pi/MagicMirror/modules/MMM-MovieListings/node_helper.js:        request(
                        /home/pi/MagicMirror/modules/MMM-soccer/MMM-soccer.js:     * @description Adds nunjuck filters and requests for league data.
                        /home/pi/MagicMirror/modules/MMM-soccer/MMM-soccer.js:     * @description Sends request to the node_helper to fetch data for the current selected league.
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js: * @external request
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js: * @see https://www.npmjs.com/package/request
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js:const request = require('request');
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js: * @requires external:request
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js:     * @param {Object} options - request optionsthe notification.
                        /home/pi/MagicMirror/modules/MMM-soccer/node_helper.js:        request(options, (error, response, body) => {
                        /home/pi/MagicMirror/modules/MMM-TomTomTraffic/MMM-TomTomTraffic.js:    // Instead, on the first dom request, add a <script> tag and trigger a dom refresh
                        pi@raspberrypi:~ $ 
                        
                        
                        

                        I do not remember anymore how to post the pm2 logs

                        mumblebajM 1 Reply Last reply Reply Quote 0
                        • mumblebajM Offline
                          mumblebaj Module Developer @RIKKO14
                          last edited by

                          @rikko14 So now you now that 2 modules require the module request. Please run the following scripts so we can determine which modules do not have request installed and post the output.

                          find ~/MagicMirror/modules/* -type d -name request
                          

                          Check out my modules at: https://github.com/mumblebaj?tab=repositories
                          Check my blog-post: https://mumblebaj.xyz/
                          Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            RIKKO14
                            last edited by RIKKO14

                            @mumblebaj

                            pi@raspberrypi:~ $ find ~/MagicMirror/modules/* -type d -name request
                            /home/pi/MagicMirror/modules/MMM-MovieListings/node_modules/request
                            /home/pi/MagicMirror/modules/MMM-NowPlayingOnSpotify/node_modules/request
                            /home/pi/MagicMirror/modules/MMM-NowPlayingOnSpotify/node_modules/npm/node_modules/request
                            pi@raspberrypi:~ $ 
                            
                            
                            mumblebajM 1 Reply Last reply Reply Quote 0
                            • mumblebajM Offline
                              mumblebaj Module Developer @RIKKO14
                              last edited by

                              @rikko14 From this output, their is one module that uses the request module that is not listed. In that module folder you now need to go and install request using the steps that Sam provided you.

                              Check out my modules at: https://github.com/mumblebaj?tab=repositories
                              Check my blog-post: https://mumblebaj.xyz/
                              Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                RIKKO14
                                last edited by

                                @mumblebaj i do this :

                                pi@raspberrypi:~ $ find ~/MagicMirror/modules/* -type d -name request
                                /home/pi/MagicMirror/modules/MMM-MovieListings/node_modules/request
                                /home/pi/MagicMirror/modules/MMM-NowPlayingOnSpotify/node_modules/request
                                /home/pi/MagicMirror/modules/MMM-NowPlayingOnSpotify/node_modules/npm/node_modules/request
                                pi@raspberrypi:~ $ cd ~/MagicMirror/modules/MMM-NowPlayingOnSpotify
                                pi@raspberrypi:~/MagicMirror/modules/MMM-NowPlayingOnSpotify $ ls package.json
                                package.json
                                pi@raspberrypi:~/MagicMirror/modules/MMM-NowPlayingOnSpotify $ npm init -y
                                Wrote to /home/pi/MagicMirror/modules/MMM-NowPlayingOnSpotify/package.json:
                                
                                {
                                  "name": "mmm-nowplayingonspotify",
                                  "version": "1.0.0",
                                  "description": "A module for MagicMirror 2 displaying the currently playing song on Spotify.",
                                  "repository": {
                                    "type": "git",
                                    "url": "git+https://github.com/raywo/MMM-NowPlayingOnSpotify.git"
                                  },
                                  "keywords": [
                                    "magic mirror",
                                    "magic mirror 2",
                                    "smart mirror",
                                    "spotify",
                                    "module"
                                  ],
                                  "author": "raywo <ray@skillbird.de> (https://github.com/raywo)",
                                  "contributors": [
                                    "https://github.com/raywo/MMM-NowPlayingOnSpotify/graphs/contributors"
                                  ],
                                  "license": "MIT",
                                  "bugs": {
                                    "url": "https://github.com/raywo/MMM-NowPlayingOnSpotify/issues"
                                  },
                                  "homepage": "https://github.com/raywo/MMM-NowPlayingOnSpotify",
                                  "engines": {
                                    "node": ">=7"
                                  },
                                  "dependencies": {
                                    "cookie-parser": "1.4.3",
                                    "express": "~4.16.0",
                                    "moment-duration-format": "^2.2.2",
                                    "npm": "^5.7.1",
                                    "querystring": "~0.2.0",
                                    "request": "^2.83.0",
                                    "request-promise-native": "^1.0.5",
                                    "body-parser": "^1.18.2"
                                  },
                                  "main": "MMM-NowPlayingOnSpotify.js",
                                  "devDependencies": {},
                                  "scripts": {
                                    "test": "echo \"Error: no test specified\" && exit 1"
                                  }
                                }
                                
                                
                                pi@raspberrypi:~/MagicMirror/modules/MMM-NowPlayingOnSpotify $ cd ~/MagicMirror/modules/MMM-MovieListings
                                pi@raspberrypi:~/MagicMirror/modules/MMM-MovieListings $ ls package.json
                                package.json
                                pi@raspberrypi:~/MagicMirror/modules/MMM-MovieListings $ npm init -y
                                Wrote to /home/pi/MagicMirror/modules/MMM-MovieListings/package.json:
                                
                                {
                                  "name": "mmm-movielistings",
                                  "version": "1.0.0",
                                  "description": "MagicMirror module for current movie listing playing in theaters",
                                  "main": "MMM-MovieListings.js",
                                  "scripts": {
                                    "test": "echo \"Error: no test specified\" && exit 1"
                                  },
                                  "author": "Christian Jens",
                                  "license": "MIT",
                                  "dependencies": {
                                    "request": "^2.81.0"
                                  },
                                  "devDependencies": {},
                                  "repository": {
                                    "type": "git",
                                    "url": "git+https://github.com/Tueti/MMM-MovieListings.git"
                                  },
                                  "keywords": [],
                                  "bugs": {
                                    "url": "https://github.com/Tueti/MMM-MovieListings/issues"
                                  },
                                  "homepage": "https://github.com/Tueti/MMM-MovieListings#readme"
                                }
                                
                                
                                pi@raspberrypi:~/MagicMirror/modules/MMM-MovieListings $ 
                                
                                

                                but the problem remains the same (black screen et Electron problem)

                                mumblebajM 1 Reply Last reply Reply Quote 0
                                • R Offline
                                  RIKKO14
                                  last edited by

                                  any solutions ?

                                  mumblebajM 1 Reply Last reply Reply Quote 0
                                  • mumblebajM Offline
                                    mumblebaj Module Developer @RIKKO14
                                    last edited by

                                    @rikko14 You are missing the steps the sdeitwel provided. If the pacskage.json exists then you DO NOT run the npm init -y command. You must only run the npm install request command. You would or should have noticed that MMM-MovieListings already has request installed.

                                    Check out my modules at: https://github.com/mumblebaj?tab=repositories
                                    Check my blog-post: https://mumblebaj.xyz/
                                    Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                                    1 Reply Last reply Reply Quote 0
                                    • mumblebajM Offline
                                      mumblebaj Module Developer @RIKKO14
                                      last edited by

                                      @rikko14 Just a final hint. The only module that seems to have a problem is MMM-soccer. You can check that module to see if it has a package.json. If it does then DO NOT run the npm init -y. However, looking at the MMM-soccer module on Github it has been updated to use node-fetch. You probably need to do a git pull && npm install in the MMM-soccer module folder to get the latest version of the module.

                                      Then start the mirror with pm2. pm2 start mm or however you start it with pm2. then pm2 stop and then pm2 log --lines 100 and post the log output if you are still experiencing the black screen.

                                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                                      Check my blog-post: https://mumblebaj.xyz/
                                      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                                      1 Reply Last reply Reply Quote 0

                                      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
                                      • 3
                                      • 3 / 3
                                      • 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