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.

    Add JS Code to the Mirror

    Scheduled Pinned Locked Moved Solved Troubleshooting
    33 Posts 5 Posters 15.4k Views 5 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 Offline
      sdetweil @stro
      last edited by

      @stro MagicMirror is a web page.
      It displays html. The modules generate a small section matching their requirements, and mm injects that onto the page in the configured position.

      The module can get it’s data from anywhere. API, file system, database.

      You have an API, which returns data, not html. Some code has to convert the data into displayable html

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 1
      • S Offline
        stro
        last edited by

        @sdetweil thanks for helping me.

        I have the code (pastebin) who put the data, i‘m looking for, in a HTML Output. If i open the html file like this

        file:///home/pi/MagicMirror/modules/test/mopidy.html
        

        everything is okay.

        But if open this HTML File with the Mirrorpath like this:

        localhost:8080/modules/test/mopidy.html
        

        It shows me nothing. And i wonder why.

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

          @stro open the developers window, ctrl-shift-i, select the console tab and scroll up to see any errors

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Offline
            stacywebb
            last edited by

            Check your

            mopidy.conf

            located at:

            ~/.config/mopidy/mopidy.conf
            

            Look for this section:

            [http]
            enabled = true
            hostname = 127.0.0.1
            port = 6680
            static_dir =
            zeroconf = Mopidy HTTP server on $hostname
            allowed_origins =
            csrf_protection = true
            

            Take note of the hostname part.
            If your’s looks like the above instead of using localhost in the url, use the ip address or host name of the mirror.

            Examples:
            mirror.local:8080/modules/test/mopidy.html
            or
            10.x.x.x:8080/modules/test/mopidy.html

            I tested the code you posted on pastebin and it works as expected for me.
            Only tested using the hostname of the Mirror from external browser. Not locally on the machine.

            1 Reply Last reply Reply Quote 0
            • S Offline
              stro
              last edited by stro

              I was able to solve that problem.
              MPD port was double busy. Apparently 2 instances of Mopidy were running.

              Now the module MMM-MPD runs under a few specials:

              During the installation the folder name has to be changed according to the config file.
              The config file value maxRows must not be 0!
              The display will only update after a song change!

              It was hard to find this specifics, but I thank everyone for the help!

              1 Reply Last reply Reply Quote 0
              • L Offline
                Leobo
                last edited by

                Thank You @stro, This work great. Im rename folder MMM-MPD to mod_client and move to MagicMirror module, From MagicMirror/module/mpd_client npm install and work.

                D 1 Reply Last reply Reply Quote 0
                • D Offline
                  dnj0104 @Leobo
                  last edited by

                  @Leobo said in Add JS Code to the Mirror:

                  Thank You @stro, This work great. Im rename folder MMM-MPD to mod_client and move to MagicMirror module, From MagicMirror/module/mpd_client npm install and work.

                  Something like this happens to me, but my module is from user coderpussy @github , pretty new fork, maybe I got some failure from moodeaudio devs, but I dont think, so anyway here is some of my errors.

                  if change folder name mmm-mpd to mpd_client errors in MM startup:
                  
                  alerts in MagicMirror startup:
                  WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: ReferenceError: NodeHelper is not defined
                      at Object.<anonymous> (/home/pi/MagicMirror/modules/mpd_client/node_helper.js:4:18)
                      at Module._compile (internal/modules/cjs/loader.js:786:30)
                      at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
                      at Module.load (internal/modules/cjs/loader.js:645:32)
                      at Function.Module._load (internal/modules/cjs/loader.js:560:12)
                      at Module.require (internal/modules/cjs/loader.js:685:19)
                      at require (internal/modules/cjs/helpers.js:16:16)
                      at loadModule (/home/pi/MagicMirror/js/app.js:134:17)
                      at loadNextModule (/home/pi/MagicMirror/js/app.js:169:5)
                      at /home/pi/MagicMirror/js/app.js:171:6
                  
                  change folder name from mmm-mpd to mpd-client:
                  Result: No errors in MM-startup but mpd-module does not start.
                  
                  **Looking for errors in MM-dev tools with folder named to mpd-module>** 
                  
                  Errors:
                  Load script: modules/mpd_client//mpd_client.js
                  :8080/modules/mpd_cl…nt//mpd_client.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
                  loader.js:186 Error on loading script: modules/mpd_client//mpd_client.js
                  
                  
                  module in mm-config array looks like 
                  this.
                  
                  {
                  		module: "mpd_client",
                  		position: "top_right",	// This can be any of the regions.
                  		config: {
                  			  // See 'Configuration options' for more information.
                  			hostname:"mpd@moodeaudio@rpi3b+=IPnumber)",
                  			port:6600 
                  			
                  		}
                          
                       },    
                  
                  
                  S 1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @dnj0104
                    last edited by

                    @dnj0104 there is probably more to the error message this also happens when there is some library required by a module not found at startup

                    u can also run

                    npm run config:check 
                    

                    to review any syntax errors in the config.js file

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    D 1 Reply Last reply Reply Quote 0
                    • D Offline
                      dnj0104 @sdetweil
                      last edited by

                      @sdetweil said in Add JS Code to the Mirror:

                      npm run config:check

                      in magicmirror/modules

                      or in magicmirror/modules/mpd-module ?

                      Thinks the whole module has to be rebuilt…

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

                        @dnj0104 in MagicMirror

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        D 1 Reply Last reply Reply Quote 0
                        • D Offline
                          dnj0104 @sdetweil
                          last edited by

                          @sdetweil

                          then I got

                          [2020-10-23 23:46:08.836] [INFO]   Checking file...  /home/pi/MagicMirror/config/config.js
                          [2020-10-23 23:46:09.049] [INFO]   Your configuration file doesn't contain syntax errors :)
                          
                          S 1 Reply Last reply Reply Quote 0
                          • S Offline
                            sdetweil @dnj0104
                            last edited by sdetweil

                            @dnj0104 ok, so the error that causes the default config to load is caused by some other problem.

                            missing module, or some other failure

                            can u show the MM startup messages (from the window where you do npm start)

                            a module consists of the folder name

                            MMM-MPD
                            

                            and its main js file

                            MMM-MPD.js
                            

                            and inside MMM-MPD.js is the module register statement

                            Module.register("MMM-MPD", {
                            

                            and in config.js

                              {
                                 module: 'MMM-MPD',
                            

                            this causes MM to look for the folder, filename and file contents in that order

                            SO, it SOUNDS like from a prior post, that the REAL name is

                            mod_client
                            

                            (so there must be the right folder name, file name and file contents of
                            mod_client

                            if so, you can rename the folder (mv is the rename command on linux)
                            then in config.js you need

                              module:'mod_client',
                            

                            see the topic ‘How to add modules’ in my signature

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            1 Reply Last reply Reply Quote 0
                            • D Offline
                              dnj0104
                              last edited by

                              @sdetweil said in Add JS Code to the Mirror:

                              mod_client

                              errors folder and file config.js (mmm-mpd) renamed to mod:

                              [2020-10-24 00:03:42.600] [ERROR]  WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: ReferenceError: NodeHelper is not defined
                                  at Object.<anonymous> (/home/pi/MagicMirror/modules/mod_client/node_helper.js:4:18)
                                  at Module._compile (internal/modules/cjs/loader.js:786:30)
                                  at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
                                  at Module.load (internal/modules/cjs/loader.js:645:32)
                                  at Function.Module._load (internal/modules/cjs/loader.js:560:12)
                                  at Module.require (internal/modules/cjs/loader.js:685:19)
                                  at require (internal/modules/cjs/helpers.js:16:16)
                                  at loadModule (/home/pi/MagicMirror/js/app.js:134:17)
                                  at loadNextModule (/home/pi/MagicMirror/js/app.js:169:5)
                                  at /home/pi/MagicMirror/js/app.js:171:6
                              [2020-10-24 00:03:42.601] [LOG]    Loading module helpers ...
                              [2020-10-24 00:03:42.602] [LOG]    No helper found for module: alert.
                              [2020-10-24 00:03:42.603] [LOG]    Initializing new module helper ...
                              [2020-10-24 00:03:42.604] [LOG]    Module helper loaded: updatenotification
                              [2020-10-24 00:03:42.605] [LOG]    No helper found for module: clock.
                              [2020-10-24 00:03:42.616] [LOG]    Initializing new module helper ...
                              [2020-10-24 00:03:42.617] [LOG]    Module helper loaded: calendar
                              [2020-10-24 00:03:42.618] [LOG]    No helper found for module: .
                              [2020-10-24 00:03:42.619] [LOG]    No helper found for module: currentweather.
                              [2020-10-24 00:03:42.620] [LOG]    No helper found for module: weatherforecast.
                              [2020-10-24 00:03:42.621] [LOG]    Initializing new module helper ...
                              [2020-10-24 00:03:42.621] [LOG]    Module helper loaded: newsfeed
                              [2020-10-24 00:03:42.623] [ERROR]  App threw an error during load
                              [2020-10-24 00:03:42.625] [ERROR]  ReferenceError: NodeHelper is not defined
                                  at Object.<anonymous> (/home/pi/MagicMirror/modules/mod_client/node_helper.js:4:18)
                                  at Module._compile (internal/modules/cjs/loader.js:786:30)
                                  at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
                                  at Module.load (internal/modules/cjs/loader.js:645:32)
                                  at Function.Module._load (internal/modules/cjs/loader.js:560:12)
                                  at Module.require (internal/modules/cjs/loader.js:685:19)
                                  at require (internal/modules/cjs/helpers.js:16:16)
                                  at loadModule (/home/pi/MagicMirror/js/app.js:134:17)
                                  at loadNextModule (/home/pi/MagicMirror/js/app.js:169:5)
                                  at /home/pi/MagicMirror/js/app.js:171:6
                              [2020-10-24 00:03:42.627] [ERROR]  Whoops! There was an uncaught exception...
                              [2020-10-24 00:03:42.628] [ERROR]  ReferenceError: NodeHelper is not defined
                                  at Object.<anonymous> (/home/pi/MagicMirror/modules/mod_client/node_helper.js:4:18)
                                  at Module._compile (internal/modules/cjs/loader.js:786:30)
                              

                              ------result---- dark—screen electron just showed black----------

                              roll back, Folder named to mod-client and in config.js and mpd_client.js to mod_client.
                              Result; electron start with no error all my modules shows, but not mod_client aka mpd_client

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

                                @dnj0104 what MM version are you running on? this problem was fixed in 2.10
                                do this
                                from the MM folder

                                cd ~/MagicMirror
                                git checkout modules/node_modules/node_helper/index.js
                                

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  dnj0104
                                  last edited by

                                  I got version 20.13.0

                                  from your git command i get output

                                  pi@raspberrypi:~/MagicMirror $ git checkout modules/node_modules/node_helper/index.js
                                  error: pathspec 'modules/node_modules/node_helper/index.js' did not match any file(s) known to git
                                  
                                  S 1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    sdetweil @dnj0104
                                    last edited by

                                    @dnj0104 can you do

                                    cd ~/MagicMirror
                                    grep version package.json
                                    

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    S 1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      dnj0104
                                      last edited by

                                      yes and and result is

                                      pi@raspberrypi:~/MagicMirror $ grep version package.json
                                      	"version": "2.13.0",
                                      
                                      S 1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        sdetweil @sdetweil
                                        last edited by

                                        @dnj0104 yeh, mess

                                        this module should be installed like this to make up for the name problem

                                        cd ~/ MagicMirror/modules
                                        git clone https://github.com/timjong93/MMM-MPD.git mpd_client
                                        cd mpd_client
                                        npm install
                                        

                                        then everything matches

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

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

                                          @dnj0104 thanks… so the git checkout would not have worked, sorry…

                                          try the install as I suggest above

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0
                                          • D Offline
                                            dnj0104 @sdetweil
                                            last edited by

                                            @sdetweil

                                            so then i throw mpd client folder in trash and follow your
                                            install instructions?

                                            because I believe there have been a problem when I first installed mpd_client, I did not been clear where the npm install should been placed, if you read in mpd-client readme.md maybe you understand, english is not my first language, and my linux-fu is below first grade :)

                                            S 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
                                            • 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