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

    Posts

    Recent Best Controversial
    • RE: Failed to Connect to Wayland Display

      @atwist
      You could try this as start script:

      
      #!/bin/bash
      cd ~/MagicMirror
      
      export DISPLAY=:0
      export ELECTRON_OZONE_PLATFORM_HINT=x11
      
      npm start
      
      

      The --ozone-platform-hint=x11 flag overrides the automatic detection and forces Electron into X11 mode. Maybe……

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: MMM-MyTasklist

      @htilburgs I love this module already due to its simplicity. One small issue: the web interface always jumps back to Netherlands on a reload. Maybe this can be saved in the json with the tasks. Or as an Option in the config.
      And on a phone display the text for edit and delete is quite wide. Maybe just symbols would be better.

      posted in Utilities
      C
      chrisfr1976
    • RE: MMM-MyTasklist

      @htilburgs Really nice and useful. Great job!

      posted in Utilities
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @sdetweil
      I use pm2 script:

      
      sleep 21s
      cd ~/MagicMirror
      DISPLAY=:0 npm run start
      
      
      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @sdetweil

      I have the same. Except my reinstalled Axios library.

      upgrade.log will follow.

      @MagicPi:~/MagicMirror $ tail --lines=200 package.json
      {
      	"name": "magicmirror",
      	"version": "2.34.0",
      	"description": "The open source modular smart mirror platform.",
      	"keywords": [
      		"magic mirror",
      		"magicmirror",
      		"smart mirror",
      		"mirror UI",
      		"modular"
      	],
      	"homepage": "https://magicmirror.builders",
      	"bugs": {
      		"url": "https://github.com/MagicMirrorOrg/MagicMirror/issues"
      	},
      	"repository": {
      		"type": "git",
      		"url": "https://github.com/MagicMirrorOrg/MagicMirror"
      	},
      	"license": "MIT",
      	"author": "Michael Teeuw",
      	"contributors": [
      		{
      			"name": "MagicMirror contributors",
      			"url": "https://github.com/MagicMirrorOrg/MagicMirror/graphs/contributors"
      		}
      	],
      	"type": "commonjs",
      	"imports": {
      		"#module_functions": {
      			"default": "./js/module_functions.js"
      		},
      		"#server_functions": {
      			"default": "./js/server_functions.js"
      		}
      	},
      	"main": "js/electron.js",
      	"scripts": {
      		"config:check": "node js/check_config.js",
      		"postinstall": "git clean -df fonts vendor",
      		"install-mm": "npm install --no-audit --no-fund --no-update-notifier --only=prod --omit=dev",
      		"install-mm:dev": "npm install --no-audit --no-fund --no-update-notifier && npx playwright install chromium",
      		"lint:css": "stylelint 'css/main.css' 'css/roboto.css' 'css/font-awesome.css' 'modules/default/**/*.css' --fix",
      		"lint:js": "eslint --fix",
      		"lint:markdown": "markdownlint-cli2 . --fix",
      		"lint:prettier": "prettier . --write",
      		"prepare": "[ -f node_modules/.bin/husky ] && husky || echo no husky installed.",
      		"server": "node ./serveronly",
      		"server:watch": "node ./serveronly/watcher.js",
      		"start": "node --run start:x11",
      		"start:dev": "node --run start:x11 -- dev",
      		"start:wayland": "WAYLAND_DISPLAY=\"${WAYLAND_DISPLAY:=wayland-1}\" ./node_modules/.bin/electron js/electron.js --ozone-platform=wayland",
      		"start:wayland:dev": "node --run start:wayland -- dev",
      		"start:windows": ".\\node_modules\\.bin\\electron js\\electron.js",
      		"start:windows:dev": "node --run start:windows -- dev",
      		"start:x11": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js",
      		"start:x11:dev": "node --run start:x11 -- dev",
      		"test": "vitest run",
      		"test:calendar": "node ./modules/default/calendar/debug.js",
      		"test:coverage": "vitest run --coverage",
      		"test:css": "stylelint 'css/main.css' 'css/roboto.css' 'css/font-awesome.css' 'modules/default/**/*.css'",
      		"test:e2e": "vitest run tests/e2e",
      		"test:electron": "vitest run tests/electron",
      		"test:js": "eslint",
      		"test:markdown": "markdownlint-cli2 .",
      		"test:prettier": "prettier . --check",
      		"test:spelling": "cspell . --gitignore",
      		"test:ui": "vitest --ui",
      		"test:unit": "vitest run tests/unit",
      		"test:watch": "vitest"
      	},
      	"lint-staged": {
      		"*": "prettier --ignore-unknown --write",
      		"*.js": "eslint --fix",
      		"*.css": "stylelint --fix"
      	},
      	"dependencies": {
      		"@electron/rebuild": "^4.0.2",
      		"@fontsource/roboto": "^5.2.9",
      		"@fontsource/roboto-condensed": "^5.2.8",
      		"@fortawesome/fontawesome-free": "^7.1.0",
      		"ajv": "^8.17.1",
      		"animate.css": "^4.1.1",
      		"axios": "^1.13.2",
      		"console-stamp": "^3.1.2",
      		"croner": "^9.1.0",
      		"envsub": "^4.1.0",
      		"eslint": "^9.39.2",
      		"express": "^5.2.1",
      		"feedme": "^2.0.2",
      		"helmet": "^8.1.0",
      		"html-to-text": "^9.0.5",
      		"iconv-lite": "^0.7.1",
      		"ipaddr.js": "^2.3.0",
      		"moment": "^2.30.1",
      		"moment-timezone": "^0.6.0",
      		"node-ical": "^0.22.1",
      		"nunjucks": "^3.2.4",
      		"pm2": "^6.0.14",
      		"socket.io": "^4.8.3",
      		"suncalc": "^1.9.0",
      		"systeminformation": "^5.28.2",
      		"undici": "^7.16.0",
      		"weathericons": "^2.1.0"
      	},
      	"devDependencies": {
      		"@stylistic/eslint-plugin": "^5.6.1",
      		"@vitest/coverage-v8": "^4.0.16",
      		"@vitest/ui": "^4.0.16",
      		"cspell": "^9.4.0",
      		"eslint-plugin-import-x": "^4.16.1",
      		"eslint-plugin-jsdoc": "^61.5.0",
      		"eslint-plugin-package-json": "^0.85.0",
      		"eslint-plugin-playwright": "^2.4.0",
      		"eslint-plugin-vitest": "^0.5.4",
      		"express-basic-auth": "^1.2.1",
      		"husky": "^9.1.7",
      		"jsdom": "^27.4.0",
      		"lint-staged": "^16.2.7",
      		"markdownlint-cli2": "^0.20.0",
      		"playwright": "^1.57.0",
      		"prettier": "^3.7.4",
      		"prettier-plugin-jinja-template": "^2.1.0",
      		"stylelint": "^16.26.1",
      		"stylelint-config-standard": "^39.0.1",
      		"stylelint-prettier": "^5.0.3",
      		"vitest": "^4.0.16"
      	},
      	"optionalDependencies": {
      		"electron": "^39.2.7"
      	},
      	"engines": {
      		"node": ">=22.21.1 <23 || >=24"
      	}
      }
      chris@MagicPi:~/MagicMirror $ 
      
      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      …and I’ll remove axios from my modules. This is causing this trouble.

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @sdetweil

      Hi Sam,
      After the update to MagicMirror v2.34.0 I had again this Cannot find module '#server_functions issue. See above.
      I solved it again manually in the calendarfetcher.js and newsfeedfetcher.js with a relative path.

      I replaced this:

      const { getUserAgent } = require("#server_functions");
      const { scheduleTimer } = require("#module_functions"); //only in newsfeed
      

      with

      const { getUserAgent } = require("../../../js/server_functions");
      const { scheduleTimer } = require("../../../js/module_functions"); //only in newsfeed
      
      

      This time your update script worked fine without any error.

      Maybe I’m alone with this behavior, but now everything works fine again as before the update. If anyone else discovers this problem, the code above might help.

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: MMM-MarineWeather

      @RocoJo said in MMM-MarineWeather:

      MMM-MarineWeather

      Pour vérifier ce qui bloque le module, regardez dans la console du navigateur (F12 → « Console »). Vous y verrez les éventuels messages d’erreur :

      • 401 Unauthorized → clé API incorrecte
      • 400 Bad Request → coordonnées erronées
      • Failed to fetch → problème de réseau ou quota API dépassé

      Cela permet généralement d’identifier l’origine du problème. Je ne connais pas non plus ce module en détail. Peut-être que vous verrez l’erreur dans la console et pourrez ainsi la corriger.

      posted in Requests
      C
      chrisfr1976
    • RE: How can I create a new position?

      @Wilack or you try this module.

      MMM-GlobalPositioner

      I did it a while ago. It is okay if the modules are not much floating in their size.

      posted in Custom CSS
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @sdetweil Hey, no problem generally but I‘m out until Thursday. I‘ll send it then.

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @sdetweil and @karsten13, I think I solved my problem.
      In the beginning when I used the update script it stopped with the node-version but didn’t update. So I updated manually by using the original code from Node JS. So I installed node v22.20.0. Later I went again down to v22.18.0. Maybe this caused some trouble. But Maybe not. rm -rf node_modules and npm install I did already 3 times before.

      But now I modified the calendarfetcher.js and newsfeedfetcher.js:

      This was removed:

      const { getUserAgent } = require("#server_functions");
      const { scheduleTimer } = require("#module_functions");
      
      

      and replaced by this:

      const getUserAgent = () => "MagicMirror v2.33.0";
      const scheduleTimer = (timerRef, interval, callback) => {
          clearTimeout(timerRef);
          return setTimeout(callback, interval);
      };
      

      No errors and Calendar/Newsfeed is displayed as before. I don’t know exactly if there are any new issues now but so far I’m happy.

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Cannot find module '#server_functions'

      @karsten13

      chris@MagicPi:~/MagicMirror $ git diff package.json
      diff --git a/package.json b/package.json
      index 5ab033c9..c6889623 100644
      --- a/package.json
      +++ b/package.json
      @@ -74,6 +74,7 @@
                      "@fortawesome/fontawesome-free": "^7.0.1",
                      "ajv": "^8.17.1",
                      "animate.css": "^4.1.1",
      +               "axios": "^1.12.2",
                      "console-stamp": "^3.1.2",
                      "croner": "^9.1.0",
                      "envsub": "^4.1.0",
      chris@MagicPi:~/MagicMirror $ 
      
      posted in Troubleshooting
      C
      chrisfr1976
    • Cannot find module '#server_functions'

      Hi,
      I’ve updated to the latest Version today using at first the update script. I have some trouble with the calendar display and the newsfeed. I just started a blank Mirror instance. A module #server_functions is missing. I don’t know how to fix that.

      What I’ve tried so far is

      • getting serverOnly folder from the repo manually
      • switched manually again to master branch and reinstalled all node_modules
      • uses npm install manually

      This is the log:

      3|mm3  | [2025-10-04 21:21:14.572] [LOG]   Starting MagicMirror: v2.33.0 
      3|mm3  | [2025-10-04 21:21:14.600] [LOG]   Loading config ... 
      3|mm3  | [2025-10-04 21:21:14.628] [LOG]   config template file not exists, no envsubst 
      3|mm3  | [2025-10-04 21:21:19.738] [INFO]  Checking config file /home/chris/MagicMirror/config/config3.js ... 
      3|mm3  | [2025-10-04 21:21:20.155] [INFO]  Your configuration file doesn't contain syntax errors :) 
      3|mm3  | [2025-10-04 21:21:20.157] [INFO]  Checking modules structure configuration ... 
      3|mm3  | [2025-10-04 21:21:20.596] [INFO]  Your modules structure configuration doesn't contain errors :) 
      3|mm3  | [2025-10-04 21:21:20.638] [LOG]   Loading module helpers ... 
      3|mm3  | [2025-10-04 21:21:20.651] [LOG]   No helper found for module: alert. 
      3|mm3  | [2025-10-04 21:21:20.733] [LOG]   Initializing new module helper ... 
      3|mm3  | [2025-10-04 21:21:20.734] [LOG]   Module helper loaded: updatenotification 
      3|mm3  | [2025-10-04 21:21:20.739] [LOG]   No helper found for module: clock. 
      3|mm3  | [2025-10-04 21:21:21.248] [ERROR] Error when loading calendar: Cannot find module '#server_functions'
      3|mm3  | Require stack:
      3|mm3  | - /home/chris/MagicMirror/modules/default/calendar/calendarfetcher.js
      3|mm3  | - /home/chris/MagicMirror/modules/default/calendar/node_helper.js
      3|mm3  | - /home/chris/MagicMirror/js/app.js
      3|mm3  | - /home/chris/MagicMirror/serveronly/index.js 
      3|mm3  | [2025-10-04 21:21:21.259] [LOG]   No helper found for module: compliments. 
      3|mm3  | [2025-10-04 21:21:21.275] [LOG]   No helper found for module: weather. 
      3|mm3  | [2025-10-04 21:21:22.220] [ERROR] Error when loading newsfeed: Cannot find module '#server_functions'
      3|mm3  | Require stack:
      3|mm3  | - /home/chris/MagicMirror/modules/default/newsfeed/newsfeedfetcher.js
      3|mm3  | - /home/chris/MagicMirror/modules/default/newsfeed/node_helper.js
      3|mm3  | - /home/chris/MagicMirror/js/app.js
      3|mm3  | - /home/chris/MagicMirror/serveronly/index.js 
      3|mm3  | [2025-10-04 21:21:22.221] [LOG]   All module helpers loaded. 
      3|mm3  | [2025-10-04 21:21:22.318] [LOG]   Starting server on port 8082 ...  
      3|mm3  | [2025-10-04 21:21:22.455] [LOG]   Server started ... 
      3|mm3  | [2025-10-04 21:21:22.456] [LOG]   Connecting socket for: updatenotification 
      3|mm3  | [2025-10-04 21:21:22.457] [LOG]   Starting module helper: updatenotification 
      3|mm3  | [2025-10-04 21:21:22.468] [LOG]   Sockets connected & modules started ... 
      3|mm3  | [2025-10-04 21:21:22.470] [INFO]  
      3|mm3  | >>>   Ready to go! Please point your browser to: http://0.0.0.0:8082   <<< 
      3|mm3  | [2025-10-04 21:21:28.870] [INFO]  updatenotification: Updater Class Loaded! 
      3|mm3  | [2025-10-04 21:21:28.876] [INFO]  updatenotification: Checking PM2 using... 
      3|mm3  | [2025-10-04 21:21:31.736] [INFO]  Checking git for module: MagicMirror 
      3|mm3  | [2025-10-04 21:21:31.925] [INFO]  
      3|mm3  | ####  System Information  ####
      3|mm3  | - SYSTEM:   manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 4 Model B Rev 1.5; virtual: false; MM: 2.33.0
      3|mm3  | - OS:       platform: linux; distro: Debian GNU/Linux; release: 12; arch: arm; kernel: 6.6.70-v7l+
      3|mm3  | - VERSIONS: electron: undefined; used node: 22.20.0; installed node: 22.20.0; npm: 10.9.3; pm2: 6.0.13
      3|mm3  | - ENV:      XDG_SESSION_TYPE: tty; MM_CONFIG_FILE: config/config3.js
      3|mm3  |             WAYLAND_DISPLAY:  undefined; DISPLAY: undefined; ELECTRON_ENABLE_GPU: undefined
      3|mm3  | - RAM:      total: 3848.23 MB; free: 2604.24 MB; used: 1243.98 MB
      3|mm3  | - OTHERS:   uptime: 132 minutes; timeZone: Europe/Berlin 
      3|mm3  | [2025-10-04 21:21:32.004] [INFO]  updatenotification: [PM2] You are using pm2 with id: 3 (mm3) 
      
      
      

      More infos:

      chris@MagicPi:~/MagicMirror $ node -v             
      npm -v            
      pm2 -v                                    
      v22.20.0
      10.9.3
      6.0.13
      
      chris@MagicPi:~/MagicMirror $ cd ~/MagicMirror
      git status
      git branch -a
      cat package.json | grep version
      Auf Branch master
      Ihr Branch ist auf demselben Stand wie 'origin/master'.
      
      ?nderungen, die nicht zum Commit vorgemerkt sind:
        (benutzen Sie "git add <Datei>...", um die ?nderungen zum Commit vorzumerken)
        (benutzen Sie "git restore <Datei>...", um die ?nderungen im Arbeitsverzeichnis zu verwerfen)
      	ge?ndert:       package-lock.json
      	ge?ndert:       package.json
      
      Unversionierte Dateien:
        (benutzen Sie "git add <Datei>...", um die ?nderungen zum Commit vorzumerken)
      	installers/
      
      keine ?nderungen zum Commit vorgemerkt (benutzen Sie "git add" und/oder "git commit -a")
        _fix_clipping
        main
      * master
        remotes/origin/HEAD -> origin/master
        remotes/origin/dependabot/npm_and_yarn/develop/electron-28.1.0
        remotes/origin/dependabot/npm_and_yarn/develop/electron-32.1.2
        remotes/origin/dependabot/npm_and_yarn/develop/electron-33.2.1
        remotes/origin/dependabot/npm_and_yarn/develop/electron-34.0.2
        remotes/origin/dependabot/npm_and_yarn/develop/electron-34.3.0
        remotes/origin/dependabot/npm_and_yarn/develop/eslint-9.6.0
        remotes/origin/dependabot/npm_and_yarn/develop/eslint-plugin-jsdoc-50.3.1
        remotes/origin/dependabot/npm_and_yarn/develop/helmet-8.0.0
        remotes/origin/dependabot/npm_and_yarn/develop/node-ical-0.19.0
        remotes/origin/dependabot/npm_and_yarn/develop/node-ical-0.20.1
        remotes/origin/dependabot/npm_and_yarn/develop/stylelint-16.15.0
        remotes/origin/dependabot/npm_and_yarn/develop/stylistic/eslint-plugin-2.3.0
        remotes/origin/dependabot/npm_and_yarn/develop/undici-7.4.0
        remotes/origin/develop
        remotes/origin/master
        remotes/origin/v1.0.0
      	"version": "2.33.0",
      chris@MagicPi:~/MagicMirror $ 
      
      
      posted in Troubleshooting
      C
      chrisfr1976
    • RE: MMM-ChameleonWeather shows wrong temp

      Hi,
      I fixed the issue. :)

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: MMM-TitanSchoolMenu

      @Lmagenis

      Hey,

      you can edit the MMM-TitanSchoolMealMenu.js file and then stash what you do not want have displayed. Look for appendChild in the Lunch and/or Breakfast chapter and add // in front for testing.
      Like this:

             //   lunchMenuList.appendChild(lunchMenuItems);
                lunchMenuItems.appendChild(lunchMenuTitle);
           //     lunchMenuItems.appendChild(lunchMenuRecipes);
      

      I think there is no option available at the moment for your belonging.

      Maybe this solves your problem.

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: Css error in Main.css?

      @BKeyport

      You could try this module: MMM-GlobalPositioner. This can push a module wherever you want it to :)

      posted in Custom CSS
      C
      chrisfr1976
    • RE: MMM-SmokeFree – Track your smoke-free journey

      @plainbroke Now you can modify the currency value direct in the config.js. And I’ve added some more options. In the beginning bigger is better. I’m still not smoking again and now “small is beautiful” :)

      Bildschirmfoto 2025-07-23 um 17.19.01.png

      posted in Health
      C
      chrisfr1976
    • RE: not updating

      @Eagleyes27
      The message from google maps can be ignored currently. There is a plan to change the marker but currently the old AND EASY way is still working. I have a new version already ready but to get the new marker running is really complicated. So I didn’t update the module to this until now.

      I care about the module now. Is works good on my side. If you discover any general issues I can fix it. But this is important: do you run my fork?: https://github.com/ChrisF1976/MMM-GoogleMapsTraffic

      posted in Troubleshooting
      C
      chrisfr1976
    • RE: MMM-SmokeFree – Track your smoke-free journey

      @sdetweil Great. I hope that I’ll have the same success… But I’m clear in my head now. So …

      posted in Health
      C
      chrisfr1976
    • MMM-SmokeFree – Track your smoke-free journey

      Hey everyone,

      I just published a new module: MMM-SmokeFree.

      It shows how many days you’ve been smoke-free, how much money you’ve saved, and your next milestone — all wrapped in a motivational display.

      GitHub: https://github.com/ChrisF1976/MMM-SmokeFree

      🚭 Quit once. Stay proud every day.

      Style:simple
      simple

      Style:magnet
      magnet

      posted in Health
      C
      chrisfr1976
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1 / 7