MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. karsten13
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 1
    • Followers 4
    • Topics 9
    • Posts 544
    • Groups 1

    karsten13

    @karsten13

    161
    Reputation
    1.1k
    Profile views
    544
    Posts
    4
    Followers
    1
    Following
    Joined
    Last Online

    karsten13 Unfollow Follow

    Best posts made by karsten13

    • 3rd-Party-Modules project now part of MagicMirrorOrg

      We’re happy to announce that KristjanESPERANTO’s 3rd-party modules repository has found a new home at MagicMirrorOrg.

      Thank you, Kristjan, for donating your repository to the public and for all the work you’ve put into it.

      We have (hopefully) updated all links:

      • Github repository: https://github.com/MagicMirrorOrg/MagicMirror-3rd-Party-Modules
      • 3rd-party-modules website: https://modules.magicmirror.builders/
      • 3rd-party-modules json file: https://modules.magicmirror.builders/data/modules.json

      In the medium term, we plan to replace the currently used wiki with a different onboarding process for 3rd-party modules.

      posted in Websites
      karsten13K
      karsten13
    • v2.35.0

      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

      posted in MagicMirror
      karsten13K
      karsten13
    • MMM-RepoStats

      Hi,

      this is my first MM module and may others find it useful :)

      Download and infos: MMM-RepoStats

      It’s about repository statistics for Docker, GitHub or GitLab repositories:

      example_3_types.jpg

      GitLab with private data (access token needed):

      gitlab_with_token.jpg

      Let me know if something is missing or not solved in the right way, any feedback is appreciated.

      Thanks,

      Karsten.

      posted in Utilities
      karsten13K
      karsten13
    • RE: Questions about update

      @bugsounet said in Questions about update:

      Its very poor to read this from a developer

      is there a difference between running an old system and running a public forum without https?

      posted in Troubleshooting
      karsten13K
      karsten13
    • Raspberry Pi 5 out with PCI Express

      german video: https://www.youtube.com/watch?v=mO-ytowm3XU

      posted in Hardware
      karsten13K
      karsten13
    • MMM-Flights

      A new module showing flights in a defined area.

      I know there are at least 2 modules out using the same api, but this one additionally shows the planes on a map.

      Git Repo: https://gitlab.com/khassel/MMM-Flights

      For installation instructions and config options visit the above url.

      posted in Transport
      karsten13K
      karsten13
    • RE: Adds Blocking Posts

      @mumblebaj

      These are the “carbon” ads added by @MichMich, which probably still serve as a small source of income for him. I won’t turn them off without consulting him.

      This ad can easily be hidden with an ad blocker in your browser or, for example, with “AdGuard Home” or similar tools.

      posted in Forum
      karsten13K
      karsten13
    • RE: Automatic checking of all MagicMirror² modules

      @KristjanESPERANTO said in Automatic checking of all MagicMirror² modules:

      karsten13 has already suggested the GitHub API and I have tested it, but if you make requests for 1000 modules you’ll got blocked quickly. I haven’t found another good approach yet.

      2 ideas:

      • did you try to authenticate with a user before making the api requests? AFAIR we solved a similar problem at work with authentication …
      • if first idea doesn’t work an ugly solution is to work with e.g. a timer or sleep statement because these infos are not changed very often this could be a long running nightly job
      posted in Development
      karsten13K
      karsten13
    • RE: What is your backup and restore method?

      my approach …

      The following script must be executed in the magicmirror folder and creates another script restore.sh. This result script should be saved (on my server it is under git control) and can be executed (again in the magicmirror folder) to restore the old system (or bringing the old config to a new system).

      #!/bin/sh
      
      base="$(cd "$(dirname "$0")" && pwd)"
      
      restore="$base/restore.sh"
      config="${1:-config/config.js}"
      css="css/custom.css"
      modules="modules"
      
      # Tests
      [ -f "$base/$config" ] || (echo "config.js does not exists" && exit 1)
      [ -f "$base/$css" ] || (echo "custom.css does not exists" && exit 1)
      [ -d "$base/$modules" ] || (echo "modules directory does not exists" && exit 1)
      
      
      echo "#!/bin/sh" > $restore
      echo "" >> $restore
      echo "base=\"\$(cd \"\$(dirname \"\$0\")\" && pwd)\"" >> $restore
      
      echo "" >> $restore
      
      echo "mkdir -p \$base/config" >> $restore
      echo "mkdir -p \$base/css" >> $restore
      echo "mkdir -p \$base/modules" >> $restore
      
      echo "" >> $restore
      
      echo "cat > \$base/$config <<\"EOF\"" >> $restore
      cat <$base/$config >> $restore
      echo "EOF" >> $restore
      echo "" >> $restore
      
      echo "cat > \$base/$css <<\"EOF\"" >> $restore
      cat <$base/$css >> $restore
      echo "EOF" >> $restore
      echo "" >> $restore
      
      for dir in $(find "$modules" -maxdepth 1 -mindepth 1 -type d)
      do
        [ -f "$dir/.git/config" ] && mods="$mods $(cat $dir/.git/config | grep 'url = ' | sed 's|.*url = ||g')"
      done
      
      for repo in $mods
      do
        echo "cd \$base/$modules && git clone $repo" >> $restore
      done
      
      echo "" >> $restore
      
      for repo in $mods
      do
        moddir="$modules/$(echo $repo | sed -r 's|.*\/(.*)|\1|g;s|.git||g')"
        [ -f "$base/$moddir/package.json" ] && echo "cd \$base/$moddir && npm install" >> $restore
      done
      
      echo "Created restore script $restore" 
      
      chmod +x $restore
      
      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: delete account

      @sdetweil

      I was able to delete the account.

      posted in Forum
      karsten13K
      karsten13

    Latest posts made by karsten13

    • RE: Magic Mirror Dynamic Calendar and Pirate Sky Forecast Questions

      @OliWer said:

      Is this something that could be build into the default module?

      we introduced Themes for this use case with the lastest mm release

      posted in General Discussion
      karsten13K
      karsten13
    • RE: Wayland problems in the April 2026 release

      @parnic

      bullseye support ends in 5 month. But I don’t think we will remove the x11 start option because there are many other os which have no wayland support.

      This is an electron option, wayland needs an extra param -ozone-platform=wayland. This is all defined in the package.json.

      So as long as electron supports x11 I see no reason to remove the x11 option from mm.

      With the new release we only switched to wayland as default option (when you use node --run start) because we think the majority is meanwhile using wayland.

      posted in General Discussion
      karsten13K
      karsten13
    • v2.35.0

      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

      posted in MagicMirror
      karsten13K
      karsten13
    • RE: Upcoming Release April 1, 2026 , breaking changes, some operational changes

      @sdetweil said:

      the custom*.css files get moved

      no, only css/custom.css and only if the target specified in config.customCss doesn’t exist.

      This is the normal setup used by ~95% of the users, we cannot handle every edge case so these users must change it manually.

      @BKeyport said:

      I’m currently setting the CSS file with customCss: “css/custom3.css”, in the config,

      I’ll change that to customCss: “config/custom3.css”, ?

      in your setup no file is moved automatically. As you are already using the config.customCss feature you can do the changes before next release by

      • move all the custom*.css file from css to config
      • change config.customCss: "config/custom3.css"
      posted in Upcoming Features
      karsten13K
      karsten13
    • RE: MMM-RAIN-MAP

      @KristjanESPERANTO

      I’m using https://globe.airplanes.live/ and they have a RainViewer Layer which still works when zooming in - maybe they use a license key …

      c3f43f6d-acdd-4c96-873b-b565e57b5ccd-grafik.png

      Another approach I played with is using german dwd data (problem: germany only), tested this in my MMM-Flights module:

      MMM-Flights-Radar.png

      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      @smegbadger said in MMM-Universal-PIR - ‘GPIOcommand exited with error!':

      It never occurred to me the container would update things unannounced!

      the container does not update things on your host, but the container itself is running debian and (if you are using karsten13/magicmirror:latest) the debian version of the container image switched from bookworm to trixie …

      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: MMM-RAIN-MAP

      see https://github.com/rainviewer/rainviewer-api-example?tab=readme-ov-file#personal-use-api-limitations

      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: MMM-RAIN-MAP

      @KristjanESPERANTO

      colorScheme seems to be useless too, the docs only mention 2 which is the default in the module, if I try other values there is no difference.

      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: MMM-RAIN-MAP

      said in MMM-RAIN-MAP:

      but since today, the two lowest of my four zoom levels seem to have stopped working

      they are definitely gone …

      I used for several years

              mapPositions: [
                { lat: ${LAT}, lng: ${LON}, zoom: 9, loops: 1 },
                { lat: ${LAT}, lng: ${LON}, zoom: 8, loops: 1 },
                { lat: ${LAT}, lng: ${LON}, zoom: 7, loops: 1 },
                { lat: ${LAT}, lng: ${LON}, zoom: 6, loops: 1 },
              ],
      

      and now found in their docs Maximum zoom level is 7.

      Another restriction is that there is no forecast anymore (as already stated in the module readme).

      That’s a shame, it unfortunately devalues ​​the module.

      posted in Troubleshooting
      karsten13K
      karsten13
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      @smegbadger

      I had no idea about that, but now that you’re using Docker:

      The gpiomon command is called inside the container (doesn’t work) and you call it for testing on the host (does work).

      So I assume you have the newer version of gpiomon running in the container. So update the command in config.js to the new syntax described in the module README and try again (the new command will fail on the host but should work from inside the container).

      posted in Troubleshooting
      karsten13K
      karsten13