A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • MMM-Life360

    Showcase
    8
    0 Votes
    8 Posts
    136 Views
    plainbrokeP
    @hrmax23 Found that finally. [image: image.jpeg] Is the Authorization: Bearer what I am looking for? It is a very long authorization code.
  • New Module to download photos from Apple iCloud

    Entertainment
    11
    1 Votes
    11 Posts
    312 Views
    S
    I fixed the crash, git pull
  • MMM-PublicTransportHafas

    Bug Hunt
    20
    0 Votes
    20 Posts
    709 Views
    KristjanESPERANTOK
    I work in IT, but programming is mainly a hobby - I rarely code at work. I enjoy contributing to open-source projects and figuring out code-related issues. I actually got active here through MMM-PublicTransportHafas; the module had stopped working, and the original developer was no longer responding, so I forked it and implemented a fix. That’s what sent me down the rabbit hole :) Your STM32 project sounds interesting, but I’m not really on good terms with C++. So, I can’t really help you with that - sorry.
  • 0 Votes
    1 Posts
    45 Views
    H
    I’ve used MMM-Teslamate and forked version of MMM-TeslamateLocation for quite some time but since I have 2 Teslas, it requires a total of four instances of these modules so I thought that I would merge them together. I also recently created MMM-GeneralMotorsEV so I tried to make the visual style the same so they looked very similar next to each other on a MagicMirror. It still requires Teslamate to feed mqtt events. https://github.com/maxbethge/MMM-TeslamateWithLocation
  • 0 Votes
    1 Posts
    44 Views
    H
    I’ve come to love and rely on the MMM-Teslamate module and wanted something similar for our new GM EV. While GM doesn’t have an official public API, it’s possible to extract long-lived user tokens and use the same API as the app. Since GM utilizes a bunch of firewall rules on top of their crappy API, it’s nowhere near as useful or timely as Tesla API calls. The API often returns 429s but YMMV. To get a user token, it’s easiest to use https://github.com/metheos/onstar_firefox. https://github.com/maxbethge/MMM-GeneralMotorsEV
  • MMM-PublicTransportHub

    Transport
    11
    2 Votes
    11 Posts
    1k Views
    B
    @kristjanesperanto I got my first real alert from MMM-PublicTransportHub Toast Alert [image: CleanShot 2026-09-08 at 09.42.44@2x.jpeg] Message Center [image: CleanShot 2026-09-08 at 09.38.16@2x.jpeg] The toast immediately got my attention, but if I hadn’t been standing in front of the mirror at that moment, I would have missed it. That’s one of the reasons I like using MessageCenter, the alert remains available instead of disappearing completely. Thanks again for adding support.
  • 1 Votes
    7 Posts
    345 Views
    plainbrokeP
    @trnitz Thank you for the information. really makes a difference.
  • 3 Votes
    12 Posts
    2k Views
    R
    @rkorell Thanks for making this module. I am running into a continuous issue after setting it up. This module is getting rate limited for some reason after some time. I do not have this API and credentials set up for any other app as this is the only app I have it setup for so ther cannot be any throttling. I have noticed the DOM updates every 1 second. Could that be causing it? The config.js code is below. { module: "MMM-NowPlayingOnSpotify", position: "top_right", updatesEvery: 5, classes: "page1", config: { showCoverArt: true, clientID: "XXXXXXXXXXXXXXXXXXXXXXXXXX", clientSecret: "XXXXXXXXXXXXXXXXXXXXXXXXXXX", redirectURI: "http://127.0.0.1:8888/callback" } } The log from the pm2 logs MagicMirror is below: [2026-09-07 19:01:23.238] [LOG] [MMM-NowPlayingOnSpotify] [MMM-NowPlayingOnSpotify] Transient error, keeping last data: Rate limited by Spotify. [image: image.jpeg]
  • MMM-WorldClockMap – world clocks with a day/night map

    Utilities
    2
    2 Votes
    2 Posts
    71 Views
    KristjanESPERANTOK
    @bwente Looks nice! Don’t forget to add it to the module list: https://github.com/MagicMirrorOrg/MagicMirror/wiki/3rd-party-modules :)
  • US Open Tennis provider added to MMM-BracketEngine module

    Showcase
    1
    1 Votes
    1 Posts
    34 Views
    msimon360M
    A provider for the US Open Tennis Tournament has been added to the MMM-BracketEngine module. You can select any of the draws (MS, WS, MD, WD, XD, BS, or GS). MMM-BracketEngine now has providers for (fifa, usopen, wimbledon, static). Let me know if there is a provider you want.
  • please help me out!

    Hardware
    12
    0 Votes
    12 Posts
    205 Views
    S
    @ian1266 lot you can do without shiny glass
  • 1 Votes
    2 Posts
    354 Views
    plainbrokeP
    How do I make the sunset sunrise larger? I found these in your css file, but not sure which one to add to my custom.css to make those 2 larger… .MMM-MoonClear .mc-fallback { color: #9aa4b2; font-size: 15px; padding: 12px; } .MMM-MoonClear .mc-sun { display: flex; flex-direction: column; align-items: center; gap: 1px; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; } .MMM-MoonClear .mc-name { font-size: 17px; font-weight: 600; color: #fff; margin-top: 6px; text-shadow: 0 1px 3px rgba(0,0,0,.6); } Thanks in advance.
  • 3 Votes
    6 Posts
    260 Views
    S
    @bwente thanks… fix pushed a drop down, with no default set, when not present took the first entry… oops… in the module folder git pull for the fix… that means you didn’t use the config.js.sample as your base, and then didn’t use my installer script, which copies it…
  • Simon's Simple - one screen to rule them all

    Show your Mirror
    1
    1 Votes
    1 Posts
    299 Views
    msimon360M
    Here is a shot of my MagicMirror layout. I wanted to get as much daily info into one screen as I could but also display photos at a size that was nice. Here is my module list; calendars - directory for iCloud calendar sync MMM-AirQuality MMM-DailyBibleVerse MMM-iCloudPhotos - syncs iCloud Photos Album to my Pi MMM-ImagesPhotos MMM-MoonPhase MMM-Pinfo MMM-PWSWeather - Provider for default weather module MMM-UpliftingNews - An RSS reader with links to positive news. (Not in the list of 3rd Party Modules) MMM-WordOfTheDay Simon’s Simple[image: screenshot.png]
  • Snilles Magic Mirror Project

    Show your Mirror
    48
    15 Votes
    48 Posts
    74k Views
    H
    @Snille Please take a look at the private message…
  • 3 Votes
    1 Posts
    99 Views
    D
    Description MMM-TempestWeather is a MagicMirror² weather module for owners of a WeatherFlow Tempest personal weather station. It combines real-time observations from your Tempest with current conditions and a five-day forecast. The display includes: Current temperature and conditions Wind speed and direction Relative humidity Barometric pressure and pressure trend Precipitation probability and daily accumulation Five-day forecast with weather icons Automatic WebSocket reconnection and connection monitoring Real-time observations are received through the WeatherFlow WebSocket service. Forecast and current-condition information comes from the WeatherFlow Better Forecast service. The module uses the standard MagicMirror frontend/node_helper architecture and requires no additional npm packages on supported Node.js versions. A WeatherFlow Tempest station, personal access token, device ID, and station ID are required. Screenshots [image: MMM-TempestWeather] Download https://github.com/dwburger/MMM-TempestWeather Installation and configuration instructions are provided in the README. Version 1.2 Added configurable imperial and metric unit support Added the units configuration option (imperial or metric) Imperial displays °F, MPH, inHg, and inches Metric displays °C, km/h, hPa, and mm Imperial remains the default for backward compatibility Better Forecast requests now use the selected unit system Version 1.1 Moved WeatherFlow WebSocket communication to node_helper.js Moved Better Forecast REST requests to node_helper.js Added WebSocket reconnection and connection watchdog Added forecast request timeout and overlap protection No additional npm packages required Version 1.0 Initial standalone release
  • Weather, how to remove GB-ENG from the header?

    Unsolved Troubleshooting
    5
    0 Votes
    5 Posts
    147 Views
    R
    @sdetweil The comma, it’s always the comma. Thank you.
  • 1 Votes
    1 Posts
    164 Views
    S
    The current version of electron we use is version 43, This version actually downloads the binary for the matching runtime at startup. Help from others added a script to my scripts package to help cleanup the growing disk consumption Anyhow, version 43 is no longer supported after this year Version 44 does NOT provide support for arm32, armhf systems. Node 24 also has the same limitation. We will move to electron 44 in the October release. And will document a workaround: after install or upgrade, manually install electron 43 before running (I’ll update the install/upgrade scripts to do the hack while it works) We don’t know how long this hack will work. Soooo, for those of you running on 32bit os for smaller memory, pi0-2w or pi3, you need to start making plans Freeze upgrades on that system Upgrade, possibly the hardware too, to a 64 bit os We have added the electron 44 to the next release, aka develop, branch If you have time or interest you can start reviewing its impacts by installing the develop branch. See my post in troubleshooting about testing changes for how to get the develop branch
  • MMM-WebRTC

    Showcase
    1
    1 Votes
    1 Posts
    97 Views
    H
    I was having issues with getting rtsp streams from my Frigate NVR to reliably show as I wanted them so I decided to let AI create a module for me that uses WebRTC and it’s much simpler. I’m using it only to show a birdseye view from Frigate rather than multiple individual cameras but it’s working well for me so far but wanted to share. https://github.com/maxbethge/MMM-WebRTC
  • 3 Votes
    20 Posts
    17k Views
    mumblebajM
    @1a2a3a For the latest Wayland on off I use the new adjusted scripts. mon.sh #!/bin/bash export WAYLAND_DISPLAY=wayland-0 export XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/wlr-randr --output HDMI-A-1 --on --mode 1920x1080@60Hz --transform 270 mof.sh #!/bin/bash export WAYLAND_DISPLAY=wayland-0 export XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/wlr-randr --output HDMI-A-1 --off This works pretty well for me. The screen eventually times out as there is no input and it turns off. In addition to these I have these cron entries to call the scripts. Turns the screen on at 6am and off at 9pm. 00 06 * * * /home/pi/mon.sh >> /home/pi/mon.log 2>&1 00 21 * * * /home/pi/mof.sh >> /home/pi/mof.log 2>&1