Has anyone manually configured a college basketball team?
I’m looking at pulling information for UNC-Charlotte’s men’s basketball team. Any pointers would be welcome.
Has anyone manually configured a college basketball team?
I’m looking at pulling information for UNC-Charlotte’s men’s basketball team. Any pointers would be welcome.
SOLVED: It took more than 6 hours before the data shows up in HomeAssistant.
"I tried with Tallon Griekspoor who is playing 15th feb at ABN AMRO but no results with GRI GRIE or GRIEKSPOOR or 3391. League: ATP.
Soccer UEFA with NED works fine. But somehow tennis (ATP or WTA) does not work for me. "
v07.1-beta1 should fix the issue.
You should be able to manually download it via HACS if you enable “Show beta versions”.
I’ll release v0.7.1 once I confirm no issues over the weekend.
For college football and basketball, you need to specify the conference_id unless the team is ranked. Conference USA is 11 for basketball.
That did it!
The hardest thing was finding the short identifier for the team since ESPN never put it in the top bar.
Thank you for the help.
JUst in case anyone would like this, I thought I would post it.
##
## NFL Teams
##
- platform: teamtracker
league_id: NFL
team_id: DET
name: Detroit Lions
- platform: teamtracker
league_id: NFL
team_id: GB
name: Green Bay
- platform: teamtracker
league_id: NFL
team_id: CHI
name: Chicago Bears
- platform: teamtracker
league_id: NFL
team_id: MIN
name: Minnesota Vikings
- platform: teamtracker
league_id: NFL
team_id: BUF
name: Buffalo Bills
- platform: teamtracker
league_id: NFL
team_id: MIA
name: Miami Dolphins
- platform: teamtracker
league_id: NFL
team_id: NE
name: New England Patriots
- platform: teamtracker
league_id: NFL
team_id: NYJ
name: New York Jets
- platform: teamtracker
league_id: NFL
team_id: DAL
name: Dallas Cowboys
- platform: teamtracker
league_id: NFL
team_id: NYG
name: New York Giants
- platform: teamtracker
league_id: NFL
team_id: PHI
name: Philadelphia Eagles
- platform: teamtracker
league_id: NFL
team_id: WSH
name: Washington Commanders
- platform: teamtracker
league_id: NFL
team_id: BAL
name: Baltimore Ravens
- platform: teamtracker
league_id: NFL
team_id: CIN
name: Cincinnati Bengals
- platform: teamtracker
league_id: NFL
team_id: CLE
name: Cleveland Browns
- platform: teamtracker
league_id: NFL
team_id: PIT
name: Pittsburg Steelers
- platform: teamtracker
league_id: NFL
team_id: HOU
name: Houston Texans
- platform: teamtracker
league_id: NFL
team_id: IND
name: Indianapolis Colts
- platform: teamtracker
league_id: NFL
team_id: JAX
name: Jacksonville Jaguars
- platform: teamtracker
league_id: NFL
team_id: TEN
name: Tennessee Titans
- platform: teamtracker
league_id: NFL
team_id: ATL
name: Atlanta Falcons
- platform: teamtracker
league_id: NFL
team_id: CAR
name: Carolina Panthers
- platform: teamtracker
league_id: NFL
team_id: "NO"
name: New Orleans Saints
- platform: teamtracker
league_id: NFL
team_id: TB
name: Tampa Bay Buccaneers
- platform: teamtracker
league_id: NFL
team_id: DEN
name: Denver Broncos
- platform: teamtracker
league_id: NFL
team_id: KC
name: Kansas City Chiefs
- platform: teamtracker
league_id: NFL
team_id: LV
name: Las Vegas Raiders
- platform: teamtracker
league_id: NFL
team_id: LAC
name: Los Angeles Chargers
- platform: teamtracker
league_id: NFL
team_id: ARI
name: Arizona Cardinals
- platform: teamtracker
league_id: NFL
team_id: LAR
name: Los Angeles Rams
- platform: teamtracker
league_id: NFL
team_id: SF
name: "San Francisco 49ers"
- platform: teamtracker
league_id: NFL
team_id: SE
name: Seattle Seahawks
##
## NHL Teams
##
- platform: teamtracker
league_id: NHL
team_id: DET
name: Detroit Red Wings
- platform: teamtracker
league_id: NHL
team_id: NSH
name: Nashville Predators
- platform: teamtracker
league_id: NHL
team_id: FLA
name: Florida Panthers
- platform: teamtracker
league_id: NHL
team_id: STL
name: St Louis Blues
- platform: teamtracker
league_id: NHL
team_id: COL
name: Colorado Avalanche
- platform: teamtracker
league_id: NHL
team_id: BOS
name: Boston Bruins
- platform: teamtracker
league_id: NHL
team_id: NYI
name: New York Islanders
- platform: teamtracker
league_id: NHL
team_id: PIT
name: Pittsburg Penguins
- platform: teamtracker
league_id: NHL
team_id: NJ
name: New Jersey Devils
- platform: teamtracker
league_id: NHL
team_id: DAL
name: Dallas Stars
- platform: teamtracker
league_id: NHL
team_id: CBJ
name: Columbus Blue Jackets
- platform: teamtracker
league_id: NHL
team_id: TOR
name: Toronto Maple Leafs
- platform: teamtracker
league_id: NHL
team_id: MTL
name: Montreal Canadians
- platform: teamtracker
league_id: NHL
team_id: CAR
name: Carolina Hurricanes
- platform: teamtracker
league_id: NHL
team_id: WSH
name: Washington Senators
- platform: teamtracker
league_id: NHL
team_id: CGY
name: Calgary Flames
- platform: teamtracker
league_id: NHL
team_id: NYR
name: New York Rangers
- platform: teamtracker
league_id: NHL
team_id: VAN
name: Vancouver Canucks
- platform: teamtracker
league_id: NHL
team_id: PHI
name: Philadelphia Fylers
- platform: teamtracker
league_id: NHL
team_id: LA
name: Los Angeles Kings
- platform: teamtracker
league_id: NHL
team_id: ARI
name: Arizona Coyotes
- platform: teamtracker
league_id: NHL
team_id: SJ
name: San Jose Sharks
- platform: teamtracker
league_id: NHL
team_id: BUF
name: Buffalo Sabres
- platform: teamtracker
league_id: NHL
team_id: SEA
name: Seattle Kraken
- platform: teamtracker
league_id: NHL
team_id: VGK
name: Los Vegas Golden Knights
- platform: teamtracker
league_id: NHL
team_id: TB
name: Tampa Bay Lightning
- platform: teamtracker
league_id: NHL
team_id: OTT
name: Ottawa Senators
- platform: teamtracker
league_id: NHL
team_id: WPG
name: Winnipeg Jets
- platform: teamtracker
league_id: NHL
team_id: EDM
name: Edmonton Oilers
- platform: teamtracker
league_id: NHL
team_id: MIN
name: Minnesota Wild
- platform: teamtracker
league_id: NHL
team_id: ANA
name: Anaheim Ducks
- platform: teamtracker
league_id: NHL
team_id: CHI
name: Chicago Blackhawks
##
## MLB Teams
##
- platform: teamtracker
league_id: MLB
team_id: LAA
name: Los Angeles Angels
- platform: teamtracker
league_id: MLB
team_id: CHW
name: Chicago White Sox
- platform: teamtracker
league_id: MLB
team_id: CLE
name: Cleveland Guardians
- platform: teamtracker
league_id: MLB
team_id: KC
name: Kansas City Royals
- platform: teamtracker
league_id: MLB
team_id: MIL
name: Milwaukee Brewers
- platform: teamtracker
league_id: MLB
team_id: OAK
name: Oakland Athletics
- platform: teamtracker
league_id: MLB
team_id: SEA
name: Seattle Mariners
- platform: teamtracker
league_id: MLB
team_id: TEX
name: Texas Rangers
- platform: teamtracker
league_id: MLB
team_id: CHC
name: Chicago Cubs
- platform: teamtracker
league_id: MLB
team_id: CIN
name: Cincinnati Reds
- platform: teamtracker
league_id: MLB
team_id: LAD
name: Los Angeles Dodgers
- platform: teamtracker
league_id: MLB
team_id: SD
name: San Diego Padres
- platform: teamtracker
league_id: MLB
team_id: SF
name: San Francisco Giants
- platform: teamtracker
league_id: MLB
team_id: COL
name: Colorado Rockies
- platform: teamtracker
league_id: MLB
team_id: ARI
name: Arizona Diamondbacks
- platform: teamtracker
league_id: MLB
team_id: BAL
name: Baltimore Orioles
- platform: teamtracker
league_id: MLB
team_id: BOS
name: Boston Red Sox
- platform: teamtracker
league_id: MLB
team_id: DET
name: Detroit Tigers
- platform: teamtracker
league_id: MLB
team_id: MIN
name: Minnesota Twins
- platform: teamtracker
league_id: MLB
team_id: NYY
name: New York Yankees
- platform: teamtracker
league_id: MLB
team_id: TOR
name: Toronto Blue Jays
- platform: teamtracker
league_id: MLB
team_id: ATL
name: Atlanta Braves
- platform: teamtracker
league_id: MLB
team_id: HOU
name: Houston Astros
- platform: teamtracker
league_id: MLB
team_id: WSH
name: Washington Nationals
- platform: teamtracker
league_id: MLB
team_id: NYM
name: New York Mets
- platform: teamtracker
league_id: MLB
team_id: PHI
name: Philadelphia Phillies
- platform: teamtracker
league_id: MLB
team_id: PIT
name: Pittsburgh Pirates
- platform: teamtracker
league_id: MLB
team_id: STL
name: St. Louis Cardinals
- platform: teamtracker
league_id: MLB
team_id: MIA
name: Miami Marlins
- platform: teamtracker
league_id: MLB
team_id: TB
name: Tampa Bay Rays
I use that with this:
type: custom:layout-card
layout_type: grid
cards:
- type: custom:collapsable-cards
style: ha-card {overflow:visible!important}
title: NHL
defaultOpen: desktop-only
buttonStyle: 'font-size: 20px; border-width: 2px;'
cards:
- type: custom:auto-entities
title: NHL Hockey
unique: true
show_empty: false
card:
type: custom:layout-card
layout_type: masonry
card_param: cards
filter:
template: |
{%- for team in integration_entities("teamtracker") -%}
{%- if state_attr(team, "league") == "NHL" -%}
{%- if state_attr(team, "team_homeaway") == "home" -%}
{{{"type": "custom:teamtracker-card",
"entity": team }}},
{%- endif -%}
{%- endif -%}
{%- endfor -%}
exclude:
- entity_id: '*team_tracker*'
sort:
method: attribute
attribute: date
- type: custom:collapsable-cards
style: ha-card {overflow:visible!important}
title: NFL
defaultOpen: desktop-only
buttonStyle: 'font-size: 20px; border-width: 2px;'
cards:
- type: custom:auto-entities
unique: true
show_empty: false
card:
type: custom:layout-card
layout_type: masonry
card_param: cards
filter:
template: |
{%- for team in integration_entities("teamtracker") -%}
{%- if state_attr(team, "league") == "NFL" -%}
{%- if state_attr(team, "team_homeaway") == "home" -%}
{{{"type": "custom:teamtracker-card",
"entity": team }}},
{%- endif -%}
{%- endif -%}
{%- endfor -%}
exclude:
- entity_id: '*team_tracker*'
sort:
method: attribute
attribute: date
- type: custom:collapsable-cards
style: ha-card {overflow:visible!important}
title: MLB
defaultOpen: desktop-only
buttonStyle: 'font-size: 20px; border-width: 2px;'
cards:
- type: custom:auto-entities
unique: true
show_empty: false
card:
type: custom:layout-card
layout_type: masonry
card_param: cards
filter:
template: |
{%- for team in integration_entities("teamtracker") -%}
{%- if state_attr(team, "league") == "MLB" -%}
{%- if state_attr(team, "team_homeaway") == "home" -%}
{{{"type": "custom:teamtracker-card",
"entity": team }}},
{%- endif -%}
{%- endif -%}
{%- endfor -%}
exclude:
- entity_id: '*team_tracker*'
sort:
method: attribute
attribute: date
Hi @vasqued2!
First of all, thanks a lot for your work, it’s realy amazing!
I’ve carefully read all the integration and card documentation, as well as this whole thread.
I connect to this post in particular to ask you if you have started working on what you define as a “league tracker”, I think it would really be another gem, the icing on the cake to complete the work!
It would be great to be able to create dashboards with results, upcoming matches and even the standings, all in one place.
Let us know, if you need a beta tester I’m in!
Thanks again, bye!
If anyone is interested in the XFL, here is what works for me:
sensor:
- platform: teamtracker
league_id: XXX
sport_path: football
league_path: xfl
team_id: ARL
name: 'XFL Arlington Renegades'
ARL|Arlington Renegades
DC|DC. Defenders
HOU|Houston Roughnecks
ORL|Orlando Guardians
SA|San Antonio Brahmas
SEA|Seattle Sea Dragons
STL|St Louis Battlehawks
VGS|Vegas Vipers
I posted this long ago … Real-Time Sports Scores w/ TeamTracker and TeamTracker-Card (Beta) - #83 by kbrown01
That shows a REST sensor that has standings.
Take for instance the NHL.
The resource would be: https://site.web.api.espn.com/apis/v2/sports/hockey/nhl/standings?region=us&lang=en&contentorigin=espn&type=0&level=3&sort=winpercent%3Adesc%2Cplayoffseed%3Aasc
You can build out a greate sensor with the standings, here is a “peak” at the JSON result:
{
"uid": "s:70~l:90~g:7",
"id": "7",
"name": "Eastern Conference",
"abbreviation": "East",
"children": [
{
"uid": "s:70~l:90~g:32",
"id": "32",
"name": "Atlantic Division",
"abbreviation": "ATL",
"standings": {
"id": "0",
"name": "overall",
"displayName": "Overall Standings",
"links": [
{
"language": "en-US",
"rel": [
"standings",
"desktop"
],
"href": "https://www.espn.com/nhl/standings/_/group/32",
"text": "Table",
"shortText": "Standings",
"isExternal": false,
"isPremium": false
}
],
"season": 2023,
"seasonType": 2,
"entries": [
{
"team": {
"id": "1",
"uid": "s:70~l:90~t:1",
"location": "Boston",
"name": "Bruins",
"abbreviation": "BOS",
"displayName": "Boston Bruins",
"shortDisplayName": "Bruins",
"isActive": true,
"logos": [
{
"href": "https://a.espncdn.com/i/teamlogos/nhl/500/scoreboard/bos.png",
"width": 500,
"height": 500,
"alt": "",
"rel": [
"full",
"scoreboard"
],
"lastUpdated": "2018-06-05T12:12Z"
},
{
"href": "https://a.espncdn.com/i/teamlogos/nhl/500-dark/scoreboard/bos.png",
"width": 500,
"height": 500,
"alt": "",
"rel": [
"full",
"scoreboard",
"dark"
],
"lastUpdated": "2018-06-05T12:12Z"
}
],
"links": [
{
"language": "en-US",
"rel": [
"clubhouse",
"desktop",
"team"
],
"href": "http://www.espn.com/nhl/team/_/name/bos/boston-bruins",
"text": "Clubhouse",
"shortText": "Clubhouse",
"isExternal": false,
"isPremium": false
},
{
"language": "en-US",
"rel": [
"clubhouse",
"mobile",
"team"
],
"href": "http://m.espn.com/nhl/clubhouse?teamId=1",
"text": "Clubhouse",
"shortText": "Clubhouse",
"isExternal": false,
"isPremium": false
}
]
},
"stats": [
{
"name": "otLosses",
"displayName": "Overtime Losses",
"shortDisplayName": "OTL",
"description": "Number of Overtime Losses",
"abbreviation": "OTL",
"type": "otlosses",
"value": 5.0,
"displayValue": "5"
},
{
"name": "differential",
"displayName": "Average Point Differential",
"shortDisplayName": "DIFF",
"description": "Average Point Differential",
"abbreviation": "DIFF",
"type": "differential",
"value": 1.6999999999999997,
"displayValue": "+1.7"
},
{
"name": "gamesBehind",
"displayName": "Games Back",
"shortDisplayName": "GB",
"description": "Games Back",
"abbreviation": "GB",
"type": "gamesbehind",
"value": 0.0,
"displayValue": "-"
},
{
"name": "gamesPlayed",
"displayName": "Games Played",
"shortDisplayName": "GP",
"description": "Games Played",
"abbreviation": "GP",
"type": "gamesplayed",
"value": 55.0,
"displayValue": "55"
},
{
"name": "losses",
"displayName": "Losses",
"shortDisplayName": "L",
"description": "Losses",
"abbreviation": "L",
"type": "losses",
"value": 8.0,
"displayValue": "8"
},
{
"name": "playoffSeed",
"displayName": "Position",
"shortDisplayName": "POS",
"description": "Projected seed in the NBA Playoffs, according to BPI",
"abbreviation": "SEED",
"type": "playoffseed",
"value": 1.0,
"displayValue": "1"
},
{
"name": "points",
"displayName": "Points",
"shortDisplayName": "PTS",
"description": "Total Points",
"abbreviation": "PTS",
"type": "points",
"value": 89.0,
"displayValue": "89"
},
{
"name": "pointsAgainst",
"displayName": "Goals Against",
"shortDisplayName": "GA",
"description": "Goals Against",
"abbreviation": "GA",
"type": "pointsagainst",
"value": 117.0,
"displayValue": "117"
},
{
"name": "pointsFor",
"displayName": "Goals For",
"shortDisplayName": "GF",
"description": "Goals For",
"abbreviation": "GF",
"type": "pointsfor",
"value": 207.0,
"displayValue": "207"
},
{
"name": "streak",
"displayName": "Streak",
"shortDisplayName": "STRK",
"description": "Current Streak",
"abbreviation": "STRK",
"type": "streak",
"value": 3.0,
"displayValue": "W3"
},
{
"name": "wins",
"displayName": "Wins",
"shortDisplayName": "W",
"description": "Wins",
"abbreviation": "W",
"type": "wins",
"value": 42.0,
"displayValue": "42"
},
{
"name": "overtimeLosses",
"displayName": "Overtime Losses",
"shortDisplayName": "OT Losses",
"description": "Number of Overtime Losses",
"abbreviation": "OTL",
"type": "overtimelosses",
"value": 5.0,
"displayValue": "5"
},
{
"name": "overtimeWins",
"displayName": "Overtime Wins",
"shortDisplayName": "OTW Wins",
"description": "Number Overtime Wins",
"abbreviation": "OTW",
"type": "overtimewins",
"value": 6.0,
"displayValue": "6"
},
{
"name": "pointsDiff",
"displayName": "Goal Differential",
"shortDisplayName": "DIFF",
"description": "Goal Differential",
"abbreviation": "DIFF",
"type": "pointsdiff",
"value": 90.0,
"displayValue": "+90"
},
{
"name": "regWins",
"displayName": "Regulation Wins",
"shortDisplayName": "RW",
"description": "Number of Regulation Wins",
"abbreviation": "RW",
"type": "regwins",
"value": 36.0,
"displayValue": "36"
},
{
"name": "rotWins",
"displayName": "Regulation and Overtime Wins",
"shortDisplayName": "ROW Wins",
"description": "Number of Regulation and Overtime Wins",
"abbreviation": "ROW",
"type": "rotwins",
"value": 40.0,
"displayValue": "40"
},
{
"name": "shootoutLosses",
"displayName": "Shootout Losses",
"shortDisplayName": "SOL",
"description": "Shootout Losses",
"abbreviation": "SOL",
"type": "shootoutlosses",
"value": 3.0,
"displayValue": "3"
},
{
"name": "shootoutWins",
"displayName": "Shootout Wins",
"shortDisplayName": "SOW",
"description": "Shootout Wins",
"abbreviation": "SOW",
"type": "shootoutwins",
"value": 2.0,
"displayValue": "2"
},
{
"id": "0",
"name": "overall",
"abbreviation": "TOTAL",
"displayName": "Team Season Record",
"shortDisplayName": "Season",
"description": "Overall Record",
"type": "total",
"summary": "42-8-5",
"displayValue": "42-8-5, 89 PTS"
},
{
"id": "2",
"name": "Home",
"abbreviation": "HOME",
"displayName": "Home",
"shortDisplayName": "HOME",
"description": "Home Record",
"type": "home",
"summary": "23-2-3",
"displayValue": "23-2-3"
},
{
"id": "3",
"name": "Road",
"abbreviation": "AWAY",
"displayName": "Away",
"shortDisplayName": "AWAY",
"description": "Away Record",
"type": "road",
"summary": "19-6-2",
"displayValue": "19-6-2"
},
{
"id": "5",
"name": "Last Ten Games",
"abbreviation": "L10",
"displayName": "Last Ten Games",
"shortDisplayName": "L10",
"description": "Record last 10 games",
"type": "lasttengames",
"summary": "6-3-1",
"displayValue": "6-3-1, 0 PTS"
},
{
"id": "6",
"name": "vs. Div.",
"abbreviation": "DIV",
"type": "vsdiv",
"summary": "9-4-3",
"displayValue": "9-4-3, 0 PTS"
}
]
},
{
"team": {
"id": "21",
"uid": "s:70~l:90~t:21",
"location": "Toronto",
"name": "Maple Leafs",
"abbreviation": "TOR",
"displayName": "Toronto Maple Leafs",
"shortDisplayName": "Maple Leafs",
"isActive": true,
"logos": [
{
"href": "https://a.espncdn.com/i/teamlogos/nhl/500/scoreboard/tor.png",
"width": 500,
"height": 500,
"alt": "",
"rel": [
"full",
"scoreboard"
],
"lastUpdated": "2018-06-05T12:12Z"
},
{
"href": "https://a.espncdn.com/i/teamlogos/nhl/500-dark/scoreboard/tor.png",
"width": 500,
"height": 500,
"alt": "",
"rel": [
"full",
"scoreboard",
"dark"
],
"lastUpdated": "2018-06-05T12:12Z"
}
],
"links": [
I snipping this, but you can get from this whatever you want. The current standings in both conferences/etc.
I built one for football and will probably do hockey now … BUT what should be done is this and a “jq” template to carve this into a new sensor that only have the data that is right.
we may have created something very interesting for you.
a table, almost like on the original homepage, only with you in your HomeAssistant!
Created for the German Bundesliga. But it can be modified for any sport.
I hope you can get something out of this:
Does anyone know how to make this work with college softball teams?
This is exactly what I was picturing but was struggling with how to allow the optionality to display the information returned. I wasn’t aware of the flex-table-card
and think it’s a great solution. My only question is if there is a way to force the card to be wider. For some reason the columns are extending beyond the card outline instead of being completely enclosed by it like your example.
Also should probably set the scan_interval
on the REST sensor to be a lot longer than the default (which I believe is 30 seconds).
Nice job!
Try setting up a Custom API Configuration w/ sport_path: baseball
, league_path: college-softball
.
Haven’t tested to see if it will work or not but the API returns game data.
The problem you might run into is that it looks like you can’t set a conference ID for softball so the API returns 25 teams. Not sure which ones. For college football and basketball, it’s generally the ranked teams. Not sure for softball. Because there are more than 25 college games on a given day, you might not find a match because your team isn’t one of the 25 returned.
EDIT: Seems to be working for the UCF/Miss St game going on now.
yes, the scan_intervall should be longer. default is 30 seconds, that’s true.
it is a bit complicated to integrate the table-flex-card properly.
But in combination with the layout-card you have a little more options. Here you can adjust the width.
I think ideally you create a new page with your table. (As view type: vertical (layout-card)) 450px can be added here as widht.
Ciao, come hai fatto? lol
Che impostazioni hai messo per far funzionare l’integrazione?
Thank you so much, I was able to see that game working as well. I’ll continue to play with it. Thanks!
I’m just getting started with this component, now that MLB is back in season with spring training. I have two different integrations set up currently - one for the Toronto Blue Jays and one for the Boston Red Sox. Both teams have games today and everything seems to work fine for the Blue Jays, but the Red Sox instance seems to be stuck in the “POST” state from yesterday’s game. Any ideas why that might be?
I combined mine into a side panel with custom:tabbed card and auto-entities now so that I can tab through PRE, IN, POST for NHL, MLB and NFL. I am going to work on doing the standings now.
NHL Pregame for tonight:
MLB Live in game:
Kbrown01…Ok this is cool. I would love to do this for the MLS season and NFL Season. Any help in the right direction would be great!
The API limits the number of games returned to 25 by default. I honor that default so as to not overwhelm the ESPN API or HA. There were a total of 31 games scheduled on 2/27 and 2/28. The Red Sox game was one of the 6 that were truncated because of the limit.
You can override the default by changing the API_LIMIT
in the const.py
file.
I’m reluctant to make the change permanent for everyone because I don’t like doubling the default size of the data returned by the API.
If this is going to be a regular occurrence for baseball and not just a pre-season thing, then I will look into it.