<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MMM-Remote-Control]]></title><description><![CDATA[<p dir="auto">Hey everyone!</p>
<p dir="auto">Even though <a href="https://github.com/Jopyth/MMM-Remote-Control/" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-Remote-Control</a> 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!</p>
<p dir="auto"><strong>What is MMM-Remote-Control?</strong></p>
<p dir="auto">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.<br />
No need to SSH into your Pi or edit config files manually anymore. With a simple web interface, you can:</p>
<ul>
<li>Show/hide modules on the fly</li>
<li>Adjust brightness and color temperature</li>
<li>Update modules and MagicMirror² itself</li>
<li>Install new modules directly from the interface</li>
<li>Edit your config.js with a visual editor</li>
<li>Restart or shut down your mirror</li>
<li>Send notifications and alerts</li>
<li>Control your monitor (turn on/off)</li>
<li>And much more through a comprehensive REST API</li>
</ul>
<p dir="auto"><strong>How to use it?</strong></p>
<p dir="auto">Just follow the instructions on the <a href="https://github.com/Jopyth/MMM-Remote-Control#mmm-remote-control" target="_blank" rel="noopener noreferrer nofollow ugc">GitHub page</a>.</p>
<p dir="auto"><strong>What’s new in v4?</strong></p>
<p dir="auto">This release is the biggest update in years – a complete modernization of both the user interface and the underlying code:</p>
<p dir="auto"><strong>For Users:</strong></p>
<ul>
<li><strong>Completely redesigned interface</strong> – Modern look, smoother animations, better usability</li>
<li><strong>QR Code on your mirror</strong> – Just scan it with your phone to instantly access the remote control. No more typing IP addresses!</li>
</ul>
<p dir="auto"><strong>Under the Hood:</strong></p>
<ul>
<li>Code modernized to current JavaScript standards</li>
<li>Massively expanded test suite for better reliability</li>
<li>Enhanced error handling throughout</li>
<li>Better documentation and maintainability</li>
</ul>
<p dir="auto"><strong>Important Note:</strong> While there shouldn’t be any breaking changes, I recommend testing thoroughly after updating due to the extent of the changes.</p>
<p dir="auto">You can find the complete changelog and installation instructions on <a href="https://github.com/Jopyth/MMM-Remote-Control" target="_blank" rel="noopener noreferrer nofollow ugc">GitHub</a>.</p>
<p dir="auto">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.</p>
<p dir="auto">Have fun with the update!</p>
<h3>Some Screenshots</h3>
<h4>On Mobile Device</h4>
<p dir="auto"><strong>Main Menu</strong><br />
<img src="/assets/uploads/files/1766169461849-main_screenshot.png" alt="main_screenshot.png" class=" img-fluid img-markdown" /><br />
<strong>Power Menu</strong><br />
<img src="/assets/uploads/files/1766169461897-power_screenshot.png" alt="power_screenshot.png" class=" img-fluid img-markdown" /><br />
<strong>View Menu</strong><br />
<img src="/assets/uploads/files/1766169461925-view_screenshot.png" alt="view_screenshot.png" class=" img-fluid img-markdown" /></p>
<h4>optional QR Code on the mirror</h4>
<p dir="auto"><img src="/assets/uploads/files/1766170297974-d11d3cdc-5eb4-41af-a2b8-ea25de0d086e-bildo.png" alt="d11d3cdc-5eb4-41af-a2b8-ea25de0d086e-bildo.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.magicmirror.builders/topic/20022/mmm-remote-control</link><generator>RSS for Node</generator><lastBuildDate>Wed, 10 Jun 2026 12:13:44 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/20022.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Dec 2025 18:54:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MMM-Remote-Control on Sun, 22 Feb 2026 11:41:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/rkorell" aria-label="Profile: rkorell">@<bdi>rkorell</bdi></a> Thank you very much for this feedback and appreciation 🙂 It’s interesting that you took a deeper look at the changes.</p>
]]></description><link>https://forum.magicmirror.builders/post/130113</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/130113</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Sun, 22 Feb 2026 11:41:04 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sun, 22 Feb 2026 07:48:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a> Dear Kristijan,<br />
just tested v4.2.4 — works perfectly! Restart via the Remote-Control UI now completes cleanly<br />
under pm2, no orphaned Electron process, no port conflict. Exactly the behavior you’d expect.</p>
<p dir="auto">I also noticed you added a dedicated handleRestart.test.js with 210 lines of unit tests covering<br />
both the pm2 and standalone code paths — that’s really impressive and goes well beyond just a<br />
quick fix. Having proper test coverage for this kind of dual-mode behavior is exactly the right<br />
thing to do. Much appreciated!</p>
<p dir="auto">Thanks for the incredibly fast turnaround and the quality of the fix. Consider this confirmed<br />
working on:</p>
<ul>
<li>MagicMirror 2.34.0</li>
<li>MMM-Remote-Control 4.2.4</li>
<li>Node.js v22, Electron 39.5.2</li>
<li>Raspberry Pi 5, Debian 13 (Trixie)</li>
<li>pm2 with file-watch</li>
</ul>
<p dir="auto">Warmest regards,<br />
Ralf</p>
]]></description><link>https://forum.magicmirror.builders/post/130111</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/130111</guid><dc:creator><![CDATA[rkorell]]></dc:creator><pubDate>Sun, 22 Feb 2026 07:48:14 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 21 Feb 2026 16:05:08 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/rkorell" aria-label="Profile: rkorell">@<bdi>rkorell</bdi></a>, thank you for the detailed bug report — the root cause analysis was spot on and made it straightforward to fix!</p>
<p dir="auto">The fix is included in v4.2.4: when MMM-Remote-Control detects it’s running under pm2 (via <code>PM2_HOME</code> or <code>pm_id</code> environment variables), it now skips <code>app.relaunch()</code> and only calls <code>app.quit()</code>, letting pm2 handle the restart cleanly.</p>
<p dir="auto">Would be great if you could confirm it works on your setup!</p>
]]></description><link>https://forum.magicmirror.builders/post/130095</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/130095</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Sat, 21 Feb 2026 16:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 21 Feb 2026 16:04:24 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/vtek" aria-label="Profile: vtek">@<bdi>vtek</bdi></a>, glad you figured it out! Just for reference: when <code>secureEndpoints: true</code> is set, the API key can be passed in two ways:</p>
<ol>
<li><strong>URL parameter</strong>: <code>?apiKey=YOUR_KEY</code></li>
<li><strong>HTTP header</strong>: <code>Authorization: apiKey YOUR_KEY</code></li>
</ol>
<p dir="auto">Also, starting with v4.2.4 the error message now directly hints at the solution, so the next person running into this should find it faster 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/130094</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/130094</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Sat, 21 Feb 2026 16:04:24 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 21 Feb 2026 14:14:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a> Dear Kristijan,</p>
<p dir="auto">after a long time I finally managed to see your “new” modul.<br />
First of all: Thanks a lot for your effort, again - nice piece!</p>
<p dir="auto">In the past few days I’ve completely rebuilt my mirror and migrated it to trixie as well as to the actual mirror and node versions.</p>
<p dir="auto">I ran into a reproducible issue with the restart functionality when MagicMirror is managed by pm2 (which is the recommended setup per the  official MagicMirror documentation).</p>
<p dir="auto">The Problem</p>
<p dir="auto">When triggering a restart via the Remote-Control UI (or the /api/restart endpoint), MagicMirror enters an endless crash-loop with   EADDRINUSE: address already in use :::8080.</p>
<p dir="auto">Root Cause<br />
The handleRestart function in node_helper.js (lines 717-741) uses the Electron-native restart mechanism:</p>
<pre><code>const {app} = require("electron");
app.relaunch();
app.quit();
</code></pre>
<p dir="auto">This works fine in standalone mode, but creates a race condition with pm2:</p>
<ol>
<li>app.relaunch() spawns a new Electron instance (child of the current process)</li>
<li>app.quit() terminates the current Electron instance</li>
<li>pm2 detects the termination as a crash and spawns another Electron instance</li>
<li>Now two Electron instances compete for port 8080 → EADDRINUSE → both crash → pm2 keeps restarting → infinite loop</li>
</ol>
<p dir="auto">The only way to recover is to manually identify and kill the orphaned Electron process, then trigger a clean restart via touch config.js   (which pm2’s file-watch picks up).</p>
<p dir="auto">Interestingly, the catch-block fallback for server mode (lines 726-739) already does it correctly — it calls process.exit(0) and lets the   process manager handle the restart. The Electron code path just doesn’t account for the pm2 scenario.</p>
<p dir="auto">Possible Fix</p>
<p dir="auto">When running under pm2, the Electron-native app.relaunch() should be skipped entirely.</p>
<p dir="auto">pm2 can be detected via environment variables like  PM2_HOME, pm_id, or PM2_USAGE:</p>
<pre><code>handleRestart (query, res) {
  try {
    const {app} = require("electron");
    if (!app) { throw "Could not get Electron app instance."; }

    // When running under pm2, don't use app.relaunch() — pm2 handles restart
    if (process.env.PM2_HOME || process.env.pm_id !== undefined) {
      Log.log("Running under pm2, exiting cleanly for process manager restart...");
      this.sendResponse(res, undefined, {action: "RESTART", info: "Exiting for pm2 restart..."});
      setTimeout(() =&gt; app.quit(), 1000);
      return;
    }

    this.sendResponse(res, undefined, {action: "RESTART", info: "Restarting Electron..."});
    app.relaunch();
    app.quit();
  } catch (error) {
    // ... existing server mode fallback ...
  }
}
</code></pre>
<p dir="auto">Environment</p>
<ul>
<li>MagicMirror 2.34.0</li>
<li>MMM-Remote-Control 4.2.2 (commit b854832)</li>
<li>Node.js v22, Electron 39.5.2</li>
<li>Raspberry Pi 5, Debian 13 (Trixie)</li>
<li>Process manager: pm2 with file-watch on config.js</li>
</ul>
<p dir="auto">Workaround</p>
<p dir="auto">For now, I’ve documented this for my setup: never use the restart button in Remote-Control. Monitor ON/OFF works fine, only the restart is<br />
affected.</p>
<p dir="auto">Thanks for considering this — happy to test any fix if needed!</p>
<p dir="auto">Warmest regards,<br />
Ralf</p>
]]></description><link>https://forum.magicmirror.builders/post/130086</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/130086</guid><dc:creator><![CDATA[rkorell]]></dc:creator><pubDate>Sat, 21 Feb 2026 14:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 10 Feb 2026 14:54:06 GMT]]></title><description><![CDATA[<p dir="auto">said in <a href="/post/129992">MMM-Remote-Control</a>:</p>
<blockquote>
<p dir="auto">hey guys…</p>
<p dir="auto">having some issues using the shutdown/reboot commands…they throw this error, even though I have the API key in the config</p>
<p dir="auto">{“success”:false,“message”:“Forbidden: API Key Not Provided!”}</p>
<p dir="auto">here’s the config</p>
<pre><code>            {
                    module: 'MMM-Remote-Control',
                    // position: 'bottom_left', // Required to show URL/QR code on mirror
                    // you can hide this module afterwards from the remote control itself
                    config: {
                            showModuleApiMenu: true,
                            secureEndpoints: true,
                            apiKey: "111111111-2222-3333-4444-555555555555",
                            customCommand: {
                                            monitorOnCommand: 'loginctl unlock-session 1',
                                            monitorOffCommand: 'loginctl lock-session 1',
                                            shutdownCommand: 'systemctl poweroff',
                                            rebootCommand: 'systemctl reboot',  // Optional, See "Using Custom Commands" below
                                            },

            }
            },
</code></pre>
</blockquote>
<p dir="auto">i figure it out…had to append the apiKey at the end of the url for all commands<br />
<a href="http://192.168.1.5:8888/api/command/rebootCommand?apiKey=111111111-2222-33333-4444" target="_blank" rel="noopener noreferrer nofollow ugc">http://192.168.1.5:8888/api/command/rebootCommand?apiKey=111111111-2222-33333-4444</a></p>
]]></description><link>https://forum.magicmirror.builders/post/129994</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129994</guid><dc:creator><![CDATA[vtek]]></dc:creator><pubDate>Tue, 10 Feb 2026 14:54:06 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 10 Feb 2026 13:17:34 GMT]]></title><description><![CDATA[<p dir="auto">hey guys…</p>
<p dir="auto">having some issues using the shutdown/reboot commands…they throw this error, even though I have the API key in the config</p>
<p dir="auto">{“success”:false,“message”:“Forbidden: API Key Not Provided!”}</p>
<p dir="auto">here’s the config</p>
<pre><code>            {
                    module: 'MMM-Remote-Control',
                    // position: 'bottom_left', // Required to show URL/QR code on mirror
                    // you can hide this module afterwards from the remote control itself
                    config: {
                            showModuleApiMenu: true,
                            secureEndpoints: true,
                            apiKey: "111111111-2222-3333-4444-555555555555",
                            customCommand: {
                                            monitorOnCommand: 'loginctl unlock-session 1',
                                            monitorOffCommand: 'loginctl lock-session 1',
                                            shutdownCommand: 'systemctl poweroff',
                                            rebootCommand: 'systemctl reboot',  // Optional, See "Using Custom Commands" below
                                            },

            }
            },
</code></pre>
]]></description><link>https://forum.magicmirror.builders/post/129992</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129992</guid><dc:creator><![CDATA[vtek]]></dc:creator><pubDate>Tue, 10 Feb 2026 13:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 07 Feb 2026 08:51:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bloodknot" aria-label="Profile: bloodknot">@<bdi>bloodknot</bdi></a> Perfect, thank you for testing! 😃</p>
]]></description><link>https://forum.magicmirror.builders/post/129943</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129943</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Sat, 07 Feb 2026 08:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 07 Feb 2026 03:05:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a><br />
Sorry for the split message.<br />
I have successfully tested:<br />
<a href="http://magicmirrorip:8080/api/monitor/on" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/monitor/on</a><br />
<a href="http://magicmirrorip:8080/api/monitor/off" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/monitor/off</a><br />
<a href="http://magicmirrorip:8080/api/refresh" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/refresh</a><br />
<a href="http://magicmirrorip:8080/api/reboot" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/reboot</a><br />
<a href="http://magicmirrorip:8080/api/alert/showalert" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/alert/showalert</a></p>
]]></description><link>https://forum.magicmirror.builders/post/129940</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129940</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Sat, 07 Feb 2026 03:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 07 Feb 2026 03:02:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a><br />
That seems to have fixed my specific problem.  Thank you!!!<br />
I have tested:<br />
<a href="http://magicmirror2:8080/api/monitor/on" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirror2:8080/api/monitor/on</a></p>
]]></description><link>https://forum.magicmirror.builders/post/129939</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129939</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Sat, 07 Feb 2026 03:02:47 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sat, 07 Feb 2026 00:31:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bloodknot" aria-label="Profile: bloodknot">@<bdi>bloodknot</bdi></a> Thanks for the quick feedback. Okay, that was still progress. Now please try v4.2.2.</p>
]]></description><link>https://forum.magicmirror.builders/post/129938</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129938</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Sat, 07 Feb 2026 00:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Fri, 06 Feb 2026 22:41:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a><br />
I don’t get a failure, however the alert/showalert function does not work:</p>
<pre><code>{"success":false,"message":"Module alert does not have any actions defined."}
</code></pre>
]]></description><link>https://forum.magicmirror.builders/post/129936</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129936</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Fri, 06 Feb 2026 22:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Fri, 06 Feb 2026 21:29:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bloodknot" aria-label="Profile: bloodknot">@<bdi>bloodknot</bdi></a> Thanks for reporting. Release v4.2.1 should fix it. Please check 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/129930</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129930</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Fri, 06 Feb 2026 21:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Wed, 04 Feb 2026 18:06:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: kristjanesperanto">@<bdi>kristjanesperanto</bdi></a><br />
It looks like something also happened to showalert:</p>
<p dir="auto"><a href="http://magicmirrorip:8080/api/module/alert/showalert?message=Hello&amp;timer=2000&amp;apiKey=********-****-****-****-" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirrorip:8080/api/module/alert/showalert?message=Hello&amp;timer=2000&amp;apiKey=********-****-****-****-</a>**********</p>
<pre><code>TypeError: Cannot read properties of undefined (reading 'showalert')
    at Class.answerModuleApi (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/API/api.js:457:35)
    at /home/bloodknot/MagicMirror/modules/MMM-Remote-Control/API/api.js:296:14
    at Layer.handleRequest (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/lib/layer.js:152:17)
    at next (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/lib/route.js:157:13)
    at Route.dispatch (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/lib/route.js:117:3)
    at handle (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:435:11)
    at Layer.handleRequest (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/lib/layer.js:152:17)
    at /home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:295:15
    at param (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:600:14)
    at param (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:610:14)
    at param (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:610:14)
    at processParams (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:664:3)
    at next (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:291:5)
    at /home/bloodknot/MagicMirror/modules/MMM-Remote-Control/API/api.js:148:7
    at Layer.handleRequest (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/lib/layer.js:152:17)
    at trimPrefix (/home/bloodknot/MagicMirror/modules/MMM-Remote-Control/node_modules/router/index.js:342:13)
</code></pre>
]]></description><link>https://forum.magicmirror.builders/post/129910</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129910</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Wed, 04 Feb 2026 18:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Wed, 28 Jan 2026 14:44:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a><br />
Update to 4.2.0 fixed the issue.  Thanks for the quick response!!</p>
]]></description><link>https://forum.magicmirror.builders/post/129841</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129841</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Wed, 28 Jan 2026 14:44:12 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Wed, 28 Jan 2026 08:09:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bloodknot" aria-label="Profile: bloodknot">@<bdi>bloodknot</bdi></a> I think I solved it, please update to v4.2.0 and check 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/129835</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129835</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Wed, 28 Jan 2026 08:09:54 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Mon, 26 Jan 2026 23:23:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a>  - Cannot GET /api/refresh (or any API call)<br />
MMM-Remote-Control is working fine on the same computer that the API is not found. This occurred in the last couple of updates.  Nothing else changed in the configuration and/or modules.</p>
<p dir="auto">magicmirror2 = 192.168.4.21<br />
<a href="http://magicmirror2:8080/remote.html#main-menu" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirror2:8080/remote.html#main-menu</a> <strong>WORKS</strong> from 192.168.4.210<br />
<a href="http://magicmirror2:8080/api/refresh" target="_blank" rel="noopener noreferrer nofollow ugc">http://magicmirror2:8080/api/refresh</a> <strong>Does NOT Work</strong> from 192.168.4.210</p>
<pre><code>MM Config:
address: "0.0.0.0",
port: 8080
basePath: "/",
ipWhitelist:[],

module: 'MMM-Remote-Control',
config: {
	customCommand: {}
     	showModuleApiMenu: true,
     	secureEndpoints: true,
     	apiKey: '********-****-****-****-************'  
     	showQRCode: false
</code></pre>
<pre><code>GET http://magicmirror2:8080/api/refresh?apiKey=********-****-****-****-************ 404 (Not Found)
</code></pre>
<p dir="auto">What has changed?  Did I miss an update?  Any assistance will be great</p>
]]></description><link>https://forum.magicmirror.builders/post/129818</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129818</guid><dc:creator><![CDATA[bloodknot]]></dc:creator><pubDate>Mon, 26 Jan 2026 23:23:48 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 06 Jan 2026 21:38:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> Cool. I’m glad it works 🎉</p>
]]></description><link>https://forum.magicmirror.builders/post/129437</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129437</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Tue, 06 Jan 2026 21:38:16 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 06 Jan 2026 21:24:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a> It is working!! Awesome! Thanks you very much! :)</p>
]]></description><link>https://forum.magicmirror.builders/post/129436</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129436</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Tue, 06 Jan 2026 21:24:55 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 06 Jan 2026 20:47:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> That was tricky, but I think I’ve solved that too. Please take a look at the new release v4.1.5 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/129434</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129434</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Tue, 06 Jan 2026 20:47:15 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 06 Jan 2026 17:40:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a> You are welcome, It’s me who should thank you for all the great stuff! :) It’s almost working…<br />
The error messages are gone, but it still shows and hides “both” modules (MMM-MotionEye in my example clip)… :)</p>
<p dir="auto">Let me know if you want anything else? There is nothing in the “logs” now… :)</p>
]]></description><link>https://forum.magicmirror.builders/post/129430</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129430</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Tue, 06 Jan 2026 17:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Tue, 06 Jan 2026 10:55:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> Thanks for the detailed report. I think I’ve fixed it. Please update to the new release v4.1.4 and give me some feedback 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/129420</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129420</guid><dc:creator><![CDATA[KristjanESPERANTO]]></dc:creator><pubDate>Tue, 06 Jan 2026 10:55:50 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Mon, 05 Jan 2026 11:44:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a><br />
I have this problem that has been bugging me for a while…<br />
Check this clip: <a href="https://photos.app.goo.gl/Zahc5xqttn33frbKA" target="_blank" rel="noopener noreferrer nofollow ugc">https://photos.app.goo.gl/Zahc5xqttn33frbKA</a> &lt; From API</p>
<p dir="auto">My mirror have lot’s of modules many are multi instances (like <a href="https://github.com/CatoAntonsen/MMM-MotionEye" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-MotionEye</a> in this example).<br />
I see the same behavior (or similar) with other modules, mainly my “<a href="https://github.com/Snille/MMM-homeassistant-sensors" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-homeassistant-sensors</a>”…<br />
I often makes API-calls from Node Red in Home Assistant, like this clip: <a href="https://photos.app.goo.gl/K9ktuXGKawoyHEez5" target="_blank" rel="noopener noreferrer nofollow ugc">https://photos.app.goo.gl/K9ktuXGKawoyHEez5</a></p>
<p dir="auto">Errors from the log:</p>
<pre><code>0|mmdev  | [2026-01-05 12:24:13.812] [ERROR] undefined Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
0|mmdev  |     at ServerResponse.setHeader (node:_http_outgoing:700:11)
0|mmdev  |     at ServerResponse.header (/var/www/html/magicmirror/m/node_modules/express/lib/response.js:686:10)
0|mmdev  |     at ServerResponse.json (/var/www/html/magicmirror/m/node_modules/express/lib/response.js:249:10)
0|mmdev  |     at Class.sendResponse (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:687:28)
0|mmdev  |     at Class.handleSimpleSocketNotification (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:965:10)
0|mmdev  |     at SHOW (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:1024:28)
0|mmdev  |     at Class.executeQuery (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:1049:7)
0|mmdev  |     at Class.answerModuleApi (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/API/api.js:442:14)
0|mmdev  |     at /var/www/html/magicmirror/m/modules/MMM-Remote-Control/API/api.js:299:14
0|mmdev  |     at Layer.handleRequest (/var/www/html/magicmirror/m/node_modules/router/lib/layer.js:152:17)
0|mmdev  |     at next (/var/www/html/magicmirror/m/node_modules/router/lib/route.js:157:13)
0|mmdev  |     at Route.dispatch (/var/www/html/magicmirror/m/node_modules/router/lib/route.js:117:3)
0|mmdev  |     at handle (/var/www/html/magicmirror/m/node_modules/router/index.js:435:11)
0|mmdev  |     at Layer.handleRequest (/var/www/html/magicmirror/m/node_modules/router/lib/layer.js:152:17)
0|mmdev  |     at /var/www/html/magicmirror/m/node_modules/router/index.js:295:15
0|mmdev  |     at param (/var/www/html/magicmirror/m/node_modules/router/index.js:600:14)
0|mmdev  | [2026-01-05 12:24:28.662] [ERROR] undefined Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
0|mmdev  |     at ServerResponse.setHeader (node:_http_outgoing:700:11)
0|mmdev  |     at ServerResponse.header (/var/www/html/magicmirror/m/node_modules/express/lib/response.js:686:10)
0|mmdev  |     at ServerResponse.send (/var/www/html/magicmirror/m/node_modules/express/lib/response.js:163:12)
0|mmdev  |     at ServerResponse.json (/var/www/html/magicmirror/m/node_modules/express/lib/response.js:252:15)
0|mmdev  |     at Class.sendResponse (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:687:28)
0|mmdev  |     at Class.handleSimpleSocketNotification (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:965:10)
0|mmdev  |     at HIDE (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:1023:28)
0|mmdev  |     at Class.executeQuery (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/node_helper.js:1049:7)
0|mmdev  |     at Class.answerModuleApi (/var/www/html/magicmirror/m/modules/MMM-Remote-Control/API/api.js:442:14)
0|mmdev  |     at /var/www/html/magicmirror/m/modules/MMM-Remote-Control/API/api.js:299:14
0|mmdev  |     at Layer.handleRequest (/var/www/html/magicmirror/m/node_modules/router/lib/layer.js:152:17)
0|mmdev  |     at next (/var/www/html/magicmirror/m/node_modules/router/lib/route.js:157:13)
0|mmdev  |     at Route.dispatch (/var/www/html/magicmirror/m/node_modules/router/lib/route.js:117:3)
0|mmdev  |     at handle (/var/www/html/magicmirror/m/node_modules/router/index.js:435:11)
0|mmdev  |     at Layer.handleRequest (/var/www/html/magicmirror/m/node_modules/router/lib/layer.js:152:17)
0|mmdev  |     at /var/www/html/magicmirror/m/node_modules/router/index.js:295:15
</code></pre>
<p dir="auto">I also experience that when calling a specific module to show with “module_number_modulename”, it often shows the “wrong” module-instance (of that type of module, like MMM-homeassistant-sensors, but the wrong one)… I don’t know if it’s related to this.</p>
<p dir="auto">Let me know if you need anything more…<br />
Thank you for this great module! :)</p>
]]></description><link>https://forum.magicmirror.builders/post/129392</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129392</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 05 Jan 2026 11:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to MMM-Remote-Control on Sun, 04 Jan 2026 15:12:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kristjanesperanto" aria-label="Profile: KristjanESPERANTO">@<bdi>KristjanESPERANTO</bdi></a> I did set the showModuleApiMenu: true,<br />
I do get the “Module Controls” menu entry, but it has no content AND other notification based modules are working.<br />
I noticed as well that the “Updates” doesn’t show modules, anymore. The only one shown is “MagicMirror”, below the message “!No module loaded.”</p>
<p dir="auto">Ok, I renamed MMM-Remote-Contol directory and re-installed following the github instructions. All is working now!<br />
Thank you for your help and a great module!</p>
]]></description><link>https://forum.magicmirror.builders/post/129390</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/129390</guid><dc:creator><![CDATA[meikelrix]]></dc:creator><pubDate>Sun, 04 Jan 2026 15:12:20 GMT</pubDate></item></channel></rss>