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-Remote-Control

    Scheduled Pinned Locked Moved Utilities
    5 Posts 3 Posters 27 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.
    • KristjanESPERANTOK Offline
      KristjanESPERANTO Module Developer
      last edited by

      Hey everyone!

      Even though MMM-Remote-Control is the most popular third-party MagicMirror² module (measured by GitHub stars), it looks like it never properly introduced here in the forum. Today’s v4 release seems like the perfect opportunity to change that!

      What is MMM-Remote-Control?

      MMM-Remote-Control lets you control your MagicMirror² from any device on your network – your phone, tablet, or computer. So you can control your mirror from your couch using your cell phone, for example.
      No need to SSH into your Pi or edit config files manually anymore. With a simple web interface, you can:

      • Show/hide modules on the fly
      • Adjust brightness and color temperature
      • Update modules and MagicMirror² itself
      • Install new modules directly from the interface
      • Edit your config.js with a visual editor
      • Restart or shut down your mirror
      • Send notifications and alerts
      • Control your monitor (turn on/off)
      • And much more through a comprehensive REST API

      How to use it?

      Just follow the instructions on the GitHub page.

      What’s new in v4?

      This release is the biggest update in years – a complete modernization of both the user interface and the underlying code:

      For Users:

      • Completely redesigned interface – Modern look, smoother animations, better usability
      • QR Code on your mirror – Just scan it with your phone to instantly access the remote control. No more typing IP addresses!

      Under the Hood:

      • Code modernized to current JavaScript standards
      • Massively expanded test suite for better reliability
      • Enhanced error handling throughout
      • Better documentation and maintainability

      Important Note: While there shouldn’t be any breaking changes, I recommend testing thoroughly after updating due to the extent of the changes.

      You can find the complete changelog and installation instructions on GitHub.

      I’m looking forward to your feedback! If you run into any issues or have ideas for improvements, feel free to open an issue on GitHub.

      Have fun with the update!

      Some Screenshots

      On Mobile Device

      Main Menu
      main_screenshot.png
      Power Menu
      power_screenshot.png
      View Menu
      view_screenshot.png

      optional QR Code on the mirror

      d11d3cdc-5eb4-41af-a2b8-ea25de0d086e-bildo.png

      R 1 Reply Last reply Reply Quote 0
      • R Online
        rkorell @KristjanESPERANTO
        last edited by

        @KristjanESPERANTO Good Evening!
        Nice work!
        I like it but with this update it doesn’t work anymore (for me, at least).
        I get an error message: “Cannot GET /remote.html”.

        I first tried to update with

        git pull
        npm ci --omit=dev
        

        This runs smooth, but results in the mentioned error message (mirror restarted :-) :

        pi@MagicMirrorPi5:~/MagicMirror/modules/MMM-Remote-Control $ npm ci --omit=dev
        
        > mmm-remote-control@4.0.1 postinstall
        > node scripts/postinstall.js
        
        modules.json already exists, skipping copy.
        
        > mmm-remote-control@4.0.1 prepare
        > simple-git-hooks || echo 'No problem. Skipping git hooks installation.'
        
        sh: 1: simple-git-hooks: not found
        No problem. Skipping git hooks installation.
        
        added 38 packages, and audited 39 packages in 9s
        
        4 packages are looking for funding
          run `npm fund` for details
        
        found 0 vulnerabilities
        
        

        After this I’ve tried to do the manual installation via:

        pi@MagicMirrorPi5:~/MagicMirror/modules/MMM-Remote-Control $ ~/MagicMirror/modules/MMM-Remote-Control/installer.sh
        

        this at least showed an error:

        Installation for the MagicMirror² Remote-Control module started!
        
        Notice: This script and the installed software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
        
        >>> Continue? [y/N]? y
        
        Directory /home/pi/MagicMirror/modules/MMM-Remote-Control already exists.
        
        You are currently on the master branch.
        
        >>> Do you want to switch to the develop branch? [y/N]? N
        
        >>> Do you want to update your branch? [Y/n]? Y
        
        Pulling changes...
        Already up to date.
        
        Checking for new dependencies to install...
        
        
        > mmm-remote-control@4.0.1 postinstall
        > node scripts/postinstall.js
        
        modules.json already exists, skipping copy.
        
        > mmm-remote-control@4.0.1 prepare
        > simple-git-hooks || echo 'No problem. Skipping git hooks installation.'
        
        sh: 1: simple-git-hooks: not found
        No problem. Skipping git hooks installation.
        
        added 38 packages, and audited 39 packages in 3s
        
        4 packages are looking for funding
          run `npm fund` for details
        
        found 0 vulnerabilities
        Done.
        
        Update finished!
        node:internal/modules/cjs/loader:1544
              throw err;
              ^
        
        **Error [ERR_REQUIRE_ESM**]: require() of ES Module /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/uuid/dist-node/index.js from /home/pi/MagicMirror/modules/MMM-Remote-Control/[eval] not supported.
        Instead change the require of index.js in /home/pi/MagicMirror/modules/MMM-Remote-Control/[eval] to a dynamic import() which is available in all CommonJS modules.
            at [eval]:1:13
            at [eval]-wrapper:6:24 {
          code: 'ERR_REQUIRE_ESM'
        }
        
        Node.js v20.18.1
        
        >>> Do you want to view instructions on how to configure the module? [Y/n]? n
        
        You should also set an API key in your config section!
          It's dangerous to go alone! Take this.
          apiKey: ''
          I made it just for you.
        
        Have fun with the module, if you have any problems, please search for help on github or in the forum:
        
           Github : https://github.com/Jopyth/MMM-Remote-Control
           Forum  : https://forum.magicmirror.builders
        
        Do not forget to restart your MagicMirror² to activate the module! Installation finished.
        

        So my third and last try was a complete fresh installation - but again with no luck - and the same error message, which I’m not able to handle:

        pi@MagicMirrorPi5:~/MagicMirror/modules $ bash -c "$(curl -s https://raw.githubusercontent.com/Jopyth/MMM-Remote-Control/master/installer.sh)"
        
        Installation for the MagicMirror² Remote-Control module started!
        
        Notice: This script and the installed software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
        
        >>> Continue? [y/N]? y
        
        MagicMirror² detected in: /home/pi/MagicMirror
        
        >>> Is this correct and do you want to start installation? [y/N]? y
        
        You can use either the master or the develop branch.
        The develop branch contains more features, but is also more likely to cause errors or crashes.
        This can be changed later by executing this script again, or using the git branch command.
        
        By default the master branch will be installed.
        
        >>> Do you want to install the develop branch instead? [y/N]? n
        
        Cloning the repository on master branch...
        
        Cloning into 'MMM-Remote-Control'...
        remote: Enumerating objects: 2748, done.
        remote: Counting objects: 100% (1098/1098), done.
        remote: Compressing objects: 100% (317/317), done.
        remote: Total 2748 (delta 866), reused 932 (delta 780), pack-reused 1650 (from 3)
        Receiving objects: 100% (2748/2748), 2.50 MiB | 1.13 MiB/s, done.
        Resolving deltas: 100% (1913/1913), done.
        
        Installing dependencies...
        
        
        > mmm-remote-control@4.0.1 postinstall
        > node scripts/postinstall.js
        
        Successfully created modules.json from template.
        
        > mmm-remote-control@4.0.1 prepare
        > simple-git-hooks || echo 'No problem. Skipping git hooks installation.'
        
        sh: 1: simple-git-hooks: not found
        No problem. Skipping git hooks installation.
        
        added 38 packages, and audited 39 packages in 3s
        
        4 packages are looking for funding
          run `npm fund` for details
        
        found 0 vulnerabilities
        Done.
        
        Installation finished.
        node:internal/modules/cjs/loader:1544
              throw err;
              ^
        
        **Error [ERR_REQUIRE_ESM]**: require() of ES Module /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/uuid/dist-node/index.js from /home/pi/MagicMirror/modules/MMM-Remote-Control/[eval] not supported.
        Instead change the require of index.js in /home/pi/MagicMirror/modules/MMM-Remote-Control/[eval] to a dynamic import() which is available in all CommonJS modules.
            at [eval]:1:13
            at [eval]-wrapper:6:24 {
          code: 'ERR_REQUIRE_ESM'
        }
        
        Node.js v20.18.1
        
        >>> Do you want to view instructions on how to configure the module? [Y/n]? n
        
        You should also set an API key in your config section!
          It's dangerous to go alone! Take this.
          apiKey: ''
          I made it just for you.
        
        Have fun with the module, if you have any problems, please search for help on github or in the forum:
        
           Github : https://github.com/Jopyth/MMM-Remote-Control
           Forum  : https://forum.magicmirror.builders
        
        Do not forget to restart your MagicMirror² to activate the module! Installation finished.
        
        

        Do you please have a hint for me how to solve this?

        MM is running on a Pi5 / NVME.

        Thanks for any advice!

        Warmest regards,
        Ralf

        KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
        • KristjanESPERANTOK Offline
          KristjanESPERANTO Module Developer @rkorell
          last edited by

          @rkorell said in MMM-Remote-Control:

          Node.js v20.18.1

          @rkorell Thanks for the feedback and the good error description! I’ll optimize the error logging, but unfortunately you have to update to at least node 22. I recommend version 24.

          For the current MagicMirror version, you also need at least version 22.

          BKeyportB R 2 Replies Last reply Reply Quote 0
          • BKeyportB Offline
            BKeyport Module Developer @KristjanESPERANTO
            last edited by

            what’s with the microupdates? I’ve updated three times today. 🤣

            The "E" in "Javascript" stands for "Easy"

            1 Reply Last reply Reply Quote 0
            • R Online
              rkorell @KristjanESPERANTO
              last edited by rkorell

              @KristjanESPERANTO

              OK…

              New version now shows the same error…
              Actually my mirror works pretty fine…
              So I hesitate to update node …
              What are the risks - and if: How do I do update node?

              • Will my mirror run afterwards or do I have to upgrade the mirror as well?

              Thanks for any advise!

              Warmest regards,
              Ralf

              I’m not able to attach the logfile…
              [2025-12-20T10_58_15_392Z-debug-0.log](Invalid file type. Allowed types are: .jpg, .jpeg, .png, .gif, .png, .jpg, .jpeg, .gif)

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