@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.
Read the statement by Michael Teeuw here.
Posts
-
RE: Docker MagicMirror + a separate "dumb" display Pi (remote kiosk over a reverse proxy)
-
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.

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:
-
RE: MMM-KitchenTimer - Touch-friendly countdown timer
@Niggich looks like
trigger.payload_json.remainingSecondsis empty or double quoted. Can you view just the payload and see? -
RE: Seymour — my modern take on the 3Com Audrey
BTW MMM-WeatherHero is a great module for this. It looks right at home.

-
RE: MMM-KitchenTimer - Touch-friendly countdown timer
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 }} secondsI think that will work. I don’t know if it needs to be escaped or not.
-
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 -
RE: MMM-KitchenTimer - Touch-friendly countdown timer
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.jsvar 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.
-
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.

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.
-
RE: Seymour — my modern take on the 3Com Audrey
Thanks! Here is a look inside.

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.
-
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 -
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.
-
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.

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.

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.
-
RE: MMM-KitchenTimer - Touch-friendly countdown timer
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.
-
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-remoteon 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? -
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.

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
playerIdis 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-ControllerLatest stable release:
https://github.com/bwente/MMM-MusicAssistant-Controller/releases/tag/v1.3.0 -
RE: MMM-KitchenTimer - Touch-friendly countdown timer
@Niggich Update the module and it will use you language setting in your overall config.
-
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, }, }, -
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:

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
-
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.
-
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