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.

    MMM-ModuleToggleButton suddenly broken?

    Scheduled Pinned Locked Moved Solved Troubleshooting
    15 Posts 2 Posters 1.2k 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 Offline
      sdetweil @philie
      last edited by

      @philie pm2 collects the data in separate files normal and error. it’s hard to tell

      do this

      pm2 stop all
      cd ~/MagicMirror
      npm start >somfile.txt 2>&1
      

      wait 20 seconds
      ctrl-q
      then edit somefile.txt

      after we go it then

      pm2 status
      pm2 start xx
      xx is the number or name of the managed app

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      P 1 Reply Last reply Reply Quote 0
      • P Offline
        philie @sdetweil
        last edited by

        @sdetweil
        Hey Sam,
        thank you for your help.

        Here is the demanded output:

        philie@magicmirror:~/MagicMirror $ npm start > debugger_log.txt 2>&1
        
        philie@magicmirror:~/MagicMirror $ cat debugger_log.txt
        
        > magicmirror@2.26.0 start
        > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
        
        [14.02.2024 21:14.35.291] [LOG]   Starting MagicMirror: v2.26.0
        [14.02.2024 21:14.35.303] [LOG]   Loading config ...
        [14.02.2024 21:14.35.315] [DEBUG] config template file not exists, no envsubst
        [14.02.2024 21:14.35.322] [LOG]   Loading module helpers ...
        [14.02.2024 21:14.35.380] [ERROR] (node:20831) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node'
        was compiled against a different Node.js version using
        NODE_MODULE_VERSION 115. This version of Node.js requires
        NODE_MODULE_VERSION 118. 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:2107)
            at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18)
            at Object.func [as .node] (node:electron/js2c/node_init:2:2107)
            at Module.load (node:internal/modules/cjs/loader:1126:32)
            at node:internal/modules/cjs/loader:967:12
            at Function._load (node:electron/js2c/node_init:2:13357)
            at Module.require (node:internal/modules/cjs/loader:1150:19)
            at require (node:internal/modules/cjs/helpers:121:18)
            at bindings (/home/philie/node_modules/bindings/bindings.js:112:48)
            at /home/philie/node_modules/epoll/epoll.js:7:31
            at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3)
            at Module._compile (node:internal/modules/cjs/loader:1271:14)
            at Object..js (node:internal/modules/cjs/loader:1326:10)
            at Module.load (node:internal/modules/cjs/loader:1126:32)
            at node:internal/modules/cjs/loader:967:12
            at Function._load (node:electron/js2c/node_init:2:13357)
        (Use `electron --trace-warnings ...` to show where the warning was created)
        [14.02.2024 21:14.35.382] [ERROR] (node:20831) 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: 2)
        /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
        

        So this tells me diretly that the version uf node.js is not sufficent.

        if I try to upgrade it using npm rebuild it looks like the following:

        philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ sudo npm rebuild
        npm ERR! code 127
        npm ERR! path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton
        npm ERR! command failed
        npm ERR! command sh -c node_modules/.bin/electron-rebuild -e ../../node_modules/electron
        npm ERR! sh: 1: node_modules/.bin/electron-rebuild: not found
        
        npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-14T20_16_30_701Z-debug-0.log
        

        How can I upgrade from 115 to 118?

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

          @philie yep, the tools aren’t installed
          and it needs more changes

          I won’t be able to get to it til later tonight
          but if you look at my fork for MMM-Buttons
          https://github.com/sdetweil/MMM-Buttons

          I added a postinstall action in package json and added the postinstall script

          you can run the postinstall without npm

          ./postinstall
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          P 1 Reply Last reply Reply Quote 0
          • P Offline
            philie @sdetweil
            last edited by

            @sdetweil
            Hey Sam
            Thank you very much.
            To keep it simple, I installed your MMM-Buttons. The postinstall Script did run and I got positive Feedback regarding rebuilding Electron.

            When i start MM after, I get still the same Error as before…

            philie@magicmirror:~/MagicMirror $ cat somfile.txt
            
            > magicmirror@2.26.0 start
            > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
            
            [15.02.2024 11:40.59.323] [LOG]   Starting MagicMirror: v2.26.0
            [15.02.2024 11:40.59.334] [LOG]   Loading config ...
            [15.02.2024 11:40.59.345] [DEBUG] config template file not exists, no envsubst
            [15.02.2024 11:40.59.353] [LOG]   Loading module helpers ...
            [15.02.2024 11:40.59.410] [ERROR] (node:1536) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node'
            was compiled against a different Node.js version using
            NODE_MODULE_VERSION 115. This version of Node.js requires
            NODE_MODULE_VERSION 118. 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:2107)
                at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18)
                at Object.func [as .node] (node:electron/js2c/node_init:2:2107)
                at Module.load (node:internal/modules/cjs/loader:1126:32)
                at node:internal/modules/cjs/loader:967:12
                at Function._load (node:electron/js2c/node_init:2:13357)
                at Module.require (node:internal/modules/cjs/loader:1150:19)
                at require (node:internal/modules/cjs/helpers:121:18)
                at bindings (/home/philie/node_modules/bindings/bindings.js:112:48)
                at /home/philie/node_modules/epoll/epoll.js:7:31
                at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3)
                at Module._compile (node:internal/modules/cjs/loader:1271:14)
                at Object..js (node:internal/modules/cjs/loader:1326:10)
                at Module.load (node:internal/modules/cjs/loader:1126:32)
                at node:internal/modules/cjs/loader:967:12
                at Function._load (node:electron/js2c/node_init:2:13357)
            (Use `electron --trace-warnings ...` to show where the warning was created)
            [15.02.2024 11:40.59.412] [ERROR] (node:1536) 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: 2)
            /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
            
            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @philie
              last edited by

              @philie ok, two things…

              1 lets fix the epoll problem.
              it seems that was installed accidentally in the wrong place as its outside the MagicMirror folder

              /home/philie/node_modules/epoll
              

              do

              cd ~
              rm -rf node_modules/epoll
              

              2 use my fork of the MMM-ModuleToggleButton module which fixes the install
              https://github.com/sdetweil/MMM-ModuleToggleButton

              remove the old module folder, clone my fork and npm install it

              cd ~/MagicMirror/modules
              rm -rf MMM-ModuleToggleButton
              git clone https://github.com/sdetweil/MMM-ModuleToggleButton
              cd MMM-ModuleToggleButton
              npm install
              

              let me know

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              P 1 Reply Last reply Reply Quote 0
              • P Offline
                philie @sdetweil
                last edited by

                @sdetweil
                Great! Module ist now installed fine and the test-confg (just the toggle module and another one to toggle activated) is working!

                Very much appreciated what you are doing for this community! Thank you!

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

                  @philie awesome!!!

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    philie
                    last edited by

                    @sdetweil said in MMM-ModuleToggleButton suddenly broken?:

                    cd MMM-ModuleToggleButton

                    Hey there, it’s me again with the same problem…

                    I did the MM Update to 2.28.0 by Script. Like usually some things are broken after and I did npm install and npm rebuild in the MM rootdirectory. It installed some stuff and looked good so far.

                    But the module MMM-ModuleToggleButton stays broken like after every update.
                    It has again something to do with electron, I tried to reinstall electron, but have no success…

                    The output:

                    philie@magicmirror:~/MagicMirror/modules $ git clone https://github.com/sdetweil/MMM-ModuleToggleButton
                    Cloning into 'MMM-ModuleToggleButton'...
                    remote: Enumerating objects: 44, done.
                    remote: Counting objects: 100% (4/4), done.
                    remote: Compressing objects: 100% (4/4), done.
                    remote: Total 44 (delta 0), reused 2 (delta 0), pack-reused 40
                    Receiving objects: 100% (44/44), 10.44 KiB | 1.30 MiB/s, done.
                    Resolving deltas: 100% (17/17), done.
                    philie@magicmirror:~/MagicMirror/modules $ cd MMM-ModuleToggleButton
                    philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ npm install
                    
                    > MMM-ModuleToggleButton@1.0.0 postinstall
                    > ./postinstall
                    
                    /home/philie/MagicMirror/modules/MMM-ModuleToggleButton
                    ./postinstall: line 8: ../../node_modules/.bin/electron-rebuild: No such file or directory
                    npm error code 127
                    npm error path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton
                    npm error command failed
                    npm error command sh -c ./postinstall
                    npm error A complete log of this run can be found in: /home/philie/.npm/_logs/2024-07-14T11_29_32_616Z-debug-0.log
                    philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $
                    

                    so, electron-rebuild in node_modules seems to be missing…

                    Indeed:

                    philie@magicmirror:~/MagicMirror/node_modules $ cd electron
                    philie@magicmirror:~/MagicMirror/node_modules/electron $ ll
                    total 1068
                    drwxr-xr-x   4 root   root     4096 Jul 14 13:20 .
                    drwxr-xr-x 679 philie philie  28672 Jul 14 13:10 ..
                    -rw-r--r--   1 root   root     8126 Jul 14 12:46 checksums.json
                    -rwxr-xr-x   1 root   root      612 Jul 14 12:46 cli.js
                    drwxr-xr-x   4 root   root     4096 Jul 14 12:48 dist
                    -rw-r--r--   1 root   root   972754 Jul 14 12:46 electron.d.ts
                    -rw-r--r--   1 root   root      659 Jul 14 12:46 index.js
                    -rw-r--r--   1 root   root     3178 Jul 14 12:46 install.js
                    -rw-r--r--   1 root   root     1096 Jul 14 12:46 LICENSE
                    drwxr-xr-x  70 root   root     4096 Jul 14 13:20 node_modules
                    -rw-r--r--   1 root   root      586 Jul 14 12:46 package.json
                    -rw-r--r--   1 root   root    31409 Jul 14 13:20 package-lock.json
                    -rw-r--r--   1 root   root        8 Jul 14 12:48 path.txt
                    -rw-r--r--   1 root   root     5370 Jul 14 12:46 README.md
                    

                    I did already the steps from last time (therefore I answer in this old topic) but no luck this time.
                    What can I do?

                    Thank you,
                    philie

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

                      @philie can you dump out the postinstall
                      file in the module folder…
                      it seems to be missing a step

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @philie I see the postinstall script needed an update

                        do a
                        git pull
                        in the module folder
                        then
                        npm install again

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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