Dear community,
just a heads-up for those of you using MMM-Globe with the europeDiscNat or europeDiscSnow
style — you’ve probably noticed that the satellite image has been stuck since around
February 22. Turns out EUMETSAT has pulled the plug on their old static image server at
eumetview.eumetsat.int. They moved to a shiny new platform at view.eumetsat.int, but
unfortunately it’s a JavaScript app now — no more simple image URLs we can point a module
at.
I’ve also opened an issue on the original repo for reference:
https://github.com/LukeSkywalker92/MMM-Globe/issues/22
I realize this probably flew under the radar for most of you — if your globe is pointed at
the Americas or Asia, everything’s fine. But for the small but proud club of European globe
watchers, it’s been a rough week staring at the same cloud pattern wondering if the weather
had simply stopped.
Since the original MMM-Globe hasn’t seen any updates in a while, I went ahead and created a
fork that adds a new “meteosat” style. It pulls Meteosat full-disk imagery from the CIRA
SLIDER service (run by NOAA/RAMMB at Colorado State University). The GeoColor product looks
really nice on the mirror — natural color during the day, and city lights on a Blue Marble
background at night. I think you’ll like it!
Big thanks to Luke Scheffler (@lukecodewalker) for creating MMM-Globe in
the first place — his idea of turning satellite images into a globe with a simple CSS circle
clip is just brilliant. This fork builds on his work.
If you want to give it a try:
cd ~/MagicMirror/modules
rm -rf MMM-Globe
git clone https://github.com/rkorell/MMM-Globe.git
Then change your config to:
{
module: “MMM-Globe”,
position: “lower_third”,
config: {
style: “meteosat”,
imageSize: 600,
updateInterval: 15 * 60 * 1000
}
},
The fork also fixes an annoying startup issue where the globe would stay blank after a
reboot if the network wasn’t ready yet — something that probably bugged a few of us running
this on a Raspberry Pi.
All the details, available styles and config options are in the README:
https://github.com/rkorell/MMM-Globe
Happy mirroring! 🪞
MMM-MyTado
This a Magic Mirror² module for your TADO Thermostat.
The module is based on the idea from WouterEekhout, but his module is not maintained anymore.
I like the idea and built a version with a modern look and feel.
The module displays the following information:
The Home name (🏠)
The Zone names (Configurable names)
A symbol (🔥) to show if the heater is currently active.
The current temperature and the target temperature
The humidity (💦)
The hot water temperature (🩸)
Frost Protection (❄️)
Open Window (🪟)
Installation
Clone this repository in your modules folder, and install dependencies:
cd ~/MagicMirror/modules
git clone https://github.com/htilburgs/MMM-MyTado.git
cd MMM-MyTado
npm install
Update
When you need to update this module:
cd ~/MagicMirror/modules/MMM-MyTado
git pull
npm install
Config
Go to the MagicMirror/config directory and edit the config.js file.
Add the module to your modules array in your config.js.
{
module: "MMM-MyTado",
position: "top_right",
header: "TADO Thermostaat",
disabled: false,
config: {
updateInterval: 1800000, // 30 min - because of limitation free account
showZones: [], // [] = all zones, otherwise use zonename ["zone 1","zone 2"]
showHomeName: true, // Show Home Name as defined within the Tado environment
showColumnHeaders: true, // true = show Columns Headers, false = Hide Columns Headers
useColors: false, // Show colors for the Temperature column
zoneColumnName: "ZONE", // Custom Zone Column Name - default = ZONE
tempColumnName: "TEMP (°C)", // Custom Temperature Column Name - default = TEMP (°C)
humidityColumnName: "", // empty for no title (default)
statusColumnName: "STATUS" // Custom Status Column Name - default = STATUS
}
},
Authentication
The first time you run the module, you will need to authenticate with the Tado API.
No username or password is stored in MMM-MyTado, everything works with OAuth Authentication.
The module will log a URL that you need to visit in your browser to complete the authentication process.
Check the logs for a message like this:
MMM-MyTado: Device authentication required.
Open this URL to authenticate:
https://login.tado.com/oauth2/device?user_code=XXXXXX
Visit the URL in your browser and follow the instructions to authenticate the module with your Tado account.
Configuration Options
Option
Description
updateInterval
REQUIRED - The interval the information is updated (in milliseconds)Default: 1800000This value cannot be lower than 1800000 without a monthly subscription. Otherwise users get a Tado block.More info at https://help.tado.com/en/articles/12165739-limitation-for-rest-api-usage
showZones
TADO uses Zones. When you use [] all zones will be shown (default)You can also choose which zones you like to see, just fill in the zones ["Zone 1","Zone 2", etc]
showHomeName
Show the Home name as defined in the Tapo environmentDefault: true
showColumnHeaders
Show the Column HeadersDefault: true
useColors
Use Colors for the Temperature Column Default: false
zoneColumnName
Custom Zone Column Name - default: ZONE
tempColumnName
Custom Temperature Column Name - default: TEMP (°C)
humidityColumnName
Custom Humidity Column Name - default: Empty (Column Name is not shown)
statusColumnName
Custom Status Column Name - default: STATUS
Versions
v1.0.0 - Initial release
Credits
This module is inspired by the MMM-Tado module from WouterEekhout
Using the NPM package node-tado-client
Hi,
i have finish my development to integrate Cupra / Seat Telemetry Data in my MagicMirror.
I don’t have writen a Module for MM, but i have integratet a Python Script to read via Node-Red the Data from the Car, and send it over MQTT to the MM.
All the Work do Node-Red.
Im not sure, if Im right here, but maybe it helps some other Users.
It is writen in german, so if you need an other language use a translator.
Installation of pycupra to read the data:
https://github.com/SteitzTo/pycupra_manual_de.git
Installation of an Node-Red Workflow to send the Data to the MM:
https://github.com/SteitzTo/pycupra_to_MagicMirror.git
I hope it helps other Users to Display some Data from there cars.
Greetings Torsten
Has anyone recently installed/configured MMM-BackgroundSlideshowInfo by gpetersen?
The installation guidance here: https://github.com/gpetersen/MMM-BackgroundSlideshowInfo from 7 years ago mentions having to install a specific version of MMM-BackgroundSlideshow as the original version is not compatible?
Until the original MMM-BackgroundSlideshow module updates their code, you will also need an updated version of MMM-BackgroundSlideshow found below. You need this module in addition to MMM-BackgroundSlideShowInfo.
Run: git clone https://github.com/gpetersen/MMM-BackgroundSlideshow.git (This version is needed so it will send notifications when the image changes).
As this is from 7 years ago, and MMM-BackgroundSlideshow has been updated many times since then I was wondering is this still necessary?
AI Coding Tools Infuse a New Life in MagicMirror
But before that; a word of caution, PLEASE, Please know what you are doing, take backups.
Over the past few months, I decided to revisit my MagicMirror setup, and the transformation has been substantial. What was once a stable but slowly evolving dashboard has now become a far more dynamic, optimized, and feature-rich system, largely due to the practical use of modern AI coding tools. Previously, extending or modifying MagicMirror modules required significant time for debugging, documentation review, and iterative testing. While that process was valuable, it often slowed experimentation. With AI-assisted development, I was able to accelerate module customization, refactor legacy configurations, improve styling consistency, and resolve dependency conflicts far more efficiently. Some of the key improvements included:
Refactoring older custom modules for cleaner, maintainable code
Optimizing API integrations for faster data refresh cycles
Improving CSS layout responsiveness and visual structure
Enhancing module intercommunication logic
Automating repetitive configuration adjustments
Generating code for new Modules, customised to my requirements and setup
Tight integration with Homeassistant
AI tools proved especially effective when troubleshooting obscure npm issues, adjusting Node.js compatibility problems, and restructuring asynchronous logic. Instead of spending hours isolating minor errors, I could focus on architectural improvements and feature expansion.
The result is a significantly more responsive, visually refined, and modular MagicMirror installation—essentially a complete recharge of the system without starting from scratch.
AI coding tools are not a replacement for understanding the underlying architecture, but they are undeniably powerful accelerators. For anyone maintaining or expanding a MagicMirror instance, integrating AI into the workflow can dramatically reduce friction and unlock creative possibilities.
It has effectively given my MagicMirror a second life. I am currently using, Claude Desktop with Sonnet 4.6, Openclaw, AgentZero . All these provide direct integration with MagicMirror and modify code and configurations directly.
FInally remember PLEASE be careful and know what you are doing.
So I decided to try MMM-ImagesPhotos And when I installed it in my magic manor everything went very well, but
now my MMM-TouchButton Doesn’t want to function
I have no clue here why this is happening and to verify it I removed
MMM-ImagesPhotos And the MMM-TouchButton Worked once again
Am I missing something here I tried to slow down the reloading of the images and that didn’t seem to work
Here are the two configurations that I’m currently using
{
disabled: false,
module: "MMM-ImagesPhotos",
position: "middle_center",
config: {
opacity: 0.9,
animationSpeed: 7000,
updateInterval: 7000,
maxHeight: "500px",
maxWidth:"500px",
sequential: false // process the image list randomly
}
},
{
// all .SH files Must be simple no dashes of any kind just names
// and they must be in the MMM-TouchButton script folder
// to execute a script file like stop.sh
// put ./ in front of stop.sh
disabled: false,
module: "MMM-TouchButton",
header: "Controls MagicMirror",
position: "top_left",
config: {
buttons: [
{
name: "stop_MagicMirror",
icon: "fa fa fa-power-off",
command: "pm2 stop MagicMirror",
args: ""
},
{
name: "Minimize_MagicMirror",
icon: "fa fa-window-minimize",
command: "wmctrl -k on", // this actually minimizes all active windows
args: ""
},
{
name: "Snow",
icon: "fa fa-snowflake-o",
notification: "MODULE_TOGGLE",
payload: {hide: [], show: [], toggle:[]}
},
]
},
},
The settings in MMM-ImagesPhotos Are the default settings
any help would be appreciated
Hi,
I’m still quite new to MagicMirror and I found a problem I cannot seem to solve, despite reading the documentation (and forum).
I’d like my calendar to show the upcoming holidays with the Month and Day format (DD MMM), for example Easter should be “5 Apr”.
I added to the config.js the relative lines as stated in the documentation (dateFormat…), but there’s no visible change on the screen where I keep seeing “Apr 5°”: I tried both with “DD MMM” and “D MMM” (I even tried “GG MMM” since in italian Day is Giorno) but the display keeps always showing the same thing.
Here’s my config.js (I’m using the Thunderbird .ics calendar because it was the only one I could find online with italian holidays, I might change it in the future).
module: "calendar",
header: "Giorni festivi",
position: "top_left",
config: {
timeFormat: "absolute",
dateFormat: "DD MMM",
fullDayEventDayFormat: "DD MMM",
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
maximumEntries: 5,
symbol: "calendar-check",
url: "https://www.thunderbird.net/media/caldata/autogen/Itali>
}
]
}
The only other thing I changed in the config.js is language / locale
language: "it",
locale: "it-IT",
The output was and is always the same, despite having added those lines.
What am I doing wrong? How to fix it?
[image: 1771507254504-whatsapp-image-2026-02-19-at-14.19.27.jpeg]
Thank you in advance
Hi Community,
I’m having some trouble with my Todoist Module in MM since iI updated The module this week. MM and the Module itself are the latest release version and I get this message after my update:
Can’t find “scripts” field in /MagicMirror/modules/MMM-Todoist/package.json
Anyone else having problems like this?
Would be happy to get some help with this .
Thank you in advance
I took a swing at refactoring the GooglePhotos module and have a working copy. I have the code on GitHub here. I did the dev work on a NUC so I could rapidly go back and forth sorting out bugs and removing deprecated packages, but I’m going to be moving it to a test Pi over the next week. I relied heavily on claud to produce this module since I never have enough time to completely digest Google’s new API.
Honestly the google picker workflow is somewhat hot garbage. Like most of you, I moved to the MMM-ImagesPhotos which is a very easy module to use and highly recommended. Although, I wanted to fix the GooglePhotos module so I could get my mom’s photo frame working again.
Feedback is most welcome.
Hi,
Can someone help troubleshoot my sound settings on my RPI4 with Raspbian OS? I use the MMM-Sounds module to trigger sounds at different events, but since copying the SD card to a new one, it seems to have lost the ability to play wav files. Cannot remember how I used to set it up!
When i do Aplay sound.wav nothing happens it plays the wav with no sound.
When I do aplay -l:
card 2: Device [USB2.0 Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
When I do:
speaker-test -c2 -twav -l7 -D plughw:2,0
the speaker outputs front left…front right…front left…etc. so I know it is working.
Thanks a lot for the help!
Module for weather forecast using Yandex Weather API
Features
🌡️ Current weather — temperature, “feels like”, wind speed/direction
📅 Daily forecast — up to N days with min/max temperatures and icons
⏰ Hourly forecast — configurable number of hours (disabled by default)
🎨 Customizable display — colored icons, fade effects, table size
🌍 Multi-language — Russian and English
🔒 Rate limit protection — built-in 50 req/day counter for free tier
Note: Humidity is not available in the Yandex Weather free tier and is not displayed.
Screenshot
[image: 1771335369613-example_1.png]
Prerequisites
MagicMirror² version 2.1.0 or higher
Yandex Weather API key (free tier supports up to 50 requests/day)
Getting a Yandex Weather API Key
Go to Yandex Weather API Console
Sign in with your Yandex account (or create one)
Subscribe to the API service and choose a plan (free “Test” plan is available)
Generate and copy your API key
Installation
cd ~/MagicMirror/modules
git clone https://github.com/isemenov/MMM-YandexWeather
cd MMM-YandexWeather
npm install --production
Update
cd ~/MagicMirror/modules/MMM-YandexWeather
git pull
npm install --production
Description:
Hi guys thought I would introduce my “MMM-MyTeams-LeagueTable” module. This module is for football fans throughout the world no matter what team you support.
It is designed to display football league standings from any number of competitions, including the FIFA World Cup 2026; the UEFA Champions League (UCL), UEFA Europa League (UEL) and UEFA Europa Conference League (ECL); the English Premier League ,(EPL), German Bundesliga, French La Ligue, Italian Serie A, Spanish Primera División, Portuguese Liga, Belgian Pro League, Dutch Erdivisie and the Scottish SPFL and just about any other league you may want to keep up with.
🏆 Key Features
Multi-League Support: Track SPFL, EPL, Bundesliga, La Liga, and 20+ other national leagues.
Tournament Modes: Dedicated views for UEFA Champions League and FIFA World Cup 2026.
Intelligent Logo Mapping: Automatic team crest resolution for over 1,700 teams.
Performance Optimized: Server-side processing, intelligent caching, and smooth CSS transitions.
Accessible Design: Full ARIA support and responsive typography.
Stale Data Protection: Automatic warning indicators if live data cannot be fetched.
Auto-Cycling: Automatically rotate between different leagues or tournament groups.
no APi Required: Data parsed from the relevant BBC Sport web site.
🎬 Screenshots:
[image: screenshot1.png]
[image: screenshot2.png]
[image: screenshot3.png]
[image: screenshot4.png]
[image: screenshot5png]
[image: screenshot6.png]
[image: screenshot7.png]
Download:
[https://github.com/gitgitaway/MMM-MyTeams-LeagueTable]
Version 1.8.0
I will update the final WC 2026 playoff participants once they are confirmed in March and will continue tweaking the module until early June when I will be conscripted into the ranks of the Tartan Army heading for Boston. Any suggestions for improvements gratefully received.
Hope you all enjoy the World Cup and that your team brings you joy along the way.
Chan eil Alba, chan eil phàrtaidh.
I installed the module with new OS and latest version of MM. Now I get an Error after activating the module.
ERROR:services/network/chunked_data_pipe_upload_data_stream.cc:212] OnSizeReceived failed with Error: -2
Does the module still works with the new version of Raspberry pi en MM? If what caused my problem.
Re: [MMM-Pages and MMM-page-indicator](how to select the page?)
Hello Sam,
Using the module mmm-page-indicator.
I have a problem with the aligment of the indicators, using the css-line code[image: 1771084171999-ca4f4fb5-f93d-4d17-87fe-51f5ecc28de1-image.png] .
The lines are seen in a column and not, what I want, in a line.
In ‘normal’ mode there is no problem
What did I wrong ?
with regards, Pim
I’m making a magicmirror for a good friend that is a chemist. I have done extensive digging but cannot seem to find any modules that are related to chemistry. My ideal module would be something that would go through the periodic table of elements and randomly choose an element to give facts, history, and/or a story on its discovery. Something similar to the “today in history” but not time associated.
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.
-
-
-
-
-
-
