Sports Game Light Tracker
by @0xadamsu
Track live NFL, NBA, NHL, or MLB games and automatically change Hue light colors based on which team is leading. Use when user wants to sync smart lights with live sports scores for visual game tracking. Supports NFL, NBA, NHL, and MLB games with customizable team colors.
clawhub install game-light-trackerπ About This Skill
name: game-light-tracker description: Track live NFL, NBA, NHL, or MLB games and automatically change Hue light colors based on which team is leading. Use when user wants to sync smart lights with live sports scores for visual game tracking. Supports NFL, NBA, NHL, and MLB games with customizable team colors.
Game Light Tracker
Automatically sync your Hue lights with live sports scores. When the lead changes, your lights change color to match the leading team.
Quick Start
Basic usage:
Track the [Team A] vs [Team B] game and change my [light name] to [color1] when [Team A] leads and [color2] when [Team B] leads
Examples:
How It Works
1. Fetches live scores from ESPN API every 20 seconds 2. Detects lead changes 3. Changes specified Hue light color via Home Assistant 4. Includes auto-restart keeper to prevent timeouts 5. Optional: Adds third color for tied games
Setup Requirements
.homeassistant-config.json)Scripts
game-tracker.ps1
Main monitoring script that tracks a specific game and updates lights.Usage:
.\game-tracker.ps1 -Sport "nfl" -Team1 "LAR" -Team2 "SEA" -Light "light.backlight" -Color1 "0,0,255" -Color2 "0,100,0" [-TiedColor "255,0,0"]
Parameters:
-Sport: "nfl", "nba", "nhl", or "mlb"-Team1: First team abbreviation-Team2: Second team abbreviation-Light: Home Assistant light entity ID-Color1: RGB color for Team1 (comma-separated, e.g., "0,0,255" for blue)-Color2: RGB color for Team2 (comma-separated, e.g., "0,100,0" for dark green)-TiedColor: (Optional) RGB color when game is tiedkeeper.ps1
Auto-restart supervisor that prevents 30-minute timeout crashes.Usage:
.\keeper.ps1 -TrackerScript "game-tracker.ps1" -RestartInterval 25
Parameters:
-TrackerScript: Path to the game-tracker.ps1 script-RestartInterval: Minutes between restarts (default: 25)Common Team Abbreviations
NFL:
NBA:
NHL:
MLB:
Common RGB Colors
Workflow
When user requests game tracking:
1. Identify sport and teams: - Extract sport (NFL/NBA/NHL/MLB) - Get team abbreviations from user or look up from team names
2. Get light and color preferences: - Ask for light entity ID (or read from Home Assistant config) - Get desired RGB colors for each team - Optional: Ask if they want a tied-game color
3. Load Home Assistant config:
$config = Get-Content ".homeassistant-config.json" | ConvertFrom-Json
$token = $config.token
$url = $config.url
4. Start game tracker:
.\scripts\game-tracker.ps1 -Sport "nfl" -Team1 "LAR" -Team2 "SEA" -Light "light.backlight" -Color1 "0,0,255" -Color2 "0,100,0" -TiedColor "255,0,0"
5. Start keeper for auto-restart:
Start-Process powershell -ArgumentList "-File keeper.ps1 -TrackerScript 'game-tracker.ps1'" -WindowStyle Hidden
6. Confirm to user: - Tell them monitoring is active - Show current score if available - Explain color scheme - Tell them how to stop it
Stopping the Tracker
To stop monitoring:
Get-Process powershell | Where-Object { $_.CommandLine -like "*game-tracker.ps1*" -or $_.CommandLine -like "*keeper.ps1*" } | Stop-Process -Force
Troubleshooting
Light not changing:
Script crashes:
Wrong team colors:
π‘ Examples
Basic usage:
Track the [Team A] vs [Team B] game and change my [light name] to [color1] when [Team A] leads and [color2] when [Team B] leads
Examples:
π Tips & Best Practices
Light not changing:
Script crashes:
Wrong team colors: