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

    Posts

    Recent Best Controversial
    • RE: MMM-MyTado

      @MyMirror
      The humidity is already shown -> The humidity (💦)
      The open window is already shown -> Open Window (🪟)
      It will be shown in the status column when it appears in that zone.

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      That’s correct!
      At the end, because it currently just works with MMM-OnSpotify, it was not so difficult.

      I Will look into this in the near future to support other Player also.

      posted in System
      htilburgsH
      htilburgs
    • MMM-HideModulesOnSpotify

      MMM-HideModulesOnSpotify

      This is a small Magic Mirror² module that can hide one ore more modules when MMM-OnSpotify starts.

      The problem I had that my MagicMirror was full and the MMM-OnSpotify came over the other modules.
      With this module, I have created a way to automatically hide a module when MMM-OnSpotify opens. When MMM-OnSpotify closes again, the original module is reloaded in its place.

      This module loads automatically, but is not visible on the MagicMirror.
      The only thing you can see is in the logs that the module has been loaded.

      Installation

      Clone this repository in your modules folder, and install dependencies:

      cd ~/MagicMirror/modules
      git clone https://github.com/htilburgs/MMM-HideModulesOnSpotify.git
      cd MMM-HideModulesOnSpotify
      npm install
      

      Update

      When you need to update this module:

      cd ~/MagicMirror/modules/MMM-HideModulesOnSpotify
      git pull
      npm install
      

      Configuration

      Go to the MagicMirror/config directory and edit the config.js file.
      Add the module to your modules array in your config.js.

      {
            module: "MMM-HideModulesOnSpotify",
            config: {
                  modulesToHide: ["clock","calendar"]
            }
      },
      

      Configuration Options

      Option Description
      modulesToHide Array of module(s) you like to hide. Fill in the exact module Name as in your config.js

      Versions

      v1.0.0 (12-03-2026): Initial version


      License

      The MIT License (MIT)

      Copyright © 2026 Harm Tilburgs

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      I see you’re even using one of my Modules (MMM-MyGarbage)

      My MusicPlayer (Volumio) is on the left side, too but is spreading the region if cover-art is appearing…
      

      Did you do something special for this, or is this an option in de Module?
      Because when MMM-OnSpotify appears, it just go over everything that is standing there.
      So for now I’ve disabled it and looking for a solution.

      posted in System
      htilburgsH
      htilburgs
    • RE: MMM-MyGarbage

      Just published an update v3.0.0

      • Add support for flexible numbers of Bins
      • Bin names are automaticly detected
      • Match bin colors to bin names for csv and ical
      • Error message instead of “Loading…” when the CSV or ICAL is in wrong format
      • Better debug information in console and in module
      • Clean up code

      Enjoy this new version and if you find any issues, please report them here

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      My current mirror
      This is why I have it on the right. For me this feels better.
      On the left side there comes the Spotify information, when I play music.

      eac1a738-526d-4d3f-8ad7-4103a12bc910-image.jpeg

      posted in System
      htilburgsH
      htilburgs
    • MMM-MySystem

      MMM-MySystem

      This is a Magic Mirror² module for the system information.
      I now there are more 😉, but I built a version with a modern look and feel, suited for my needs.

      SCR-20260310-qsds

      Installation

      Clone this repository in your modules folder, and install dependencies:

      cd ~/MagicMirror/modules
      git clone https://github.com/htilburgs/MMM-MySystem.git
      cd MMM-MySystem
      npm install
      

      Update

      When you need to update this module:

      cd ~/MagicMirror/modules/MMM-MySystem
      git pull
      npm install
      

      Configuration

      Go to the MagicMirror/config directory and edit the config.js file.
      Add the module to your modules array in your config.js.

      {
        module: "MMM-MySystem",
        position: "top_right",
        header: "System Information",
        disabled: false,
        config: {
          showHeader: true,
          showCpuUsage: true,
          showCpuTemp: true,
          showMemory: true,
          showDisk: true,
          showUptime: true,
          showIPeth: true,
          showIPwifi: true,
          tempUnit: "C"
          updateInterval: 10000
        }
      }
      

      Configuration Options

      Option Description
      showHeader Show the header with Hostname, Model and OS Version
      Options: true/false - Default: true
      showCPUusage Show the CPU Usage (%)
      Options: true/false - Default: true
      showCPUtemp Show the CPU Temperature
      Options: true/false - Default: true
      showMemory Show the Free Memory (%)
      Options: true/false - Default: true
      showDisk Show the Free Diskpace
      Options: true/false - Default: true
      showIPeth Show the IP Address for the Ethernet
      Options: true/false - Default: true
      showIPwifi | Show the IP Address for the Wifi<br/>Options: true/false - Default: <b>true`
      tempUnit Show the temperature in ˚C or ˚F
      Options: C/F - Default: C
      updateInterval Update interval module in ms
      Default: 10000 (10 seconds)

      Versions

      v1.0.0 (10-03-2026): Initial version)
      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      Hi Ralf, I implemented the new version and parameter.
      It works great!

      I’m now playing with the CSS.
      Made the bar smaller (50%) rounded edges and alligned the counter at the left of my screen.

      1dcea511-66b9-4002-82e8-a3d2bec2652b-image.jpeg

      For those who like this setup, just add following in ~/MagicMirror/css/custom.css

      /* MMM-PresenceScreenControl */
      
      .psc-linebar {
        width: 50%;
        height: 5px;
        background: #222;
        border-radius: 4px;
        margin: 6px 0 6px 0;
        overflow: hidden;
        margin-left: auto;
        margin-right: 0;
      }
      
      .psc-bar {
        height: 100%;
        width: 100%;
        border-radius: 4px;
        transition: width 0.4s ease, background 0.4s ease;
        box-shadow: 0 0 6px currentColor;
      }
      
      .psc-timer {
        font-size: 16px;
        margin-top: 4px;
        margin-bottom: 2px;
        letter-spacing: 1px;
        text-align: right !important;
      }
      
      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell your welcome…;-)

      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      Oke, done some testing:
      With the ‘new’ strings, I get:

      onCommand: "WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --on --mode 1920x1080 --transform 270",
      offCommand: "WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --off",
      
      [ERROR] [MMM-PresenceScreenControl] [updateScreen] ERROR: Error: Command failed: WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --on --mode 1920x1080 --transform 270
      unknown output HDMI-A-1
      

      Why this message, I don’t know.
      After a reboot this message didn’t show again.

      Then I stopped MagicMirror and did the same command from the commandline WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --off

      After 6 seconds my display comes on again.
      So it isn’t coming from MagicMirror, but from my system.
      I created a simple Python3 script to turn off and on my monitor. Same problem.

      Next step:
      I took a new SD Card and installed a fresh copy of Trixie.
      Didn’t do anything else, no updates or something else and tried again with WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --off from the command prompt.
      Display goes off and after 6 seconds back on again.
      So I excluded MagicMirror. What else can it be?

      Next step:
      I took an other RPI4b with the new SD Card from previous step. Repeated the test, but still same result. Monitor goes on after 6 seconds. So it is not MagicMirror, not the RPI. But why it works with MMM-PIR and not with MMM-PresenceScreenControl. It is still a riddle for me.

      Next step:
      Original RPI with original SD Card and installed MMM-Universal-Pir. Same result, after 6 seconds screen on.
      So I excluded MagicMirror, SD Card, Trixie installation and RPI. It must have something to do with my monitor?!?
      Did something happen? Not that I know.

      After doing a search on the big WWW, I found an interesting article that described exact the same issue I was having.
      https://forums.raspberrypi.com/viewtopic.php?t=363966

      So I searched for my RemoteControl and search for a setting
      that automatically scan its input sources (not easy if your MagicMirror screen is rotated 270° ;-)
      And I found this setting and indeed it was standing on auto scan. I put it on HDMI as only source and tried it again:

      YES, IT IS WORKING!!!

      And even better than before, now my monitor turns completly off after 15 min. of no signal. So instead of using 75W when on, 26W in standby, it now uses 0W after 15 minutes (it’s a setting on the monitor).
      Activating the PIR, it turns back on!

      So with this I hope that if somebody else has this problem, they can solve it to.

      Ralf, thanks for all the help and trying to solve it with me.
      I’m looking forward for the startupGracePeriod parameter and think this is going to make the module fully as I like it.
      Thank you for your great work with this module and a grownup replacement for MMM-Pir!!!

      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      I live in the Netherlands.

      I’m Currently at the office, but I Will test it this evening and give you the results.

      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      I did a git pull so I’m sure I’ve the latest version:

      • Screen stays on until I trigger the sensor, so that is not changed.
      • Screen goes off after 30 sec (my setting for testing) and after 6 seconds it comes on again, saying 00:00

      I had set debug:“complex” and this is what it gave

      [2026-03-09 06:53:11.320] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30488.576057914     rising  gpiochip0 17 "GPIO17" 
      [2026-03-09 06:53:12.466] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30489.724051868     falling gpiochip0 17 "GPIO17" 
      [2026-03-09 06:53:14.974] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30492.232041526     rising  gpiochip0 17 "GPIO17" 
      [2026-03-09 06:53:16.122] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30493.380045941     falling gpiochip0 17 "GPIO17" 
      [2026-03-09 06:55:15.350] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30612.608045172     rising  gpiochip0 17 "GPIO17" 
      [2026-03-09 06:55:16.498] [LOG]   [MMM-PresenceScreenControl] [PresenceScreenControl] [PIR] gpiomon output: 30613.756051231     falling gpiochip0 17 "GPIO17"
      

      I only have a message when I trigger the PIR, but further no messages. For being complete, my config:

      {
                              module: "MMM-PresenceScreenControl",
                              position: "bottom_right",
                              disabled: false,
                              config: {
                                      mode: "PIR",
                                      pirGPIO: 17,
                                      onCommand: "DISPLAY=:0 wlr-randr --output HDMI-A-1 --on --mode 1920x1080 --transform 270",
                                      offCommand: "DISPLAY=:0 wlr-randr --output HDMI-A-1 --off",
                                      counterTimeout: 30,
                                      autoDimmer: false,
                                      autoDimmerTimeout: 60,
                                      style: 2,
                                      colorFrom: "red",
                                      colorTo: "lime",
                                      colorCronActivation: "cornflowerblue",
                                      showPresenceStatus: false,
                                      debug: "complex",
                                      resetCountdownWidth: false
                              }
                      },
      
      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      First of all, thank you for your time!

      You were right about the startup behavior — I’ve fixed it. The screen now turns off after ~1
      second if no presence is detected at startup. No more waiting for the first sensor event.
      

      Ok, nice. But why ~1 second?
      Why not the time from counterTimeout?
      Just my thoughts ;-)

      Could you please set debug:
      “complex” and share the complete log output from the moment the screen turns off until it comes
      back on?
      

      I will do this, but it will be tommorow.
      I have to get up early and it’s already late.

      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      To update:
      cd ~/MagicMirror/modules/MMM-PresenceScreenControl
      git pull
      rm -rf node_modules package-lock.json
      npm install

      The better way is first rm -rf node_modules package-lock.json, otherwise git pull gives an error that it cannot update because of package-lock.json

      error: Your local changes to the following files would be overwritten by merge: package-lock.json
      Please commit your changes or stash them before you merge.
      
      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      Hi Ralf, I don’t agree with your argument about Issue 2.
      When my MagicMirror starts and it does not detect any movement, the screen will stay on and on until movement is detected. Let’s say I’m not around for 2 hours, the screen is on for 2 hours.

      My other PIR modules I tested, do this as aspected (both MMM-Pir and MMM-Universal-Pir). So maybe you can consider to change this.

      The other issue still exists after the update.
      I don’t have a wayfire.ini file in my ~/.config.
      My previous module MMM-Pir puts the screen off and at movement on. It stays off after it goes off.
      With MMM-PresenceScreenControl my screen turns off and than after about 6-7 seconds, the screen comes back on again. I don’t make conclusions, but I think it has nothing to do with my system of Wayland settings. Something is triggering that the screen goes on again.

      posted in System
      htilburgsH
      htilburgs
    • RE: MMM-MyWeatherForecast

      I just published an update to v1.2.0

      • Add Iconsets for animated
      • Possibility for custom icons
      • Update language files
      • Add riseSetDisplay option in config, to show Sunrise / Sunset as text, only icon or both
      • Code optimized

      Don’t forget to update the config.js with the extra options:

      riseSetDisplay: "both",         // Show Sunrise / Sunset as text | icon | both
      iconSet: "standard",            // standard | animated | custom (upload your own PNG icons)
      

      If there are any issues, please add the issue here

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyTado

      Just updated to v1.0.3 - Add debug option, to prevent to many loggings in the logfiles.

      In config.js simple add debug: false, (or true for showing console log messages). Default it is false, because loggings were growing to fast.

      Update:

      cd ~/MagicMirror/modules/MMM-MyTado
      git pull
      npm install
      
      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      Ok, I made an error because of issue 1.
      I used the xrandr instead of the wrandr command for Wayland.

      Now Im using:

      onCommand: "DISPLAY=:0 wlr-randr --output HDMI-A-1 --on --mode 1920x1080 --transform 270",
      offCommand: "DISPLAY=:0 wlr-randr --output HDMI-A-1 --off",
      

      The screen goes off after 30 sec (current counterTimeout), but after 10 seconds the screen goes on again, counter says 00:00 without that there was any movement. Also the debug doesn’t say noting. Until I create movement, than the counter starts at 00:30 and the screen goes off and after 10 sec. on. It looks like something triggers the software, to think there is movement.

      Issue 2 still exists (it only applies when Mirror is first started).
      After that it detects movement and it works fine.

      Issue 3
      When debug is on and MMM-PresenceScreenControl is started, I see a message from [MMM-Pir][LIB][PIR]. Very confusing because I first thougt I had my other module still running.

      [2026-03-06 19:36:00.975] [LOG]   [MMM-PresenceScreenControl] [MMM-Pir] [LIB] [PIR] Mode 0 Selected (gpiod library) 
      [2026-03-06 19:36:00.977] [LOG]   [MMM-PresenceScreenControl] [MMM-Pir] [LIB] [PIR] [GPIOD] node-libgpiod not available, falling back to Python/gpiozero (mode 1)
      
      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell said:

      cd ~/MagicMirror/modules/MMM-PresenceScreenControl
      git pull
      rm -rf node_modules package-lock.json
      npm install

      Better:

      rm -f node_modelues package-lock.json
      git pull
      npm install
      

      Otherwise the git pull wil not work.

      Issue 1:
      When time is up, the screen doesn’t go off. Dim works, but then when the screen should go off, it is not dimmed anymore and on. Debug says:

      [2026-03-06 18:16:29.150] [LOG]   [MMM-PresenceScreenControl] [updatePresence] pirPresence=false, touchPresence=false, presence=true, newPresence=false 
      [2026-03-06 18:17:30.311] [LOG]   [MMM-PresenceScreenControl] [startCounter] Counter expired: presence=false, pirPresence=false, calling updateScreen(false) 
      [2026-03-06 18:17:30.323] [LOG]   [MMM-PresenceScreenControl] [updateScreen] on=false, cmd="DISPLAY=:0 xrandr --output HDMI-1 --off" 
      [2026-03-06 18:17:30.467] [LOG]   [MMM-PresenceScreenControl] [updateScreen] SUCCESS: executed "DISPLAY=:0 xrandr --output HDMI-1 --off"
      

      Issue 2:
      When module is started, and there is no movement, the mirror stays on and counter says 00:00.
      Until it see movement, than counter start and after the counter is should go out (not, see issue 1). Debug after just started:

      [2026-03-06 18:20:32.007] [LOG]   [MMM-PresenceScreenControl] [startCounter] Counter expired: presence=false, pirPresence=false, calling updateScreen(false) 
      [2026-03-06 18:20:32.012] [LOG]   [MMM-PresenceScreenControl] [updateScreen] on=false, cmd="DISPLAY=:0 xrandr --output HDMI-1 --off" 
      [2026-03-06 18:20:32.132] [LOG]   [MMM-PresenceScreenControl] [updateScreen] SUCCESS: executed "DISPLAY=:0 xrandr --output HDMI-1 --off"
      

      Current config (for testing):

      {
                              module: "MMM-PresenceScreenControl",
                              position: "bottom_right",
                              disabled: false,
                              config: {
                                      mode: "PIR",
                                      pirGPIO: 17,
                                      onCommand: "DISPLAY=:0 xrandr --output HDMI-1 --mode 1920x1200 --rotate left",
                                      offCommand: "DISPLAY=:0 xrandr --output HDMI-1 --off",
                                      counterTimeout: 30,
                                      autoDimmer: false,
                                      autoDimmerTimeout: 60,
                                      style: 2,
                                      colorFrom: "red",
                                      colorTo: "lime",
                                      colorCronActivation: "cornflowerblue",
                                      showPresenceStatus: false,
                                      debug: "on",
                                      resetCountdownWidth: false
                              }
                      },
      

      Pi OS version:

      PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
      NAME="Debian GNU/Linux"
      VERSION_ID="13"
      VERSION="13 (trixie)"
      VERSION_CODENAME=trixie
      DEBIAN_VERSION_FULL=13.3
      

      Mirror information:

      - SYSTEM:   manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 4 Model B Rev 1.4; virtual: false; MM: 2.34.0
      - OS:       platform: linux; distro: Debian GNU/Linux; release: 13; arch: arm64; kernel: 6.12.62+rpt-rpi-v8
      - VERSIONS: electron: 39.7.0; used node: 22.22.0; installed node: 22.21.1; npm: 10.9.4; pm2: 6.0.14
      - ENV:      XDG_SESSION_TYPE: tty; MM_CONFIG_FILE: undefined
                  WAYLAND_DISPLAY:  undefined; DISPLAY: :0; ELECTRON_ENABLE_GPU: undefined
      - RAM:      total: 1845.58 MB; free: 972.54 MB; used: 873.04 MB
      - OTHERS:   uptime: 5652 minutes; timeZone: Europe/Amsterdam
      

      Node version:

      v22.21.1
      

      Currently I’m using MMM-Pir from Coernel82/MMM-Pir and this works fine. But because he doensn’t maintain this module, I thougt to go over.

      I use these settings in this module:

      mode: 3 - use wlr-randr (For raspbian 12 with wayfire compositor)
      wrandrForceRotation: "270",
      wrandrForceMode: null,
      waylandDisplayName: "wayland-0",
      Pir mode: 1,
      gpio: 17,
      triggerMode : "LH" - motion signal is triggered when sensor goes from LOW (0, no-motion) to HIGH (1, motion)
      
      posted in System
      htilburgsH
      htilburgs
    • RE: PIR / MQTT - Presence sensor(s) revived

      @rkorell
      When I install this module (currently using MMM-Pir) I got a lot of messages of deprecated modules. It also gives me 8 vulnerabilities (2 low, 6 high).

      npm warn skipping integrity check for git dependency ssh://git@github.com/electron/node-gyp.git
      npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
      npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
      npm warn deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
      npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
      npm warn deprecated glob@8.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
      npm warn deprecated glob@8.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
      npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
      
      > MMM-PresenceScreenControl@1.3.0 postinstall
      > ./postinstall
      
      node-libgpiod not installed (optional), skipping electron-rebuild.
      PIR sensor will use Python/gpiozero fallback.
      
      added 181 packages, and audited 182 packages in 34s
      
      29 packages are looking for funding
        run `npm fund` for details
      
      8 vulnerabilities (2 low, 6 high)
      
      To address issues that do not require attention, run:
        npm audit fix
      
      To address all issues (including breaking changes), run:
        npm audit fix --force
      
      Run `npm audit` for details.
      pi@MagicMirror:~/MagicMirror/modules/MMM-PresenceScreenControl $ 
      

      I’m running on a Pi 4b with Trixie.

      posted in System
      htilburgsH
      htilburgs
    • 1 / 1