Read the statement by Michael Teeuw here.
MMM-Pages module all showing on one page
-
@sdetweil
I think I found my answer, I was on version 1.0.0 of MMM-pages.
We will see what happens with Version 1.3.0 in the morning.
I did the git pull. -
@sdetweil Good catch on that one - there are two MMM-Pages listed in the third party module website, and I was using your fork which is at 1.0.0. I uninstalled that version and installed the 1.3.0 version, but still having the same issue with all modules on one page.
I need to get a bit more sleep and look again just to make sure I did everything correctly after the changes.
One thing I noticed is I’m getting socket.io connection errors in the logs. where it repeatedly tries connecting and then fails. I can grab the log texts when I get back home tonight if that’s anywhere related to the problem.
-
@hahawoooooo I think this is a totally different problem…
are you using node 22.18.0 on the system?
node inside this electron version is 22.18are you using a browser or is this the electron page started by npm start?
-
Node version is 22.18.0, and I’m using pm2 to start it. I changed the mm.sh file to open it via firefox.
-
@hahawoooooo so you are doing npm run server and then launching firefox…
or is this my runstart.sh and u set the env variable for firefox as the browser over server -
@sdetweil To be honest, I need to get a bit smarter about the difference between the different start options (npm, pm2, mmpm, running over server). I’m currently just running pm2 start locally and not running a server.
-
MM is a server with a browser auto started (npm start, electron is the browser), and with any browser connecting too
or
MM can be a server (npm run server) with any browser connecting from anywhereMM is just an app…
you can configure the system to start an app on boot multiple ways
you can edit the system startup settings,
different on window, mac, linx (and diff linux versions)OR you can run ANOTHER app, that does all that work for you
pm2 (node process manager v2)
it can start many different apps (mm , mmpm, and any other tool you like,I have a spotify plugin on another mirror app, it can use the spotify api to play, pause, blah blah
if I install and start the spotify player daemon… (librespot or raspotify on pi)
I use pm2 to launch that too , and I can play on this machine.the cool thing about pm2 is YOU don’t need to know HOW the system autostart works,
pm2 handles all that for you… -
@sdetweil Thanks for the explainer! That really helps to clarify things a bit.
I am using pm2 to start, and it is running with the electron browser, with the MM running directly on the Raspberry Pi. Your explanation made me realize I can open the magic mirror from any browser in the house while I’m troubleshooting, which is really helpful!
I still haven’t figured out why the page timing rotation doesn’t work at all. Even if I set modules on different pages (page 0 and page 1, for instance), they all load in when I start up the MM. It’s like the pages aren’t loaded in, so they’re nothing to switch between.
Here are the logs on firefox from a separate computer while the server is running on the Pi:
[CX3] Module is not prepared yet, wait a while. MMM-CalendarExt3.js:396:11 [CX3A] Module is not prepared yet, wait a while. MMM-CalendarExt3Agenda.js:186:11 Uncaught (in promise) TypeError: searchClass.toLowerCase is not a function newModules http://192.168.1.180:8080/js/main.js:526 modulesByClass http://192.168.1.180:8080/js/main.js:522 exceptWithClass http://192.168.1.180:8080/js/main.js:507 animatePageChange http://192.168.1.180:8080/modules/MMM-pages/MMM-pages.js:220 notificationReceived http://192.168.1.180:8080/modules/MMM-pages/MMM-pages.js:117 sendNotification http://192.168.1.180:8080/js/main.js:101 createDomObjects http://192.168.1.180:8080/js/main.js:70 main.js:526:38 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. 2 main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. 5 main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. 2 main.js:678:9 module tries to update the DOM without being displayed. 3 main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9 module tries to update the DOM without being displayed. main.js:678:9
-
Please use code block around logs, code or config
Uncaught (in promise) TypeError: searchClass.toLowerCase is not a function newModules http://192.168.1.180:8080/js/main.js:526 modulesByClass http://192.168.1.180:8080/js/main.js:522 exceptWithClass http://192.168.1.180:8080/js/main.js:507 animatePageChange http://192.168.1.180:8080/modules/MMM-pages/MMM-pages.js:220 notificationReceived http://192.168.1.180:8080/modules/MMM-pages/MMM-pages.js:117Can you post your pages config
-
@sdetweil Sure thing!
{ //MMM-Pages module: "MMM-pages", // flip between pages - goal was to set full page calendar on one page, rest on other config: { timings: { default: 5000 // rotate every 5 seconds }, modules: [ ['weather', // page 0 'MMM-CalendarExt3', 'MMM-CalendarExt3Agenda', 'MMM-Chores', 'MMM-Dad-Jokes' ], ['MMM-TitanSchoolMealMenu'], // page 1 ], fixed: [ ['MMM-page-indicator', // what to show on every page 'MMM-SmartTouch', 'clock', 'MMM-MagicMover', 'MMM-Wallpaper'] ], hiddenPages:{ // modules to not show, or to hide in specific pages "hidden": [ 'calendar', 'updatenotification', 'MMM-Remote-Control' ], } }
