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.

    Bugsounet and MMM-Pir

    Scheduled Pinned Locked Moved General Discussion
    68 Posts 10 Posters 23.7k Views 11 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 Do not disturb
      sdetweil @rkorell
      last edited by

      @rkorell yes, but there is nothing I can do… the dependencies no longer exist
      he had some integrated update mechanism, I added code to launch that once…
      now its dead too…

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        @sdetweil OK.
        really unfortunate.
        I do not understand these dependencies - so I was hopeful that an update will not destroy module’s ability to work …

        So I have to stay with the old mirror version to keep module running?

        Regards,
        Ralf

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

          @sdetweil said in Bugsounet and MMM-Pir:

          @lif can you talk about this python after …

          MagicMirror upgrades? if so , did you use my upgrade script?

          this highlights a problem. some modules need a refresh install when nodejs and MagicMirror change
          so the upgrade script does that. but that wipes the node_modules folder for the module. and the dependencies are also not available anymore.

          so, if i DO try the npm install it breaks, if i dont try the npm install it might break. fun times.
          i will add a check for the authors url and skip the install action

          I was trying to upgrade Nodejs and if failed with lots of errors.

          my mm and the whole system had got messy, so I’m using this as an opportunity to clean things up (it didn’t help insofar as a restore from the most recent backup didn’t work.

          S 1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @rkorell
            last edited by

            @rkorell said in Bugsounet and MMM-Pir:

            So I have to stay with the old mirror version to keep module running?

            i do not know…

            I do not understand these dependencies
            rather than put all the code in the module, there are libraries of things
            that can be called…

            so you make those libraries as separate packages and list them in the dependencies section of package.json and npm install goes and gets them

            he might have decided that multiple components needs the same functions and packaged as library, to be loaded by all that needed it, code once, ship multiple times…
            except that breaks now as the dependencies also are no longer available

            as I said in my initial warning post, plan for them all to fail to work

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            R 1 Reply Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @lif
              last edited by

              @lif yeh, my upgrade script does the nodejs upgrade too…

              use the n command

              sudo npm install n -g 
              sudo n xxx
              where xxx is the version you want to use
              

              recent backup didn’t work

              how backup? use my backup/restore

              yes that is broken too, as the authors repos no longer exist and binary backup may not work on different OS level/nodejs level

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              L 2 Replies Last reply Reply Quote 0
              • L Offline
                lif @sdetweil
                last edited by

                @sdetweil said in Bugsounet and MMM-Pir:

                how backup? use my backup/restore

                yes that is broken too, as the authors repos no longer exist and binary backup may not work on different OS level/nodejs level

                IMG file on my (new) linux desktop

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

                  @sdetweil said in Bugsounet and MMM-Pir:

                  @lif yeh, my upgrade script does the nodejs upgrade too…

                  use the n command

                  sudo npm install n -g 
                  sudo n xxx
                  where xxx is the version you want to use
                  

                  Thanks, added to my install notes

                  S 1 Reply Last reply Reply Quote 0
                  • S Do not disturb
                    sdetweil @lif
                    last edited by

                    @lif n is the nodejs version of nvm

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    L 1 Reply Last reply Reply Quote 0
                    • R Offline
                      rkorell Module Developer @sdetweil
                      last edited by

                      @sdetweil said in Bugsounet and MMM-Pir:

                      plan for them all to fail to work

                      yes - as stated -really unfortunate!
                      Thanks for your clarification!
                      Ralf

                      R 1 Reply Last reply Reply Quote 0
                      • L Offline
                        lif @sdetweil
                        last edited by

                        @sdetweil

                        I’ve reinstalled MagicMirror with your script, it worked wonderfully, than you very much for doing this.

                        Best regards from France.

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

                          @sdetweil @lif
                          For your information:

                          I was successful with installing MMM-Pir on my brand new Pi5/bookworm:

                          pi@MagicMirrorPi5:~ $ cd MagicMirror/modules
                          pi@MagicMirrorPi5:~/MagicMirror/modules $ tar -xf MMM-Pir.tar.gz 
                          pi@MagicMirrorPi5:~/MagicMirror/modules $ cd MMM-Pir/
                          pi@MagicMirrorPi5:~/MagicMirror/modules/MMM-Pir $ npm install
                          
                          > MMM-Pir@2.4.4 preinstall
                          > echo ⚠ npm install will be deprecated on next release!.
                          
                          ⚠ npm install will be deprecated on next release!.
                          
                          > MMM-Pir@2.4.4 install
                          > npm run setup
                          
                          
                          > MMM-Pir@2.4.4 presetup
                          > npm run dependencies && installer/preinstall.sh
                          
                          
                          > MMM-Pir@2.4.4 dependencies
                          > installer/dependencies.sh -d 'unclutter ddcutil cec-utils python3 python-is-python3 python3-gpiozero gpiod libgpiod2 libgpiod-dev'
                          
                          
                          Welcome to MMM-Pir v2.4.4
                          
                          ① ➤ dependencies installer
                          
                          Checking OS...
                          OS Detected: linux-gnu (debian 12 aarch64)
                          
                          Checking all dependencies...
                          All Dependencies needed are installed !
                          
                          ② ➤ Preinstall
                          
                          No root checking...
                          Checking MMM-Pir: pi/pi
                          Checking MagicMirror: pi/pi
                          
                          Installing @sdetweil sandbox fix...
                          fixing sandbox permissions
                          
                          ③ ➤ Install npm dependencies
                          
                          > MMM-Pir@2.4.4 setup
                          > npm prune
                          
                          
                          up to date in 990ms
                          
                          124 packages are looking for funding
                            run `npm fund` for details
                          
                          > MMM-Pir@2.4.4 postsetup
                          > installer/postinstall.sh -m -r
                          
                          
                          ④ ➤ Postinstall
                          
                          Minify Main code...
                          Found: 10 files to install and minify
                          
                          Process File: MMM-Pir/MMM-Pir.js
                          Process File: MMM-Pir/node_helper.js
                          Process File: MMM-Pir/components/cronJob.js
                          Process File: MMM-Pir/components/governorLib.js
                          Process File: MMM-Pir/components/motion.js
                          Process File: MMM-Pir/components/motionLib.js
                          Process File: MMM-Pir/components/pirLib.js
                          Process File: MMM-Pir/components/screenDisplayer.js
                          Process File: MMM-Pir/components/screenLib.js
                          Process File: MMM-Pir/components/screenTouch.js
                          Done
                          
                          Try to Disable screen saver...
                          Found: screen saver in gsettings
                          disable screensaver via gsettings was true and uint32 300
                          Found: screen saver in lightdm
                          disable screensaver via lightdm.conf
                          Found: screen saver in lxsession
                          disable screensaver via lxsession
                          Found: wayfire.ini
                          
                          [WARN] There is some change for disable screen saver
                          [WARN] Please, don't forget to reboot your OS for apply the new configuration!
                          Done
                          
                          Rebuild MagicMirror...
                          ✔ Rebuild Complete
                          Done
                          
                          
                          MMM-Pir is now installed !
                          
                          > MMM-Pir@2.4.4 postinstall
                          > echo ⚠ On next release, Please use: npm run setup
                          
                          ⚠ On next release, Please use: npm run setup
                          
                          added 1 package in 31s
                          
                          124 packages are looking for funding
                            run `npm fund` for details
                          pi@MagicMirrorPi5:~/MagicMirror/modules/MMM-Pir $ 
                          

                          I will have to play with the screen options (caused for sure by bookworm) because right now I get an error notification from MMM-Pir (screen error detected: dpms command error(mode 1) ) but there are several other modes to try …

                          Regards,
                          Ralf

                          S 1 Reply Last reply Reply Quote 0
                          • S Do not disturb
                            sdetweil @rkorell
                            last edited by

                            @rkorell yeh, fun times

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

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

                              @sdetweil yes! :-)

                              1 Reply Last reply Reply Quote 0
                              • F Offline
                                FrostByte Module Developer
                                last edited by

                                Hi everyone,

                                I didn’t quite get it right. Are there still problems with MMM-Pir?

                                I see that there are already two pull requests on https://github.com/Coernel82/MMM-Pir/pulls (one is from me). I would be willing to maintain the module, if no one else does.

                                Happy to hear from you @coernel

                                R 1 Reply Last reply Reply Quote 0
                                • R Offline
                                  rkorell Module Developer @FrostByte
                                  last edited by

                                  @FrostByte .
                                  Yes there are still “problems”.
                                  @coernel has prepared a re-upload of bugsounet’s MMM-Pir.
                                  But for some reasons this has failed.

                                  Several entities are missing in his upload (including e.g. the core MMM-Pi.js and several other linked and necessary sub-programs (Described in more detail in this post).

                                  I’ve copied a tar.gz file of my own local repository-copy here.

                                  This copy is installable with npm install in the respective MMM-Pir directory in mirror Version 2.30 (NOT tested in brand new 2.31!).
                                  It works without problems on a Pi4 with bullseye.
                                  It does NOT work on a Raspi5/bookworm “out of the box”.
                                  In the meantime I’ve identified and corrected the root cause for this (wrong parameter for the xrandr-call).
                                  This correction is NOT reflected in the URL above because I’ve done this correction after the upload.
                                  I can share this with you if you are interested in - only a very minor adoption and only for MY use-case (working without wayland and with x11).

                                  From my side it would be really highly appreciated if somebody can take the responsibility for maintenance of this pretty module because I really like it very much.
                                  I definitely NOT able to do this but I’m definitely willing to give any additional support in the course of my (tiny) abilities…

                                  Let me know what you’re thinking about.

                                  Warm regards,
                                  Ralf

                                  F 1 Reply Last reply Reply Quote 0
                                  • F Offline
                                    FrostByte Module Developer @rkorell
                                    last edited by

                                    Okay, let’s go into detail. @rkorell

                                    As already written by @sdetweil , the node_modules directory is created when npm run setup (or npm install as it should be called).

                                    In addition, the ‘missing files’ are also created dynamically when this command is called. See:

                                    lukas@smartmirror:~/MagicMirror/modules$ git clone https://github.com/Coernel82/MMM-Pir.git MMM-Pir-test
                                    lukas@smartmirror:~/MagicMirror/modules$ cd MMM-Pir-test
                                    lukas@smartmirror:~/MagicMirror/modules/MMM-Pir-test$ npm run setup
                                    lukas@smartmirror:~/MagicMirror/modules/MMM-Pir-test$ ls -al components/
                                    total 68
                                    drwxr-xr-x  2 lukas lukas  4096 Apr  1 19:06 .
                                    drwxr-xr-x 10 lukas lukas  4096 Apr  1 19:53 ..
                                    -rw-r--r--  1 lukas lukas  4101 Apr  2 11:23 cronJob.js
                                    -rw-r--r--  1 lukas lukas  2241 Apr  2 11:23 governorLib.js
                                    -rw-r--r--  1 lukas lukas  3894 Apr  2 11:23 motion.js
                                    -rw-r--r--  1 lukas lukas  1563 Apr  2 11:23 motionLib.js
                                    -rw-r--r--  1 lukas lukas   757 Mar  3 19:09 MotionSensor.py
                                    -rw-r--r--  1 lukas lukas  3755 Apr  2 11:23 pirLib.js
                                    -rw-r--r--  1 lukas lukas  6068 Apr  2 11:23 screenDisplayer.js
                                    -rw-r--r--  1 lukas lukas 19159 Apr  2 11:23 screenLib.js
                                    -rw-r--r--  1 lukas lukas  1763 Apr  2 11:23 screenTouch.js
                                    

                                    I use Wayland/labwc (Debian GNU/Linux 12 bookworm) on aarch64 Raspberry Pi 3B and everything is working for my Pir configuration. I did not use your copy.

                                    So i am asking again, are there some runtime errrors? So please send me errrors logs.

                                    The ‘build’ step in package.json is really very confusing. That’s why I’ve started to organise it: https://github.com/Coernel82/MMM-Pir/compare/main...LukasWestholt:MMM-Pir:main#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519

                                    Best regards,
                                    Lukas

                                    R 1 Reply Last reply Reply Quote 0
                                    • F Offline
                                      FrostByte Module Developer @lif
                                      last edited by

                                      @lif So in my experience, your error just means that you didn’t run ‘npm run setup’!

                                      1 Reply Last reply Reply Quote 1
                                      • R Offline
                                        rkorell Module Developer @FrostByte
                                        last edited by rkorell

                                        @FrostByte said in Bugsounet and MMM-Pir:

                                        As already written by @sdetweil , the node_modules directory is created when npm run setup (or npm install as it should be called).

                                        This one I’ve missed or was to blonde, to see …

                                        If the install is creating necessary files all “should” be fine.
                                        Despite the fact that in the original screenLib.js is an error (for x11 - regarding handling because the calls are slightly different as coded).
                                        Wayland does not work properly with MagicMirror on my Pi5 - so I’ve switched back to x11, found the above error and corrected this.
                                        Not sure how to handle this in “release” and your maintenance of module.

                                        What have I done?

                                        See here:
                                        This is line 311 (of screenLib.js ):

                                               exec("DISPLAY=:0 xrandr | grep 'connected primary'", //--rkorell
                                                // original : exec("xrandr | grep 'connected primary'",
                                         
                                        

                                        this is line 489 (of screenLib.js ):

                                                // original exec(`xrandr --output ${this.screen.hdmiPort} --auto --rotate ${this.screen.xrandrRotation}`, (err) => {
                                                  exec(`xrandr --output ${this.screen.hdmiPort} --primary --mode 2560x1440 --rate 59.951 --pos 0x0  --rotate ${this.screen.xrandrRotation}`, (err) => {
                                        
                                        

                                        especially the second one was disturbing because the statement simply doesn’t work - this option “auto” is something one can find everywhere referenced but it never worked as far as I have tried to research. from own experience (see above) it don’t work. I guess “–auto” should recover the current settings -but it doesn’t (on bookworm!) . Hard coded screen resolution is definitely no candidate for broader distribution …

                                        (First one “only” produces an error message)

                                        These are my findings.
                                        I’ve mistakenly (not aware of the “dynamically created” libraries/dependant modules) linked the problems of the thread owner with the missing libraries in HIS installation to the likewise missing modules in git clone…

                                        Sorry for confusion!

                                        Ralf

                                        F 1 Reply Last reply Reply Quote 0
                                        • F Offline
                                          FrostByte Module Developer @rkorell
                                          last edited by

                                          @rkorell Thanks for your answer! That makes total sense. Thanks for reporting your experience. I’ll keep that in mind.

                                          With Wayland it took me tens of hours to rotate the display by 90 degrees via autostart and I often thought about migrating to X11 back. But in the end it worked.

                                          L 1 Reply Last reply Reply Quote 1
                                          • L Offline
                                            lif @FrostByte
                                            last edited by

                                            @FrostByte
                                            I don’t know if it helps but the only way I could get my old DVI input monitor to turn on & off was with Wayland enabled and the commands

                                            DISPLAY=:0.0 xrandr --output HDMI-1 --auto --rotate left
                                            and
                                            DISPLAY=:0.0 xrandr --output HDMI-1 --off

                                            Nick

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