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

Subcategories

  • Useful additions for your everyday life.

    763 Topics
    13k Posts
    mumblebajM
    Module Update The module has been updated to move to the latest supported API and support for the latest beta API has been added with new functionality. The module now uses the latest 3.0 API for loadshedding. There were slight changes to the area name, please check the README to determine how to obtain the new name. I have also added support for the new 3.1 API which is currently in beta. This lets users see water and internet outages reported in their area. See the README for how to get your report area. This is different to your loadshedding area. If there is no loadshedding then that remains hidden and only the report section is show as per below screenshot. [image: 1787325909096-5f1e2e94-0dcf-4520-8876-456229484a3c-image.jpeg]
  • Tweak your system until it is just right.

    152 Topics
    4k Posts
    R
    @papinist Thanks, dear Stefano for your confirmation! in addition Stefano introduced another idea which pumps addional value to the module. Following Stefano’s idea the module now announces the raw PIR-Motion data as well as the presence-information to MQTT Broker - so HA is able to trigger additinal actions (e.g. switching a light on) . Happy mirroring! Warmest regards, Ralf
  • Find your next train with ease!

    145 Topics
    2k Posts
    karsten13K
    @philpburns72 said: if there is a way to limit the number of results this returns? This feature doesn’t exist at the moment. However, I’ve noticed myself that during peak times, the list can get so long that it scrolls off the bottom of the screen. The question is how to implement such a filter. One idea would be a maxPlanes property that displays only the n aircraft closest to your own position (both on the map and in the list). But perhaps you have a better suggestion?
  • Boost your productivity.

    62 Topics
    1k Posts
    htilburgsH
    @vansman Just updated the module. Since now Voltage is added, where autodetection is for 1-phase of 3-phase. Don’t forget to update your config.js with currentVoltage: true, // compact 3-fase, auto detection I hope this is what you were asking for.
  • Learn something new every day.

    58 Topics
    994 Posts
    H
    @KristjanESPERANTO thank you. Worked for me - because the repository was set to private 🙄 must be the heat…
  • Stay healthy and work on your well-being.

    28 Topics
    703 Posts
    P
    I built a module to surface basic data from my Whoop tracker: Sleep (with prior day contrast) Recovery (with prior day contrast) Strain (with prior day contrast) Activities from the curent day Multi-user support for shared mirrors Available at: https://github.com/frankrenehan/MMM-Whoop
  • Entertainment right from your mirror.

    193 Topics
    3k Posts
    msimon360M
    So I made a new module for this MMM-iCloudPhotos. That is me and Claude. It downloads any new photos from the iCloud Album you specify and deletes any photos that are no longer in the album. I am using it with MMM-ImagesPhotos but you can specify any directory to put the images in and use any display module.
  • Have some fun!

    60 Topics
    720 Posts
    S
    Description: Displays currently free and upcoming free games from the Epic Games Store. Screenshots: [image: screenshot.png] Download: // Remove the spaces and add your Github module repository GitHub: https://github.com/ACE-012/MMM-EpicFreeGames v1.0.0 Initial release
  • Give your Mirror a work out!

    56 Topics
    1k Posts
    R
    @lucallmon said: NFL not showing up. Everything else does. NFL does not. Any idea why? I had the same issue before. Make sure you’re using the fork from @dathbe, otherwise NFL data won’t load. Run git remote -v in the module folder to check which repo you’re on.
  • Showcase Guidelines

    Pinned
    5
    8 Votes
    5 Posts
    9k Views
    P
    @paviro NICE i’m loving it
  • MMM-MessageCenter — a unified inbox for MagicMirror notifications

    1
    2 Votes
    1 Posts
    37 Views
    B
    I’ve been working on MMM-MessageCenter, a module that gives notifications from different sources one consistent place on the mirror. The idea came from a pretty simple problem: a notification appears, disappears, and nobody knows whether anyone actually saw it. Different modules and services also handle alerts differently, so important information can easily get lost. MessageCenter adds a small notification history with clear unread, viewed, acknowledged, dismissed, and expired states. What can send messages? Everything: Other MagicMirror modules MagicMirror’s bundled Weather module MMM-Remote-Control Home Assistant REST webhooks MQTT Local Unix-socket scripts and system monitors It intentionally doesn’t collect every internal MagicMirror event. Modules either use the MessageCenter API or an explicitly enabled adapter, which keeps refresh, navigation, and module-control traffic out of the inbox. A few examples A dishwasher notification can briefly appear as an alert and then remain in history until someone views it. A doorbell message can include a camera snapshot captured when the event happened, so the image doesn’t change before somebody checks it. The standard MagicMirror Weather module can add a “Rain approaching” message without requiring a separate weather service. A local monitoring script can report low disk space, high temperature, network trouble, or another condition that should be visible on the mirror. [image: 1787288172343-489bf62b-9edb-44bc-b4d7-6252e6a60b70-image-resized.jpeg] Different ways to display it MessageCenter can be used as: A compact list in a normal MagicMirror region A full-page message inbox A touch-friendly display with message controls A non-touch display that simply shows the newest messages It can show temporary alerts, retain message history, expire old messages, update existing messages by ID, and publish attention events for other integrations. It only says that something needs attention, leaving other modules and integrations free to decide what that means. Configuration, payload examples, and documentation: https://github.com/bwente/MMM-MessageCenter
  • 3 Votes
    2 Posts
    397 Views
    E
    @ago1776 I like the look of this, but I’m having a hard time with the config. Can you post a full example of all the options in json? Case in point. Is the calenderAlias an array? Or a nested group? No matter what I do, I cannot get the mapping(s) to work. Where are you getting the emoji’s from? I can’t get anything to display. I just get an empty [] box showing. I can’t cut/paste into the config and the ascii values seem to do nothing. Same with the weather. I have a valid OpenWeather key and have a location set on some events a few days in the future, but nothing shows. A full example of all the options would be great. But nice work. It looks great!
  • 2 Votes
    2 Posts
    172 Views
    KristjanESPERANTOK
    @sys64738 Nice. Don’t forget to add it to the module list: https://github.com/MagicMirrorOrg/MagicMirror/wiki/3rd-party-modules
  • MMM-WifiLink – iOS-style Wi-Fi signal bars from real dBm

    1
    3 Votes
    1 Posts
    243 Views
    A
    Last one from my little MMM suite: MMM-WifiLink — a clean, iOS-style Wi-Fi signal indicator for MagicMirror². Five signal bars that light up and change colour with link quality (green → amber → red) Reads the real signal strength in dBm via iw dev <iface> link Optional localised quality label (English and German included) In-place DOM updates, so the display does not flicker on refresh Two sizes: normal and small It is intended for Linux hosts with a wireless interface and requires the iw package. Configuration is just the interface name plus a few display options. GitHub: https://github.com/ago1776/MMM-WifiLink · MIT. Feedback welcome 🙂 [image: 1785412190222-mmm-7-wifilink.png]
  • MMM-TokenUsage – daily AI token usage as stacked gradient bars

    1
    1 Votes
    1 Posts
    183 Views
    A
    From my suite: MMM-TokenUsage — shows daily AI token usage as stacked gradient bars over the last two weeks (one series for Claude, one for OpenAI), plus a legend, a total and a “today” figure. Weekends are marked and any provider-fallback days are listed. It’s a pure renderer: you feed it a data.json (e.g. produced by your own token-tracking script / cron). A sample data.json is included so it works out of the box. GitHub: https://github.com/ago1776/MMM-TokenUsage · MIT. Feedback welcome 🙂
  • 1 Votes
    1 Posts
    226 Views
    A
    Another from my suite: MMM-MoonClear — a clean, comic-style moon phase with the current sunrise and sunset flanking the moon. No API key — everything is computed locally with SunCalc. Accurate moon phase (illuminated fraction) as an SVG with a soft shadow terminator Localised phase name below the moon (English & German included, easy to add more) Sunrise (warm, ↑) on the left and sunset (cool, ↓) on the right, with times Fully self-contained styling — no dependency on any global stylesheet Location, size and clock format all configurable GitHub: https://github.com/ago1776/MMM-MoonClear · MIT. Feedback welcome 🙂
  • 2 Votes
    1 Posts
    170 Views
    A
    Part of my MMM suite: MMM-FamilyPresence — household presence in a single row, one avatar per person with a short home / away status. Each person’s status can come from three sources: network — a home flag from a presence data.json you feed it (e.g. generated from your router’s DHCP leases; a sample is included) calendarNext — home while a matching calendar event runs, otherwise away with the next date (great for “child stays every other week”) calendarAway — home by default, away only during a matching event (label = event title, e.g. “at grandma’s”) Calendar sources listen to the standard CALENDAR_EVENTS broadcast, so you just add the built-in calendar module with the relevant feeds. GitHub: https://github.com/ago1776/MMM-FamilyPresence · MIT. Feedback welcome 🙂
  • MMM-SchoolWeek – a weekly school timetable, active day in full

    1
    1 Votes
    1 Posts
    141 Views
    A
    Part of my MMM suite: MMM-SchoolWeek — a weekly school timetable. The active day is rendered in full (colour blocks with subject icon, name and time, breaks shown as real gaps on a proportional time axis); the other days are compact grey columns with abbreviations, so the whole week fits at a glance. Active day full-size and time-proportional, current lesson highlighted Other weekdays compact, side by side Built-in colour/icon map for common subjects, fully overridable Optionally trim recurring “before/after school care” lessons at the day edges Self-contained styling, nothing hardcoded GitHub: https://github.com/ago1776/MMM-SchoolWeek · MIT. Feedback welcome 🙂
  • MMM-WeatherHero – a hero weather card with bundled MIT icons

    1
    1 Votes
    1 Posts
    158 Views
    A
    Hi all 👋 Sharing a module I built: MMM-WeatherHero — a compact “hero” weather card. Big current temperature with a large weather icon that overlaps the reading Optional wind / humidity / feels-like row A one-row 5-day forecast Powered by the OpenWeather API (bring your own free key) Two things I wanted together and couldn’t find: No non-free assets — icons are Meteocons by Bas Milius, bundled under MIT, safe even for commercial use. No icon fonts, no runtime downloads. Bring-your-own icons — point iconPack at a folder of PNGs (or a URL) to use your own artwork. Config is minimal (appid + locationID), no dependencies beyond Node’s built-in https. GitHub: https://github.com/ago1776/MMM-WeatherHero · MIT. Feedback welcome 🙂
  • MMM-SnowForecast Module

    2
    2 Votes
    2 Posts
    161 Views
    S
    @howard3718 if you edited the wiki to add your module entry, then it will be added to the 3rd party list overnight. Looks like you had fun creating this!
  • 5 Votes
    6 Posts
    2k Views
    R
    Dear @S374n , I assume that your question is targeting YOUR config-file with your mail-address/password. In this case: I’m pretty sure that this is absolutely NO risk - because your config file config.js is 100% local to you. There are tons of modules “in the wild” which are using those informations. The only risk I can see is: You are asking somewhere in this forum for help and paste parts of your config.js in this posting without blanking your own, sensitive information… HTH & Warm regards, I’m happy, that you like my refresh. Ralf
  • New Module MMM-EnregyFlow

    5
    2 Votes
    5 Posts
    885 Views
    KristjanESPERANTOK
    @fischi87 Thanks :) And don’t forget to add your module to the module list.
  • 3 Votes
    3 Posts
    2k Views
    R
    Dear @KristjanESPERANTO , thanks :-) Good idea - I’ve added a screenshot right now. (closed a documentation error regarding first / re-authorization in parallel). Warm regards, Ralf
  • FIFA World Cup Bracket on your mirror - LIVE data

    2
    2 Votes
    2 Posts
    1k Views
    msimon360M
    I just posted an update on GitHub that adds the Finals and 3rd Place boxes to the grid.
  • New Module MMM-PWSWeather

    module weather new
    8
    0 Votes
    8 Posts
    3k Views
    S
    @msimon360 in linux, environment variables are not inherited by default. you have to use export variable_name=value in the shell script before the launch of MM variable_name=value will not be passed to the next program
  • Employee vacations / sickness calendar digitized

    5
    0 Votes
    5 Posts
    2k Views
    UncleRogerU
    @_V_ You could try this module: https://github.com/Unclearogre/MMM-CustomTable I wrote it to be a simple legend underneath my monthly calendar to show which color corresponds to which calendar. I’m not sure how you’d easily update the info though. Google sheets might be the way to go. Depending on how much time you have to spend on this, you could try using AI to create a module.
  • MMM-Globe: Meteosat imagery broken — fork with fix available

    12
    5 Votes
    12 Posts
    5k Views
    R
    Good afternoon, all! europeDiscNat is back! (plus a small CSS fix for a new white footer) for you, guys a quick update on the European satellite image situation. Since my fork EUMETSAT’s new WMS endpoint at view.eumetsat.int/geoserver/wms works fast, reliably and nice. Yesterday that stopped delivering fresh images! Today I figured out there even is a new version (small changes in URL) v1.1.0 is now v1.3.0 API - but both of them are only returning a stale image from yesterday evening: https://view.eumetsat.int/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=msg_fes:rgb_naturalenhncd&... https://view.eumetsat.int/geoserver/wms?service=WMS&version=1.3.0&request=GetMap&layers=msg_fes:rgb_naturalenhncd&... But here’s the surprise: the old europeDiscNat URL is back and working again! So if you’ve been in trouble with looking for actual pictures without the SLIDER API, this works right now: style: 'europeDiscNat', is re-born … One thing to watch out for: Unfortunately EUMETSAT has changed the image format slightly. The footer bar at the bottom (logo + timestamp) used to be black — invisible against the MagicMirror background. It’s now white and a bit taller, which causes a small white artifact at the bottom of the globe. I’ve pushed a fix that adds a black CSS overlay to mask the footer. Just update the module: cd ~/MagicMirror/modules/MMM-Globe git pull npm install Of course the SLIDER styles (geoColorEurope, geoColorUSA, etc.) continue to work fine if you prefer those. Happy mirroring! Warmest regards, Ralf
  • MMM-DriveImages – Google Drive Image Slideshow (No API Keys)

    1
    0 Votes
    1 Posts
    2k Views
    D
    Hi everyone, The goal was to make something simple and reliable without requiring any API keys or Google developer setup. In the spirit of giving back to the MagicMirror community, and as a companion to MMM-DriveVideos, here is: MMM-DriveImages Features: Displays images from Google Drive No API keys required No OAuth app setup Automatic background syncing (no cron) Simple setup for non-technical users Supports linear or random playback Setup is done with a single command: ~/MagicMirror/modules/MMM-DriveImages/connect After that, just upload photos to a Google Drive folder named: mirror-images The mirror updates automatically. Repo: https://github.com/Dresch360/MMM-DriveImages Would love and appreciate any feedback. [image: 1775191749009-screenshot.png]
  • 0 Votes
    1 Posts
    1k Views
    D
    Hi everyone, The goal was to make something simple and reliable without requiring any API keys or Google developer setup. In the spirit of giving back to the MagicMirror community, and as a companion to MMM-DriveImages created today, here is: MMM-DriveVideos This module lets you play videos directly from a Google Drive folder using simple browser authentication. No API keys. No Google developer setup. Upload videos to a folder called mirror-videos and they will automatically sync and play on your mirror. MP4 support Linear or random playback Optional sound on or off Fully local playback after sync GitHub: https://github.com/Dresch360/MMM-DriveVideos Would love and appreciate any feedback. [image: 1775191052536-screenshot.png]