Dear Sam ( @sdetweil) ,
Hope you’re doing well! I’ve been using your MagicMirror backup-restore scripts for quite a while
now and they’ve been super helpful - thank you so much for maintaining them!
I just ran into a small issue that I wanted to share. At some point in the past, I had used
mm_restore.sh, which left my local backup repo on a branch called restore-branch. When I ran
mm_backup.sh today (after a loooong time) , it committed the backup to restore-branch (since that was
the checked-out branch), but the push command on line 511 explicitly pushes main:
git push -u origin main refs/tags/$next_tagnumber
So the tag got pushed correctly, but the actual backup commit never made it to main on GitHub -
because the commit was on restore-branch while the push targeted main (which still pointed to the
old commit).
Easy fix on my end - I just merged restore-branch into main and pushed. But you might want to add
a git checkout main (or git switch main) somewhere before the commit step in mm_backup.sh, so the
script always commits to the right branch regardless of which branch happens to be checked out.
Thanks again for all your work on this - and for all the help you are performing here for us!
Ralf
Hello,
I’ve decided to try to build a magic mirror and, since I’m still in the planning stage, my biggest doubt is which Raspberry to buy.
On one hand I’d like to get a RPi 5, on the other hand the Raspberry will be on 24/7 and the latest model is power hungry, especially compared to older ones.
Also more power means an higher electrical bill and more heat to dissipate (since it will be in a closed frame that’s obviously a problem both because of the enclosed nature of the installation and because of the small space available so I cannot use big heat sinks or fans).
Cost is not an issue since RPi4 costs more or less equal to RPi5
If this helps, I plan to use just a few modules:
a calendar
an IR touch screen
some kind of home assistant module to get some data out of HA
-(optional) a face recognition module, still debating on this tho.
The monitor will be a standard 1920x1080p@60Hz and I don’t plan to do much with MM but these few things (no audio in or out, no AI, no animations).
Which Raspberry would work best in my scenario?
Is RPi 3B+ too old? Is 4B better? Or do I just go with 5?
And, last but not least, how much RAM do I actually need?
I don’t want to buy one to find myself in need of an upgrade in 6 month or 1 year.
Thank you in advance!
I am working on a project where I want to have 7-9 modules stacked either horizontally or vertically.
By default, modules stack vertically. So, if you have three “weather” modules for London, New York, and Toronto, they will look like this:
London Weather
New York Weather
Toronto Weather
This would make sense on a vertical/portrait screen, where stacked makes sense. However, if you have a horizontal/landscape screen, you might run out of space, and it might look weird. Having them side by side might make more sense, like this:
London Weather | New York Weather | Toronto Weather
I spent a non-trivial amount of time trying to override the main.css file’s “flex-drection” settings using the custom.css, but I was unable to do so. I ended up breaking the cardinal rule and modified a file that could be overwritten by future updates.
Would it be possible to have somewhere that could be changed in the config.js? Or, is there an easy way to override using custom.css that I was just too brain-fogged to see?
Thank you.
I found myself wanting to add a Notion database with a Date field to my MM.
I realized Notion did not have an .ics field, and after considering making an applet that could convert the Notion API into an iCalendar feed, I realized I could do it within MagicMirror itself.
Introducing MMM-NotionCalendar! This allows you to generate an iCalendar feed compatible with the default Calendar module (and others) from a Notion database.
This already supports any named “Name” and “Date” fields, as well as adding any custom filtering on the database.
Because this module requires a rather dense URL to operate, I created a simple app to format the URLs for you, hosted in GitHub pages off of the repository.
Let me know if there is anything you would want added!
Hey all-- I cannot figure out a way to get the available todo lists to work for my use case, which I feel like must mean I’m missing something. I have a multi-page family dashboard, and I want a separate chores list for each member of the family to appear on their page. These are recurring chores, so they should get refreshed daily. Also, I want to be able to clear tasks with the touchscreen. So far I’ve tried:
MMM-Chores. Most excited about this-- has everything I want, except that I can’t display separated task lists on each person’s page.
MMM-TodoList. Has separated task lists and touchscreen clearing, but no recurring tasks.
MMM-CalDAV-Tasks. Looks like it could do the job, but apparently it doesn’t work with iCloud? I can’t get it to work, and I found active/unanswered threads in GitHub that it’s just not compatible with iCloud. So I’d have to setup a NextCloud server just to use it?
MMM-Todoist. No touchscreen check off capabilities. Looks like it’s the same with MMM-GoogleTasks?
Is this just such a niche use case that none of the available tools can do this? Or have I missed something? Thanks!
After completely reinstalling my MMM, the MMM-Universal PIR module no longer works for
I get the error message
GPIOcommand exited with error
My configuration is as follows
{
module: "MMM-Universal-Pir",
position: "top_right",
config: {
gpioCommand: "gpiomon -r -b gpiochip0 17",
onCommand: "wlr-randr --output HDMI-A-1 --on --transform 90",
offCommand: "wlr-randr --output HDMI-A-1 --off",
deactivateDelay: 180 * 1000,
}
},
The cables are connected with the sixth pin and the first and third pins on the other line.
I tried the solution in the here on the bottom but unfortunately I cannot found a compose.yaml.
It would be great, if you can help me.
Thank you in advance.
Klinge
A MagicMirror² module for displaying animated countdown timers with celebration effects when your events arrive!
Features
Four Counter Styles - Flip clock, progress rings, animated hourglass & digital clock
Celebration Animation - Customizable falling emoji particles when your event arrives
Arrival Glow Effect - Counter boxes pulse with a glowing effect when countdown reaches zero
Responsive Scaling - Automatically scales to fit any MagicMirror region width
Grayscale Mode - Inverted grayscale option for classic MagicMirror aesthetic
Screenshot
All Four Counter Styles
flip (with celebration animation), rings, hourglass and digital, each with its own personality.
[image: hero-all-styles-clean.gif]
Repository: https://github.com/ElliAndDad/MMM-AnimatedCountdowns
Re: [MMM-Pages and MMM-page-indicator](how to select the page?)
i did put on pages but I don’t have a touch screen would the frame touch screen work in front or behind mirror glass ?
i add pages but my calendar stopped loading and so did my weather module ? I’ve add my config to a post troubleshoot .
any help please
this is my config file if I remove the page everything show up fine but with pages installed I lose the weather saying loading and the calendar but sometime the calendar
var config = {
address: "localhost",
port: 8080,
basePath: "/",
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],
useHttps: false,
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"],
timeFormat: 24,
units: "metric",
modules: [
{
// MMM-pages controller
module: "MMM-pages",
config: {
modules: [
["MMM-OpenWeatherMapForecast", "clock"], // Page 1
["calendar", "clock"], // Page 2
["MMM-OpenWeatherMapForecast", "calendar", "clock", "compliments", "newsfeed"], // Page 3 (All)
["MMM-OpenWeatherMapForecast", "calendar", "clock", "compliments", "newsfeed"] // Page 4 (All)
],
fixed: ["MMM-MotionDetector"], // Keeps motion detector running in the background
rotationTime: 10000, // Optional: auto-rotates every 10 seconds. Remove if you want manual control.
}
},
{
module: 'MMM-page-indicator',
position: 'bottom_bar',
config: {
activeBright: true,
}
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://calendar.google.com"
}
]
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Weather",
position: "top_right",
config: {
apikey: "192baf050dxxxxxxxxf1a10d32088c93fb",
latitude: 51.5775,
longitude: -0.1786,
iconset: "4c",
forecastLayout: "table"
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "MMM-MotionDetector",
config: {
captureIntervalTime: 1000,
scoreThreshold: 200,
timeout: 3000
}
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "BBC England",
url: "https://feeds.bbci.co.uk"
}
]
}
}
]
};
if (typeof module !== "undefined") { module.exports = config; }
shows up on different boot ups?
any help please
Hello, I just updated my mm, I was 2 or 3 versions late…
I am encountering a problem in the default calendar module with the caldav.icloud calendars.
I have quite a few errors like this :
[2026-01-27 13:57:15.127] [ERROR] [calendar] Moment Timezone has no data for GMT+0100. See http://momentjs.com/timezone/docs/#/data-loading/.
I should point out that the calendars are still well displayed by the mirror.
Thanks for seeing
How do I go about getting a wizard.mp4 for the module?
I do not have the equipment to make one of myself.
I would like to have one of Harry Potter or Dumbeldor or Miany.
Not sure how to spell them, just know what my wife says she likes…
Any help would be appreciated.
Maybe some place I can download a premade mp4
I tried a couple I found on line but they will not work.
Do they have to be under a certain size?
Hallo,
mir werden die automatisierten wiederkehrenden Termine nicht im Kalender angezeigt, Egal ob endlos oder bis zu einem Datum habe schon alles versucht und keine Lösung gefunden.
Ich beziehe die ics Datei über MMM-Caldav da ich einen synologykalender habe. wenn ich die ics Datei öffne sehe ich diese Termine die mir im Kalender fehlen
vielleicht habt ihr noch eine Idee danke
lg
Patrick
english: (moderator)
The automated recurring appointments are not showing up in my calendar, regardless of whether they are set to repeat indefinitely or until a specific date. I’ve tried everything and haven’t found a solution.
I’m retrieving the .ics file via MMM-Caldav because I use a Synology calendar. When I open the .ics file, I can see the appointments that are missing from my calendar.
Perhaps you have another idea? Thank you.
Newb.
Have my MagicMirror2 up and running with a few different modules. I have local weather working with openmeteo. Trying to add a second location (bottom_right) but it stays stuck on “Loading…”.
I set up an openweathermap.org API key but I don’t get any weather data using the openweathermap provider for local or remote locations
Should I be able to see multiple locations?
Current config below. I’ve also tried a copy of the openmeteo modules to get the Brisbane weather but it did not work.
I searched for similar issues but couldn’t find anything newer than 2022 and the advice on that post didn’t help.
{
module: "weather",
position: "top_left",
header: "Current Weather",
config: {
weatherProvider: "openmeteo",
type: "current",
lat: [myLat],
lon: [myLong],
showPrecipitationAmount: true,
showPreciptitationProbability: true,
showUVIndex: true,
degreeLabel: true,
colored: true,
}
},
{
module: "weather",
position: "top_left",
header: "Forecast",
config: {
weatherProvider: "openmeteo",
type: "forecast",
lat: [myLat],
lon: [myLong],
showUVIndex: true,
fadePoint: 0.33,
maxNumberOfDays: 6,
degreeLabel: true,
colored: true,
}
},
{
module: "weather",
classes: "brisWeather",
position: "bottom_right",
header: "Current Weather",
config: {
weatherProvider: "openweathermap",
type: "current",
location: "Brisbane, AU",
locationID: "2174003",
showPrecipitationAmount: true,
showPreciptitationProbability: true,
degreeLabel: true,
colored: true,
units: "metric",
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
}
},
{
module: "weather",
classes: "brisWeather",
position: "bottom_right",
header: "Forecast",
config: {
weatherProvider: "openweathermap",
type: "forecast",
location: "Brisbane, AU",
locationID: "2174003",
showUVIndex: true,
fadePoint: 0.33,
maxNumberOfDays: 5,
degreeLabel: true,
colored: true,
units: "metric",
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxx",
}
},
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.
-
-
-
-
-
-



