iobroker.f1 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Martin (bloop) <bloop16@hotmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,137 @@
1
+ # ioBroker.f1
2
+
3
+ [![NPM version](https://img.shields.io/npm/v/iobroker.f1.svg)](https://www.npmjs.com/package/iobroker.f1)
4
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.f1.svg)](https://www.npmjs.com/package/iobroker.f1)
5
+ [![License](https://img.shields.io/github/license/bloop16/ioBroker.f1.svg)](https://github.com/bloop16/ioBroker.f1/blob/main/LICENSE)
6
+
7
+ Formula 1 live data integration for ioBroker — race calendar, standings, session results and real-time live data via the official F1 Live Timing feed.
8
+
9
+ ## Features
10
+
11
+ - **Race Calendar** — Next race & session info with countdown (days/hours)
12
+ - **Full Season Calendar** — All rounds of the current season as JSON
13
+ - **Championship Standings** — Driver and constructor standings with points and wins
14
+ - **Session Results** — Race, qualifying, sprint, and all three practice sessions
15
+ - **Live Session Data** — Real-time data via F1 Live Timing SignalR WebSocket
16
+ - Track status (AllClear / Yellow / SafetyCar / VSC / RedFlag)
17
+ - Session status and name
18
+ - Current & total laps
19
+ - Time remaining / elapsed
20
+ - Track weather (air temp, track temp, rain, wind, humidity)
21
+ - Driver positions with gaps, lap times and tyre info
22
+ - Top 3 live leaderboard
23
+ - Race control messages
24
+ - Pit stops
25
+ - Tyre compounds per driver
26
+ - Team radio
27
+
28
+ ## Data Points
29
+
30
+ ```
31
+ f1.0
32
+ ├── info.connection
33
+ ├── schedule/
34
+ │ ├── next_race_name / round / circuit / country / date / countdown_days
35
+ │ ├── next_session_name / type / date / countdown_hours
36
+ │ ├── weekend_json (all sessions of current weekend as JSON)
37
+ │ └── calendar (full season calendar as JSON)
38
+ ├── standings/
39
+ │ ├── drivers (JSON array)
40
+ │ ├── teams (JSON array)
41
+ │ └── last_update
42
+ ├── results/
43
+ │ ├── race / qualifying / sprint / fp1 / fp2 / fp3 (JSON arrays)
44
+ │ └── last_update
45
+ └── live/ (only active during session ±30 min)
46
+ ├── is_live / session_name / session_status / track_status
47
+ ├── laps_current / laps_total
48
+ ├── time_remaining / time_elapsed
49
+ ├── weather / race_control / top_three
50
+ ├── drivers / tyres / pit_stops / team_radio
51
+ └── last_update
52
+ ```
53
+
54
+ ## Data Sources
55
+
56
+ | Channel | Source | Update |
57
+ |---|---|---|
58
+ | `schedule/` | Jolpica API (ergast.com fallback) | Hourly |
59
+ | `standings/` | Jolpica API (ergast.com fallback) | Hourly / after race |
60
+ | `results/` | Jolpica API (ergast.com fallback) | Hourly / after each session |
61
+ | `live/` | F1 Live Timing SignalR WebSocket | Real-time push |
62
+
63
+ ## VIS1 Widgets
64
+
65
+ ### F1 Sessions
66
+
67
+ Session schedule for the current Grand Prix with live countdown. Colors, font sizes, timezone and language are configurable per widget instance in the VIS editor.
68
+
69
+ ## Requirements
70
+
71
+ - ioBroker >= 5.0.19
72
+ - Node.js >= 20
73
+ - Internet connection
74
+
75
+ ## Changelog
76
+
77
+ ### 0.1.3 (2026-03-29)
78
+
79
+ - (bloop) Complete adapter rewrite — new clean 4-channel data structure
80
+ - (bloop) Replaced OpenF1 REST polling with F1 Live Timing SignalR WebSocket (real-time push)
81
+ - (bloop) Replaced OpenF1 schedule with Jolpica/Ergast API (more reliable, works outside race weekends)
82
+ - (bloop) Added automatic fallback from Jolpica to ergast.com on connectivity issues
83
+ - (bloop) Added 404-safe result fetching — partial failures no longer block other results
84
+ - (bloop) New data points: time_remaining, time_elapsed, laps_current, top_three, team_radio, full season calendar
85
+ - (bloop) Live session detection via schedule timing (±30 min window)
86
+ - (bloop) Automatic result & standings refresh on session end
87
+ - (bloop) Removed telemetry/car-data/location endpoints (not available outside active sessions)
88
+
89
+ ### 0.1.2 (2026-03-23)
90
+
91
+ - (bloop) Added VIS1 F1 Sessions widget with configurable colors, fonts and countdown
92
+ - (bloop) Dynamic widget scaling to any size in VIS editor
93
+ - (bloop) Countdown shows days, hours, minutes, seconds
94
+
95
+ ### 0.1.1 (2026-03-22)
96
+
97
+ - (bloop) Removed unused widgets
98
+ - (bloop) Fixed repository checker findings for Dependabot and CI
99
+ - (bloop) Added missing translations and maintenance metadata
100
+
101
+ ### 0.1.0 (2026-03-15)
102
+
103
+ - (bloop) Initial release
104
+ - (bloop) Live F1 data from OpenF1 API
105
+ - (bloop) Next race info, standings, live session data
106
+
107
+ ## License
108
+
109
+ MIT License
110
+
111
+ Copyright (c) 2026 Martin (bloop) <bloop16@hotmail.com>
112
+
113
+ Permission is hereby granted, free of charge, to any person obtaining a copy
114
+ of this software and associated documentation files (the "Software"), to deal
115
+ in the Software without restriction, including without limitation the rights
116
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
117
+ copies of the Software, and to permit persons to whom the Software is
118
+ furnished to do so, subject to the following conditions:
119
+
120
+ The above copyright notice and this permission notice shall be included in all
121
+ copies or substantial portions of the Software.
122
+
123
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
129
+ SOFTWARE.
130
+
131
+ ## Disclaimer
132
+
133
+ This project is **not affiliated** with, endorsed by, or in any way officially connected with Formula 1, the FIA, or any of their subsidiaries or affiliates.
134
+
135
+ **F1®**, **FORMULA ONE®**, **FORMULA 1®**, **FIA FORMULA ONE WORLD CHAMPIONSHIP®**, **GRAND PRIX®** and related marks are trademarks of Formula One Licensing B.V.
136
+
137
+ This adapter is intended for personal, non-commercial use only. Data is sourced from [Jolpica](https://api.jolpi.ca/) (Ergast mirror) and the official F1 Live Timing feed.
package/admin/f1.png ADDED
Binary file
package/admin/f1.svg ADDED
@@ -0,0 +1,43 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="256" height="256">
2
+ <defs>
3
+ <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#111111"/>
5
+ <stop offset="100%" style="stop-color:#050505"/>
6
+ </linearGradient>
7
+ <clipPath id="bg"><rect width="256" height="256" rx="28" ry="28"/></clipPath>
8
+ </defs>
9
+
10
+ <!-- Background -->
11
+ <rect width="256" height="256" rx="28" ry="28" fill="url(#bgGrad)"/>
12
+
13
+ <!-- Red bottom band -->
14
+ <rect x="0" y="188" width="256" height="68" fill="#E10600" clip-path="url(#bg)"/>
15
+
16
+ <!-- ======= F letter (italic, bold) ======= -->
17
+ <!-- F vertical stem: lean ~10deg to right -->
18
+ <!-- top-left, top-right, bottom-right, bottom-left -->
19
+ <polygon points="22,42 50,42 38,182 10,182" fill="#FFFFFF"/>
20
+ <!-- F top horizontal bar -->
21
+ <polygon points="44,42 126,42 122,66 40,66" fill="#FFFFFF"/>
22
+ <!-- F middle horizontal bar -->
23
+ <polygon points="34,110 108,110 104,132 30,132" fill="#FFFFFF"/>
24
+
25
+ <!-- ======= Separator flash (red arrow) ======= -->
26
+ <polygon points="126,42 144,42 106,182 88,182" fill="#E10600"/>
27
+
28
+ <!-- ======= 1 letter ======= -->
29
+ <!-- 1 top-left serif / lead stroke -->
30
+ <polygon points="128,42 160,42 150,70 118,70" fill="#FFFFFF"/>
31
+ <!-- 1 vertical stem -->
32
+ <polygon points="148,58 174,58 162,182 136,182" fill="#FFFFFF"/>
33
+ <!-- 1 bottom base serif -->
34
+ <polygon points="122,162 196,162 192,182 118,182" fill="#FFFFFF"/>
35
+
36
+ <!-- FORMULA ONE label on red band -->
37
+ <text x="128" y="230" font-family="'Arial Narrow', Arial, sans-serif"
38
+ font-size="11" font-weight="700" fill="#ffffff"
39
+ text-anchor="middle" letter-spacing="8">FORMULA ONE</text>
40
+
41
+ <!-- Border -->
42
+ <rect width="256" height="256" rx="28" ry="28" fill="none" stroke="#E10600" stroke-width="2" opacity="0.5"/>
43
+ </svg>
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Formel 1 Adapter-Einstellungen",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Aktualisierungsintervalle und Abfrageverhalten für die OpenF1-API konfigurieren.",
4
+ "Polling Configuration": "Abfrage-Konfiguration",
5
+ "Enable dynamic polling": "Dynamisches Polling aktivieren",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Automatisch zwischen schnellem und langsamem Polling je nach Rennkalender wechseln",
7
+ "Update interval (normal)": "Aktualisierungsintervall (normal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Aktualisierungsintervall in Sekunden, wenn keine Rennsession aktiv ist (Standard: 1 Stunde = 3600 s)",
9
+ "Update interval (race day)": "Aktualisierungsintervall (Renntag)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Aktualisierungsintervall in Sekunden während aktiver Rennsessions (Standard: 10 s). OpenF1-Limit: 3 Anf./s, 30 Anf./min – 10 s ist sicher!",
11
+ "Legacy Settings (deprecated)": "Legacy-Einstellungen (veraltet)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Die folgende Einstellung ist veraltet. Bitte dynamisches Polling verwenden.",
13
+ "Update Interval (deprecated)": "Aktualisierungsintervall (veraltet)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "VERALTET: Stattdessen dynamisches Polling verwenden. Diese Einstellung wird ignoriert, wenn dynamisches Polling aktiviert ist.",
15
+ "Favorites (for future highlighting)": "Favoriten (für zukünftige Hervorhebungen)",
16
+ "Favorite Driver": "Lieblingsfahrer",
17
+ "e.g., Max Verstappen": "z. B. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Dein Lieblingsfahrer (wird in zukünftigen Widgets hervorgehoben)",
19
+ "Favorite Team": "Lieblingsteam",
20
+ "e.g., Red Bull Racing": "z. B. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Dein Lieblingsteam (wird in zukünftigen Widgets hervorgehoben)",
22
+ "Highlight Color": "Hervorhebungsfarbe",
23
+ "Color for highlighting favorites (hex code)": "Farbe zum Hervorheben von Favoriten (Hex-Code)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Formula 1 Adapter Settings",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configure update intervals and polling behavior for OpenF1 API.",
4
+ "Polling Configuration": "Polling Configuration",
5
+ "Enable dynamic polling": "Enable dynamic polling",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Automatically switch between fast and slow polling based on race schedule",
7
+ "Update interval (normal)": "Update interval (normal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Update interval in seconds when no race session is active (default: 1 hour = 3600s)",
9
+ "Update interval (race day)": "Update interval (race day)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!",
11
+ "Legacy Settings (deprecated)": "Legacy Settings (deprecated)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "The following setting is deprecated. Use dynamic polling instead.",
13
+ "Update Interval (deprecated)": "Update Interval (deprecated)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.",
15
+ "Favorites (for future highlighting)": "Favorites (for future highlighting)",
16
+ "Favorite Driver": "Favorite Driver",
17
+ "e.g., Max Verstappen": "e.g., Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Your favorite driver (will be highlighted in future widgets)",
19
+ "Favorite Team": "Favorite Team",
20
+ "e.g., Red Bull Racing": "e.g., Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Your favorite team (will be highlighted in future widgets)",
22
+ "Highlight Color": "Highlight Color",
23
+ "Color for highlighting favorites (hex code)": "Color for highlighting favorites (hex code)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Configuración del adaptador Fórmula 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configurar los intervalos de actualización y el comportamiento de sondeo para la API OpenF1.",
4
+ "Polling Configuration": "Configuración de sondeo",
5
+ "Enable dynamic polling": "Activar sondeo dinámico",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Cambiar automáticamente entre sondeo rápido y lento según el calendario de carreras",
7
+ "Update interval (normal)": "Intervalo de actualización (normal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Intervalo de actualización en segundos sin sesión de carrera activa (predeterminado: 1 hora = 3600 s)",
9
+ "Update interval (race day)": "Intervalo de actualización (día de carrera)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Intervalo en segundos durante sesiones de carrera activas (predeterminado: 10 s). Límite OpenF1: 3 req/s, 30 req/min – ¡10 s es seguro!",
11
+ "Legacy Settings (deprecated)": "Configuración heredada (obsoleta)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Esta configuración está obsoleta. Use el sondeo dinámico en su lugar.",
13
+ "Update Interval (deprecated)": "Intervalo de actualización (obsoleto)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "OBSOLETO: Use el sondeo dinámico. Esta configuración se ignora cuando el sondeo dinámico está activado.",
15
+ "Favorites (for future highlighting)": "Favoritos (para destacar en el futuro)",
16
+ "Favorite Driver": "Piloto favorito",
17
+ "e.g., Max Verstappen": "p. ej., Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Tu piloto favorito (se destacará en futuros widgets)",
19
+ "Favorite Team": "Equipo favorito",
20
+ "e.g., Red Bull Racing": "p. ej., Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Tu equipo favorito (se destacará en futuros widgets)",
22
+ "Highlight Color": "Color de resaltado",
23
+ "Color for highlighting favorites (hex code)": "Color para resaltar favoritos (código hexadecimal)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Paramètres de l'adaptateur Formule 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configurer les intervalles de mise à jour et le comportement d'interrogation pour l'API OpenF1.",
4
+ "Polling Configuration": "Configuration de l'interrogation",
5
+ "Enable dynamic polling": "Activer l'interrogation dynamique",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Basculer automatiquement entre une interrogation rapide et lente selon le calendrier des courses",
7
+ "Update interval (normal)": "Intervalle de mise à jour (normal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Intervalle de mise à jour en secondes sans session de course active (défaut : 1 heure = 3600 s)",
9
+ "Update interval (race day)": "Intervalle de mise à jour (jour de course)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Intervalle en secondes pendant les sessions de course actives (défaut : 10 s). Limite OpenF1 : 3 req/s, 30 req/min – 10 s est sûr !",
11
+ "Legacy Settings (deprecated)": "Paramètres hérités (obsolètes)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Ce paramètre est obsolète. Utilisez plutôt l'interrogation dynamique.",
13
+ "Update Interval (deprecated)": "Intervalle de mise à jour (obsolète)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "OBSOLÈTE : Utilisez l'interrogation dynamique. Ce paramètre est ignoré si l'interrogation dynamique est activée.",
15
+ "Favorites (for future highlighting)": "Favoris (pour la mise en évidence future)",
16
+ "Favorite Driver": "Pilote favori",
17
+ "e.g., Max Verstappen": "ex. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Votre pilote favori (sera mis en évidence dans les futurs widgets)",
19
+ "Favorite Team": "Équipe favorite",
20
+ "e.g., Red Bull Racing": "ex. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Votre équipe favorite (sera mise en évidence dans les futurs widgets)",
22
+ "Highlight Color": "Couleur de mise en évidence",
23
+ "Color for highlighting favorites (hex code)": "Couleur pour mettre en évidence les favoris (code hexadécimal)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Impostazioni adattatore Formula 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configura gli intervalli di aggiornamento e il comportamento di polling per l'API OpenF1.",
4
+ "Polling Configuration": "Configurazione polling",
5
+ "Enable dynamic polling": "Abilita polling dinamico",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Passa automaticamente tra polling veloce e lento in base al calendario delle gare",
7
+ "Update interval (normal)": "Intervallo di aggiornamento (normale)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Intervallo di aggiornamento in secondi senza sessione di gara attiva (predefinito: 1 ora = 3600 s)",
9
+ "Update interval (race day)": "Intervallo di aggiornamento (giorno di gara)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Intervallo in secondi durante le sessioni di gara attive (predefinito: 10 s). Limite OpenF1: 3 req/s, 30 req/min – 10 s è sicuro!",
11
+ "Legacy Settings (deprecated)": "Impostazioni legacy (obsolete)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Questa impostazione è obsoleta. Usa invece il polling dinamico.",
13
+ "Update Interval (deprecated)": "Intervallo di aggiornamento (obsoleto)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "OBSOLETO: Usa il polling dinamico. Questa impostazione viene ignorata quando il polling dinamico è abilitato.",
15
+ "Favorites (for future highlighting)": "Preferiti (per evidenziazione futura)",
16
+ "Favorite Driver": "Pilota preferito",
17
+ "e.g., Max Verstappen": "es. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Il tuo pilota preferito (verrà evidenziato nei widget futuri)",
19
+ "Favorite Team": "Team preferito",
20
+ "e.g., Red Bull Racing": "es. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Il tuo team preferito (verrà evidenziato nei widget futuri)",
22
+ "Highlight Color": "Colore evidenziazione",
23
+ "Color for highlighting favorites (hex code)": "Colore per evidenziare i preferiti (codice esadecimale)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Formule 1 adapter-instellingen",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configureer update-intervallen en polling-gedrag voor de OpenF1 API.",
4
+ "Polling Configuration": "Polling-configuratie",
5
+ "Enable dynamic polling": "Dynamische polling inschakelen",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Automatisch wisselen tussen snelle en langzame polling op basis van het racekalender",
7
+ "Update interval (normal)": "Update-interval (normaal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Update-interval in seconden zonder actieve racesessie (standaard: 1 uur = 3600 s)",
9
+ "Update interval (race day)": "Update-interval (racedag)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Interval in seconden tijdens actieve racesessies (standaard: 10 s). OpenF1-limiet: 3 req/s, 30 req/min – 10 s is veilig!",
11
+ "Legacy Settings (deprecated)": "Verouderde instellingen (verouderd)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Deze instelling is verouderd. Gebruik in plaats daarvan dynamische polling.",
13
+ "Update Interval (deprecated)": "Update-interval (verouderd)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "VEROUDERD: Gebruik dynamische polling. Deze instelling wordt genegeerd als dynamische polling is ingeschakeld.",
15
+ "Favorites (for future highlighting)": "Favorieten (voor toekomstige markering)",
16
+ "Favorite Driver": "Favoriete coureur",
17
+ "e.g., Max Verstappen": "bijv. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Uw favoriete coureur (wordt gemarkeerd in toekomstige widgets)",
19
+ "Favorite Team": "Favoriet team",
20
+ "e.g., Red Bull Racing": "bijv. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Uw favoriete team (wordt gemarkeerd in toekomstige widgets)",
22
+ "Highlight Color": "Markeringskleur",
23
+ "Color for highlighting favorites (hex code)": "Kleur voor het markeren van favorieten (hexadecimale code)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Ustawienia adaptera Formuła 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Skonfiguruj interwały aktualizacji i zachowanie odpytywania dla API OpenF1.",
4
+ "Polling Configuration": "Konfiguracja odpytywania",
5
+ "Enable dynamic polling": "Włącz dynamiczne odpytywanie",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Automatycznie przełączaj między szybkim a wolnym odpytywaniem na podstawie kalendarza wyścigów",
7
+ "Update interval (normal)": "Interwał aktualizacji (normalny)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Interwał aktualizacji w sekundach bez aktywnej sesji wyścigowej (domyślnie: 1 godzina = 3600 s)",
9
+ "Update interval (race day)": "Interwał aktualizacji (dzień wyścigu)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Interwał w sekundach podczas aktywnych sesji wyścigowych (domyślnie: 10 s). Limit OpenF1: 3 req/s, 30 req/min – 10 s jest bezpieczne!",
11
+ "Legacy Settings (deprecated)": "Starsze ustawienia (przestarzałe)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "To ustawienie jest przestarzałe. Użyj zamiast tego dynamicznego odpytywania.",
13
+ "Update Interval (deprecated)": "Interwał aktualizacji (przestarzały)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "PRZESTARZAŁE: Użyj dynamicznego odpytywania. To ustawienie jest ignorowane, gdy dynamiczne odpytywanie jest włączone.",
15
+ "Favorites (for future highlighting)": "Ulubione (do przyszłego wyróżnienia)",
16
+ "Favorite Driver": "Ulubiony kierowca",
17
+ "e.g., Max Verstappen": "np. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Twój ulubiony kierowca (będzie wyróżniony w przyszłych widżetach)",
19
+ "Favorite Team": "Ulubiony zespół",
20
+ "e.g., Red Bull Racing": "np. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Twój ulubiony zespół (będzie wyróżniony w przyszłych widżetach)",
22
+ "Highlight Color": "Kolor wyróżnienia",
23
+ "Color for highlighting favorites (hex code)": "Kolor do wyróżniania ulubionych (kod szesnastkowy)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Configurações do adaptador Fórmula 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Configurar intervalos de atualização e comportamento de sondagem para a API OpenF1.",
4
+ "Polling Configuration": "Configuração de sondagem",
5
+ "Enable dynamic polling": "Ativar sondagem dinâmica",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Alternar automaticamente entre sondagem rápida e lenta com base no calendário de corridas",
7
+ "Update interval (normal)": "Intervalo de atualização (normal)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Intervalo de atualização em segundos sem sessão de corrida ativa (padrão: 1 hora = 3600 s)",
9
+ "Update interval (race day)": "Intervalo de atualização (dia de corrida)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Intervalo em segundos durante sessões de corrida ativas (padrão: 10 s). Limite OpenF1: 3 req/s, 30 req/min – 10 s é seguro!",
11
+ "Legacy Settings (deprecated)": "Configurações herdadas (obsoletas)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Esta configuração está obsoleta. Use a sondagem dinâmica.",
13
+ "Update Interval (deprecated)": "Intervalo de atualização (obsoleto)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "OBSOLETO: Use a sondagem dinâmica. Esta configuração é ignorada quando a sondagem dinâmica está ativada.",
15
+ "Favorites (for future highlighting)": "Favoritos (para destaque futuro)",
16
+ "Favorite Driver": "Piloto favorito",
17
+ "e.g., Max Verstappen": "ex. Max Verstappen",
18
+ "Your favorite driver (will be highlighted in future widgets)": "O seu piloto favorito (será destacado em widgets futuros)",
19
+ "Favorite Team": "Equipa favorita",
20
+ "e.g., Red Bull Racing": "ex. Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "A sua equipa favorita (será destacada em widgets futuros)",
22
+ "Highlight Color": "Cor de destaque",
23
+ "Color for highlighting favorites (hex code)": "Cor para destacar favoritos (código hexadecimal)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Настройки адаптера Формула 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Настройте интервалы обновления и поведение опроса для API OpenF1.",
4
+ "Polling Configuration": "Конфигурация опроса",
5
+ "Enable dynamic polling": "Включить динамический опрос",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Автоматически переключаться между быстрым и медленным опросом в зависимости от расписания гонок",
7
+ "Update interval (normal)": "Интервал обновления (обычный)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Интервал обновления в секундах при отсутствии активной гоночной сессии (по умолчанию: 1 час = 3600 с)",
9
+ "Update interval (race day)": "Интервал обновления (день гонки)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Интервал в секундах во время активных гоночных сессий (по умолчанию: 10 с). Лимит OpenF1: 3 запр./с, 30 запр./мин – 10 с безопасно!",
11
+ "Legacy Settings (deprecated)": "Устаревшие настройки (deprecated)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Эта настройка устарела. Используйте вместо неё динамический опрос.",
13
+ "Update Interval (deprecated)": "Интервал обновления (устаревший)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "УСТАРЕЛО: Используйте динамический опрос. Эта настройка игнорируется при включённом динамическом опросе.",
15
+ "Favorites (for future highlighting)": "Избранное (для выделения в будущем)",
16
+ "Favorite Driver": "Любимый гонщик",
17
+ "e.g., Max Verstappen": "напр., Макс Ферстаппен",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Ваш любимый гонщик (будет выделен в будущих виджетах)",
19
+ "Favorite Team": "Любимая команда",
20
+ "e.g., Red Bull Racing": "напр., Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Ваша любимая команда (будет выделена в будущих виджетах)",
22
+ "Highlight Color": "Цвет выделения",
23
+ "Color for highlighting favorites (hex code)": "Цвет для выделения избранного (шестнадцатеричный код)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "Налаштування адаптера Формула 1",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "Налаштуйте інтервали оновлення та поведінку опитування для API OpenF1.",
4
+ "Polling Configuration": "Конфігурація опитування",
5
+ "Enable dynamic polling": "Увімкнути динамічне опитування",
6
+ "Automatically switch between fast and slow polling based on race schedule": "Автоматично перемикатися між швидким і повільним опитуванням залежно від розкладу перегонів",
7
+ "Update interval (normal)": "Інтервал оновлення (звичайний)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "Інтервал оновлення в секундах без активної гоночної сесії (за замовчуванням: 1 година = 3600 с)",
9
+ "Update interval (race day)": "Інтервал оновлення (день перегонів)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "Інтервал у секундах під час активних гоночних сесій (за замовчуванням: 10 с). Ліміт OpenF1: 3 запр./с, 30 запр./хв – 10 с безпечно!",
11
+ "Legacy Settings (deprecated)": "Застарілі налаштування (deprecated)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "Це налаштування застаріло. Використовуйте натомість динамічне опитування.",
13
+ "Update Interval (deprecated)": "Інтервал оновлення (застарілий)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "ЗАСТАРІЛО: Використовуйте динамічне опитування. Це налаштування ігнорується, коли динамічне опитування увімкнено.",
15
+ "Favorites (for future highlighting)": "Обрані (для майбутнього виділення)",
16
+ "Favorite Driver": "Улюблений гонщик",
17
+ "e.g., Max Verstappen": "напр., Макс Ферстаппен",
18
+ "Your favorite driver (will be highlighted in future widgets)": "Ваш улюблений гонщик (буде виділено в майбутніх віджетах)",
19
+ "Favorite Team": "Улюблена команда",
20
+ "e.g., Red Bull Racing": "напр., Red Bull Racing",
21
+ "Your favorite team (will be highlighted in future widgets)": "Ваша улюблена команда (буде виділено в майбутніх віджетах)",
22
+ "Highlight Color": "Колір виділення",
23
+ "Color for highlighting favorites (hex code)": "Колір для виділення обраного (шістнадцятковий код)"
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Formula 1 Adapter Settings": "一级方程式适配器设置",
3
+ "Configure update intervals and polling behavior for OpenF1 API.": "配置 OpenF1 API 的更新间隔和轮询行为。",
4
+ "Polling Configuration": "轮询配置",
5
+ "Enable dynamic polling": "启用动态轮询",
6
+ "Automatically switch between fast and slow polling based on race schedule": "根据赛程自动在快速和慢速轮询之间切换",
7
+ "Update interval (normal)": "更新间隔(正常)",
8
+ "Update interval in seconds when no race session is active (default: 1 hour = 3600s)": "无活跃比赛会话时的更新间隔(秒)(默认:1小时 = 3600秒)",
9
+ "Update interval (race day)": "更新间隔(比赛日)",
10
+ "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!": "活跃比赛会话期间的更新间隔(秒)(默认:10秒)。OpenF1限制:3次/秒,30次/分 – 10秒是安全的!",
11
+ "Legacy Settings (deprecated)": "旧版设置(已弃用)",
12
+ "The following setting is deprecated. Use dynamic polling instead.": "以下设置已弃用。请改用动态轮询。",
13
+ "Update Interval (deprecated)": "更新间隔(已弃用)",
14
+ "DEPRECATED: Use dynamic polling instead. This setting is ignored when dynamic polling is enabled.": "已弃用:请使用动态轮询。启用动态轮询后,此设置将被忽略。",
15
+ "Favorites (for future highlighting)": "收藏(用于未来高亮显示)",
16
+ "Favorite Driver": "最喜欢的车手",
17
+ "e.g., Max Verstappen": "例如:马克斯·维斯塔潘",
18
+ "Your favorite driver (will be highlighted in future widgets)": "您最喜欢的车手(将在未来的小部件中高亮显示)",
19
+ "Favorite Team": "最喜欢的车队",
20
+ "e.g., Red Bull Racing": "例如:红牛车队",
21
+ "Your favorite team (will be highlighted in future widgets)": "您最喜欢的车队(将在未来的小部件中高亮显示)",
22
+ "Highlight Color": "高亮颜色",
23
+ "Color for highlighting favorites (hex code)": "用于高亮收藏的颜色(十六进制代码)"
24
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "i18n": true,
3
+ "type": "panel",
4
+ "items": {
5
+ "_header": {
6
+ "type": "header",
7
+ "text": "Formula 1 Adapter Settings",
8
+ "size": 3,
9
+ "xs": 12,
10
+ "sm": 12,
11
+ "md": 6,
12
+ "lg": 4,
13
+ "xl": 3
14
+ },
15
+ "_info": {
16
+ "type": "staticText",
17
+ "text": "Configure update intervals and polling behavior for OpenF1 API.",
18
+ "style": {
19
+ "marginBottom": 20
20
+ },
21
+ "xs": 12,
22
+ "sm": 12,
23
+ "md": 6,
24
+ "lg": 4,
25
+ "xl": 3
26
+ },
27
+ "_pollingHeader": {
28
+ "type": "header",
29
+ "text": "Polling Configuration",
30
+ "size": 4,
31
+ "xs": 12,
32
+ "sm": 12,
33
+ "md": 6,
34
+ "lg": 4,
35
+ "xl": 3
36
+ },
37
+ "enableDynamicPolling": {
38
+ "type": "checkbox",
39
+ "label": "Enable dynamic polling",
40
+ "default": true,
41
+ "help": "Automatically switch between fast and slow polling based on race schedule",
42
+ "xs": 12,
43
+ "sm": 12,
44
+ "md": 6,
45
+ "lg": 4,
46
+ "xl": 3
47
+ },
48
+ "updateIntervalNormal": {
49
+ "type": "number",
50
+ "label": "Update interval (normal)",
51
+ "min": 60,
52
+ "max": 86400,
53
+ "default": 3600,
54
+ "help": "Update interval in seconds when no race session is active (default: 1 hour = 3600s)",
55
+ "xs": 12,
56
+ "sm": 12,
57
+ "md": 6,
58
+ "lg": 4,
59
+ "xl": 3
60
+ },
61
+ "updateIntervalRace": {
62
+ "type": "number",
63
+ "label": "Update interval (race day)",
64
+ "min": 5,
65
+ "max": 300,
66
+ "default": 10,
67
+ "help": "Update interval in seconds during active race sessions (default: 10s). OpenF1 rate limit: 3 req/s, 30 req/min - 10s is safe!",
68
+ "xs": 12,
69
+ "sm": 12,
70
+ "md": 6,
71
+ "lg": 4,
72
+ "xl": 3
73
+ }
74
+ }
75
+ }