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.

    Again -- MMM-Navigate can't get installed.

    Scheduled Pinned Locked Moved Solved Troubleshooting
    20 Posts 3 Posters 2.9k 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.
    • C Offline
      crowimu @sdetweil
      last edited by

      @sdetweil
      Thank you for your hint, ist somehow worked, but now I get this error, when starting:

      [2025-02-28 16:14:25.717] [LOG]   MMM-Navigate, listen on GPIO PINs (BCM): 16,20,21
      [2025-02-28 16:14:25.726] [ERROR] Whoops! There was an uncaught exception...
      [2025-02-28 16:14:25.748] [ERROR] Error: EINVAL: invalid argument, write
          at Object.writeFileSync (node:fs:2367:20)
          at exportGpio (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_modules/onoff/onoff.js:18:8)
          at new Gpio (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_modules/onoff/onoff.js:172:36)
          at Class.intializeRotary (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_helper.js:36:15)
          at Class.socketNotificationReceived (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_helper.js:110:10)
          at Socket.<anonymous> (/home/dietpi/MagicMirror/js/node_helper.js:91:10)
          at Socket.onevent (/home/dietpi/MagicMirror/node_modules/socket.io/dist/socket.js:462:26)
          at Socket._onpacket (/home/dietpi/MagicMirror/node_modules/socket.io/dist/socket.js:430:22)
          at /home/dietpi/MagicMirror/node_modules/socket.io/dist/client.js:214:24
          at process.processTicksAndRejections (node:internal/process/task_queues:77:11) {
        errno: -22,
        code: 'EINVAL',
        syscall: 'write'
      }
      
      
      S R 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @crowimu
        last edited by

        @crowimu ok, now i dont know. if pi5 it would be new way for gpio

        but pi2 i dont know, module author would gave to help

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • R Offline
          rkorell @crowimu
          last edited by rkorell

          @crowimu
          I‘m not using this module and I do not know which of GPIO‘s you are using for your rotary encoder -
          In the module‘s description the author mentioned an eventually necessary modification for some of the PI‘s:

          On some Raspberry Pis it is neccesary to put the following line to /boot/config.txt for the GPIO where "rotary press (SW)" is connected:
          
          gpio=19=ip,pu
          
          Background: Sets your GPIO 19 as input (ip) and pull up (pu) Change the entry according to the GPIO pin you use.
          
          

          Have you double checked this?
          Your error-listing shows „invalid argument , write“ in some context to GPIO…
          May there is a topic for further investigation….

          Good luck!
          Regards,
          Ralf

          C 1 Reply Last reply Reply Quote 1
          • C Offline
            crowimu @rkorell
            last edited by

            @rkorell said in Again -- MMM-Navigate can't get installed.:

            gpio=19=ip,pu

            Thanks for your help, , but it did not solve the error.
            I still get:

            [2025-02-28 22:27:10.007] [ERROR] Whoops! There was an uncaught exception...
            [2025-02-28 22:27:10.011] [ERROR] Error: EINVAL: invalid argument, write
                at Object.writeFileSync (node:fs:2427:20)
                at exportGpio (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_modules/onoff/onoff.js:18:8)
                at new Gpio (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_modules/onoff/onoff.js:172:36)
                at Class.intializeRotary (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_helper.js:36:15)
                at Class.socketNotificationReceived (/home/dietpi/MagicMirror/modules/MMM-Navigate/node_helper.js:110:10)
                at Socket.<anonymous> (/home/dietpi/MagicMirror/js/node_helper.js:91:10)
                at Socket.onevent (/home/dietpi/MagicMirror/node_modules/socket.io/dist/socket.js:462:26)
                at Socket._onpacket (/home/dietpi/MagicMirror/node_modules/socket.io/dist/socket.js:430:22)
                at /home/dietpi/MagicMirror/node_modules/socket.io/dist/client.js:214:24
                at process.processTicksAndRejections (node:internal/process/task_queues:85:11) {
              errno: -22,
              code: 'EINVAL',
              syscall: 'write'
            }
            [2025-02-28 22:27:10.012] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
            [2025-02-28 22:27:10.013] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues
            
            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @crowimu
              last edited by

              @crowimu and you rebooted?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @sdetweil Yes, sure. I assume there must have been a change in the GPIO handling, but have not figured out where. :(

                R 3 Replies Last reply Reply Quote 0
                • R Offline
                  rkorell @crowimu
                  last edited by

                  @crowimu
                  Only thing that comes in my mind that you have either put cable on wrong GPIO or cable is broken.

                  Screenshot 2025-03-01 195116.png

                  As per default you have either to use GPIOPins: [26,20,19]//rotary cw, rotary ccw, rotary press (BCM Numbering - marked yellow in the above picture) or (if occupied) enter the correct BCM (!) numbers in config of module.

                  If this is all correct, module should work.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    rkorell @crowimu
                    last edited by rkorell

                    @crowimu Last thought - after some googeling…
                    Axled (the author has a thread about his module.
                    In one of his posting he stated
                    “rotation and click (Button press) uses the same library (onOff).”.

                    “node_modules/onoff/onoff” is part of your error-listing.

                    So I can imagine you need this onoff -library to read the GPIO-output.
                    Further research on this let me assume that onoff in some kind is associated to node.js (@sdetweil for sure knows more on this than me…).

                    At least one onoff library in this context is this one - but I’m not sure if this is the right one.
                    May you give it a try…

                    edit: I’ve just checked - on my own mirror there is NO onoff directory in “MagicMirror/node_modules/”

                    Good luck.
                    Ralf

                    1 Reply Last reply Reply Quote 0
                    • R Offline
                      rkorell @crowimu
                      last edited by

                      @crowimu Found in completely different context another hint to onoff - also related to GPIO (in concrete a GPIO related implemetation of a rotary decoder).
                      There was a suggestion

                      npm install --save onoff@6.0.0
                      

                      I currently only „assume“ that @6.0.0 is the version - cause the cited post is from 2021 there could be a new version.
                      A quick google delivers this page and this one stated

                      npm install onoff
                      

                      Will do the trick…

                      Good luck.
                      Ralf

                      C 1 Reply Last reply Reply Quote 0
                      • C Offline
                        crowimu @rkorell
                        last edited by

                        @rkorell Thank you and all others for the hints, however up to now I did not manage to get the ‘onoff’ and the MMM-Navigate module workingon my system.
                        I have recompiled onoff, installed it globally, changed the node version.
                        Nothing helped yet :(

                        I have started to create a simple module for my needs to control some fuctions with a rotary encoder,
                        https://github.com/crowimu/MMM-RotaryNav
                        It’s early stage, please wish me luck. :)

                        R 2 Replies Last reply Reply Quote 0
                        • R Offline
                          rkorell @crowimu
                          last edited by

                          @crowimu
                          very unfortunate!

                          cross the fingers & good luck for you…

                          Ralf

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            rkorell @crowimu
                            last edited by

                            @crowimu - Just a quick question: Have you considered to use a newer version of a Pi? A 4B or even 5?
                            Pi2 is somewhat old - may there is a kind of a root cause?

                            Regards,
                            Ralf

                            C 2 Replies Last reply Reply Quote 0
                            • C Offline
                              crowimu @rkorell
                              last edited by

                              @rkorell Hi Ralf,
                              I think the quadcore RPi2 is quite sufficient for a Magic Mirror, but I’ve also tested it on a RPi3 with the same results.
                              I don’t like the power consumption of RPi4 and 5 and I also don’t like to add cooling fans to an SBC.
                              So up to now I have always used RPi Zero / Zero2 / RPi 1/2 and 3 smoothly for my projects. :)

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                crowimu @rkorell
                                last edited by

                                @rkorell finally I got it solved :)

                                The issue is really the GPIO numbering, I found this SO thread:
                                https://stackoverflow.com/questions/78173749/use-raspberry-pi-4-gpio-with-node-js
                                It is also valid for Pi3 and Pi2

                                cat /sys/kernel/debug/gpio
                                
                                gpiochip0: GPIOs 512-565, parent: platform/3f200000.gpio, pinctrl-bcm2835:
                                 gpio-512 (ID_SDA              )
                                 gpio-513 (ID_SCL              )
                                 gpio-514 (GPIO2               )
                                 gpio-515 (GPIO3               )
                                 gpio-516 (GPIO4               )
                                 gpio-517 (GPIO5               )
                                 gpio-518 (GPIO6               )
                                 gpio-519 (GPIO7               |spi0 CS1            ) out hi ACTIVE LOW
                                 gpio-520 (GPIO8               |spi0 CS0            ) out hi ACTIVE LOW
                                 gpio-521 (GPIO9               )
                                 gpio-522 (GPIO10              )
                                 gpio-523 (GPIO11              )
                                 gpio-524 (GPIO12              )
                                 gpio-525 (GPIO13              )
                                 gpio-526 (GPIO14              )
                                 gpio-527 (GPIO15              )
                                 gpio-528 (GPIO16              )
                                 gpio-529 (GPIO17              |sysfs               ) in  hi IRQ
                                 gpio-530 (GPIO18              )
                                 gpio-531 (GPIO19              )
                                 gpio-532 (GPIO20              )
                                 gpio-533 (GPIO21              )
                                 gpio-534 (GPIO22              |sysfs               ) in  hi IRQ
                                 gpio-535 (GPIO23              )
                                 gpio-536 (GPIO24              )
                                 gpio-537 (GPIO25              )
                                 gpio-538 (GPIO26              )
                                 gpio-539 (GPIO27              |sysfs               ) in  hi IRQ
                                
                                

                                I needed to set up the numbers according to the output
                                e.g. Pin27 is 539 in the MMM-Navigate config.
                                Now everything works so far as expected, thank you all for your help!

                                R 2 Replies Last reply Reply Quote 1
                                • R Offline
                                  rkorell @crowimu
                                  last edited by

                                  @crowimu COOL!
                                  congratulations!

                                  For me the “confusing” part was the fact that INSTALL doesn’t work…
                                  Installing should NOT check GPIO pinouts …

                                  Really great that you worked this out!

                                  Warmest regards,
                                  Ralf

                                  S 1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    rkorell @crowimu
                                    last edited by

                                    @crowimu said

                                    It is also valid for Pi3 and Pi2

                                    A Pi4 or a Pi5 had solved this as well :-)

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

                                      @rkorell because MagicMirror is started with the electron binary, the compiled module code must match the engine version

                                      electron rebuild does that.

                                      tricky problem if not running under electron
                                      then npm rebuild works for nodejs engine match

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      R 1 Reply Last reply Reply Quote 1
                                      • R Offline
                                        rkorell @sdetweil
                                        last edited by

                                        @sdetweil said in Again -- MMM-Navigate can't get installed.:

                                        the compiled module code must match the engine version

                                        OK, sounds plausible.
                                        Thanks.

                                        Learned a lot, today :-)

                                        Regards,
                                        Ralf

                                        1 Reply Last reply Reply Quote 0
                                        • S sdetweil has marked this topic as solved on

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