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

    sdetweil

    @sdetweil

    1.9k
    Reputation
    18.7k
    Profile views
    21.4k
    Posts
    110
    Followers
    0
    Following
    Joined
    Last Online
    Location Pflugerville, Tx

    sdetweil Unfollow Follow

    Best posts made by sdetweil

    • 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

    Latest posts made by sdetweil

    • RE: Modular configuration generation

      @daedalus7 one other focus area for MMM-Config,
      most of our ‘developers’ have never written a line of code before…
      they just want something displayed on the MM screen…

      so, I have done everything I can to make this a NO effort added value for them too.

      i don’t read the code to figure out how variables are used, and looking thru the modules, this only applies in less than 10 of now 1418 modules

      the mod to make a select list vs a text entry field is to add an
      enum:[choice1, choice2, choice3…]
      to the form definition

      and sometimes what you CAN do is javascript, doesn’t fit to the form UI at all, so one can convert back/forth with a converter routine to make it better… see the compliments module for example

      posted in Feature Requests
      S
      sdetweil
    • RE: Modular configuration generation

      @msimon360 i’d love your feedback on a new feature

      I don’t provide support to upgrade individual modules.
      thinking about this

      should it only list those modules IN USE? or ALL modules ‘cloned’ into the modules folder (note ‘installed’ is a vague term here)

      as a developer of this module , I have 100’s of modules ‘cloned’, but only a few (in use) at any time

      I don’t want to burden the user with unnecessary things to work on. but don’t want to make them do things over and over from being too selective(Oh added another module to the active config, but its downlevel… oops)… (and I don’t WANT to provide a config option, cause NOBODY (me included) reads the doc)…

      maybe its just a checkbox on the page in use/all

      posted in Feature Requests
      S
      sdetweil
    • RE: Modular configuration generation

      @msimon360 use the search in the 3rd party list…
      links in the header of this forum

      posted in Feature Requests
      S
      sdetweil
    • RE: MMM-Bambulink: MagicMirror Module for Bambu Lab Printers

      @DerHerrB if you install something like Tailscale on phone, laptop and system running MagicMirror, then you can have direct personal access as if you were on the same lan.

      Free, No open ports, no network configuration

      I do this to access MagicMirror, hope Assistant , my synology nas, and have used it to monitor my 3d printer.(via octoprint)

      posted in Development
      S
      sdetweil
    • RE: Modular configuration generation

      @daedalus7

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

      It supports the base MagicMirror and all modules.

      It does not require a specific set of options, but auto discovers the module definitions
      It supports the module defaults, can provide select lists, booleans, numbers, floats, structures, arrays. And field level help

      Also supports live view of the module readme, in both install and configure scenarios

      A module developer can create a json file to describe their module config if the auto generated format isn’t sufficient.
      See the wiki on creating the custom module form definition
      https://github.com/sdetweil/MMM-Config/wiki
      I have helped a few module authors in this process. and I have created a few customized forms, which MMM-Config ships to cover the modules not being maintained but used

      The objective of MMM-Config is to

      • support the modules(1200+) as is( some are not maintained, but heavily used),

      • allow extended customization, (as you suggest), see the wiki, I provide a tool to generate the form for a module so that it can be tweaked instead of developed from scratch

      • provide a common ui structure, for the base and modules,

      • support modules that support multiple instances ( calendar and weather are good examples) ,

      and do this as one view, everything all at once.

      The ui can be customized thru css

      The current version also provides support for module installation, using the data from the 3rd party module list

      posted in Feature Requests
      S
      sdetweil
    • RE: Using a laptop with touch screen as MM2 display

      @S374n yes, MagicMirror will run on a system with a touch screen

      We don’t provide any touch support in the base modules, but there are a few. Chores has one

      The os is not important. MagicMirror runs on Windows, Linux or Mac

      posted in Hardware
      S
      sdetweil
    • RE: MMM-Letterboxd Dependencies FYI

      @KristjanESPERANTO or fix the package.json

      posted in Troubleshooting
      S
      sdetweil
    • RE: MMM-Letterboxd Dependencies FYI

      @Qthulhu you could do both on one npm install

      npm install node-fetch@2 cheerio
      
      posted in Troubleshooting
      S
      sdetweil
    • RE: How to upgrade a Linux "server" with minimal modules?

      Sorry, you were talking about refreshing the application defs on pm2.

      No, dont do that, never seen any side effect til now

      Will add it to the work list here
      https://github.com/sdetweil/MagicMirror_scripts/issues/125

      posted in General Discussion
      S
      sdetweil
    • RE: How to upgrade a Linux "server" with minimal modules?

      @ember1205 it is Debian based for sure.

      Doesn’t work in lxc’s, or other container types, docker

      The upgrade-script, starting on line 496 is the code for pm2 upgrade

      That was also extracted to upgradepm2.sh
      If you wanted to do it separately

      posted in General Discussion
      S
      sdetweil