Read the statement by Michael Teeuw here.
REMOTE CONTROL UPDATE
-
Hello, wanting to update the remote control module with this remote control my mirror does not restart what should I do?
-
@pat59 hm. worrying. lets try this
from a terminal window
cd ~/MagicMirror/modules mv MMM-Remote-Control save-remote git clone https://github.com/Jopyth/MMM-Remote-Control cd MMM-Remote-Control npm install pm2 restart mmstop if you get an error
the error implies a failing sd card, backup now
-
@pat59 show the messages from pm2
pm2 logs --lines=100
-
@pat59 what did you update? module or MagicMirror
-
I updated with cd ~/MagicMirror
how to make you see the messages of pm2
-
@pat59 MORE than likely you upgraded which didn’t handle the nodejs requirement
can you get to a commandline on the mirror?
ssh, vnc?
-
pi@raspberrypi:~/MagicMirror $ pm2 logs mm
[TAILING] Tailing last 15 lines for [mm] process (change the value with --lines option)
/home/pi/.pm2/logs/mm-error.log last 15 lines:
0|mm | at resolveExports (node:internal/modules/cjs/loader:550:15)
0|mm | at Module._findPath (node:internal/modules/cjs/loader:628:31)
0|mm | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
0|mm | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
0|mm | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
0|mm | at Module._load (node:internal/modules/cjs/loader:908:27)
0|mm | at c._load (node:electron/js2c/node_init:2:13672)
0|mm | at Module.require (node:internal/modules/cjs/loader:1122:19)
0|mm | at require (node:internal/modules/helpers:130:18)
0|mm | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1256:14)
0|mm | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1098:32)
0|mm | (Useelectron --trace-warnings ...to show where the warning was created)
0|mm | [2025-03-09 20:02:43.107] [ERROR] (node:1422) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)/home/pi/.pm2/logs/mm-out.log last 15 lines:
0|mm | [2025-03-09 19:58:14.225] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-09 19:58:14.239] [LOG] Loading module helpers …
0|mm |
0|mm | > magicmirror@2.27.0 start
0|mm | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
0|mm |
0|mm | [2025-03-09 20:02:41.778] [LOG] Starting MagicMirror: v2.27.0
0|mm | [2025-03-09 20:02:41.852] [LOG] Loading config …
0|mm | [2025-03-09 20:02:41.858] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-09 20:02:41.870] [LOG] Loading module helpers …
0|mm | [2025-03-09 20:02:53.609] [INFO] System information:
0|mm | ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
0|mm | ### OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 5.10.103-v7+
0|mm | ### VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
0|mm | ### OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined -
pi@raspberrypi:~/MagicMirror $ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
pi@raspberrypi:~/MagicMirror $ -
@pat59 pm2 need more lines
ssh FROM pc TO pi
-
Hello
sorry, being a novice, I don’t understand what to do -
@pat59 pm2 logs MagicMirror lines=100
-
it doesn’t give me more lines.
pi@raspberrypi:~/MagicMirror $ pm2 logs MagicMirror
[TAILING] Tailing last 15 lines for [MagicMirror] process (change the value with --lines option)
/home/pi/.pm2/logs/MagicMirror-error.log last 15 lines:
1|MagicMir | at resolveExports (node:internal/modules/cjs/loader:550:15)
1|MagicMir | at Module._findPath (node:internal/modules/cjs/loader:628:31)
1|MagicMir | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
1|MagicMir | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
1|MagicMir | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
1|MagicMir | at Module._load (node:internal/modules/cjs/loader:908:27)
1|MagicMir | at c._load (node:electron/js2c/node_init:2:13672)
1|MagicMir | at Module.require (node:internal/modules/cjs/loader:1122:19)
1|MagicMir | at require (node:internal/modules/helpers:130:18)
1|MagicMir | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
1|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1256:14)
1|MagicMir | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
1|MagicMir | at Module.load (node:internal/modules/cjs/loader:1098:32)
1|MagicMir | (Useelectron --trace-warnings ...to show where the warning was created)
1|MagicMir | [2025-03-10 17:29:32.437] [ERROR] (node:1154) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)/home/pi/.pm2/logs/MagicMirror-out.log last 15 lines:
1|MagicMir | ### VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
1|MagicMir | ### OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined
1|MagicMir |
1|MagicMir | > magicmirror@2.27.0 start
1|MagicMir | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
1|MagicMir |
1|MagicMir | [2025-03-10 17:29:30.987] [LOG] Starting MagicMirror: v2.27.0
1|MagicMir | [2025-03-10 17:29:31.052] [LOG] Loading config …
1|MagicMir | [2025-03-10 17:29:31.064] [LOG] config template file not exists, no envsubst
1|MagicMir | [2025-03-10 17:29:31.078] [LOG] Loading module helpers …
1|MagicMir | [2025-03-10 17:29:44.233] [INFO] System information:
1|MagicMir | ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
1|MagicMir | ### OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 5.10.103-v7+
1|MagicMir | ### VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
1|MagicMir | ### OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined -
@pat59 correct, you didn’t ask for more lines
pm2 logs mm --lines=100 -
this is what he gives me.
pi@raspberrypi:~ $ cd ~/MagicMirror
pi@raspberrypi:~/MagicMirror $ pm2 logs mm --lines=100
[TAILING] Tailing last 100 lines for [mm] process (change the value with --lines option)
/home/pi/.pm2/logs/mm-error.log last 100 lines:
0|mm | [2025-03-09 19:48:01.357] [ERROR] (node:2136) UnhandledPromiseRejectionWarning: SyntaxError: Error parsing /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/simple-git/package.json: Unexpected end of JSON input
0|mm | at parse ()
0|mm | at Object.read (node:internal/modules/package_json_reader:75:16)
0|mm | at readPackage (node:internal/modules/cjs/loader:369:28)
0|mm | at resolveExports (node:internal/modules/cjs/loader:550:15)
0|mm | at Module._findPath (node:internal/modules/cjs/loader:628:31)
0|mm | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
0|mm | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
0|mm | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
0|mm | at Module._load (node:internal/modules/cjs/loader:908:27)
0|mm | at c._load (node:electron/js2c/node_init:2:13672)
0|mm | at Module.require (node:internal/modules/cjs/loader:1122:19)
0|mm | at require (node:internal/modules/helpers:130:18)
0|mm | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1256:14)
0|mm | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1098:32)
0|mm | (Useelectron --trace-warnings ...to show where the warning was created)
0|mm | [2025-03-09 19:48:01.361] [ERROR] (node:2136) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
0|mm | Gdk-Message: 19:48:14.328: electron: Fatal IO error 11 (Ressource temporairement non disponible) on X server :0.
0|mm |
0|mm | [2025-03-09 19:58:15.652] [ERROR] (node:1753) UnhandledPromiseRejectionWarning: SyntaxError: Error parsing /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/simple-git/package.json: Unexpected end of JSON input
0|mm | at parse ()
0|mm | at Object.read (node:internal/modules/package_json_reader:75:16)
0|mm | at readPackage (node:internal/modules/cjs/loader:369:28)
0|mm | at resolveExports (node:internal/modules/cjs/loader:550:15)
0|mm | at Module._findPath (node:internal/modules/cjs/loader:628:31)
0|mm | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
0|mm | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
0|mm | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
0|mm | at Module._load (node:internal/modules/cjs/loader:908:27)
0|mm | at c._load (node:electron/js2c/node_init:2:13672)
0|mm | at Module.require (node:internal/modules/cjs/loader:1122:19)
0|mm | at require (node:internal/modules/helpers:130:18)
0|mm | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1256:14)
0|mm | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1098:32)
0|mm | (Useelectron --trace-warnings ...to show where the warning was created)
0|mm | [2025-03-09 19:58:15.659] [ERROR] (node:1753) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
0|mm | Gdk-Message: 19:58:23.609: electron: Fatal IO error 0 (Succès) on X server :0.
0|mm |
0|mm | [2025-03-09 20:02:43.104] [ERROR] (node:1422) UnhandledPromiseRejectionWarning: SyntaxError: Error parsing /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/simple-git/package.json: Unexpected end of JSON input
0|mm | at parse ()
0|mm | at Object.read (node:internal/modules/package_json_reader:75:16)
0|mm | at readPackage (node:internal/modules/cjs/loader:369:28)
0|mm | at resolveExports (node:internal/modules/cjs/loader:550:15)
0|mm | at Module._findPath (node:internal/modules/cjs/loader:628:31)
0|mm | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
0|mm | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
0|mm | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
0|mm | at Module._load (node:internal/modules/cjs/loader:908:27)
0|mm | at c._load (node:electron/js2c/node_init:2:13672)
0|mm | at Module.require (node:internal/modules/cjs/loader:1122:19)
0|mm | at require (node:internal/modules/helpers:130:18)
0|mm | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1256:14)
0|mm | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1098:32)
0|mm | (Useelectron --trace-warnings ...to show where the warning was created)
0|mm | [2025-03-09 20:02:43.107] [ERROR] (node:1422) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
0|mm | Gdk-Message: 20:54:50.269: electron: Fatal IO error 11 (Ressource temporairement non disponible) on X server :0.
0|mm |
0|mm | [2025-03-10 17:50:25.427] [ERROR] (node:2106) UnhandledPromiseRejectionWarning: SyntaxError: Error parsing /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/simple-git/package.json: Unexpected end of JSON input
0|mm | at parse ()
0|mm | at Object.read (node:internal/modules/package_json_reader:75:16)
0|mm | at readPackage (node:internal/modules/cjs/loader:369:28)
0|mm | at resolveExports (node:internal/modules/cjs/loader:550:15)
0|mm | at Module._findPath (node:internal/modules/cjs/loader:628:31)
0|mm | at Module._resolveFilename (node:internal/modules/cjs/loader:1041:27)
0|mm | at s._resolveFilename (node:electron/js2c/browser_init:2:115476)
0|mm | at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29)
0|mm | at Module._load (node:internal/modules/cjs/loader:908:27)
0|mm | at c._load (node:electron/js2c/node_init:2:13672)
0|mm | at Module.require (node:internal/modules/cjs/loader:1122:19)
0|mm | at require (node:internal/modules/helpers:130:18)
0|mm | at Object. (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:18:19)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1256:14)
0|mm | at Module._extensions…js (node:internal/modules/cjs/loader:1311:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1098:32)
0|mm | (Useelectron --trace-warnings ...to show where the warning was created)
0|mm | [2025-03-10 17:50:25.430] [ERROR] (node:2106) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)/home/pi/.pm2/logs/mm-out.log last 100 lines:
0|mm |
0|mm | > magicmirror@2.27.0 start
0|mm | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
0|mm |
0|mm | [2025-03-09 19:47:59.893] [LOG] Starting MagicMirror: v2.27.0
0|mm | [2025-03-09 19:47:59.962] [LOG] Loading config …
0|mm | [2025-03-09 19:47:59.971] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-09 19:47:59.980] [LOG] Loading module helpers …
0|mm |
0|mm | > magicmirror@2.27.0 start
0|mm | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
0|mm |
0|mm | [2025-03-09 19:58:14.143] [LOG] Starting MagicMirror: v2.27.0
0|mm | [2025-03-09 19:58:14.212] [LOG] Loading config …
0|mm | [2025-03-09 19:58:14.225] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-09 19:58:14.239] [LOG] Loading module helpers …
0|mm |
0|mm | > magicmirror@2.27.0 start
0|mm | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
0|mm |
0|mm | [2025-03-09 20:02:41.778] [LOG] Starting MagicMirror: v2.27.0
0|mm | [2025-03-09 20:02:41.852] [LOG] Loading config …
0|mm | [2025-03-09 20:02:41.858] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-09 20:02:41.870] [LOG] Loading module helpers …
0|mm | [2025-03-09 20:02:53.609] [INFO] System information:
0|mm | ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
0|mm | ### OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 5.10.103-v7+
0|mm | ### VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
0|mm | ### OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined
0|mm |
0|mm | > magicmirror@2.27.0 start
0|mm | > DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
0|mm |
0|mm | [2025-03-10 17:50:17.717] [LOG] Starting MagicMirror: v2.27.0
0|mm | [2025-03-10 17:50:17.811] [LOG] Loading config …
0|mm | [2025-03-10 17:50:17.824] [LOG] config template file not exists, no envsubst
0|mm | [2025-03-10 17:50:17.843] [LOG] Loading module helpers …
0|mm | [2025-03-10 17:50:47.882] [INFO] System information:
0|mm | ### SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
0|mm | ### OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 5.10.103-v7+
0|mm | ### VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
0|mm | ### OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined -
@pat59 hm. worrying. lets try this
from a terminal window
cd ~/MagicMirror/modules mv MMM-Remote-Control save-remote git clone https://github.com/Jopyth/MMM-Remote-Control cd MMM-Remote-Control npm install pm2 restart mmstop if you get an error
the error implies a failing sd card, backup now
-
pi@raspberrypi:~ $ cd ~/MagicMirror/modules
pi@raspberrypi:~/MagicMirror/modules $ mv MMM-Remote-control save-remote
mv: impossible d’évaluer ‘MMM-Remote-control’: Aucun fichier ou dossier de ce type
pi@raspberrypi:~/MagicMirror/modules $ git clone https://github/Jopyth/MMM-Remote-Control
fatal: le chemin de destination ‘MMM-Remote-Control’ existe déjà et n’est pas un répertoire vide.
pi@raspberrypi:~/MagicMirror/modules $ cd MMM-Remote-control
bash: cd: MMM-Remote-control: Aucun fichier ou dossier de ce type
pi@raspberrypi:~/MagicMirror/modules $ cd MMM-Remote-Control
pi@raspberrypi:~/MagicMirror/modules/MMM-Remote-Control $ npm install
npm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/cspell
npm ERR! dest /home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/.cspell-Sdwzuw3y
npm ERR! errno -39
npm ERR! ENOTEMPTY: directory not empty, rename ‘/home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/cspell’ -> ‘/home/pi/MagicMirror/modules/MMM-Remote-Control/node_modules/.cspell-Sdwzuw3y’npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2025-03-10T18_40_59_208Z-debug-0.log
pi@raspberrypi:~/MagicMirror/modules/MMM-Remote-Control $ -
@pat59 MagicMirror is case sensitive
control is not the same as Control
-
so there is nothing more to do l have to restart my Mirror cordially
-
I redid the entire process, I must have made a typing error, everything went normally, the mirror function, I don’t know how to thank you, I’m so happy
-
@pat59 awesome
-
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