Repository navigation
MyScoreboard Game Alerts
MMM-MyScoreboard can provide the scores and game state, while MessageCenter acts only as the presentation layer for a few useful milestones. MessageCenter does not fetch sports data or try to interpret a league feed itself.
The integration deliberately favors calm, glanceable messages:
- Game started
- Halftime, when the provider supplies a halftime state
- Score changes for leagues that explicitly opt in
- Final score
Score updates remain opt-in by league. This makes a goal useful for soccer or hockey without flooding the inbox during basketball games.
The outgoing MYSCOREBOARD_GAME_EVENT feature is proposed to MyScoreboard in
pull request 242. Until
that work is available in an official MyScoreboard release, this integration is
for testing with that feature branch rather than routine production installs.
Add the milestone settings to the MyScoreboard module that already lists the teams you follow:
{
module: "MMM-MyScoreboard",
position: "top_left",
config: {
gameEventNotifications: {
enabled: true,
events: ["game.started", "game.halftime", "game.final"],
leagueEvents: {
USA_MLS: ["game.started", "game.halftime", "game.score", "game.final"]
}
},
sports: [
{ league: "USA_MLS", teams: ["ORL"] },
{ league: "NBA", teams: ["ORL"] }
]
}
}Use the league and team codes documented by MyScoreboard. The example teams are
only illustrative. A leagueEvents entry replaces the global events list for
that league. In this example MLS emits score updates while NBA uses the quieter
global list.
MyScoreboard can also run without a position when it is used only as a data
provider for MessageCenter. Give it a position if you also want the normal
scoreboard visible on the mirror.
The first provider update after startup establishes a baseline and does not create a message. A message appears when a followed game later crosses one of the enabled milestones.
The adapter is enabled by default in MessageCenter 0.7.0 and later. This explicit form is equivalent:
internalNotifications: {
myScoreboard: {
enabled: true,
startedExpiresAfterMinutes: 120,
halftimeExpiresAfterMinutes: 45,
scoreExpiresAfterMinutes: 120,
finalExpiresAfterMinutes: 720
}
}Set enabled: false to ignore MyScoreboard milestones without disabling other
MagicMirror notification sources.
MessageCenter uses a stable ID for each game and milestone, so repeated provider updates replace the existing entry rather than creating duplicates.
| Milestone | Urgency | Retention | Expiration |
|---|---|---|---|
| Game started | Passive | Archive | 2 hours |
| Halftime | Attention | Until viewed | 45 minutes |
| Score | Attention | Until viewed | 2 hours |
| Final | Attention | Until viewed | 12 hours |
Line mode presents the matchup and time in a small region. Compact and full-page modes can show the generated score detail. Team and league data remain owned by MyScoreboard; MessageCenter only normalizes and displays the event.
For numeric head-to-head scores, the detail begins with a glanceable marker and puts the higher score first:
▲ Orlando City SC 2 · Columbus Crew 1 — Leads= Columbus Crew 1 · Orlando City SC 1 — Tied✓ Orlando City SC 2 · Columbus Crew 1 — Final
Non-numeric and ranked results stay in the provider's original order. MessageCenter does not guess how golf, racing, or other standings-based sports should be interpreted.