Keeping up with your favorite teams usually means juggling a bunch of different apps, each with their own way of showing scores and updates. With the Team Tracker integration for Home Assistant, you can bring it all together in one place, your smart home dashboard.
Developed by the community, Team Tracker pulls live updates from ESPN’s API and supports everything from football and basketball to golf, MMA, tennis, and dozens of other leagues. That means no more bouncing between apps just to check a score.
What makes it even more powerful is automation. You can set your lights to flash when your team scores, get custom alerts on game results, or even trigger routines tied to wins and losses.
In this guide, I’ll walk you through setting up Team Tracker in Home Assistant, from installation to building custom dashboard cards, so you can follow your teams in real time without leaving your smart home.
Understanding Team Tracker and Its Capabilities
What is Team Tracker in Home Assistant?
Team Tracker is a specialized integration that pulls live data from ESPN’s Scoreboard API and turns it into usable sensor entities within Home Assistant. The developer vasqued2 built this integration to bridge ESPN’s detailed sports database with your Home Assistant dashboard. Each team or athlete becomes a sensor with attributes that contain competition information such as scores, game time, venue details, and team statistics. The Team Tracker card shows visual representations of this data and has custom in-game layouts for football, baseball, basketball, soccer, hockey, volleyball, golf, tennis, MMA, and racing.
Supported sports and leagues
Team Tracker’s sports coverage is impressive. The integration supports professional, college, and international sporting events. Users can track teams and athletes in Australian Football (AFL), Baseball (MLB), Basketball (NBA, WNBA, NCAAM, NCAAW), Football (NFL, NCAAF, XFL), Golf (PGA), Hockey (NHL), MMA (UFC).
The integration also supports Racing (F1, IRL), Tennis (ATP, WTA), and Volleyball (NCAAVB, NCAAVBW). Soccer fans can follow popular leagues such as German Bundesliga, Champions League, English Premier League, Spanish LaLiga, French Ligue 1, Italian Serie A, and World Cup competitions.
How it works with ESPN API
Team Tracker utilizes ESPN’s Scoreboard APIs to deliver up-to-the-minute sports data. The integration employs a standardized URL format for all ESPN APIs: https://site.api.espn.com/apis/site/v2/sports/{SPORT_PATH}/{LEAGUE_PATH}/scoreboard. This structure helps Team Tracker access data for both natively supported leagues and custom configurations.
Team Tracker offers two types of support: native support and custom API configurations. Native support covers popular teams and leagues with easy setup, while custom API configurations let you track any team or league that has an ESPN scoreboard API. Custom setups need sport path and league path values to make the right API call.
The configured Team Tracker updates sensor data continuously, which enables up-to-the-minute tracking and automation based on game events.
Installing Team Tracker Integration and Card
Setting up Team Tracker needs both the integration and its companion card. The setup works smoothly whatever installation method you choose – HACS or manual.
Install via HACS
HACS (Home Assistant Community Store) offers the quickest way to add Team Tracker. Here’s how to set up the integration:
- Open HACS and go to Integrations
- Click the “+ EXPLORE & DOWNLOAD REPOSITORIES” button in the bottom right corner
- Search for “Team Tracker”
- Select Download and restart Home Assistant when prompted
The companion Team Tracker card needs these steps:
- Click the three dots in HACS’s top right corner
- Select “Custom Repositories”
- Paste
https://github.com/vasqued2/ha-teamtracker-card - Choose “Lovelace” as the category and click Add
- Find and download “Team Tracker Card”
- Reload resources when prompted
Manual installation method
HACS makes things easier, but manual installation works well too:
For the integration:
- Clone or download the repository:
https://github.com/vasqued2/ha-teamtracker - Copy the “teamtracker” directory to your config’s custom_components folder:
<config directory>/custom_components/teamtracker/...
For the card:
- Download the ha-teamtracker-card.js file
- Create a www/community/ha-teamtracker-card/ directory
- Copy the file there
- Add the resource in your Lovelace configuration:
/hacsfiles/ha-teamtracker-card/ha-teamtracker-card.js
Adding the Team Tracker card in Lovelace
The card setup is simple after installation:
- Go to your preferred dashboard
- Click “Add Card” then “Manual”
- Enter this simple configuration:
type: custom:teamtracker-card
entity: sensor.team_tracker
outline: trueYou can make the card your own with options like outline_color, show_timeouts, show_rank, or show_league. The card displays layouts that match each sport automatically, creating stunning visualizations for everything from football to Formula 1 racing.
Setting Up Your First Team or Athlete
The configuration of Team Tracker starts right after installation. You’ll need to set up your preferred teams or athletes through the user interface or configuration files.
Finding the correct league and team ID
Team Tracker needs specific 2-4 letter abbreviations that ESPN uses in their Scoreboard API for most leagues. The ESPN website’s team page URL reveals these abbreviations. To cite an instance, see the Boston Celtics’ page URL https://www.espn.com/nba/team/_/name/bos/boston-celtics which shows “BOS” as the team ID. Sport governing bodies usually determine the league IDs (NFL, NBA, MLB, etc.).
Using the UI to add a team
The Home Assistant interface makes team setup straightforward:
- Go to Settings > Devices & Services
- Click “+ Add Integration” under Integrations
- Look for “Team Tracker”
- Type the League ID, Team ID, and optional Friendly Name
- NCAA football or basketball teams need a Conference ID number
- Click Submit
Tracking individual athletes or wildcard sports
Athletes can be tracked individually by entering their names in the Team ID field. A UFC fighter like Paddy Pimblett can be tracked by using his name as Team ID with UFC as League ID.
Dynamic tracking of individual sports works with an asterisk (*) in the Team ID field. Each sport displays different information with this wildcard setup:
- Golf shows the current leader and second-place competitor
- MMA displays active fight or next upcoming match
- Racing (F1/IRL) reveals current leader and runner-up
- Tennis results change due to multiple simultaneous tournaments
Using configuration.yaml for advanced setup
Team Tracker sensors can be added directly to your configuration.yaml for enhanced control:
sensor:
- platform: teamtracker
league_id: "NFL"
team_id: "NO"
name: "Saints"Custom API configurations benefit from this method, especially when sport_path and league_path values need specification:
sensor:
- platform: teamtracker
league_id: "XXX"
team_id: "OSU"
sport_path: "volleyball"
league_path: "womens-college-volleyball"
name: "Buckeyes_VB"Customizing and Automating with Team Tracker
Team Tracker’s true power lies in its customization and automation capabilities beyond the simple setup.
Customizing the Team Tracker card
The Team Tracker card comes with many style options to match your dashboard. You can customize these parameters:
outline: true– Creates borders around team colorsoutline_color– Accepts CSS colors or hex values like “deeppink” or “#ffe500”show_timeouts– Displays timeout indicatorsshow_rank– Shows team rankingsshow_league– Displays league name at card topcard_title– Overrides default title
Creating automations for game events
Team Tracker’s sensors help you build powerful automations based on game states and events. You can trigger actions:
- Before games (
attribute: kickoff_in to: in 15 minutes) - When games start (
to: IN from: PRE) - For scoring events (
attribute: team_score) - At halftime or game end
Sports fans love to create automations that flash lights in their team’s colors or play celebration sounds after each score.
Using custom API calls for unsupported leagues
Leagues without native support need league_id set to “XXX” with these specifications:
sport_path: "volleyball"
league_path: "womens-college-volleyball"You can find these values through ESPN’s API explorer or by checking ESPN website URLs.
Excluding sensors from recorder to save space
Team Tracker sensors update often and can increase database size. Your recorder configuration should exclude them:
recorder:
exclude:
entities:
- sensor.team_trackerThis keeps all features working while preventing unnecessary database growth.
Conclusion
Team Tracker revolutionizes the sports experience for Home Assistant users. This powerful integration turns your smart home dashboard into a customized sports command center. You won’t need multiple apps anymore since all your favorite teams’ information lives in one convenient spot.
The setup process stays simple with HACS or manual installation options. Most users find their team’s ID quickly by checking ESPN URLs, which makes configuration easy for popular leagues. Custom API configuration gives you flexibility that other integrations can’t match, especially for less common sports or individual athletes.
Team Tracker does much more than display scores. You can create automations based on game events to enhance your smart home experience. Your lights could flash in team colors when your favorite team scores, and you’ll get custom notifications during vital game moments.
The customization options make this integration shine. The Team Tracker card adapts to your priorities – from changing outline colors to showing team rankings. It naturally optimizes layouts based on the sport you follow.
Without doubt, Team Tracker’s strength comes from its versatility. It handles mainstream sports like NFL and NBA just as well as niche competitions like volleyball and tennis. The wildcard tracking feature for individual sports shows how much thought went into the details.
Team Tracker embodies what makes the Home Assistant ecosystem special. It combines information that matters to you in one place and enables smart automation based on ground events. This piece gives you everything you need to enjoy sports tracking that merges naturally with your smart home experience.
FAQs
What is Team Tracker in Home Assistant?
Team Tracker is a custom integration that allows users to display real-time scores and information for their favorite sports teams directly on their Home Assistant dashboard. It supports a wide variety of sports and leagues, using ESPN’s API to provide up-to-date data.
How do I install Team Tracker in Home Assistant?
You can install Team Tracker via HACS (Home Assistant Community Store) or manually. For HACS, search for “Team Tracker” in the Integrations section and download it. For manual installation, clone the repository and copy the “teamtracker” directory to your custom_components folder.
What sports and leagues does Team Tracker support?
Team Tracker supports a wide range of sports including Australian Football, Baseball, Basketball, Football, Golf, Hockey, MMA, Soccer, Racing, Tennis, and Volleyball. It covers professional, college, and international leagues, with the ability to track over 100 different leagues through ESPN’s API.
How do I set up a team to track in Team Tracker?
To set up a team, go to Settings > Devices & Services in Home Assistant, click “Add Integration,” and search for Team Tracker. Enter the League ID (e.g., NFL, NBA) and Team ID (usually a 2-4 letter abbreviation found in the team’s ESPN URL). You can also use the configuration.yaml file for more advanced setups.
Can I create automations based on game events with Team Tracker?
Yes, Team Tracker allows you to create powerful automations based on game states and events. You can trigger actions before games, when games start, for scoring events, or at halftime and game end. Many users create automations to flash lights in team colors or play celebration sounds when their team scores.


