Resultados deportivos en tiempo real en Home Assistant

Resultados deportivos en tiempo real en Home Assistant

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 PREIN, 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 estado NOT_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.

NombreValorEstados relevantes
dateFecha y hora del juego.PRE IN POST
kickoff_inCadena legible por humanos sobre qué tan lejos está el juego (por ejemplo, «en 30 minutos» o «mañana»)PRE IN POST
quarterEl trimestre actual de juego.IN
clockEl valor del reloj dentro del trimestre (nunca debe ser superior a las 15:00). Entrada (solo MLB).IN
event_nameEl nombre del evento que se está jugando (por ejemplo, «The Masters»)PRE IN POST
venueEl nombre del estadio donde se juega el partido (p. ej., «Estadio Arrowhead»)PRE IN POST
locationLa ciudad y el estado donde se juega el juego (p. ej., «Pittsburgh, PA»)PRE IN POST
tv_networkLa 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
oddsLas probabilidades de apuestas para el juego (por ejemplo, «PIT -5.0»)PRE
overunderLa línea de apuestas por encima/por debajo del total de puntos anotados en el juego (p. ej., «42,5»).PRE
possessionEl ID del equipo en posesión del balón. Esto se correlacionará con team_idopponent_idpor debajo. Tenga en cuenta que este valor será nulo entre posesiones (después de una puntuación, etc.).IN
last_playOració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_textCuerda para el down y las yardas por recorrer (por ejemplo, «2nd and 7»).IN
outsNúmero de outs (solo MLB).IN
ballsNúmero de bolas (solo MLB)).IN
strikesNúmero de strikes (solo MLB).IN
on_firstCorredor en primera base (solo MLB).IN
on_secondCorredor en segunda base (solo MLB).IN
on_thirdCorredor en tercera base (solo MLB).IN
team_total_shotsTiros totales por equipo (solo MLS).IN
team_shots_on_targetTiros a la red por equipo (solo MLS).IN
opponent_total_shotsTiros totales por equipo (solo MLS).IN
opponent_shots_on_targetTiros a la red por equipo (solo MLS).IN

Para su equipo

team_abbrLa abreviatura de su equipo (es decir, SEAde los Seahawks).PRE IN POST BYE
team_idUna identificación numérica para su equipo, utilizada para coincidir con la possessionanterior.PRE IN POST
team_nameEl nombre de tu equipo (p. ej., «Seahawks»). Tenga en cuenta que esto no incluye el nombre de la ciudad.PRE IN POST BYE
team_recordEl récord actual de su equipo (por ejemplo, «2-3»).PRE IN POST
team_rankEl rango actual de su equipo (nulo si no está clasificado o no se aplica).PRE IN POST
team_homeawayEl estado de local/visitante de su equipo. Cualquiera homeaway.PRE IN POST
team_logoUna URL para un logotipo PNG de 500 px de ancho para el equipo.PRE IN POST BYE
team_colorsUna 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_scoreLa puntuación de tu equipo. un enteroIN POST
team_win_probabilityLa 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_timeoutsEl número de tiempos muertos restantes que tiene su equipo.PRE IN POST

Para el oponente

opponent_abbrLa abreviatura de su oponente (es decir, SEApara los Seahawks).PRE IN POST BYE
opponent_idUna identificación numérica para su oponente, utilizada para coincidir con la possessionanterior.PRE IN POST
opponent_nameEl nombre de tu oponente (por ejemplo, «Seahawks»). Tenga en cuenta que esto no incluye el nombre de la ciudad.PRE IN POST BYE
opponent_recordEl registro actual de su oponente (por ejemplo, «2-3»).PRE IN POST
opponent_rankEl rango actual de tu oponente (nulo si no está clasificado o no se aplica).PRE IN POST
opponent_homeawayEl estado de local/visitante de tu oponente. Cualquiera homeaway.PRE IN POST
opponent_logoUna URL para un logotipo PNG de 500 px de ancho para el oponente.PRE IN POST BYE
opponent_colorsUna 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_scoreLa puntuación de tu oponente. un enteroIN POST
opponent_win_probabilityLa 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_timeoutsEl número de tiempos muertos restantes que tiene tu oponente.PRE IN POST
last_updateUna 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_messageUn mensaje que brinda información para ayudar a solucionar problemas cuando el sensor está en estadoNOT_FOUNDNOT_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)

  1. Abra la sección HACS de Home Assistant.
  2. Entre en Integraciones
  3. 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

DeporteComportamiento
GolfMuestra el líder actual y el competidor en segundo lugar
artes marciales mixtasMuestra la pelea activa actual o la próxima pelea próxima si no hay ninguna activa
CarrerasMuestra el líder actual y el competidor en segundo lugar
TenisLos 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.

ConferenciaIdentificación de la conferencia de fútbolIdentificación de la conferencia de baloncesto
CAC12
Americano15162
12 grandes48
diez grandes57
C-EE.UU.1211
Independiente de FBS18
Independiente43
MAC1514
montaña oeste1744
MVC18
PAC-12921
SEGUNDO823
cinturón de sol3727
América del Este1
UN SOL17646
Atlántico 103
gran este4
Gran cielo205
gran sur406
gran oeste9
CAA1810
Horizonte45
Hiedra2212
MAAC13
MEAC24dieciséis
MVFC21
Comité ejecutivo nacional2519
OVC2620
Patriota2722
Pionero28
SWAC3126
Meridional2924
tierra del sur3025
Cumbre49
WACdieciséis30
CMI29

Los siguientes identificadores también son válidos para ver los resultados deportivos en tiempo real en Home Assistant:

Agrupaciones adicionalesIdentificación de la conferencia de fútbolIdentificación de la conferencia de baloncestoDescripción
FBS (1-A)80Subconjunto de juegos de FBS no clasificados
FCS (1-AA)81Subconjunto de juegos FCS
DIVII/III35Subconjunto de juegos D2/D3
D150Subconjunto 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_trackeren su sistema.

Puede anular el nombre predeterminado del sensor ( sensor.team_tracker) por uno de su elección configurando la nameopció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.yamlarchivo

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"

Sígueme a YouTube

Sígueme en Youtube - Resultados deportivos en tiempo real en Home Assistant
(Visited 161 times, 2 visits today)
EnglishDeutschEspañol