A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • 0 Votes
    1 Posts
    96 Views
    T
    MMM-Charms is a MagicMirror² module for displaying rotating affirmations, reminders, reflective prompts, and curated quote/dialogue packs from multiple named sets. It supports local JSON packs, simple text sets, manual switching between packs, tap/click cycling, and optional time-based pack switching. Current packs include: General Calm Confidence Family Gentle Reminders Hard Days Grounding Quotes Bollywood Video Game Quotes The idea behind MMM-Charms came with a desire to add quotes from Bollywood movies and video games :) . It then became an attempt to make the mirror feel a little more reflective and customizable. It can now be used for personal affirmations, family-oriented prompts, calmer household messaging, themed quote packs, reminders for timed chores or fun pop-culture rotations. I am curious to find out what packs users might come up with. It is rightly placed under ‘Entertainment’ on this forum. Please remember this is not a substitute for professional mental health, medical, therapeutic, or crisis support. Screenshots: [image: 1777864439580-mmm-charms-2.png] [image: 1777864453706-mmm-charms-1.png] Download: [card:testingonlypi/MMM-Charms] The readme file clearly states the use of AI to create this module. I am not and will never be a coder of any standard, and would never seek to replace those who are more experienced, committed and better at this… same as I can take photos, but may not be a professional photographer. Version 0.1.0 First public release Added support for multiple named packs Added manual switching between packs Added optional tap/click cycling Added optional time-based pack switching Added JSON pack support Included curated packs for General, Calm, Confidence, Family, Gentle Reminders, Hard Days, Grounding, Quotes, Bollywood, and Video Game Quotes
  • Module for Toyota

    Unsolved Requests
    1
    0 Votes
    1 Posts
    130 Views
    M
    Hello, As a dedicated user of Magic Mirror I am frequently searching for a module for my car, a hybrid Toyota Yaris 2025. I can check my car from inside my house, but a MMM-MyToyota module would be very helpful. I don’t have the skills to build such a module, but maybe there is somebody in this forum who is able to do so. Thanks Pim
  • 0 Votes
    1 Posts
    106 Views
    S
    Description: A MagicMirror² module that displays your photos as a stack of overlapping, slightly-rotated polaroid-style cards. At a configurable interval a new photo flies in from off-screen and lands on top of the stack, while the oldest card drops off the back once the stack has grown beyond its configured size. Screenshots: [image: 1777650128728-mmm-photostack-screen.png] Download: [card:skarabaeus/MMM-PhotoStack] Version 1 Initial Version
  • v2.36.0

    Locked MagicMirror
    1
    1 Votes
    1 Posts
    337 Views
    karsten13K
    Release Notes Thanks to: @cgillinger, @khassel, @KristjanESPERANTO, @sonnyb9 ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 (no change to previous release) Compare to previous Release v2.35.0 This release falls outside the quarterly schedule. We opted for an early release due to: Security fix for the internal cors proxy API change of the weather provider smi Several bug fixes Breaking Changes The cors proxy is now disabled by default. If required, it must be explicitly enabled in the config.js file. See the documentation. ⚠️ Security You can find several publicly accessible MagicMirror² instances. This should never be done. Doing so makes your entire configuration, including secrets and API keys, publicly visible. Furthermore, it allows attackers to target the host; this is only prevented beginning with this release. Public MagicMirror² instances should always run behind a reverse proxy with authentication. [core] Prepare Release 2.36.0 (#4126) Allow HTTPFetcher to pass through 304 responses (#4120) fix(http-fetcher): fall back to reloadInterval after retries exhausted (#4113) config endpoint must handle functions in module configs (#4106) fix replaceSecretPlaceholder (#4104) restrict replaceSecretPlaceholder to cors with allowWhitelist (#4102) fix: prevent crash when config is undefined in socket handler (#4096) fix cors function for alpine linux (#4091) fix(cors): prevent SSRF via DNS rebinding (#4090) add option to disable or restrict cors endpoint (#4087) fix: prevent SSRF via /cors endpoint by blocking private/reserved IPs (#4084) chore: add permissions section to enforce pull-request rules workflow (#4079) update version for develop [dependencies] update dependencies (#4124) chore: update dependencies (#4088) refactor: enable ESLint rule “no-unused-vars” and handle related issues (#4080) [modules/newsfeed] fix(newsfeed): prevent duplicate parse error callback when using pipeline (#4083) [modules/updatenotification] fix(updatenotification): harden git command execution + simplify checkUpdates (#4115) fix(tests): correct import path for git_helper module in updatenotification tests (#4078) [modules/weather] fix(weather): use nearest openmeteo hourly data (#4123) fix(weather): avoid loading state after reconnect (#4121) weather: fix UV index display and add WeatherFlow precipitation (#4108) fix(weather): restore OpenWeatherMap v2.5 support (#4101) fix(weather): use stable instanceId to prevent duplicate fetchers (#4092) SMHI: migrate to SNOW1gv1 API (replace deprecated PMP3gv2) (#4082) [testing] ci(actions): set explicit token permissions (#4114) fix(http_fetcher): use undici.fetch when dispatcher is present (#4097) ci(codeql): also scan develop branch on push and PR (#4086) refactor: replace implicit global config with explicit global.config (#4085)
  • MMM-iAmGoingThere

    Transport
    1
    4 Votes
    1 Posts
    267 Views
    G
    Hi Guys As a young lad I was an avid traveler and hitched hiked from John O Groats to Lands End at the age of 14 and I have had the travel bug ever since . My children and grandkids have also got the travel bug - my youngest granddaughter is about to embark on a round the world trip with her parents and younger brother. She has already visited 9 countries so far – not bad for a 2 year old. So I decided to try and make a module that would be helpful to them on their travels and allow me and the wife to share in their adventures from afar. Where to start – well there was only one place , the innovative MMM-iHaveBeen there by Sebastian Merke. This is the module that first got me hooked on Magic Mirror, and it got me thinking how could I modify it to fit with my four loves, family, flying, football and travel. After lots of trial and many errors and frequent help from AI assistance I would now like to introduce the result - MMM-iAmGoingThere , a MagicMirror² module designed for travelers and flight enthusiasts to track their current live trips and visualize their past travel history and future planed trips. https://github.com/gitgitaway/MMM-iAmGoingThere [image: Screenshot1.png] [image: Screenshot2.png] [image: Screenshot3.png] [image: Screenshot4.png] [image: Screenshot5.png] [image: Screenshot6.png] Core Features: Live Flight Tracking: Real-time updates via FlightAware AeroAPI, showing live flight paths, and estimated arrival times (ETA). Dynamic Scenarios: Supports 6 distinct travel modes, including round trips, multi-leg “Round the World” journeys, multi-origin traveler tracking, and a dedicated Football Away Days mode. Interactive Travel Visualization: Great-Circle Paths: Smooth, color-coded arcs showing exactly where you’ve been and where you’re going. Interactive Globe: Auto-rotates to keep active planes in focus on 3D projections. Manual Mapping: Right-click any country to mark it as “visited” with persistent saving to a local cache. Travel Companion Tools: City Guides: Integrated Top 10 attraction lists that automatically update based on your active destination or marker clicks & links to airport terminal maps Live Weather: Real-time destination weather updates via Open-Meteo. Countdown Timers: Precision tracking for your next departure.
  • MMM-MyCommute Latest fork?

    Unsolved Requests
    1
    0 Votes
    1 Posts
    115 Views
    D
    as i understand it this module has gone through a few iterations/forks, jclarke0000 > qistoph > radokristof im 90% sure im using qistophs version. Google recently (well… maybe a year ago) consolidated “Directions API” and “Advanced Directions API” into their new “Routes API” and changed the way they billed i uncommented code around this time because i expanded my MM Instances, which led to increasing costs due to the “Advanced API” billing structure. wondering if anyone is aware of similar/identical modules that use the updated API, if not ill probably make it my next project to figure out how similar API calls are between the outdated stuff and the new Routes API.
  • MMM-HoymilesPVMonitor

    Utilities
    1
    2 Votes
    1 Posts
    153 Views
    C
    Re: MMM-HoymilesPVMonitor Ok, new try! I got caught up with some other stuff and started a new topic since it’s been more than half a year since my last attempt at publishing my module… My first attempt at publishing on github was unsuccessful (see previous discussion) so I decided to move the whole repository to Codeberg. Perhaps this works better :-) A MagicMirror² module that displays live PV power and energy data from a Hoymiles DTU using a Chart.js donut chart. This module queries the DTU via the local network at regular intervals and visualizes the current power, daily energy, and total energy values on your MagicMirror. https://codeberg.org/CuddlyCow/MMM-HoymilesPVMonitor.git
  • hello

    General Discussion
    1
    0 Votes
    1 Posts
    118 Views
    P
    I am new here and recently joined this helpful community. Happy to join with all forum members. Thanks
  • MMM-TautulliLatest

    Entertainment
    1
    2
    2 Votes
    1 Posts
    155 Views
    SnilleS
    Here is a module for displaying the “latest” added Movies and TV-Shows from your Plex server (using Tautulli). MMM-TautulliLatest Overview: [image: 1775513898971-a5f1ab7e-b991-41dd-86bc-52de79a925df-image.jpeg] Click/Pointed on a “cover” view: [image: 1775513937913-05dd85ee-d982-4513-91ad-458c5aee1a43-image.jpeg] Exaple config: { module: "MMM-TautulliLatest", position: "middle_center", config: { tautulliProtocol: "http", tautulliHost: "192.168.1.50", tautulliPort: 8181, tautulliApiKey: "YOUR_TAUTULLI_API_KEY", itemLimit: 8, updateInterval: 5 * 60 * 1000, posterWidth: 150, posterHeight: 225, posterMaxWidth: 150, posterMaxHeight: 225, detailPosterWidth: 400, detailPosterHeight: 600, showWatchedBadge: true, user_id: 123456 } }
  • MMM-Whoop - basic data feed from Whoop

    Health
    1
    1 Votes
    1 Posts
    115 Views
    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
  • MMM-hue-lights not working anymore

    Unsolved Troubleshooting
    1
    1
    0 Votes
    1 Posts
    106 Views
    StoffbeuteluweS
    Hi guys, i have changed my Philips hue Bridg to the new model . I created a user ID I have the right bridge ID Now there is a problem. Hope somebody can help …[image: 1775289047015-bildschirmfoto-2026-04-04-um-09.38.50.png]
  • 0 Votes
    1 Posts
    136 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
    98 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]
  • v2.35.0

    Locked MagicMirror
    1
    4 Votes
    1 Posts
    510 Views
    karsten13K
    Release Notes Thanks to: @angeldeejay, @in-voker, @JHWelch, @khassel, @KristjanESPERANTO, @rejas, @sdetweil ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 (no change to previous release) Compare to previous Release v2.34.0 ⚠️ We introduced some internal changes with this release, please read this forum post before upgrading! [core] Prepare Release 2.35.0 (#4071) docs: add security policy and vulnerability reporting guidelines (#4069) refactor: simplify internal require() calls (#4056) allow environment variables in cors urls (#4033) fix cors proxy getting binary data (e.g. png, webp) (#4030) fix: correct secret redaction and optimize loadConfig (#4031) change loading config.js, allow variables in config.js and try to protect sensitive data (#4029) remove kioskmode (#4027) Add dark theme logo (#4026) move custom.css from css to config (#4020) move default modules from /modules/default to /defaultmodules (#4019) update node versions in workflows (#4018) [core] refactor: extract and centralize HTTP fetcher (#4016) fix systeminformation not displaying electron version (#4012) Update node-ical and support it’s rrule-temporal changes (#4010) Change default start scripts from X11 to Wayland (#4011) refactor: unify favicon for index.html and Electron (#4006) [core] run systeminformation in subprocess so the info is always displayed (#4002) set next release dev number (#4000) [dependencies] update dependencies (#4068) update dependencies incl. electron to v41 (#4058) chore: upgrade ESLint to v10 and fix newly surfaced issues (#4057) chore: update ESLint and plugins, simplify config, apply new rules (#4052) chore: update dependencies + add exports, files, and sideEffects fields to package.json (#4040) [core] refactor: enable ESLint rule require-await and handle detected issues (#4038) Update node-ical and other deps (#4025) chore: update dependencies (#4021) chore(eslint): migrate from eslint-plugin-vitest to @vitest/eslint-plugin and run rules only on test files (#4014) Update deps as requested by dependabot (#4008) update Collaboration.md and dependencies (#4001) [logging] refactor: further logger clean-up (#4050) Fix Node.js v25 logging prefix and modernize logger (#4049) [modules/calendar] fix(calendar): make showEnd behavior more consistent across time formats (#4059) test(calendar): fix hardcoded date in event shape test (#4055) [calendar] refactor: delegate event expansion to node-ical’s expandRecurringEvent (#4047) calendar.js: remove useless hasCalendarURL function (#4028) fix(calendar): update to node-ical 0.23.1 and fix full-day recurrence lookup (#4013) fix(calendar): correct day-of-week for full-day recurring events across all timezones (#4004) [modules/newsfeed] fix(newsfeed): fix full article view and add framing check (#4039) [newsfeed] refactor: migrate to centralized HTTPFetcher (#4023) [modules/weather] fix(weather): fix openmeteo forecast stuck in the past (#4064) fix(weather): fix weathergov forecast day labels off by one (#4065) weather: fixes for templates (#4054) weather: add possibility to override njk’s and css (#4051) Use getDateString in openmeteo (#4046) [weather] refactor: migrate to server-side providers with centralized HTTPFetcher (#4032) [weather] feat: add Weather API Provider (#4036) [testing] chore: remove obsolete Jest config and unit test global setup (#4044) replace template_spec test with config_variables test (#4034) refactor(clientonly): modernize code structure and add comprehensive tests (#4022) Switch to undici Agent for HTTPS requests (#4015) chore: migrate CI workflows to ubuntu-slim for faster startup times (#4007) see https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.35.0
  • 0 Votes
    1 Posts
    133 Views
    R
    I’ve just published MMM-SolarGenerationCalendar, a MagicMirror² module that displays a live solar generation dashboard by bridging directly with Home Assistant. No API keys or internet dependency required. Since I have a Soliscloud integration this module is tailored for that. However, you need to have integrated your Solar Plant with the relevant HA integration( Which requires, API Key & Secret). It features a live power gauge, six stat cards (Power, Today, Month, Peak, Year, Lifetime), a today’s generation curve, and a 30-day bar chart with a daily average line, all pulled from HA’s REST and WebSocket APIs. If you are using any other Solar Integration, you can still use this module. Check out the FAQ’s. for how to do that. Checkout the Module at; github.com/CyberRagz/MMM-SolarGenerationCalendar
  • MMM-Nest-Camera-WebRTC

    Utilities
    1
    1 Votes
    1 Posts
    203 Views
    B
    Hey everyone! I’ve been working on a module to display a live Google Nest camera feed on MagicMirror² using WebRTC, and wanted to share it with the community. MMM-Nest-Camera-WebRTC https://github.com/brandaorafael/MMM-Nest-Camera-WebRTC [image: preview.png] What it does: Streams live video from a Google Nest camera directly on your mirror via WebRTC Automatically refreshes OAuth tokens — no manual intervention needed after initial setup Keeps the stream alive beyond Nest’s 5-minute session limit via periodic extension Includes an audio frequency visualizer — a bar equalizer that reacts to the camera’s audio track (without playing any sound through the mirror) Auto-reconnects on connection failure with configurable delay Integrates with USER_PRESENCE (e.g. MMM-PIR-Sensor) to suspend/resume the stream when you leave/return Supports hiddenOnStartup to defer the WebRTC connection until the module is shown Requirements: A Google Cloud project with the Smart Device Management API enabled A Device Access Console project (~$5 one-time fee to Google) OAuth 2.0 credentials (Client ID + Secret) The README has step-by-step instructions for getting all credentials and completing the initial OAuth setup with the included exchange-nest-code.js CLI tool. This is a fork originally based on work by @shbatm — I rewrote the streaming and token logic, added the audio visualizer, and hardened the reconnection/session extension flow. Feedback and issues welcome!
  • MMM-HollywoodMovie

    Entertainment
    1
    1 Votes
    1 Posts
    139 Views
    R
    MMM-HollywoodMovies A simple but beautiful MagicMirror² module that displays upcoming Hollywood movie releases — complete with poster thumbnails, release dates, and lead cast — powered by the free TMDB API. Fully configurable. Features 🎬 Displays up to 5 upcoming Hollywood movies releasing in the next 6 months 🖼️ Movie poster thumbnails via TMDB image CDN 📅 Formatted release dates 🎭 Top 3 lead actors per film 🔄 Auto-refreshes every 6 hours ⚡ Retry logic with timeout handling for reliable operation on Raspberry Pi Check it out here; https://github.com/Ragziesoft/MMM-HollywoodMovie
  • MMM-SteamDeals & MMM-SteamUpcoming

    Entertainment
    1
    1 Votes
    1 Posts
    156 Views
    F
    Hi Folks, I would like to present you two new modules for the Steam fans. They are called MMM-SteamDeals & MMM-SteamUpcoming. SteamDeals shows current deals in the Steam store. https://github.com/badubada/MMM-SteamDeals MMM-SteamUpcoming shows upcoming games. https://github.com/badubada/MMM-SteamUpcoming/. Both modules provide a lot of filter features for your own use case. They work separately but provide in tandem the best user experience to my mind. Feel free to use and to adapt it to our use case. If you have any comments or suggestions for improvements just let me know. Have a nice weekend!
  • MMM-REnergy

    Education
    1
    5 Votes
    1 Posts
    158 Views
    F
    Hi Folks, I would like to present you my first module named “MMM-REnergy”. It provides up to date statistics about the transition of the energy system towards a renewable one for the test case Germany with the scope to expand it to each single European country. Feel free to use and to adapt it to our use case. If you have any comments or suggestions for improvements just let me know. Have a nice weekend! https://github.com/badubada/MMM-REnergy
  • MMM-TitanSchoolMenu 403 Forbidden

    Unsolved Troubleshooting
    1
    0 Votes
    1 Posts
    119 Views
    T
    This is more of a FYI /fix /workaround than a troubleshooting issues/question. Recently, the api.linqconnect.com API endpoint has started blocking certain User Agents, including axios (and curl). Using a custom User Agent to impersonate an actual web browser bypasses this block. I created a pull request for this: https://github.com/evanhsu/MMM-TitanSchoolMealMenu/pull/23/changes/d35c1bd93c5953215d9cad162085cf430eed6b4c