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.

    67 Topics
    428 Posts
    rejasR
    Release Notes Thanks to: @angeldeejay, @egeekial, @khassel, @KristjanESPERANTO, @MikeBishop, @rejas ⚠️ This release needs nodejs version >=22.22.2 <23 || >=24 (no change to previous release) (update July 6) Compare to previous Release v2.36.0 [core] Prepare Release 2.37.0 (#4193) fix(electron): map IPv6 :: wildcard to localhost (#4188) refactor(main): modernize DOM update flow with async/await (#4186) refactor(main): simplify _updateDom with async/await (#4185) fix(security): prevent unauthorized secret expansion in socket payloads (#4184) refactor(main): simplify updateDomWithContent async flow (#4182) fix: modules losing data after HTTP 304 responses (#4180) chore: add missing core defaults (#4181) fix(server): enforce ipWhitelist for Socket.IO too (#4169) feat(systeminfo): include Git hash and branch in system information log (#4167) feat(electron): support object-based electronSwitches (#4161) systeminformation thread not ending: move error handling from utils to app (#4160) fix systeminformation thread not ending (#4155) refactor: use ES module imports in browser core (#4158) refactor(core): remove old Object.assign polyfill (#4157) refactor: rewrite Module as an ES6 class (#4151) refactor: rewrite NodeHelper as an ES6 class (#4147) update eletron to v42 (#4144) refactor(utils): drop ajv dependency (#4142) fix(systeminformation): output right ‘used node’ version (from parent process) (#4141) fix: skip postinstall git clean when not in a git repository (#4139) Remove unnecessary conditionals and fix falsy property check in imperial conversion (#4135) update version in package.json [dependencies] update dependencies (#4191) Bump actions/checkout from 6 to 7 (#4190) chore: update dependencies and adjust import path for SunCalc (#4189) update dependencies incl. electron and revert yauzl-electron-install-fix (#4183) update dependencies, add electron fix in package.json (#4175) chore: update dependencies (#4162) Bump actions/dependency-review-action from 4 to 5 (#4152) Unify linting: replace Stylelint and markdownlint with ESLint (#4148) update dependencies and workflows to node v26 (#4140) [modules/alert] CodeQL cleanup for alerts #18, #19, #20 (#4153) fix: resolve CodeQL alerts #24 and #26 (#4145) fix(electron): resolve CodeQL alerts #22 and #25 in electron.js (#4136) [modules/calendar] perf(calendar): pre-filter ICS data before parsing (#4168) perf(calendar): use async ICS parsing to avoid blocking event loop (#4143) [modules/newsfeed] [newsfeed] add allowBasicHtmlTags option for basic emphasis (#4176) [modules/updatenotification] fix(updatenotification): don’t spawn a child process when running under PM2 (#4166) fix(updatenotification): use process.argv[0] as restart binary (#4163) fix(updatenotification): preserve start mode on restart (#4156) fix(updatenotification): fix ref diff parsing for fetch --dry-run (#4138) refactor(updatenotification): replace pm2 usage with node logic (#4134) [modules/weather] feat(weather): add Buienradar provider (#4164) [testing] remove warning in unit tests (for nodejs >= v25) (#4149) polish HTTP 304 docs/test/handling (#4129)
  • Discuss the MagicMirror² core framework.

    496 Topics
    4k Posts
    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.
  • Anything harware related can be found here.

    802 Topics
    7k Posts
    N
    @msimon360 said: All, not sure if this was just me but after upgrading my Pi 5B to OS 13.6 my fan stopped working. The fix was to add the following line in /boot/firmware/config.txt. I put it near the top. dtoverlay=cooling_fan Thanks for sharing the fix. I’ve seen the Pi 5 fan settings change with the newer cooling configuration, so this is useful to know if the fan suddenly stops after an OS update. It’s also worth checking the current config.txt settings after upgrading, since Raspberry Pi documents the fan configuration under /boot/firmware/config.txt.
  • Add exciting new features to your mirror.

    6k Topics
    59k Posts
    msimon360M
    @plainbroke I just got a firmware update and I see RTSP is listed under advanced settings for my Wyze Pan Camera. I have not set it up yet. Earlier I tried using Wyze-Bridge and got it to work with my Wyze V1 camera. None of my newer Wyze cameras would work. It looked like newer firmware prevents the bridge connection.
  • Make your mirror your own but modifying its appearance.

    434 Topics
    3k Posts
    S
    @Jk1 said: I needed this to set the header color yes, I thought you were talking about text color, not background…
  • Share your project story with pictures.

    581 Topics
    5k Posts
    B
    I previously made a magicmirror (without the mirror) using an LG 24MP88HV with the plastic casing and bezel removed. It left quite a nice panel. I then built a wooden frame around this, using 19mm thick wood, routing out a groove for the panel to sit in. The only issue was that upon delivery, the screen was damaged, so the top corner didn’t display correctly. Since then we’ve had a kitchen makeover, and I saw this as an opportunity to make mkII of the magicmirror. The price for a second hand LG 24MP88HV was waaaaay to much this time, so I ordered a different screen, however, this screen, without the plastic bits, is just the glass, and 4 or 5 layers of different materials that make up the display. With the plastic bits, it has an angled back, and would require a channel about 15mm deep to hide the bottom of the display. I’m keen to either, find a reasonably priced monitor, that stripped down, provides a uniform thickness, or take some suggestions on building a frame that will house the monitor in it’s layered form. For reference the new monitor is a Samsung LS24D400GAUXXU…
  • You have a problem with your mirror? Ask for help.

    5k Topics
    36k Posts
    J
    @sdetweil OK, I was able to run the script on 2 different VMs where MagicMirror is failing to run. In both cases, it still doesn’t run. Th script reported substantially more space available after running, but MagicMirror still doesn’t run. While I am approaching the point where it will be more efficient of my time and yours to just create a 3rd VM, I will post the output of pm2 status below, in case it happens to shed any light on the subject: al@MM-Dev-VM:~/MagicMirror$ pm2 status SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at Configuration.getAllSync (/usr/local/lib/node_modules/pm2/lib/Configuration.js:299:17) at Configuration.getSync (/usr/local/lib/node_modules/pm2/lib/Configuration.js:270:30) at new API (/usr/local/lib/node_modules/pm2/lib/API.js:116:44) at Object.<anonymous> (/usr/local/lib/node_modules/pm2/lib/binaries/CLI.js:27:11) at Module._compile (node:internal/modules/cjs/loader:1706:14) at Object..js (node:internal/modules/cjs/loader:1839:10) at Module.load (node:internal/modules/cjs/loader:1441:32) at Function._load (node:internal/modules/cjs/loader:1263:12) at TracingChannel.traceSync (node:diagnostics_channel:328:14) SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at Configuration.getAllSync (/usr/local/lib/node_modules/pm2/lib/Configuration.js:299:17) at Configuration.getSync (/usr/local/lib/node_modules/pm2/lib/Configuration.js:270:30) at module.exports [as list] (/usr/local/lib/node_modules/pm2/lib/API/UX/pm2-ls.js:470:32) at doList (/usr/local/lib/node_modules/pm2/lib/API.js:1758:12) at /usr/local/lib/node_modules/pm2/lib/API.js:1728:7 at /usr/local/lib/node_modules/pm2/node_modules/pm2-axon-rpc/lib/client.js:45:10 at Parser.<anonymous> (/usr/local/lib/node_modules/pm2/node_modules/pm2-axon/lib/sockets/req.js:67:8) at Parser.emit (node:events:519:28) at Parser._write (/usr/local/lib/node_modules/pm2/node_modules/amp/lib/stream.js:91:16) ┌────┬───────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ └────┴───────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘ al@MM-Dev-VM:~/MagicMirror$
  • A place to talk about whatever you want.

    1k Topics
    10k Posts
    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