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

Categories

  • Announcements regarding the MagicMirror software and forum.

    63 Topics
    424 Posts
    KristjanESPERANTOK
    [2.33.0] - 2025-10-01 Thanks to: @Crazylegstoo, @dathbe, @m-idler, @plebcity, @khassel, @KristjanESPERANTO, @rejas and @sdetweil! ⚠️ This release needs nodejs version v22.18.0 or higher Added Add configuration option for User-Agent, used by calendar & news module (#3255) [linter] Add prettier plugin for nunjuck templates (#3887) [core] Add clear log for occupied port at startup (#3890) Changed [clock] Add CSS to prevent line breaking of sunset/sunrise time display (#3816) [core] Enhance system information logging format and include additional env and RAM details (#3839, #3843) [refactor] Add new file js/module_functions.js to move code used in several modules to one place (#3837) [refactor] Use global.root_path where possible and add tests for config:check (#3883, #3885, #3886, #3889) [tests] refactor: simplify jest config file (#3844) [tests] refactor: extract constants for weather electron tests (#3845) [tests] refactor: add setupDOMEnvironment helper function to eliminate repetitive JSDOM setup code (#3860) [tests] replace console with Log in calendar debug.js to avoid exception in eslint config (#3846) [tests] speed up e2e tests, cleanup and stabilize weather e2e tests, update snapshot url (#3847, #3848, #3861) [tests] refactor translation tests (#3866) Remove sinon dependency in favor of Jest native mocking Unify test helper functions across translation test suites Rename setupDOMEnvironment to createTranslationTestEnvironment for consistency Simplify DOM setup by removing unnecessary Promise/async patterns Avoid potential port conflicts by using port 3001 for translator unit tests Improve test reliability and maintainability [tests] add alert module tests for different welcome_message configurations (#3867) [lint-staged] use prettier --write --ignore-unknown in lint-staged to avoid errors on unsupported files (#3888) Updated [calendar] Update defaultSymbol name and also the link to the icon search site (#3879) [core] Update dependencies including electron to v38 as well as github actions (#3831, #3849, #3857, #3858, #3872, #3876, #3882, #3891, #3896) [weather] Update feels_like temperature calculation formula (#3869) [weather] Update null value handling for weather type (#3892) [layout] Update styles for weather and calendar (#3894) Fixed [calendar] Fixed broken unittest that only broke on the 1st of July and 1st of january (#3830) [clock] Fixed missing icons when no other modules with icons is loaded (#3834) [weather] Fixed handling of empty values in weathergov providers handling of precipitationAmount (#3859) [calendar] Fix regression handling of limit days (#3840) [calendar] Fixed regression of calendarfetcherutils.shouldEventBeExcluded (#3841) [core] Fixed socket.io timeout when server is slow to send notification, notification lost at client (#3380) [tests] refactor AnimateCSS tests after jsdom 27 upgrade (#3891) [weather] Use apparent_temperature data from openmeteo’s hourly weather for current feelsLikeTemp (#3868). [weather] Updated envcanada Provider to use new database/URL schema for accessing weather data (#3878).
  • Discuss the MagicMirror² core framework.

    486 Topics
    4k Posts
    plainbrokeP
    @ge You might try MMM-GmailFeed, it allows sound when mail arrives. Just set it to playSound: true, Not sure what that sound is, because I have no speakers on my MM.
  • Anything harware related can be found here.

    789 Topics
    7k Posts
    R
    @alexa123 as already stated Pi5 is kind of oversized. I had build up two identical mirrors - one for me and later on a second one (a clone) for a fried of mine. My own is on a Pi5/8GB which was always hot and the power supply was hot as well - which led to some major modifications in my mirror setup because I had to move the power supply out of the frame - which was not that easy, annoying and unsatisfying… The ONLY fact that IS useful and is an argument for the Pi5 is the really smooth integration of a NVME SSD disk which I had performed and am happy with. The fan on the pi5 is HUGE ! (NOT the „official Pi 5 fan“ tiny thingi which isn’t sufficient). Picture of fan The second mirror (clon) is software-wise nearly identical but is installed on a (spare) Pi4 which layed around so it was no problem to overhand it to my friend. This is performance/capacity wise identical and MUCH colder. The SD-card reliability problem on this Pi4 is solved with an USB-SSD-Stick. Today I might go for the Pi4 again… Good luck! Ralf
  • Add exciting new features to your mirror.

    6k Topics
    57k Posts
    S
    @wishmaster270 I think the gpio setup changed in bookworm
  • Make your mirror your own but modifying its appearance.

    429 Topics
    3k Posts
    T
    Hi all ! I’ve been using MM for quite many years now without any issues. However, my old 4:3 montor used in my MM is dying and I need to replace it with something newer and brighter. As can be seen in the attached image, the current monitor is covering the area marked with the orange box and the new monitor will cover the green box. Is there some clever way to use CSS (or another way) to tell MM to not use the part of the new screen where the red box is ? (And yes, the upper narrow rectangle glass is also prepared to be used with a screen.) [image: 1762396385667-mymirror.png] Cheers and TIA ! /Mathias
  • Share your project story with pictures.

    568 Topics
    5k Posts
    H
    @jamesarm It was a regular off the shelf mirror in a frame. I just removed the actual mirror portion from the frame and replaced it with 4mm tinted glass.
  • You have a problem with your mirror? Ask for help.

    5k Topics
    35k Posts
    Mr.SpontiM
    I’ve done a new installation on a RPI 4. Everthing is running fine, independant of a error message at start time where I don’t have any idea which module or core function produce the message. Here is my configuration: MM v2.33.0 node 22.21.0 trixie: Linux devpi 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16) aarch64 GNU/Linux Maybe, there is someone who has already fixed that problem. How to proceed to identify this issue? Nov 21 15:18:47 devpi mm[2438]: [2025-11-21 15:18:47.026] [LOG] Starting MagicMirror: v2.33.0 Nov 21 15:18:47 devpi mm[2438]: [2025-11-21 15:18:47.034] [LOG] Loading config ... ... Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.059] [LOG] MMM-NotificationBoard helper started ... Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.060] [LOG] Connecting socket for: MMM-RTSPphas Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.060] [LOG] MMM-RTSPphas helper started ... Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.060] [LOG] Connecting socket for: MMM-EnergyMonitor Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.131] [LOG] Connecting socket for: MMM-Spotify Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.133] [LOG] Connecting socket for: MMM-SpeechToCommand Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.134] [LOG] MMM-SpeechToCommand helper started ... Nov 21 15:18:55 devpi mm[2438]: [2025-11-21 15:18:55.135] [LOG] Sockets connected & modules started ... Nov 21 15:18:56 devpi mm[2438]: [2025-11-21 15:18:56.117] [ERROR] Error: write EFAULT Nov 21 15:18:56 devpi mm[2438]: at afterWriteDispatched (node:internal/stream_base_commons:159:15) Nov 21 15:18:56 devpi mm[2438]: at writeGeneric (node:internal/stream_base_commons:150:3) Nov 21 15:18:56 devpi mm[2438]: at Socket._writeGeneric (node:net:966:11) Nov 21 15:18:56 devpi mm[2438]: at Socket._write (node:net:978:8) Nov 21 15:18:56 devpi mm[2438]: at writeOrBuffer (node:internal/streams/writable:572:12) Nov 21 15:18:56 devpi mm[2438]: at _write (node:internal/streams/writable:501:10) Nov 21 15:18:56 devpi mm[2438]: at Writable.write (node:internal/streams/writable:510:10) Nov 21 15:18:56 devpi mm[2438]: at execSync (node:child_process:999:20) Nov 21 15:18:56 devpi mm[2438]: at node:electron/js2c/node_init:2:17346 Nov 21 15:18:56 devpi mm[2438]: at /home/pi/MagicMirror/node_modules/systeminformation/lib/system.js:175:28 Nov 21 15:18:56 devpi mm[2438]: at ChildProcess.exithandler (node:child_process:410:7) Nov 21 15:18:56 devpi mm[2438]: at ChildProcess.emit (node:events:519:28) Nov 21 15:18:56 devpi mm[2438]: at maybeClose (node:internal/child_process:1101:16) Nov 21 15:18:56 devpi mm[2438]: at Socket.<anonymous> (node:internal/child_process:456:11) Nov 21 15:18:56 devpi mm[2438]: at Socket.emit (node:events:519:28) Nov 21 15:18:56 devpi mm[2438]: at Pipe.<anonymous> (node:net:346:12) Nov 21 15:18:56 devpi mm[2438]: [2025-11-21 15:18:56.118] [LOG] Node NOT Exiting... Nov 21 15:18:56 devpi mm[2438]: [2025-11-21 15:18:56.283] [LOG] Launching application.
  • A place to talk about whatever you want.

    1k Topics
    9k Posts
    S
    @DarrenO-0 on the pm2 side there are two parts the code on the disk and the part running to change the part running you need to execute sudo pm2 updatePM2