Esta integración proporciona resultados deportivos en tiempo real en Home Assistant para equipos y atletas (beta) en múltiples deportes profesionales (NBA, NFL, NHL, MLB, MLS y más), universitarios (NCAA) e internacionales (fútbol, golf, tenis, carreras) usando las API del marcador de ESPN y crea un sensor con atributos para los detalles del juego.
Esta integración se puede utilizar con la tarjeta ha-teamtracker-card para mostrar la información del juego en el panel de Home Assistant.
Consulte el wiki para conocer las preguntas frecuentes, los consejos para la solución de problemas y las configuraciones de API personalizadas que ya han sido validadas. Por favor contribuya para ayudar a otros.
Esta integración es una bifurcación del excelente componente personalizado ha-nfl de @zacs. ¡Gracias por el punto de partida!
Compatibilidad de versiones
- Los lanzamientos de ha-teamtracker y ha-teamtracker-card siguen la convención PRINCIPAL.MENOR.PARCHE.
- Todos los lanzamientos de teamtracker y teamtracker-card con los mismos números de versión MAYOR y MENOR serán compatibles, independientemente de la versión PATCH.
- Por ejemplo, cualquier teamtracker v0.2.x será compatible con cualquier teamtracker-card v0.2.y.
- No se garantiza la compatibilidad entre diferentes números de versión MAYOR o MENOR.
Deportes/ligas compatibles
- Fútbol australiano – AFL (beta)
- Béisbol – MLB
- Baloncesto: NBA, WNBA, NCAAM, NCAAW, WNBA
- Fútbol – NFL, NCAAF
- Golf – PGA
- Hockey – NHL
- MMA-UFC
- Fútbol de EE. UU. -MLS, NWSL
- Fútbol internacional – BUND (Bundesliga alemana), CL (Liga de Campeones), EPL (Liga Premier inglesa), LIGA (LaLiga española), LIG1 (Ligue 1 francesa), SERA (Serie A italiana), WC (Copa del mundo)
- Carreras – F1, IRL
- Tenis – ATP, WTA
- Voleibol – NCAAVB, NCAAVBW
Consulte la sección Configuración de API personalizada a continuación sobre cómo configurar deportes/ligas adicionales si conoce la API de ESPN.
Datos del sensor
Estado
El sensor es bastante simple: el estado principal es PRE
, IN
, o POST
, pero hay atributos para casi todos los aspectos del juego, cuando están disponibles. Las descripciones de estado son como cabría esperar: BYENOT_FOUND
PRE
: El juego está en estado anterior al juego. Esto sucede cuando ESPN publica la información previa al juego a través de su API. El tiempo de entrega varía según la liga.IN
: El juego está en progreso.POST
: El juego se ha completado.BYE
: Su equipo dado tiene una semana de descanso esta semana. Tenga en cuenta que los dispositivos disponibles son limitados en este caso (solo estarán disponibles la abreviatura, el nombre, el logotipo y la hora de la última actualización).NOT_FOUND
: No se ha encontrado ningún partido para tu equipo, ni hay bye. Esto puede suceder si se ha ingresado una liga o ID de equipo no válidos. También puede ocurrir al final de la temporada oa mitad de temporada cuando ESPN no ha publicado la información previa al partido para el próximo partido. Consulte el Wiki para obtener ayuda con sugerencias para la solución de problemas cuando crea que el sensor está en un estadoNOT_FOUND
incorrecto.
Atributos
Los atributos disponibles cambiarán según el estado del sensor, siempre hay un pequeño número disponible (liga, abreviatura del equipo, nombre del equipo y logotipo), pero de lo contrario, los atributos solo se completan cuando están en el estado actual. La siguiente tabla enumera qué atributos están disponibles en qué estados.
Algunos atributos solo están disponibles para determinados deportes.
Nombre | Valor | Estados relevantes |
---|---|---|
date | Fecha y hora del juego. | PRE IN POST |
kickoff_in | Cadena legible por humanos sobre qué tan lejos está el juego (por ejemplo, «en 30 minutos» o «mañana») | PRE IN POST |
quarter | El trimestre actual de juego. | IN |
clock | El valor del reloj dentro del trimestre (nunca debe ser superior a las 15:00). Entrada (solo MLB). | IN |
event_name | El nombre del evento que se está jugando (por ejemplo, «The Masters») | PRE IN POST |
venue | El nombre del estadio donde se juega el partido (p. ej., «Estadio Arrowhead») | PRE IN POST |
location | La ciudad y el estado donde se juega el juego (p. ej., «Pittsburgh, PA») | PRE IN POST |
tv_network | La cadena de televisión donde puede ver el partido (p. ej., «NBC» o «NFL»). Tenga en cuenta que si hay una fuente nacional, se enumerará aquí; de lo contrario, se enumerará el afiliado local. | PRE IN POST |
odds | Las probabilidades de apuestas para el juego (por ejemplo, «PIT -5.0») | PRE |
overunder | La línea de apuestas por encima/por debajo del total de puntos anotados en el juego (p. ej., «42,5»). | PRE |
possession | El ID del equipo en posesión del balón. Esto se correlacionará con team_id o opponent_id por debajo. Tenga en cuenta que este valor será nulo entre posesiones (después de una puntuación, etc.). | IN |
last_play | Oración que describe la jugada más reciente, que generalmente incluye a los participantes tanto de ataque como de defensa, y las yardas resultantes. Tenga en cuenta que esto puede ser nulo en los cambios de posesión o entre trimestres. | IN |
down_distance_text | Cuerda para el down y las yardas por recorrer (por ejemplo, «2nd and 7»). | IN |
outs | Número de outs (solo MLB). | IN |
balls | Número de bolas (solo MLB)). | IN |
strikes | Número de strikes (solo MLB). | IN |
on_first | Corredor en primera base (solo MLB). | IN |
on_second | Corredor en segunda base (solo MLB). | IN |
on_third | Corredor en tercera base (solo MLB). | IN |
team_total_shots | Tiros totales por equipo (solo MLS). | IN |
team_shots_on_target | Tiros a la red por equipo (solo MLS). | IN |
opponent_total_shots | Tiros totales por equipo (solo MLS). | IN |
opponent_shots_on_target | Tiros a la red por equipo (solo MLS). | IN |
Para su equipo
team_abbr | La abreviatura de su equipo (es decir, SEA de los Seahawks). | PRE IN POST BYE |
team_id | Una identificación numérica para su equipo, utilizada para coincidir con la possession anterior. | PRE IN POST |
team_name | El nombre de tu equipo (p. ej., «Seahawks»). Tenga en cuenta que esto no incluye el nombre de la ciudad. | PRE IN POST BYE |
team_record | El récord actual de su equipo (por ejemplo, «2-3»). | PRE IN POST |
team_rank | El rango actual de su equipo (nulo si no está clasificado o no se aplica). | PRE IN POST |
team_homeaway | El estado de local/visitante de su equipo. Cualquiera home o away . | PRE IN POST |
team_logo | Una URL para un logotipo PNG de 500 px de ancho para el equipo. | PRE IN POST BYE |
team_colors | Una matriz con dos colores hexadecimales. El primero es el color principal de tu equipo y el segundo es su color secundario. A menos que seas los Browns, en cuyo caso son lo mismo. | PRE IN POST |
team_score | La puntuación de tu equipo. un entero | IN POST |
team_win_probability | La oportunidad en tiempo real que tiene tu equipo de ganar, según ESPN. Un porcentaje, pero presentado como flotante. Tenga en cuenta que este valor puede volverse nulo entre cambios de posesión. | IN |
team_timeouts | El número de tiempos muertos restantes que tiene su equipo. | PRE IN POST |
Para el oponente
opponent_abbr | La abreviatura de su oponente (es decir, SEA para los Seahawks). | PRE IN POST BYE |
opponent_id | Una identificación numérica para su oponente, utilizada para coincidir con la possession anterior. | PRE IN POST |
opponent_name | El nombre de tu oponente (por ejemplo, «Seahawks»). Tenga en cuenta que esto no incluye el nombre de la ciudad. | PRE IN POST BYE |
opponent_record | El registro actual de su oponente (por ejemplo, «2-3»). | PRE IN POST |
opponent_rank | El rango actual de tu oponente (nulo si no está clasificado o no se aplica). | PRE IN POST |
opponent_homeaway | El estado de local/visitante de tu oponente. Cualquiera home o away . | PRE IN POST |
opponent_logo | Una URL para un logotipo PNG de 500 px de ancho para el oponente. | PRE IN POST BYE |
opponent_colors | Una matriz con dos colores hexadecimales. El primero es el color primario de tu oponente y el segundo es su color secundario. | PRE IN POST |
opponent_score | La puntuación de tu oponente. un entero | IN POST |
opponent_win_probability | La oportunidad en tiempo real que tiene tu oponente de ganar, según ESPN. Un porcentaje, pero presentado como flotante. Tenga en cuenta que este valor puede volverse nulo entre cambios de posesión. | IN |
opponent_timeouts | El número de tiempos muertos restantes que tiene tu oponente. | PRE IN POST |
last_update | Una marca de tiempo de la última vez que se obtuvieron datos para el juego. Si ve esto en tiempo real, debería notar que se actualiza cada 10 minutos, excepto durante el juego (y durante los ~20 minutos previos al juego) cuando se actualiza cada 5 segundos. | PRE IN POST BYE |
api_message | Un mensaje que brinda información para ayudar a solucionar problemas cuando el sensor está en estadoNOT_FOUND | NOT_FOUND |
Instalación
A mano
Clone o descargue este repositorio y copie el directorio «teamtracker» en su directorio «custom_components» en su directorio de configuración
<config directory>/custom_components/teamtracker/...
HACS (recomendado)
- Abra la sección HACS de Home Assistant.
- Entre en Integraciones
- Busque Team Tracker y saga las instrucciones
Configuración
Para la Liga, los siguientes valores son válidos:
- ATP (Asc. de Tenistas Profesionales) *
- BUND (Bundesliga alemana)
- CL (Liga de Campeones)
- EPL (Liga Premier Inglesa)
- F1 (Carreras de Fórmula 1) *
- IRL (Liga de carreras de Indy)*
- LIGA (LaLiga española)
- LIG1 (Ligue 1 francesa)
- MLB (Liga Mayor de Béisbol)
- MLS (Liga Mayor de Fútbol)
- NBA (Asociación Nacional de Baloncesto)
- NCAAF (fútbol americano de la NCAA)
- NCAAM (Baloncesto masculino de la NCAA)
- NCAAW (Baloncesto femenino de la NCAA)
- NCAAVB (Voleibol masculino de la NCAA)
- NCAAVBW (Voleibol femenino de la NCAA)
- NFL (Liga Nacional de Fútbol)
- NWSL (Liga Nacional de Fútbol Femenino)
- PGA (Asociación de Golfistas Profesionales) *
- SERA (Serie A italiana)
- UFC (Campeonato de lucha definitiva) *
- WC (Copa del Mundo)
- WNBA (NBA femenina)
- WTA (Asociación de Tenis Femenino) *
Para el Equipo, necesitará saber el ID del equipo que ESPN usa para su equipo. Esta es la abreviatura de 2, 3 o 4 letras (p. ej., «SEA» para Seattle o «NE» para Nueva Inglaterra) que utiliza ESPN cuando el espacio es limitado. Por lo general, puede encontrarlos en https://espn.com/ en la interfaz de usuario de puntajes más altos, pero también se pueden encontrar en otras páginas con estadísticas del equipo.
NOTA: En raras ocasiones, la identificación del equipo variará según su idioma local. Si bien es raro, cambiar el idioma después de configurar un sensor puede hacer que deje de funcionar.
Para deportes individuales, debe especificar el nombre del atleta en el campo team_id
. Esto hará que el sensor realice un seguimiento de las competiciones que coincidan con el nombre del atleta especificado. Debe usar tanto del nombre (es decir, apellido, nombre completo) como sea necesario para identificar de manera única al atleta.
Uso de un comodín en lugar del nombre del atleta
Para deportes individuales, puede usar el *
carácter único como comodín en lugar del nombre del atleta. Esto hará que el sensor coincida con un atleta utilizando la lógica específica del deporte.
El comodín actúa de la siguiente manera
Deporte | Comportamiento |
---|---|
Golf | Muestra el líder actual y el competidor en segundo lugar |
artes marciales mixtas | Muestra la pelea activa actual o la próxima pelea próxima si no hay ninguna activa |
Carreras | Muestra el líder actual y el competidor en segundo lugar |
Tenis | Los resultados serán impredecibles debido a múltiples torneos y partidos en curso a la vez |
Números de identificación de la conferencia
De forma predeterminada, el fútbol y el baloncesto de la NCAA solo encontrarán un juego si al menos uno de los equipos que juegan está clasificado. Para encontrar juegos en los que ambos equipos no estén clasificados, debe especificar una ID de conferencia, que es un número que utiliza ESPN para identificar conferencias universitarias y otros grupos de equipos. Las identificaciones de las conferencias no son consistentes en el fútbol y el baloncesto.
La siguiente es una lista de las conferencias universitarias y el número correspondiente que usa ESPN para su ID de conferencia. Para juegos que involucren al menos un equipo clasificado, no se necesita ID de conferencia.
Conferencia | Identificación de la conferencia de fútbol | Identificación de la conferencia de baloncesto |
---|---|---|
CAC | 1 | 2 |
Americano | 151 | 62 |
12 grandes | 4 | 8 |
diez grandes | 5 | 7 |
C-EE.UU. | 12 | 11 |
Independiente de FBS | 18 | |
Independiente | 43 | |
MAC | 15 | 14 |
montaña oeste | 17 | 44 |
MVC | 18 | |
PAC-12 | 9 | 21 |
SEGUNDO | 8 | 23 |
cinturón de sol | 37 | 27 |
América del Este | 1 | |
UN SOL | 176 | 46 |
Atlántico 10 | 3 | |
gran este | 4 | |
Gran cielo | 20 | 5 |
gran sur | 40 | 6 |
gran oeste | 9 | |
CAA | 18 | 10 |
Horizonte | 45 | |
Hiedra | 22 | 12 |
MAAC | 13 | |
MEAC | 24 | dieciséis |
MVFC | 21 | |
Comité ejecutivo nacional | 25 | 19 |
OVC | 26 | 20 |
Patriota | 27 | 22 |
Pionero | 28 | |
SWAC | 31 | 26 |
Meridional | 29 | 24 |
tierra del sur | 30 | 25 |
Cumbre | 49 | |
WAC | dieciséis | 30 |
CMI | 29 |
Los siguientes identificadores también son válidos para ver los resultados deportivos en tiempo real en Home Assistant:
Agrupaciones adicionales | Identificación de la conferencia de fútbol | Identificación de la conferencia de baloncesto | Descripción |
---|---|---|---|
FBS (1-A) | 80 | Subconjunto de juegos de FBS no clasificados | |
FCS (1-AA) | 81 | Subconjunto de juegos FCS | |
DIVII/III | 35 | Subconjunto de juegos D2/D3 | |
D1 | 50 | Subconjunto de juegos D1 no clasificados |
A través de la sección «Configuración->Integraciones» de la interfaz de usuario de Home Assistant
Busque la integración etiquetada como «Team Tracker» y selecciónela. Ingrese la liga deseada de la lista anterior y la identificación de su equipo en el indicador de la interfaz de usuario. Si es fútbol americano o baloncesto de la NCAA, ingrese el ID de la conferencia de arriba si lo desea. También puede introducir un nombre descriptivo. Si mantiene el valor predeterminado, su sensor será sensor.team_tracker
, de lo contrario será sensor.friendly_name_you_picked
.
Manualmente en su archivo configuration.yaml
Para crear una instancia de sensor, agregue la siguiente configuración a sus definiciones de sensor usando el team_id que se encuentra arriba. Encierre los valores entre comillas para evitar conflictos no realizados con términos predefinidos en YAML (es decir, NO se interpreta como No):
- platform: teamtracker
league_id: "NFL"
team_id: "NO"
Después de reiniciar Home Assistant, debería tener un nuevo sensor llamado sensor.team_tracker
en su sistema.
Puede anular el nombre predeterminado del sensor ( sensor.team_tracker
) por uno de su elección configurando la name
opción:
- platform: teamtracker
league_id: "NFL"
team_id: "NO"
name: "Saints"
Usando el ejemplo de configuración anterior, el sensor se llamará «sensor.saints».
Para establecer una ID de conferencia para un equipo de fútbol o baloncesto de la NCAA, utilice lo siguiente:
- platform: teamtracker
league_id: "NCAAF"
team_id: "BGSU"
conference_id: 15
name: "Falcons"
Configuración de API personalizada para resultados deportivos en tiempo real en Home Assistant
Es posible configurar Team Tracker para usar una API personalizada más allá de las ligas preconfiguradas. Tenga en cuenta que las API para muchos de los deportes más oscuros generarán un error porque no devuelven suficientes datos para controlar el sensor.
Todas las API de ESPN usan una URL con el siguiente formato: https://site.api.espn.com/apis/site/v2/sports/{SPORT_PATH}/{LEAGUE_PATH}/scoreboard donde {SPORT_PATH} es el deporte y {LEAGUE_PATH } es la liga en la que juega el equipo.
Por ejemplo, para la NFL, la URL es https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard
Si conoce la URL con el marcador de su equipo, es posible configurar Team Tracker para usarlo. la sección Configuración de API personalizada de Wiki contiene más detalles sobre cómo determinar {SPORT_PATH} y {LEAGUE_PATH}, así como algunos que se ha verificado que funcionan y otros que se sabe que no son compatibles. Actualice la Wiki si intenta con otros.
Las preguntas frecuentes en Wiki también contienen una explicación de los tipos de deportes que funcionan con la integración del rastreador de equipos y los que actualmente no lo hacen.
A través de la sección «Configuración->Integraciones» de la interfaz de usuario de Home Assistant
Cuando use la interfaz de usuario de Home Assistant para configurar su sensor, simplemente ingrese ‘XXX’ en el campo Liga. Esto activará un segundo cuadro de diálogo que le permitirá ingresar los valores para {DEPORTE} y {LIGA}.
Manualmente en su configuration.yaml
archivo
Para usar YAML para configurar su sensor, establezca league_id en ‘XXX’ e ingrese los valores deseados para sport_path y league_path.
- platform: teamtracker
league_id: "XXX"
team_id: "OSU"
sport_path: "volleyball"
league_path: "womens-college-volleyball"
name: "Buckeyes_VB"