NHL Playoffs Dashboard w/ Live cards

:ice_hockey: NHL Playoffs Dashboard + Full Bracket Integration (2026)

A complete, data‑driven playoff system for Home Assistant — featuring a full Stanley Cup Playoff bracket, automatic series progression, real‑time game overlays, and a modern Lovelace dashboard layout.

I’ve been building a full NHL Playoffs dashboard that goes beyond single‑team or single‑game cards. This project combines a structured integration, templated sensors, and a modular Lovelace layout to generate a complete playoff bracket with automatic live‑game detection and real‑time stat updates.

This is a full bracket system, not just a card.


:puzzle_piece: What This Project Includes

  • Full playoff bracket (all rounds, all matchups, all teams)
  • Automatic data pull for every game in the postseason
  • Dynamic series progression based on wins
  • Live game detection using gamePk and schedule data
  • Live Game Card that automatically switches when a game is in progress
  • Real‑time stats, including:
    • Score
    • Period
    • Time remaining
    • Power play state (PP)
    • Empty net (EN)
    • Intermission
    • Final state
  • Team‑themed colors applied dynamically
  • Reusable integration folder structure for future seasons
  • Clean Lovelace layout designed for wall dashboards or tablets

:police_car_light: Live Game Overlay System

Each series card includes a fully dynamic live game status bar, bringing real‑time, broadcast‑style information directly into the bracket.

:fire: Live Game Enhancements

  • Power Play Indicator (PP Triangle) — highlights the team currently on the power play
  • Empty Net Indicator (EN) — appears when a team pulls their goalie
  • Live Score Display — home/away scores update instantly
  • Period Tracking — 1st, 2nd, 3rd, OT, 2OT, etc.
  • Time Remaining — shows period time or INT during intermission
  • Compact Broadcast Layout — fits inside each series card without breaking the bracket

:brain: How It Works

1. Data Ingestion

The integration pulls structured playoff data for every game, not just one team.
It normalizes:

  • Teams
  • Seeds
  • Matchups
  • Series state
  • Game schedule
  • Live game feed

This ensures the bracket and live card always have the correct context.

2. Bracket Logic

Templated sensors compute:

  • Series winners
  • Advancement to the next round
  • Dynamic bracket positioning
  • Team logos, colors, and abbreviations
  • Game‑in‑progress state

No manual updates are needed — the bracket updates itself as games finish.

3. Live Game Card

When a game is live, the card automatically switches to that matchup and displays:

  • Current score
  • Period + ordinal
  • Time remaining
  • PP status with team‑color highlighting
  • EN indicators
  • Intermission state
  • Final state when the game ends

If no game is live, the card falls back to the next scheduled matchup.


:blue_square: Conference Title Bars

Bold, themed headers visually separate the two sides of the bracket:

Western Conference

  • Deep navy gradient
  • Blue accent border
  • Strong uppercase typography

Eastern Conference

  • Deep red gradient
  • Red accent border
  • Matching typography

:puzzle_piece: Integration Enhancements

New Live Sensor Attributes

  • live_period
  • live_time_remaining
  • live_intermission
  • live_pp_team
  • live_empty_net_team
  • home_score
  • away_score
  • game_state

Coordinator Updates

  • live_coordinator.py — processes real‑time NHL API data
  • series_coordinator.py — improved bracket mapping

Mapping Updates

  • Updated round/series logic in mapping_bracket.py
  • Cleaner, more reliable bracket progression

:artist_palette: Dashboard Layout Improvements

  • Western & Eastern conference title bars
  • Updated series cards
  • Live game overlays
  • Cleaner spacing
  • Improved readability

:file_folder: Repository

Full code, layout, and integration structure:
GitHub - astlgit/nhl_playoffs_ha_dashboard · GitHub


:handshake: Collaboration

If anyone is working on NHL data, sports dashboards, or wants to extend this into a full integration, I’m happy to collaborate.

I’m always open to:

  • Helping troubleshoot setup issues
  • Explaining the bracket logic or sensor structure
  • Comparing approaches
  • Merging ideas
  • Working together on new features

Whether you're customizing it for your team, adapting it for another sport, or building something entirely new — I

Wanted to show the live card

This is fantastic, thanks for your work on it. I actually ended up integrating it into this: NHL Standings using Flex-Table-Card and custom entity adding another "Playoffs" tab to the standings section.

Anyway, works and looks great!

1 Like