Skip to content

MyScoreboard Game Alerts

Brian Wente edited this page Oct 11, 2026 · 3 revisions

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.

Current availability

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.

MyScoreboard configuration

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.

MessageCenter configuration

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.

Message behavior

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.

Clone this wiki locally