Hi,
I am trying to use MMM-ModuleScheduler to send notification to MMM-Wallpaper for changing the source in config. However, it does not seem to change. Is there something wrong with the Scheduler as set up below:
{
module: ‘MMM-ModuleScheduler’,
config: {
schedules: [
{
schedule: “0 17 * * *”,
notification: “UPDATE_WALLPAPER_CONFIG”,
payload: {
module: “MMM-Wallpaper”,
config: {
source: “chromecast”,
}
}
},
]
}
},
No errors in running and the wallpaper module works fine but the source does not change as per the scheduler? Any help will be appreciated. Thanks.
Hi i’m training to run MM on a raspberry pi, this is my first trying something like this and seeing this much code, when i tried npm run start i get all of this errors, tried to update things and its giving me the same error, should I just tried a fresh install? thanks for the help guys.
dayzwell@raspberrypi:~/MagicMirror $ npm run start
magicmirror@2.31.0 start
npm run start:x11
magicmirror@2.31.0 start:x11
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js
[2025-06-16 12:46:38.249] [ERROR] App threw an error during load
[2025-06-16 12:46:38.259] [ERROR] ReferenceError: ReadableStream is not defined
at Object. (/home/dayzwell/MagicMirror/node_modules/undici/lib/web/fetch/webidl.js:471:58)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13377)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/home/dayzwell/MagicMirror/node_modules/undici/lib/web/fetch/util.js:12:20)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13377)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
A JavaScript error occurred in the main process
Uncaught Exception:
ReferenceError: ReadableStream is not defined
at Object. (/home/dayzwell/MagicMirror/node_modules/undici/lib/web/fetch/webidl.js:471:58)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13377)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/home/dayzwell/MagicMirror/node_modules/undici/lib/web/fetch/util.js:12:20)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32)
at Module._load (node:internal/modules/cjs/loader:846:12)
at f._load (node:electron/js2c/asar_bundle:2:13377)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
os_same_file_description couldn’t determine if two DRM fds reference the same file description. (Function not implemented)
Let’s just assume that file descriptors for the same file probablyshare the file description instead. This may cause problems whenthat isn’t the case.
[4820:0616/114639.047070:ERROR:gbm_wrapper.cc(255)] Failed to export buffer to dma_buf: No such file or directory (2)
Hey everyone,
I help manage several MagicMirror installations in different locations (office, public displays, a couple at home), and I’m exploring ways to remotely monitor, update, and automate their maintenance—almost like a mini SysOps setup.
Would love to hear your thoughts on:
How do you remotely access and update your MagicMirror systems? (SSH, VNC, scripts?)
Has anyone set up automated updates for modules, system packages, or even Pi OS?
Are you using tools like Ansible, Attune, or shell scripts to manage multiple devices?
Any tips on monitoring performance or uptime remotely—like lightweight dashboards or alerts?
I’d love to streamline everything, especially for mirrors running 24/7 in public or semi-unattended setups.
Appreciate any advice or examples of your automation workflows!
Thanks,
Hello everyone i am not sure whats going on, recently i changed the photos in my album on google photos and usually it switches right away. well i noticed it had not so i restarted the pi and i am now getting the loading Google Photos in the bottom right corner whenever i hit Ctrl Q my log looks like this,
[2025-06-13 12:58:36.179] [ERROR] (node:2940) UnhandledPromiseRejectionWarning: AxiosError: Request failed with status code 403
at settle (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_modules/axios/dist/node/axios.cjs:2031:12)
at Unzip.handleStreamEnd (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_modules/axios/dist/node/axios.cjs:3148:11)
at Unzip.emit (node:events:530:35)
at endReadableNT (node:internal/streams/readable:1698:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at Axios.request (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_modules/axios/dist/node/axios.cjs:4258:41)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async GPhotos.request (/home/pi/MagicMirror/modules/MMM-GooglePhotos/GPhotos.js:165:19)
at async getAlbum (/home/pi/MagicMirror/modules/MMM-GooglePhotos/GPhotos.js:208:24)
at async GPhotos.getAlbums (/home/pi/MagicMirror/modules/MMM-GooglePhotos/GPhotos.js:180:18)
at async Class.getAlbums (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_helper.js:263:15)
at async Class.getAlbumList (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_helper.js:313:18)
at async Class.scanJob (/home/pi/MagicMirror/modules/MMM-GooglePhotos/node_helper.js:294:5)
[2025-06-13 12:58:36.180] [ERROR] (node:2940) 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: 265)
i am not sure whats wrong of where to start i have tried googling a few key terms but not much made sense.
This is my code line
{
module: “MMM-GooglePhotos”,
position: “fullscreen_below”,
config: {
albums: [“MagicMirror”], // Set your album name. like [“My wedding”, “family share”, “Travle to Paris”]
updateInterval: 1000 * 60, // minimum 10 seconds.
sort: “random”, // “old”, “new”
uploadAlbum: null, // Only album created by create_uploadable_album.js.
condition: {
fromDate: null, // Or “2018-03”, RFC … format available
toDate: null, // Or “2019-12-25”,
minWidth: null, // Or 400
maxWidth: null, // Or 8000
minHeight: null, // Or 400
maxHeight: null, // Or 8000
minWHRatio: null,
maxWHRatio: null,
// WHRatio = Width/Height ratio ( ==1 : Squared Photo, < 1 : Portraited Photo, > 1 : Landscaped Photo)
},
showWidth: 1080, // These values will be used for quality of downloaded photos to show. real size to show in your MagicMirror region is recommended.
showHeight: 1920,
timeFormat: “YYYY/MM/DD HH:mm”, // Or relative can be used.
}
this was my code before changing the photos as well.
Hi
Is it in anyway possible to get Meter pr second istead of miles pr hour for the wind speed?
I lave everything else with this module. But it’s so annoying not to have wind in my “normal”
{
module: "MMM-OneCallWeather",
position: "top_right",
header: "xxxxxx, // OPDATERET HEADER
config: {
latitude: "xxxxxx", // OPDATERET LATITUDE
longitude: "xxxxx", // OPDATERET LONGITUDE
apikey: "xxxxxxx",
iconset: "4a",
iconsetFormat: "png",
units: "metric", // Styrer at vindhastighed er i m/s
fade: false,
}
},
@mumblebaj,
MMM-WOTD
I am trying figure out what the font name is or size or something to indicate how to increase the size of the fonts in this module, BUT it does not have a css to look at for hints even. I did find refrence to bright small and bold bright medium in the js file. Not sure what to do with that though in the custom.css file…
Can you please help me with what I need to put in the custom.css file to enlarge the fonts in your module.
Thanks in advance for you help…
Hi everyone,
I’m looking to add a module to my MagicMirror that tracks Amazon product and other product prices—similar to what CamelCamelCamel or Keepa offers.
Here’s what I’m envisioning:
• A list of products I’m watching (by ASIN or URL).
• Each item displays the current price.
• If the current price drops below a set threshold, the item is highlighted (e.g., green if below threshold, red if above).
• Ideally supports fetching from Keepa API or even CamelCamelCamel RSS feeds (if possible).
• Refreshes data every few hours.
Would appreciate:
• Existing modules I can look into or adapt
• Advice on best practices for pulling Amazon price data (especially given CamelCamelCamel’s API is closed)
• Suggestions on how to visually present the items and pricing on the mirror
Good morning,
Hopefully a simple question. I use both MMM-CalendarEXT3 and default Calendar module displaying on my MagicMirror. I know the MMM-CalendarEXT3 config goes based off of the default Calendar module config. Is it possible to show a calendar with events on the MMM-CalendarEXT3 module but not have the events show up in the default Calendar module?
I want these events to show in the calendar, but not on the nifty “upcoming to-do list” type of view that the default Calendar module provides.
Thanks!
Hi
Apologies I’m a complete noob.
I’ve been using the old MMM-PIR but now I’ve updated to the latest software it stopped working.
I have now in stalled MMM-Universal-Pir, the countdown works fine but when it hits zero the screen stays on, the pir can be reset but each it hits zero it just stays on.
Can someone tell me what I’m doing wrong?
Hi all,
After using my mirror for some some, I would like to add some custom features using the MMM-Buttons modules, forked / developed by @sdetweil
After downloading and installing the module, pressing a button does not trigger the desired actions.
Instead, some “beautiful” logs are coming after restarting my MagicMirror using pm2:
2025-06-08 00:52:32.659] [ERROR] Whoops! There was an uncaught exception...
[2025-06-08 00:52:32.667] [ERROR] Error: EINVAL: invalid argument, write
at Object.writeFileSync (node:fs:2426:20)
at exportGpio (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/onoff/onoff.js:18:8)
at new Gpio (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/onoff/onoff.js:172:36)
at Class.intializeButton (/home/pi/MagicMirror/modules/MMM-Buttons/node_helper.js:74:19)
at Class.intializeButtons (/home/pi/MagicMirror/modules/MMM-Buttons/node_helper.js:90:18)
at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-Buttons/node_helper.js:26:18)
at Socket.<anonymous> (/home/pi/MagicMirror/js/node_helper.js:91:10)
at Socket.onevent (/home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:462:26)
at Socket._onpacket (/home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:430:22)
at /home/pi/MagicMirror/node_modules/socket.io/dist/client.js:214:24
at process.processTicksAndRejections (node:internal/process/task_queues:85:11) {
errno: -22,
code: 'EINVAL',
syscall: 'write'
}
I’m using the latest MagicMirror release.
Do you have any tips, where I can have a look?
Thanks :)
Hi,
Firstly, I know there are a few out there and by far the one from @karsten13 seems to be the best and most well maintained out there.
I have created my container based on Debian Trixie and MMv2.31.0.
I am looking for testers to see if I have missed anything or if there is room for improvements. I have only been able to test this on my Windows laptop, don’t have a spare RPi at the moment to test this with.
All instructions can be found here mumblebaj/magicmirror:latest
Contributions are most welcome.
Thanks
Okay I want to resize the numbers in the forcast on my screen.
What parts of this I pulled from the MMM-PirateSkyForecast.css do I need to modify for my custom.css file to enlarge ALL the numbers and wording…???
Just remove what I do not need. I am using table vs tile mode… Table fills the width of the screen but the numbers and words are pretty small on my 42inch screen.
.MMM-PirateSkyForecast .attribution {
font-size: 10px;
line-height: 16px;
color: #333;
text-align: right;
}
/* Current Conditions */
.MMM-PirateSkyForecast .current-conditions-wrapper .current.temperature {
line-height: 80px;
vertical-align: middle;
}
.MMM-PirateSkyForecast .current-conditions-wrapper .icon {
vertical-align: middle;
line-height: 80px;
margin-right: 20px;
width: 100px;
height: 100px;
display: inline-block;
position: relative;
}
/* Inline icons */
.MMM-PirateSkyForecast .inline-icon,
.MMM-PirateSkyForecast .wrapper.tiled .forecast-container .forecast-item .inline-icon {
display: inline-block;
width: 24px;
height: 24px;
margin-right: 0px;
vertical-align: bottom;
position: relative;
}
/* Extra Current Conditions */
.MMM-PirateSkyForecast .extra-current-conditions-wrapper .temperature-container,
.MMM-PirateSkyForecast .extra-current-conditions-wrapper .precipitation-container,
.MMM-PirateSkyForecast .extra-current-conditions-wrapper .wind-container {
display: inline-block;
white-space: nowrap;
margin:0 15px;
margin-bottom: 10px;
}
/* Forecast Header */
.MMM-PirateSkyForecast .module-header.forecast-header {
margin-top: 20px;
margin-bottom: 0;
}
/* ------------ Table Layout ------------ */
.MMM-PirateSkyForecast .wrapper.table .forecast-container {
display: table;
border-collapse: collapse;
width: 100%;
font-size: 17px;
line-height: 1;
border-bottom: solid 1px #222;
}
.MMM-PirateSkyForecast .wrapper.table .forecast-container .forecast-item > span,
.MMM-PirateSkyForecast .wrapper.table .forecast-container .header-row > span {
display: table-cell;
font-size: 17px;
text-align: center;
vertical-align: middle;
height: 40px;
}
.MMM-PirateSkyForecast .wrapper.table .forecast-container .header-row > span {
height: 32px;
font-size: 14px;
text-transform: uppercase;
vertical-align: bottom;
padding-bottom: 2px;
}
.MMM-PirateSkyForecast .wrapper.table .forecast-container .forecast-item .forecast-icon {
width: 30px;
height: 30px;
display: block;
vertical-align: middle;
}
Hello new user here.
trying to setup a magic mirror for my wife.
got the hardware and MM installed and now i’m trying to install some modules to get it set up.
MMPM seems like a good first one to help get all the modules setup correctly but I cannot for the life of me get it working
I’m good with computers but a bit of a noob for linux and rasberry pi stuff. This is my first build.
Per the instructions I can install it via docker and I run that command
docker pull karsten13/mmpm
that seems to run and do its thing but its not installed.
so I try the python method listed
python3 -m pip install --upgrade mmpm
Here’s where I get this error:
python3 -m pip install --upgrade mmpm
error: externally-managed-environment
This environment is externally managed
To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Please help!
what do I do to install this module to set up my magic mirror?
thank you all in advance
Ben
Hi I managed to install and auth. I have put photo in my OneDrive album but log is showing :
[ERROR] Error: HEIF image not found
[ERROR] [ONEDRIVE] [node_helper] failed to refresh and send chunk:
[2025-06-05 21:35:42.315] [ERROR] [ONEDRIVE] [node_helper] HEIF image not found
I have both jpg and heic in the folder. What should I do here
Hi everyone!
I have installed the MagicMirror and I have noticed that when I type pm2 start mm it takes like 2 to 5 minutes to start the MM.
I have version 2.31.0 and Raspberry Pi 3 Model B Plus Rev 1.3
For the rest I am not familiar with programming, so very grateful for your assistance AND patience!
Thanks in advance for any ideas how to solve this.
Cheers!
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
Read the statement by Michael Teeuw here.
Categories
-
Announcements
Announcements regarding the MagicMirror software and forum.
-
Core System
Discuss the MagicMirror² core framework.
-
-
-
-
-
-