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.
[image: 1787288172343-489bf62b-9edb-44bc-b4d7-6252e6a60b70-image-resized.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