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 722 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.
    • P Offline
      philie
      last edited by

      Hello everyone.
      I had installed the above module and had no problems with it. I then had to reset the Raspi because of another problem (who knows, maybe the problems are linked, the file system was suddenly broken and behaved strangely).
      Anyway, I reinstalled all my modules, but the ModuleToggle doesn’t work anymore. The MM doesn’t even boot when the module is set to active.

      When installing dependencies I get the following message:

      philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ sudo npm install
      npm ERR! code ERESOLVE
      npm ERR! ERESOLVE could not resolve
      npm ERR!
      npm ERR! While resolving: MMM-ModuleToggleButton@1.0.0
      npm ERR! Found: stylelint@15.11.0
      npm ERR! node_modules/stylelint
      npm ERR!   peer stylelint@"15.x" from grunt-stylelint@0.19.0
      npm ERR!   node_modules/grunt-stylelint
      npm ERR!     dev grunt-stylelint@"latest" from the root project
      npm ERR!
      npm ERR! Could not resolve dependency:
      npm ERR! dev stylelint-config-standard@"latest" from the root project
      npm ERR!
      npm ERR! Conflicting peer dependency: stylelint@16.2.1
      npm ERR! node_modules/stylelint
      npm ERR!   peer stylelint@"^16.1.0" from stylelint-config-standard@36.0.0
      npm ERR!   node_modules/stylelint-config-standard
      npm ERR!     dev stylelint-config-standard@"latest" from the root project
      npm ERR!
      npm ERR! Fix the upstream dependency conflict, or retry
      npm ERR! this command with --force or --legacy-peer-deps
      npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
      npm ERR!
      npm ERR!
      npm ERR! For a full report see:
      npm ERR! /root/.npm/_logs/2024-02-13T20_26_05_190Z-eresolve-report.txt
      
      npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-13T20_26_05_190Z-debug-0.log
      philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $
      

      The pm2 log gives the following message when trying to start MM:

      /home/philie/.pm2/logs/MagicMirror-out.log last 15 lines:
      0|MagicMir | [13.02.2024 22:40.42.417] [LOG]   Loading module helpers ...
      0|MagicMir | [13.02.2024 22:40.42.421] [LOG]   No helper found for module: alert.
      0|MagicMir | [13.02.2024 22:40.42.446] [LOG]   Initializing new module helper ...
      0|MagicMir | [13.02.2024 22:40.42.448] [LOG]   Module helper loaded: updatenotification
      0|MagicMir | [13.02.2024 22:40.42.450] [LOG]   No helper found for module: clock.
      0|MagicMir | [13.02.2024 22:40.42.920] [LOG]   Initializing new module helper ...
      0|MagicMir | [13.02.2024 22:40.42.922] [LOG]   Module helper loaded: calendar
      0|MagicMir |
      0|MagicMir | > magicmirror@2.26.0 start
      0|MagicMir | > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
      0|MagicMir |
      0|MagicMir | [13.02.2024 22:44.30.792] [LOG]   Starting MagicMirror: v2.26.0
      0|MagicMir | [13.02.2024 22:44.30.817] [LOG]   Loading config ...
      0|MagicMir | [13.02.2024 22:44.30.824] [DEBUG] config template file not exists, no envsubst
      0|MagicMir | [13.02.2024 22:44.30.832] [LOG]   Loading module helpers ...
      
      /home/philie/.pm2/logs/MagicMirror-error.log last 15 lines:
      0|MagicMir |     at Module._compile (node:internal/modules/cjs/loader:1271:14)
      0|MagicMir |     at Object..js (node:internal/modules/cjs/loader:1326:10)
      0|MagicMir |     at Module.load (node:internal/modules/cjs/loader:1126:32)
      0|MagicMir |     at node:internal/modules/cjs/loader:967:12
      0|MagicMir |     at Function._load (node:electron/js2c/node_init:2:13357)
      0|MagicMir | (Use `electron --trace-warnings ...` to show where the warning was created)
      0|MagicMir | [13.02.2024 22:44.30.892] [ERROR] (node:4146) 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)
      0|MagicMir | Warning: vkCreateInstance: Found no drivers!
      0|MagicMir | Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
      0|MagicMir |     at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
      0|MagicMir |     at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
      0|MagicMir |     at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
      0|MagicMir |     at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
      0|MagicMir |     at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)
      0|MagicMir |
      
      

      I have already installed ‘onoff’ manually. That didn’t help either. Does anyone know how to interpret the error message?

      Many thanks in advance

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