MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. sdetweil
    3. Best
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    S
    Do not disturb
    • Profile
    • Following 0
    • Followers 108
    • Topics 92
    • Posts 21,043
    • Groups 1

    Posts

    Recent Best Controversial
    • Are you tired of editing config.js, or have trouble doing it, see my new module

      I’ve watched as users continue to struggle with formatting in config.js and i think I have a solution

      https://github.com/sdetweil/MMM-Config

      it automatically discovers what you have installed (in the modules folder) and what you are using (in config.js)

      and will let you turn them on/off, edit the settings and change the module positions. all in a form.

      every time u start MagicMirror it will check to see if config.js has changed since last time, and if you’ve added or removed something from the modules folder… it will construct a form that will allow you to edit the settings of everything.

      and then save it back to config.js (after saving the current copy) (and if using PM2) restart MM to use that new config.js

      also works on Windows installations of MM.

      it can put a QR code on the screen so you can use your phone or ipad, or other scanning device so u don’t have to know the url
      and can also be bookmarked etc…
      I supply a css to allow you to change color of the form.

      some screen shots
      initial form screen
      Screenshot at 2021-05-20 18-39-08.png

      base expanded

      Screenshot at 2021-05-20 18-39-25.png

      some places I can tell what you can do
      Screenshot at 2021-05-20 18-39-18.png

      modules list, blue is enabled, red disabled… (u can changed that in the css file)
      Screenshot at 2021-05-20 18-39-40.png

      sample module form section , discovered from module source file and config.js usage (if any)

      Screenshot at 2021-05-20 18-39-52.png

      module position info, cause you may need one above another, (clock and calendar for example)
      and things in other areas…
      Screenshot at 2021-05-20 18-40-13.png

      if u disable a module (checkbox), the contents STAYS in config.js, otherwise it would lose the important info (apikeys, urls, etc)

      thanks to a few testers(who can name themselves if they want) , we’ve gone thru a lot of modules, but not all…
      so I expect there will be reports of troubles… give it a shot and let me know…

      it currently doesn’t support multiple instances of the same module (used for pages and carousel or similar type modules ), or things like my Covid19 charter.
      but I have an open issue and am working on it…

      posted in Utilities
      S
      sdetweil
    • new update/upgrade script, ready for testing

      given that we will have a regular update quarterly, and we have such a large number of new users experiencing troubles after updates (mostly cause they have a ton to learn)… I have developed a script I would like to get included for future updates…

      it should handle all the work…
      and give you a trial run of all that…

      only applying changes if u request them

      give it a try
      this works on Mac as well

        bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/upgrade-script.sh)"
      

      no changes are made to the local repo or the working copy

      if you WANT to actually apply the changes do

        bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/upgrade-script.sh)" apply
      

      there is a log file in the installers folder…

      edited Jan 4, 2020 - move from dropbox to github as distro

      posted in General Discussion
      S
      sdetweil
    • spammers, note no tolerance

      just a note for spammers,

      there is no tolerance.

      if it does not apply to MagicMirror, then your posts will be removed, and you will be banned.

      Period, no second chances.

      posted in Forum
      S
      sdetweil
    • v2.30.0

      [2.30.0] - 2025-01-01

      Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel, @KristjanESPERANTO, @rejas, @sdetweil.

      ⚠️ This release needs nodejs version v20 or v22 or higher, minimum version is v20.18.1

      Added

      • [core] Add wayland and windows start options to package.json (#3594)
      • [docs] Add step for npm publishing in release process (#3595)
      • [core] Add GitHub workflow to run spellcheck a few days before each release (#3623)
      • [core] Add test flag to index.html to pass to module js for test mode detection (needed by #3630)
      • [core] Add export on animation names (#3644)
      • [compliments] Add support for refreshing remote compliments file, and test cases (#3630)
      • [linter] Re-add eslint-plugin-importnow that it supports ESLint v9 (#3586)
      • [linter] Re-activate eslint-plugin-package-json to lint package.json (#3643)
      • [linter] Add linting for markdown files (#3646)
      • [linter] Add some handy ESLint rules.
      • [calendar] Add ability to display end date for full date events, where end is not same day (showEnd=true) (#3650)
      • [core] Add text to the config.js.sample file about the locale variable (#3654, #3655)
      • [core] Add fetch timeout for all node_helpers (thru undici, forces node 20.18.1 minimum) to help on slower systems. (#3660) (3661)

      Changed

      • [core] Run code style checks in workflow only once (#3648)
      • [core] Fix animations export #3644 only on server side (#3649)
      • [core] Use project URL in fallback config (#3656)
      • [core] Fix Access Denied crash writing js/positions.js (on synology nas) #3651. new message, MM starts, but no modules showing (#3652)
      • [linter] Switch to ‘npx’ for lint-staged in pre-commit hook (#3658)

      Removed

      • [tests] Remove node-pty and drivelist from rebuilded test (#3575)
      • [deps] Remove @eslint/js dependency. Already installed with eslint in deep (#3636)

      Updated

      • [repo] Reactivate stale.yaml as GitHub action to mark issues as stale after 60 days and close them 7 days later (if no activity) (#3577, #3580, #3581)
      • [core] Update electron dependency to v32 (test electron rebuild) and all other dependencies too (#3657)
      • [tests] All test configs have been updated to allow full external access, allowing for easier debugging (especially when running as a container)
      • [core] Run and test with node 23 (#3588)
      • [workflow] delete exception allow-ghsas: GHSA-8hc4-vh64-cxmj in dep-review.yaml (#3659)

      Fixed

      • [updatenotification] Fix pm2 using detection when pm2 script is inside or outside MagicMirror root folder (#3576) (#3605) (#3626) (#3628)
      • [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
      • [weather] Change default value for weatherEndpoint of provider openweathermap to “/onecall” (#3574)
      • [tests] Fix electron tests with mock dates, the mock on server side was missing (#3597)
      • [tests] Fix testcases with hard coded Date.now (#3597)
      • [core] Fix missing basePath where location.host is used (#3613)
      • [compliments] croner library changed filenames used in latest version (#3624)
      • [linter] Fix ESLint ignore pattern which caused that default modules not to be linted (#3632)
      • [core] Fix module path in case of sub/sub folder is used and use path.resolve for resolve moduleFolder and defaultModuleFolder in app.js (#3653)
      • [calendar] Update to resolve issues #3098 #3144 #3351 #3422 #3443 #3467 #3537 related to timezone changes
      • [calendar] Fix #3267 (styles array), also fixes event with both exdate AND recurrence(and testcase)
      • [calendar] Fix showEndsOnlyWithDuration not working, #3598, applies ONLY to full day events
      • [calendar] Fix showEnd for Full Day events (#3602)
      • [tests] Suppress “module is not defined” in e2e tests (#3647)
      • [calendar] Fix #3267 (styles array, really this time!)
      • [core] Fix #3662 js/positions.js created incorrectly

      https://github.com/MagicMirrorOrg/MagicMirror/releases/tag/v2.30.0

      posted in MagicMirror
      S
      sdetweil
    • RE: new update/upgrade script, ready for testing

      I also have a newer installer that resolves a lot of problems with PM2, and supports installing on non-PI systems (Mac, pi zero, odroid, jetson nano)

       bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
      

      edited Jan 4, 2020 - move from dropbox to github as distro

      posted in General Discussion
      S
      sdetweil
    • module not found error loading module in MagicMirror

      the message module not found has nothing to do with MagicMirror ‘modules’ but a library USED by a MagicMirror module. sadly we cannot change or intercept the message

      a typical error

      Cannot find module ‘request’

      In recent mm releases we have removed libraries that are discontinued ( aka deprecated).

      many mm modules used these but didn’t document it. so they fail

      to fix this you need to install the library in the module folder,
      so do

      cd ~/MagicMirror/modules
      
      cd modulename (where modulename is the module having the error)
      

      once there, do

      ls package.json
      

      if the module does NOT provide that file ( ls reponse is ‘No such file or directory’) then do

      npm init -y
      

      NEVER EVER do this in the MagicMirror folder
      if you do/did, then do
      git checkout package.json

      then regardless (in the module folder) do

      npm install ???
      

      where ??? is the library noted in the message Cannot find module ‘???’

      | in the example message above, ??? is request

      to find this message, look in the output of npm start. or if you use pm2 to launch mm do
      pm2 logs --lines=50

      posted in Troubleshooting
      S
      sdetweil
    • RE: Code a MagicMirror by myself?

      @oddo MagicMirror is written in Javascript, and uses loadable extensions (modules) to display small fragments of content (lots of modules, produces lots of content)

      each module is essentially an application, focused on the content IT provides. without knowledge of any other module

      the documentation on creating a module is here
      https://docs.magicmirror.builders/development/introduction.html#general-advice

      and u can use my sample to start
      https://github.com/sdetweil/SampleModule

      read the links in my signature below on how to install a module and making a good config file

      also see my installation and maintenance scripts for MM
      https://github.com/sdetweil/MagicMirror_scripts

      posted in General Discussion
      S
      sdetweil
    • RE: covid bell curve line graph tracker

      @humdinger44 here u go

      https://github.com/sdetweil/MyCovid19

      two charts… cumulative cases and cumulative deaths, currently can display only 1 chart at a time

      US is about 7 weeks behind China, Italy about 5 weeks behind

      alt text

      posted in Requests
      S
      sdetweil
    • Notice for new users, or those with less than 2 reputation score

      starting today, Sept 7, 2022, we have enabled posting moderation…

      users with reputation less than 2 will have their posts dumped into the moderation queue for review before appearing in the forum.

      this to stop the spam…

      for existing users, to get your reputation raised requires someone to upvote your posts… think of helping new users we let in, after filtering out the spam

      posted in Forum
      S
      sdetweil
    • RE: v2.15.0

      use the scripted upgrade if u have any additional modules…

      https://github.com/sdetweil/MagicMirror_scripts#update-to-next-magicmirror-version-from-an-existing-magicmirror-installation

      already seen requirement for npm rebuild or reinstall as a few have electron version dependencies (binaries) of THEIR dependencies

      also note that valid-url has been removed, and at least two modules fail for this dependency

      workaround

      cd ~/MagicMirror
      npm install valid-url
      
      posted in MagicMirror
      S
      sdetweil
    • RE: syntax errors

      @egnos comma is continuation… its ok to have an EXTRA , after the play group,… it is NOT ok to have a missing , between things

      posted in Troubleshooting
      S
      sdetweil
    • new script for mirror release upgrades

      as we get more users, we see the same errors occurring after each quarterly upgrade…

      i have started a script to do this for the users…

      lets collaborate and get it working…

      I’ll maintain a copy on my dropbox…
      https://www.dropbox.com/s/71xtxr18si7cpnq/upgrade-script.sh?dl=0

      right now it doesn’t DO the npm installs… (flag for that)
      we need to determine which files are important on the git pull ( i use fetch/diff to get the list of changed files)
      and what to do about them… reset hard or stash /stash pop after…

      know that package.json, package-lock.json and custom.css are files of concern so far…

      it find all modules which have a package.json, and goes into each and does npm install if the base npm install works…

      we know that some modules are difficult , because their electron version must match the base…
      how can we detect that and run electron-rebuild…

      posted in General Discussion
      S
      sdetweil
    • We've added a link to the 3rd party modules list to the top of the forum

      always hate telling people to look, but where??

      now its on the top bar.

      Screenshot at 2024-05-09 17-34-57.png

      posted in Forum
      S
      sdetweil
    • v2.34.0

      Version 2.34.0 Jan 1, 2026

      Release Notes

      Thanks to: @Blackspirits, @Crazylegstoo, @jarnoml, @jboucly, @JHWelch, @khassel, @KristjanESPERANTO, @rejas, @sdetweil, @xsorifc28

      ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24

      Compare to previous Release v2.33.0

      [core]

      • Merge branch ‘master’ into develop
      • Prepare Release 2.34.0 (#3998)
      • dependency update + adjust Playwright setup + fix linter issue (#3994)
      • demo with gif (#3995)
      • [core] fix: allow browser globals in config files (#3992)
      • [core] fix: restore --ozone-platform=wayland flag for reliable Wayland support (#3989)
      • [core] auto create release notes with every push on develop (#3985)
      • [core] chore: simplify Wayland start script (#3974)
      • [gitignore] restore the old Git behavior for the default modules (#3968)
      • [core] configure cspell to check default modules only and fix typos (#3955)
      • [gitignore] restoring the old Git behavior for the CSS directory (#3954)
      • feat(core): add server:watch script with automatic restart on file changes (#3920)
      • [check_config] refactor: improve error handling (#3927)
      • refactor: replace express-ipfilter with lightweight custom middleware (#3917)
      • refactor: replace module-alias dependency with internal alias resolver (#3893)
      • Release 2.33.0 (#3903)

      [dependencies]

      • [chore] update dependencies and min. node version (#3986)
      • [core] bump dependencies into december (#3982)
      • Bump actions/checkout from 5 to 6 (#3972)
      • Update deps, unpin parse5 (#3934)
      • [core] Update deps and pin jsdom to v27.0.0 (#3925)
      • chore: update dependencies (#3921)
      • update deps, exclude node v23 (#3916)
      • remove eslint warnings, add npm publish process to Collaboration.md (#3913)
      • feat: add ESlint rule no-sparse-arrays for config check (#3911)
      • chore: bump dependencies into october (#3909)

      [logging]

      • logger: add calling filename as prefix on server side (#3926)
      • [logger] Add prefixes to most Log messages (#3923)

      [modules/alert]

      • Add new pt and pt-BR translations for Alert module and update global PT strings (#3965)

      [modules/calendar]

      • add checksum to test whether calendar event list changed (#3988)
      • [calendar] fix: prevent excessive fetching on client reload and refactor calendarfetcherutils.js (#3976)
      • [calendar] refactor: migrate CalendarFetcher to ES6 class and improve error handling (#3959)
      • [calendar] Show repeatingCountTitle only if yearDiff > 0 (#3949)
      • [tests] suppress debug logs in CI environment + improve calendar symbol test stability (#3941)
      • [calendar] chore: remove requiresVersion: "2.1.0" (#3932)
      • [calendar] test: remove “Recurring event per timezone” test (#3929)

      [modules/compliments]

      • [compliments] refactor: optimize loadComplimentFile method and add unit tests (#3969)
      • fix: set compliments remote file minimum delay to 15 minutes (#3970)
      • [compliments] fix: duplicate query param “?” in compliments module refresh url (#3967)

      [modules/newsfeed]

      • [newsfeed] fix header layout issue (#3946)

      [modules/weather]

      • [weatherprovider] update subclass language use override (#3914)
      • [weather] fix wind-icon not showing in pirateweather (#3957)
      • [weather] add error handling to weather fetch functions, including cors (#3791)
      • remove deprecated ukmetoffice datapoint provider, cleanup .gitignore (#3952)
      • fixes problems with daylight-saving-time in weather provider openmeteo (#3931)
      • Fix for envcanada Provider to use updated Env Canada URL (#3919)
      • [weather] feat: add configurable forecast date format option (#3918)

      [testing]

      • testing: update “Enforce Pull-Request Rules” workflow (#3987)
      • [core] refactor: replace XMLHttpRequest with fetch and migrate e2e tests to Playwright (#3950)
      • [test] replace node-libgpiod with serialport in electron-rebuild workflow (#3945)
      • [ci] Add concurrency to automated tests workflow to cancel outdated runs (#3943)
      • [tests] migrate from jest to vitest (#3940)
      posted in MagicMirror
      S
      sdetweil
    • RE: Magic Mirror show Pitch Black Screen

      @sdetweil probably node_helper missing

      Do

      cd ~/MagicMirror
      git checkout modules/node_modules/node_helper/index.js
      
      posted in Troubleshooting
      S
      sdetweil
    • RE: Stack rank modules

      @jalibu as this a community constructed place, have at it. build whatever u want.

      posted in General Discussion
      S
      sdetweil
    • RE: npm ERR! Can't install MagicMirror on my Raspberry pi 3

      @lusiess01 ok, we have seen this only a few times… but in each case it was a problem with the memory card. stuff written doesn’t stick…

      posted in Troubleshooting
      S
      sdetweil
    • RE: MMM-GoogleMapsTraffic

      there is a problem with the original module… I have a fixed version
      here https://github.com/sdetweil/MMM-GoogleMapsTraffic

      Do this

      cd ~/MagicMirror/modules
      mv  MMM-GoogleMapsTraffic  MMM-GoogleMapsTraffic.original
      git clone https://github.com/sdetweil/MMM-GoogleMapsTraffic
      cd MMM-GoogleMapsTraffic
      npm install
      

      then restart the mirror app

      posted in Transport
      S
      sdetweil
    • RE: module not found error loading module in MagicMirror

      @macg

      where xxx is the library noted in the message cannot find module xxx

      so your message was

       Cannot find module 'request'
      

      so xxx is

      request
      

      just to clarify
      there are MORE libraries not found than just request. so I am trying to teach you all how to read the messages and understand what to do…

      posted in Troubleshooting
      S
      sdetweil
    • MMM-SleepWake using external motion detection source

      Description

      Enable MagicMirror sleep from external (camera) sources

      If you are running the MM on a non PI device, or want to control sleep/wake without having to wire up another device, this module will take external info and signal MM to sleep or wake up.

      I use a Webcam camera for the motion detection, driven by the github Motion project.
      That project allows for a script to be run when motion starts and ends. I provide a script that
      creates a file for both events, and the module detects those files.

      the module supports sleep and wake 3 different ways… On PI using the tvservice command, or the exec dpms command if not using HDMI, or hiding all modules if using an energystar monitor (like my tv)

      I have submitted changes to MMM-voice and HelloLucy to allow our modules to know about the others processing… so voice Go To Sleep and motion wakeup work… if using the Hide method, modules already hidden at sleep will remain hidden on wakeup.

      Download:

      [card:sdetweil/MMM-SleepWake]


      Version 1.0

      posted in System
      S
      sdetweil
    • 1 / 1