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

    Posts

    Recent Best Controversial
    • RE: Docker MagicMirror + a separate "dumb" display Pi (remote kiosk over a reverse proxy)

      @Rags I might try that out. But use a Fully Kiosk Browser on an Android tablet for the display.
      I could probably use the camera for motion detection.

      posted in General Discussion
      B
      bwente
    • MMM-MessageCenter — a unified inbox for MagicMirror notifications

      I’ve been working on MMM-MessageCenter, a module that gives notifications from different sources one consistent place on the mirror.

      The idea came from a pretty simple problem: a notification appears, disappears, and nobody knows whether anyone actually saw it. Different modules and services also handle alerts differently, so important information can easily get lost.

      MessageCenter adds a small notification history with clear unread, viewed, acknowledged, dismissed, and expired states.

      What can send messages?

      Everything:

      • Other MagicMirror modules
      • MagicMirror’s bundled Weather module
      • MMM-Remote-Control
      • Home Assistant
      • REST webhooks
      • MQTT
      • Local Unix-socket scripts and system monitors

      It intentionally doesn’t collect every internal MagicMirror event. Modules either use the MessageCenter API or an explicitly enabled adapter, which keeps refresh, navigation, and module-control traffic out of the inbox.

      A few examples

      A dishwasher notification can briefly appear as an alert and then remain in history until someone views it.

      A doorbell message can include a camera snapshot captured when the event happened, so the image doesn’t change before somebody checks it.

      The standard MagicMirror Weather module can add a “Rain approaching” message without requiring a separate weather service.

      A local monitoring script can report low disk space, high temperature, network trouble, or another condition that should be visible on the mirror.

      489bf62b-9edb-44bc-b4d7-6252e6a60b70-image.jpeg

      Different ways to display it

      MessageCenter can be used as:

      • A compact list in a normal MagicMirror region
      • A full-page message inbox
      • A touch-friendly display with message controls
      • A non-touch display that simply shows the newest messages

      It can show temporary alerts, retain message history, expire old messages, update existing messages by ID, and publish attention events for other integrations. It only says that something needs attention, leaving other modules and integrations free to decide what that means.

      Configuration, payload examples, and documentation:

      https://github.com/bwente/MMM-MessageCenter

      posted in Showcase
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich looks like trigger.payload_json.remainingSeconds is empty or double quoted. Can you view just the payload and see?

      posted in Utilities
      B
      bwente
    • RE: Seymour — my modern take on the 3Com Audrey

      BTW MMM-WeatherHero is a great module for this. It looks right at home.

      8fc94368-ebaa-4459-92e5-0601d10a8eff-image.jpeg

      posted in Show your Mirror
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich said:

      My Echo know I want to start a Timer but it’s asking for how long.

      Great, now that you’ve confirmed MQTT is working, the next step is to add the Home Assistant automation.

      alias: MagicMirror kitchen timer started
      triggers:
        - trigger: mqtt
          topic: magicmirror/kitchen-timer/started
      
      actions:
        - action: media_player.play_media
          target:
            entity_id: media_player.kitchen_echo
          data:
            media_content_type: custom
            media_content_id: >-
              set a timer for
              {{ trigger.payload_json.remainingSeconds | int }}
              seconds
      

      I think that will work. I don’t know if it needs to be escaped or not.

      posted in Utilities
      B
      bwente
    • RE: Strava weekinbike & lastactivitymap

      @JMac For simple modules you should be able to clone it from github.

      cd ~/MagicMirror/modules
      git clone https://github.com/bwente/MMM-KitchenTimer.git
      
      posted in Troubleshooting
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich

      Something like this for your MMM-MQTTbridge config on your mirror.

      {
        module: "MMM-MQTTbridge",
        disabled: false,
        config: {
          mqttServer: "mqtt://USERNAME:PASSWORD@192.168.1.10:1883",
          stringifyPayload: true,
      
          mqttConfig: {
            // This example only sends MagicMirror events to MQTT.
            listenMqtt: false,
            interval: 300000,
          },
      
          notiConfig: {
            listenNoti: true,
            ignoreNotiId: ["CLOCK_MINUTE", "CLOCK_SECOND", "NEWS_FEED"],
            ignoreNotiSender: ["system"],
            qos: 0,
          },
        },
      },
      

      then edit

      ~/MagicMirror/modules/MMM-MQTTbridge/dict/notiDictionary.js
      
      var notiHook = [
        {
          notiId: "KITCHEN_TIMER_STARTED",
          notiPayload: [
            {
              notiMqttCmd: ["Kitchen timer started"],
            },
          ],
        },
      ];
      
      var notiMqttCommands = [
        {
          commandId: "Kitchen timer started",
          mqttTopic: "magicmirror/kitchen-timer/started",
          stringifyPayload: true,
          retain: false,
          qos: 0,
        },
      ];
      
      module.exports = { notiHook, notiMqttCommands };
      

      after restarting your mirror you should be able to listen for the topic: magicmirror/kitchen-timer/started in Home Assistant developer tools.

      posted in Utilities
      B
      bwente
    • RE: Unifi doorbell video shown on MM when bell rung

      I did something similar with my Reolink doorbell, but used Home Assistant as the middleman.

      When motion is detected, Home Assistant grabs a snapshot and sends it to MagicMirror. I use MMM-MessageCenter to display the notification and keep the snapshot in the message history, so I can still see who was at the door afterward.

      8bc1bd39-c9be-42ff-bad6-c864b697f8e5-image.jpeg

      I went with snapshots rather than live video since it is lightweight and, for my use, I mostly just wanted to see who came to the door.

      posted in Show your Mirror
      B
      bwente
    • RE: Seymour — my modern take on the 3Com Audrey

      @KristjanESPERANTO

      Thanks! Here is a look inside.

      ce64d846-ff5e-410b-b3b4-c4164ad46eff-image.jpeg

      It is definitely a little packed in there. The Raspberry Pi runs MagicMirror, with the rotary encoder as the main physical control. There is also a small D1 mini running WLED for the illuminated ring, plus the internal speakers and amplifier.

      A lot of the fun has been making all of those pieces work together. Turning and pressing the dial controls the channel selector, the LED ring can change based on status or notifications, and Home Assistant ties into it for messages and other events.

      The enclosure is 3D printed and has gone through quite a few revisions to get everything to fit. Still needs a revision to fit my hands!

      I am still cleaning up the code and documentation, but I am happy to share more of the hardware, wiring, software setup, or some of the failed prototypes if anyone is interested.

      posted in Show your Mirror
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich On the HA side you would listen for the timer topic.

      alias: Start Echo timer from MagicMirror
      triggers:
        - trigger: mqtt
          topic: magicmirror/kitchen-timer/started
      
      actions:
        - action: media_player.play_media
          target:
            entity_id: media_player.kitchen_echo
          data:
            media_content_type: custom
            media_content_id: >-
              set a timer for
              {{ trigger.payload_json.remainingSeconds | int }}
              seconds
      
      posted in Utilities
      B
      bwente
    • RE: Seymour — my modern take on the 3Com Audrey

      A quick follow-up with some well-deserved acknowledgements.

      Seymour may look like a standalone appliance, but it was made possible by the MagicMirror community and its wonderfully reusable ecosystem. Much of the project has been about connecting existing modules into a cohesive experience rather than reinventing everything from scratch.

      Special thanks to:

      Edward Shen for MMM-pages, which provides the underlying page and channel system.
      Tom Hirschberger for MMM-GPIO-Notifications, which connects Seymour’s rotary encoder to MagicMirror.
      Jopyth and contributors for MMM-Remote-Control, which makes remote administration and updates easier.
      shbatm for projects including MMM-KeyBindings and MMM-RTSPStream.
      MMRIZE for MMM-CalendarExt3 and MMM-CalendarExt3Agenda.

      The MagicMirror team and every module author whose work helped turn this experiment into a functioning appliance.

      Seymour also builds on WLED, Home Assistant, and Raspberry Pi—another reminder of how much becomes possible when open-source projects are designed to work together.

      I have added a few pieces for the Audrey experience, including the timer, centralized messages, themes, channel navigation, and LED attention behavior. But Seymour’s foundation belongs to the broader community.

      Thank you to everyone who created, maintained, documented, tested, or answered questions about these projects. Seymour would not exist without your work.

      posted in Show your Mirror
      B
      bwente
    • Seymour — my modern take on the 3Com Audrey

      I’ve been working on a small ambient information appliance called Seymour.

      The inspiration is the original 3Com Audrey internet appliance. Seymour is built around a Raspberry Pi, a 7-inch touchscreen, a rotary encoder, an illuminated WLED ring, an internal speaker, and a 3D-printed enclosure. I chose MagicMirror because its module ecosystem already provides most of the useful building blocks.

      Instead of presenting everything as one dashboard, Seymour organizes modules into channels. Pressing the encoder opens the channel selector, rotating chooses a channel, and pressing again opens it. The touchscreen is also available.

      IMG_9332_normalized.jpg

      The current prototype includes clock, weather, news, calendar, messages, a kitchen timer, and local music playback through Music Assistant. The LED ring provides status and attention feedback, while the speaker handles music and timer sounds.

      IMG_9334_normalized.jpg IMG_9337_normalized.jpg IMG_9333_normalized.jpg IMG_9330_normalized.jpg

      It is still a working prototype, although it may already be close to the finished personal appliance I wanted. I’m continuing to polish the documentation and software before making the repositories public.

      posted in Show your Mirror
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich

      Yes. Since you use Home Assistant, MagicMirror can publish an MQTT message when the timer starts, and HA can start a matching Alexa timer on the Echo paired with the Wall Clock.

      The catch is they are separate timers, not truly synced. Starting and canceling can be synced, but pausing the MagicMirror timer will not pause Alexa.

      posted in Utilities
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich it’s a good idea, but unfortunately it can’t directly start a normal Alexa timer.

      One option is to pair your Screen with the Echo over Bluetooth. That would give you the alarm sound through the Echo, but it wouldn’t activate the timer indicator on the Echo Wall Clock.

      Another possibility may be installing alexa-remote on the Mirror or use HA. The module could notify it when a timer starts, and it could then ask the Echo to set the corresponding timer. That should also activate the Wall Clock. maybe?

      posted in Utilities
      B
      bwente
    • MMM-MusicAssistant-Controller - A compact, touch-friendly Music Assistant controller.

      MMM-MusicAssistant-Controller

      A compact, touch-friendly Music Assistant controller.

      It communicates directly with Music Assistant and does not require Home Assistant or embed the Music Assistant web application.

      MAC-fullscreen.png

      Features

      • Album artwork, title, artist, progress, and duration
      • Previous, play/pause, next, and volume controls
      • Music Assistant player discovery and selection
      • Configurable playlist launcher tiles
      • Fullscreen touchscreen layout
      • Compact layout for standard MagicMirror regions
      • Persistent player selection
      • MagicMirror notifications for automation and external controls

      When playerId is omitted, the module presents the available Music Assistant
      players for selection. A fixed player ID can be configured when the module
      should always control one player.

      Requirements

      • MagicMirror²
      • Music Assistant 2.9 or newer
      • A Music Assistant long-lived access token

      Links

      Repository and documentation:
      https://github.com/bwente/MMM-MusicAssistant-Controller

      Latest stable release:
      https://github.com/bwente/MMM-MusicAssistant-Controller/releases/tag/v1.3.0

      posted in Entertainment
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich Update the module and it will use you language setting in your overall config.

      posted in Utilities
      B
      bwente
    • RE: MMM-KitchenTimer - Touch-friendly countdown timer

      @Niggich Thanks! For bottom_right, try enabling the module’s built-in compact layout:

      {
        module: "MMM-KitchenTimer",
        position: "bottom_right",
        config: {
          compact: true,
        },
      },
      
      posted in Utilities
      B
      bwente
    • MMM-KitchenTimer - Touch-friendly countdown timer

      Description:

      A newly refreshed fork of MMM-KitchenTimer, a responsive, touch-friendly countdown timer for MagicMirror².

      It provides a large countdown display, configurable quick-duration presets, and accessible controls for touch, mouse, and keyboard. Tap the time display to pause or resume the countdown, and use the Reset or Dismiss control to cancel the timer or silence its alarm.

      The module supports compact and full-screen layouts, optional alarm and button sounds, and reliable wall-clock timing. Active timers continue running and can finish while the module is hidden by page-management modules such as MMM-pages.

      MMM-KitchenTimer also provides incoming and outgoing MagicMirror notifications. Other modules can start, add time to, pause, resume, reset, or dismiss the timer. Semantic state notifications make it possible to integrate voice assistants, smart lights, MQTT bridges, physical controls, notification centers, and other automations without embedding hardware-specific behavior in the timer.

      This is a maintained fork of the module originally created by Tom Short, published with his permission. The original MIT attribution and existing configuration compatibility have been preserved.

      Screenshots:

      MMM-KitchenTimer screenshot.png

      Download:

      https://github.com/bwente/MMM-KitchenTimer

      Installation:

      cd ~/MagicMirror/modules
      git clone https://github.com/bwente/MMM-KitchenTimer.git
      

      Version 1.2.0

      • Added a configurable alarmVolume option
      • Alarm volume accepts values from 0 to 1 and remains independent of button feedback volume
      • Invalid alarm-volume values fall back safely to full volume
      • Improved outgoing notification semantics for smart-home integrations
      • Starting a timer from a preset now emits KITCHEN_TIMER_STARTED
      • Adding time to a running or paused timer continues to emit KITCHEN_TIMER_UPDATED
      • Makes it easier for MQTT, Home Assistant, Alexa, and other integrations to distinguish new timers from

      Version 1.1.0

      • Added Bulgarian, Danish, German, English, Spanish, French, Hungarian, Dutch, Russian, and Thai translations
      • Follow MagicMirror’s global language setting automatically
      • Added localized controls, status messages, and accessibility labels
      • Preserve keyboard and touchscreen focus while the timer display updates
      • Added stable control identifiers for external integrations
      • Expanded automated test coverage

      Version 1.0.1

      • Keep active timers and completion events running while hidden
      • Improve compatibility with page-management modules such as MMM-pages

      Version 1.0.0

      • Modernized the original module as a maintained MagicMirror² module
      • Added large, touch-friendly controls
      • Added configurable quick-duration presets
      • Added tap-to-pause and resume behavior
      • Added compact and full-screen layouts
      • Added incoming timer-control notifications
      • Added outgoing semantic state and progress notifications
      • Preserved the original configuration options and MIT attribution
      posted in Utilities timer touch kitchen
      B
      bwente
    • RE: ReferenceError: primordials is not defined

      I tried to do a simple update that did not work.

      This fixed it. https://github.com/nodesource/distributions/blob/master/README.md

      I also lost electron somehow, once that was installed everything is back. Thank you.

      posted in Troubleshooting
      B
      bwente
    • ReferenceError: primordials is not defined

      I tried to upgrade using an upgrade script.

      evalmachine.<anonymous>:43
      } = primordials;
          ^
      
      ReferenceError: primordials is not defined
          at evalmachine.<anonymous>:43:5
          at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/graceful-fs/fs.js:11:8)
          at Module._compile (node:internal/modules/cjs/loader:1233:14)
          at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
          at Module.load (node:internal/modules/cjs/loader:1091:32)
          at Module._load (node:internal/modules/cjs/loader:938:12)
          at Module.require (node:internal/modules/cjs/loader:1115:19)
          at require (node:internal/modules/helpers:130:18)
          at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:3:27)
          at Module._compile (node:internal/modules/cjs/loader:1233:14)
      
      Node.js v20.5.1
      
      posted in Troubleshooting
      B
      bwente
    • 1 / 1