Данные F1 в прямом эфире (неофициально)

Неофициальный адаптер данных Формулы 1 с использованием Jolpica API и F1 Live Timing. Не связан с Formula One.

Текущий релиз
0.1.13
Разработчик
Martin Rauscher (bloop)
Лицензия
MIT

Интеграция данных Формулы-1 в режиме реального времени для ioBroker — предоставляет календарь гонок, турнирную таблицу чемпионата, результаты сессий и данные о сессиях в режиме реального времени через официальный канал F1 Live Timing и API Jolpica .

Функции

  • Календарь соревнований — Информация о следующих соревнованиях и сессиях с обратным отсчетом (дни/часы)
  • Полный календарь сезона — Все раунды текущего сезона в формате JSON.
  • Турнирная таблица — Результаты пилотов и конструкторов с указанием очков и побед.
  • Результаты сессий — результаты гонки, квалификации, спринта и тренировочных заездов.
  • Данные о ходе сессии в реальном времени — данные в режиме реального времени через F1 Live Timing SignalR WebSocket
    • Состояние трассы (Все чисто / Желтый / Автомобиль безопасности / Виртуальная безопасность / Красный флаг)
    • Статус и название сессии
    • Текущее и общее количество кругов
    • Оставшееся время / прошедшее время
    • Отслеживайте погодные условия (температура воздуха, температура трассы, дождь, ветер, влажность).
    • Позиции пилотов с указанием разрывов, время круга и информация о шинах.
    • Топ-3 в текущей таблице лидеров
    • Сообщения системы управления гонкой
    • Пит-стопы
    • Состав резиновой смеси на одного водителя
    • Командное радио

Точки данных

Полную иерархию объектов и интервалы обновления см. в разделе « Использование» ниже.

Источники данных

КаналИсточникОбновлять
schedule/Jolpica APIПочасовая оплата
standings/Jolpica APIПочасовая оплата + после гонки
results/Jolpica APIПочасовая оплата + оплата после сеанса
live/F1 Live Timing SignalR WebSocketPush-уведомления в режиме реального времени

Требования

  • ioBroker >= 5.0.19
  • Node.js >= 22
  • интернет-соединение
  • Стабильное соединение с API Jolpica

Установка и настройка

  1. Установите адаптер через панель администратора ioBroker или командную строку.
  2. Откройте настройки адаптера (по умолчанию настройка пользователем не требуется).
  3. Адаптер автоматически:
    • Ежечасно получает текущий календарь сезона Формулы-1.
    • Обновляет турнирную таблицу чемпионата после каждой сессии.
    • Предоставляет данные о сессиях в режиме реального времени, когда сессии активны.
  4. Дополнительно: при необходимости отрегулируйте интервалы обновления в настройках адаптера.

Источники данных и согласованность

Адаптер использует несколько источников данных с автоматическим резервным вариантом:

КаналНачальныйОтступатьПоведение
Расписание и турнирная таблицаJolpica APIОбновляется ежечасно + после гонок
РезультатыJolpica APIОбновляется после каждой сессии.
Данные в реальном времениF1 Live Timing SignalRAPI OpenF1Push-уведомления в режиме реального времени во время сессий

Примечание: Во время гоночных уикендов API-интерфейсы могут временно предоставлять данные по разным раундам (например, турнирная таблица обновляется до объявления результатов). Адаптер включает логику повторных попыток (6 попыток с интервалом в 10 минут) для обеспечения согласованности данных.

Использование

После установки и запуска адаптер предоставляет доступ к состояниям ioBroker по указанному пути к объекту.f1.0 :

f1.0
├── info.connection           (adapter connection status)
├── schedule/
│   ├── next_race_name / round / circuit / country / date
│   ├── next_session_name / type / date / countdown_*
│   ├── weekend_json          (all sessions of current weekend)
│   └── calendar              (full season as JSON)
├── standings/
│   ├── drivers               (JSON array with positions & points)
│   ├── teams                 (JSON array with constructor standings)
│   └── last_update
├── results/
│   ├── race / qualifying / sprint   (JSON arrays)
│   └── last_update
└── live/                     (only during session ±30 min)
    ├── is_live / session_status / track_status
    ├── laps_current / laps_total / time_remaining / time_elapsed
    ├── weather / race_control / top_three
    ├── drivers / tyres / pit_stops / team_radio
    └── last_update

Информация по штатам обновлена:

  • Расписание, турнирная таблица и результаты публикуются почасово.
  • Подробные результаты по каждой сессии (гонка, квалификация, спринт)
  • Данные о сессиях в режиме реального времени (во время активных сессий)

Поиск неисправностей

"Несоответствие очков" в заключительный период гонки

В течение первых 60 минут после окончания гонки турнирная таблица и результаты могут на короткое время отображать разные круглые числа. Это ожидаемое поведение — API-интерфейс обновляется асинхронно. Адаптер автоматически проверяет согласованность данных (6 попыток, с интервалом в 10 минут).

Данные в реальном времени не отображаются

  1. Убедитесь, что сессия активна (трансляция F1 Live Timing обычно ведется во время тренировок, квалификации и гонки).
  2. Проверьте подключение к интернету.
  3. Проверьте журналы адаптера (администрирование ioBroker → Экземпляры → F1 → Журналы).

Устаревшие данные

Данные кэшируются и обновляются по расписанию. Если данные кажутся устаревшими:

  1. Ручной запуск: перезапуск экземпляра адаптера.
  2. Автоматически: следующий ежечасный цикл обновления получит свежие данные.
  3. После завершения сессии: автоматическое обновление запускается в течение 2 минут после окончания сессии.

Источники данных и атрибуция

Данный адаптер использует следующие источники данных:

  • Jolpica API — зеркало Ergast API, основной источник календаря гонок Формулы-1, турнирной таблицы и результатов.
  • API Ergast — исторические данные Формулы-1, используемые в качестве резервного варианта, когда Jolpica недоступна.
  • F1 Live Timing — Официальные данные о ходе сессии в реальном времени через SignalR WebSocket
  • API OpenF1 — резервный вариант для обнаружения активных сессий.

Отказ от ответственности

Данный проект не связан , не одобрен и никоим образом официально не ассоциируется с Формулой-1, FIA или какими-либо их дочерними или аффилированными компаниями.

F1® , FORMULA ONE® , FORMULA 1® , FIA FORMULA ONE WORLD CHAMPIONSHIP® , GRAND PRIX® и связанные с ними знаки являются товарными знаками Formula One Licensing BV.

Данный адаптер предназначен исключительно для личного, некоммерческого использования.

Changelog

0.1.13 (2026-09-13)

  • (bloop) Maintenance release: refreshed dependency versions and aligned package/release metadata with the current ioBroker baseline
  • (bloop) Docs: updated release notes and repository metadata so the next adapter release is ready for publishing

0.1.12 (2026-08-09)

  • (bloop) Repository checker maintenance: updated dependency requirements and cleaned package metadata for current ioBroker compatibility expectations
  • (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.

0.1.11 (2026-06-10)

  • (bloop) Live data quality: fixed truncated outputs for live.race_control and live.team_radio
  • (bloop) Live ranking quality: corrected top-three ordering by position
  • (bloop) Live cache consistency: improved tyre and driver merge logic for partial incremental updates
  • (bloop) Session-end flow: unified handling path to avoid inconsistent post-session states

For older changelog entries, see CHANGELOG_OLD.md.

License

MIT License

Copyright (c) 2026 Martin (bloop) bloop16@hotmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.