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

    Posts

    Recent Best Controversial
    • RE: Trixie/node v24 - timeouts on request to the internet

      After further investigations I found the reason for the heavy CPU load. Originator for this behaviour ist the parameter “ELECTRON_ENABLE_GPU=1”. If this parameter is undefined my CPU load is as expected.

      I’ve also had a deeper look to run the “VLC video player” with RTSP streams from my cameras. Using the following command line parameter leads in my environment to best results:

      var opts = { detached: false, env: environ }		
      var args = ["-I dummy",
         "-q",
         "--zoom=" + this.window.zoom.toString(),
         "--video-x=" + this.window.x.toString(),		//	x,y-positioning does't work
         "--video-y=" + this.window.y.toString(),		//	...
         "--no-audio",
         "--video-on-top",
         "--no-video-deco",
         "--no-osd",
         "--no-video-title-show",
         "--network-caching=1000",
         "--rtsp-tcp",
         `${this.streams[stream].url}`
      ]
      //console.log(playerPath + this.player, args)
      this.streaming.player = spawn(playerPath + this.player, args, opts)
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Trixie/node v24 - timeouts on request to the internet

      Hi Sam, thank you for your fast response and support!
      I’ve played with the mmFetchTimout parameter without success. As I didn’t had any network issues with Bullseye, MM v2.26.0 and node v20.18.0, I downgraded node to v22.18 and the network issues are gone.
      But I’m now faced with another big issue under Trixie. If I schedule modules using graphic functions like vlc, the CPU load increase dramatically. There is one electron process with parameterer –type=zygote consuming the whole CPU capacity.

      14c23523-77f0-4375-ae25-1a860a46b883-image.png

      From copilot I got the answer: High CPU usage from electron --type=zygote is usually tied to Chromium’s zygote process, which forks renderer processes.

      Do you have any idea how to get this problem under control?

      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • Trixie/node v24 - timeouts on request to the internet

      I’ve migrated my MagigMirror installation on a RPI 4 from Bullseye to Trixie, running now MM V2.33.0 and node v24.11.1.
      After solving some smaller issues with the NetworkManager configuration, everything is now running fine, except that I observe sometimes timeouts on requests to the internet. Fetching Goggle calendar entries or access to Spotify endpoints sometimes end up in timeouts, particularly visible at startup of MagicMirror. (and no, it’s not related to any wrong URL )

      The same MM config is running under Bullseye, MM v2.26.0 and node v20.18.0 without any network issues. It also not a problem of wayland, as I get the same error messages running the config under x11. It seems that this behaviour is related to node V24. Is this a known issue? Is there someone who is fighting with similar issues? Has someone a sustainable solution for that problem?

      [2025-12-01 11:52:18.102] [LOG]   Launching application.
      [2025-12-01 11:52:22.644] [INFO]
      ####  System Information  ####
      - SYSTEM:   manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 4 Model B Rev 1.1; virtual: false; MM: 2.33.0
      - OS:       platform: linux; distro: Debian GNU/Linux; release: 13; arch: arm64; kernel: 6.12.47+rpt-rpi-v8
      - VERSIONS: electron: 39.2.3; used node: 22.21.1; installed node: 24.11.1; npm: 11.6.2; pm2: 6.0.13
      - ENV:      XDG_SESSION_TYPE: tty; MM_CONFIG_FILE: undefined
                  WAYLAND_DISPLAY:  wayland-0; DISPLAY: undefined; ELECTRON_ENABLE_GPU: undefined
      - RAM:      total: 905.64 MB; free: 397.65 MB; used: 507.99 MB
      - OTHERS:   uptime: 23 minutes; timeZone: Europe/Berlin
      [2025-12-01 11:52:23.927] [LOG]   Create new calendarfetcher for url: https://calendar.google.com/calendar/ical/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%40group.calendar.google.com/private-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/basic.ics - Interval: 5400000
      [2025-12-01 11:52:24.132] [LOG]   Create new calendarfetcher for url: https://www.schulferien.org/media/ical/deutschland/ferien_nordrhein-westfalen_2025.ics?k=wMVRLvKrstqVXYv0MZJF9BwhEW4cGfQFjuutfjiALP5Hj700di6oEuYaFGd4tDTvYrLNzQgB7m-GlFC60I4jasaxLk6nJd_OY70AeBteoOU - Interval: 900000
      [2025-12-01 11:52:24.136] [LOG]   Create new calendarfetcher for url: https://calendar.google.com/calendar/ical/de.german%23holiday%40group.v.calendar.google.com/public/basic.ics - Interval: 900000
      [2025-12-01 11:52:24.788] [ERROR] Calendar Error. Could not fetch calendar:  https://calendar.google.com/calendar/ical/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%40group.calendar.google.com/private-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/basic.ics TypeError: fetch failed
          at node:internal/deps/undici/undici:14900:13
          at processTicksAndRejections (node:internal/process/task_queues:105:5)
          at runNextTicks (node:internal/process/task_queues:69:3)
          at process.processTimers (node:internal/timers:520:9) {
        [cause]: AggregateError [ETIMEDOUT]:
            at internalConnectMultiple (node:net:1134:18)
            at internalConnectMultiple (node:net:1210:5)
            at Timeout.internalConnectMultipleTimeout (node:net:1742:5)
            at listOnTimeout (node:internal/timers:590:11)
            at process.processTimers (node:internal/timers:523:7) {
          code: 'ETIMEDOUT',
          [errors]: [ [Error], [Error] ]
        }
      }
      
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: MMM-Mplayer video issues

      @ge
      I’ve reworked the MMM-RTSPstream module and tried mpv, mplayer and vlc for displaying rtsp-streams from Reolink cameras. Maybe the following command line options are also suitable for your camera.

      		const environ = Object.assign(process.env, { DISPLAY: ":0" })
      		var opts = { detached: true, env: environ }
      		if (this.player === 'mpv') {
      			// Define the MPV command line flags
      			var args = [`${this.streams[stream].url}`,
      						"--geometry="+this.windowWidth+"+"+this.windowX+"+"+this.windowY,
      						"--ontop",
      						"--title-bar=no",
      						"--border=no",
      						"--vo=gpu",
      //						"--hwdec=drm",
      						"--gpu-context=x11vk",
      						"--ao=null",
      						]			
      		} else if (this.player === 'mplayer') {
      			// Define the Mplayer command line flags
      			var args = [`${this.streams[stream].url}`,
      						"-geometry", `${this.windowX}:${this.windowY}`,
      						"-xy", `${this.windowWidth}`,
      						"-noborder",
      						"-nosound",
      						"-nolirc",
      						"-vo", "xv,gl,gl_nosw,vdpau",
      						"-prefer-ipv4",
      						"-cache", "8192",
      						"-rtsp-stream-over-tcp",
      						"-noconsolecontrols",
      						"-really-quiet",
      						]
      		} else if (this.player === 'vlc') {	
      			// Generate the VLC window
      			var args = ["-I dummy",
      						"--video-on-top",
      						"--no-video-deco",
      						"--no-osd",
      						"--no-embedded-video",
      						"--no-audio",
      						//"--no-video-title-show",
      						//"--network-caching=1000",						
      						`${this.streams[stream].url}`
      						]
      		}
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Version 2.33.0/node v22.21.0 - Error: write EFAULT

      Sam, the kernel buffer does not include a line with ‘virtual’ or ‘hypervisor’. So, the retuen value of the execSync is a emty string.

      pi@devpi:~ $ dmesg | grep virtual
      pi@devpi:~ $ dmesg | grep hypervisor
      pi@devpi:~ $ dmesg | grep zram0
      [    4.928549] zram_generator::config[229]: zram0: system has too much memory (905MB), limit is 0MB, ignoring.
      [    5.775275] systemd[1]: Expecting device dev-zram0.device - /dev/zram0...
      [    5.977908] zram: Added device: zram0
      [    6.771158] zram0: detected capacity change from 0 to 1853440
      [    6.998349] Adding 926716k swap on /dev/zram0.  Priority:100 extents:1 across:926716k SS
      
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Version 2.33 - module 'weather' - openweathermap and 'One Call by Call' plan

      Ok, my fault, thanks a lot!

      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • Version 2.33 - module 'weather' - openweathermap and 'One Call by Call' plan

      Currently I migrate from Magicmirror v2.26.0 to v2.33.0. One issue , the weather module does not start. The module provide me from the provider openweathermap the message:

       {"cod":401, "message": "Please note that using One Call 3.0 requires a separate subscription to the One Call by Call plan. Learn more here https://openweathermap.org/price. If you have a valid subscription to the One Call by Call plan, but still receive this error, then please see https://openweathermap.org/faq#error401 for more info."}
      

      I don’t have a supscription for the ‘One Call by Call’ plan. But, if I copy the weather module (complete directory) from MM v2.26 to v2.33 I get the forecast weather data from openweathermap without any difficulty and everything is working fine. So there must be a modification in the weather module which leads to the described issue.
      For the moment I’ve a workaround by overriting the wether module with the old version, but it would be nice and helpful if an expert could do a deeper analysis for the cause and understanding of the issue.
      Thanks!
      Here is my configuration for the module:

      			module: 'weather',
      			position: 'top_right',
      			header: 'Wetter Vorhersage für ',
      			config: {
      				weatherProvider: "openweathermap",
      				type: "forecast",
      				tableClass: 'small',
      				locationID: "2879315",                      	
      				apiKey: "2xxxxxxxxx...xxxxxxxxxd",		//apiKey from http://www.openweathermap.org
      				tempUnits: "metric",
      				roundTemp: true,				
      				onlyTemp: true,
      				colored: true,
      				maxNumberOfDays: 4,
      				ignoreToday: true,
      				updateInterval: 3600000,					// every hour				
      				initialLoadDelay: 3000,				
      			}
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Version 2.33.0/node v22.21.0 - Error: write EFAULT

      Yes, without any error, but also without any output!

      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Version 2.33.0/node v22.21.0 - Error: write EFAULT

      So, after further investigations I found the issue in the module: ./MagicMirror/node_modules/systeminformation/lib/system.js:175:28

      I’m not a nodejs expert, but it seems that execSync returns a invalid or corrupted raw buffer. The encoding option solved the issue, as in my case execSync returns now an empty string.

      const stdout = execSync('dmesg 2>/dev/null | grep -iE "virtual|hypervisor" | grep -iE "vmware|qemu|kvm|xen" | grep -viE "Nested Virtualization|/virtual/"', {encoding: 'utf-8'});
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • RE: Version 2.33.0/node v22.21.0 - Error: write EFAULT

      Here my System Information (started with: node --run start:wayland):

      [2025-11-22 10:47:48.003] [LOG]   Sockets connected & modules started ...
      [2025-11-22 10:47:49.223] [ERROR] Error: write EFAULT
          at afterWriteDispatched (node:internal/stream_base_commons:159:15)
          at writeGeneric (node:internal/stream_base_commons:150:3)
          at Socket._writeGeneric (node:net:966:11)
          at Socket._write (node:net:978:8)
          at writeOrBuffer (node:internal/streams/writable:572:12)
          at _write (node:internal/streams/writable:501:10)
          at Writable.write (node:internal/streams/writable:510:10)
          at execSync (node:child_process:999:20)
          at node:electron/js2c/node_init:2:17346
          at /home/pi/MagicMirror/node_modules/systeminformation/lib/system.js:175:28
          at ChildProcess.exithandler (node:child_process:410:7)
          at ChildProcess.emit (node:events:519:28)
          at maybeClose (node:internal/child_process:1101:16)
          at Socket.<anonymous> (node:internal/child_process:456:11)
          at Socket.emit (node:events:519:28)
          at Pipe.<anonymous> (node:net:346:12)
      [2025-11-22 10:47:49.224] [LOG]   Node NOT Exiting...
      [2025-11-22 10:47:49.395] [LOG]   Launching application.
      [2025-11-22 10:47:56.485] [INFO]
      ####  System Information  ####
      - SYSTEM:   manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 4 Model B Rev 1.1; virtual: false; MM: 2.33.0
      - OS:       platform: linux; distro: Debian GNU/Linux; release: 13; arch: arm64; kernel: 6.12.47+rpt-rpi-v8
      - VERSIONS: electron: 38.1.2; used node: 22.19.0; installed node: 22.21.0; npm: 10.9.4; pm2: 6.0.13
      - ENV:      XDG_SESSION_TYPE: tty; MM_CONFIG_FILE: undefined
                  WAYLAND_DISPLAY:  wayland-0; DISPLAY: :0; ELECTRON_ENABLE_GPU: undefined
      - RAM:      total: 906.64 MB; free: 449.86 MB; used: 456.78 MB
      - OTHERS:   uptime: 21 minutes; timeZone: Europe/Berlin
      
      posted in Troubleshooting
      Mr.SpontiM
      Mr.Sponti
    • 1 / 1