Hi,
I setup my mirror years ago and used a feature like crontab to have it reboot once pr day.
Now, I would like to remove the autyomatic reboot, but I cannot find what triggers it.
Nothing under crontab -e and nothing in /etc/rc.local.
last -x produces this for one day:
Kragh pts/0 192.168.1.20 Wed Feb 11 17:41 still logged in
Kragh tty1 Wed Feb 11 06:01 gone - no logout
runlevel (to lvl 5) 6.6.51+rpt-rpi-v Wed Feb 11 06:01 still running
Kragh Wed Feb 11 06:01 gone - no logout
reboot system boot 6.6.51+rpt-rpi-v Wed Feb 11 06:00 still running
shutdown system down 6.6.51+rpt-rpi-v Wed Feb 11 06:00 - 06:00 (-00:00)
Help is much appreciated…
Br,
Kragh
Hey everyone! 👋
I built a module that displays photos from your Nextcloud server as a fullscreen MagicMirror² background with smooth crossfade transitions.
Key features:
OAuth2 authentication (Nextcloud built-in, not third-party)
Automatic token refresh — authenticate once, runs forever
Smart image resizing with sharp — a 12MB photo becomes ~250KB
Raspberry Pi 3 optimized (single-thread, memory-safe)
Interactive setup script that guides you through everything
Configurable interval, sync, opacity, display mode
I’m running it on a Raspberry Pi 3B+ and it handles large photos without freezing thanks to the sharp resize pipeline.
GitHub: https://github.com/bohemtucsok/MMM-NextcloudPhotos
Feedback and contributions welcome! Also available in Hungarian 🇭🇺
Hi
With no warning (I haven’t carried out any updates) MMM-Universal-Pir is now failing. It shows under the ‘PIR SENSOR’ heading on the MM screen ‘gpioCommand exited with error!’
Config is:
module: "MMM-Universal-Pir",
position: "bottom_right",
config: {
gpioCommand: "gpiomon -r -b gpiochip0 23",
onCommand: "wlr-randr --output HDMI-A-1 --on --transform 90",
offCommand: "wlr-randr --output HDMI-A-1 --off",
deactivateDelay: 120 * 1000,
}
and in a terminal gpiomon -r -b gpiochip0 23 shows events when the PIR is triggered and
wlr-randr --output HDMI-A-1 --on --transform 90 and wlr-randr --output HDMI-A-1 --off still control the screen.
gpiomon is v1.6.3
What can have changed?
Steve
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
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.
-
-
-
-
-
-




