iobroker.autodarts 0.6.1 → 0.6.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/README.md +12 -0
- package/admin/i18n/de.json +12 -3
- package/admin/i18n/en.json +13 -4
- package/admin/i18n/es.json +13 -4
- package/admin/i18n/fr.json +13 -4
- package/admin/i18n/it.json +13 -4
- package/admin/i18n/nl.json +13 -4
- package/admin/i18n/pl.json +13 -4
- package/admin/i18n/pt.json +13 -4
- package/admin/i18n/ru.json +13 -4
- package/admin/i18n/uk.json +13 -4
- package/admin/i18n/zh-cn.json +13 -4
- package/admin/inventwo.svg +2 -0
- package/admin/jsonConfig.json +141 -24
- package/io-package.json +27 -27
- package/main.js +64 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,6 +100,10 @@ In **MAPPINGS** you can link existing ioBroker states to the hardware related ad
|
|
|
100
100
|
|
|
101
101
|
When configured, changes on either side (adapter state or external state) are synchronized bidirectionally so you can both control the board from ioBroker and react on board events.
|
|
102
102
|
|
|
103
|
+
### Tab: HELP & FAQ
|
|
104
|
+
|
|
105
|
+
In **HELP & FAQ** you will find general information and help about the adapter and its configuration.
|
|
106
|
+
|
|
103
107
|
|
|
104
108
|
## Privacy & Data Handling
|
|
105
109
|
|
|
@@ -112,6 +116,14 @@ When configured, changes on either side (adapter state or external state) are sy
|
|
|
112
116
|
<!--
|
|
113
117
|
### **WORK IN PROGRESS**
|
|
114
118
|
-->
|
|
119
|
+
### 0.6.3 (2025-12-30)
|
|
120
|
+
- (skvarel) Improved: Connection handling now uses `info.connection` and clearly marks the adapter as offline when the Autodarts Board Manager is not reachable (including better timeout/ECONNRESET handling).
|
|
121
|
+
- (skvarel) Changed: Reduced log noise when the board is offline – only one warning is logged when the connection is lost, subsequent timeouts are written as debug messages.
|
|
122
|
+
- (skvarel) Improved: Minor tweaks to the HELP & FAQ tab texts and configuration descriptions.
|
|
123
|
+
|
|
124
|
+
### 0.6.2 (2025-12-29)
|
|
125
|
+
- (skvarel) Improved: Settings page reworked to use three tabs (`OPTIONS`, `MAPPINGS` and `HELP & FAQ`) for better clarity.
|
|
126
|
+
|
|
115
127
|
### 0.6.1 (2025-12-29)
|
|
116
128
|
- (skvarel) New: Settings page reworked to use two tabs (`OPTIONS` and `MAPPINGS`) for better clarity.
|
|
117
129
|
- (skvarel) New: Mapping of ioBroker objects for board light and board power in the **MAPPINGS** tab.
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Hilfe & FAQ",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) Host/IP",
|
|
3
4
|
"host_ip_help": "IP-Adresse des lokalen Autodarts Boardmanagers.",
|
|
4
5
|
"host_port": "Autodarts (Boardmanager) Port",
|
|
5
6
|
"host_port_help": "Portnummer des lokalen Autodarts Boardmanagers.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
-
"light_target": "LED-Ring Datenpunkt",
|
|
7
|
+
"intro_txt": "Hilfe & FAQ",
|
|
8
|
+
"light_target": "LED-Ring-POWER Datenpunkt",
|
|
9
|
+
"light_target_brightness": "LED-Ring-Dimmer Datenpunkt",
|
|
10
|
+
"light_target_color": "LED-Ring-Farb Datenpunkt",
|
|
8
11
|
"light_target_help": "Datenpunkt des LED-Ring zur Steuerung innerhalb des Autodarts-Adapters. Lasse das Feld leer, um die Lichtsteuerung zu deaktivieren.",
|
|
12
|
+
"light_txt": "Zuweisungen der Lichtsteuerung (optional)",
|
|
13
|
+
"light_txt_desc": "Verknüpfe deine Beleuchtung-Datenpunkte in die Autodarts-Objekte.",
|
|
9
14
|
"mappings": "Zuweisungen",
|
|
10
15
|
"options": "Optionen",
|
|
11
16
|
"options_connection": "Verbindungsoptionen",
|
|
@@ -14,10 +19,14 @@
|
|
|
14
19
|
"polling_help": "Abfrageintervall in Sekunden zum Abrufen von Daten vom Autodarts Boardmanager.",
|
|
15
20
|
"power_target": "Power-Datenpunkt",
|
|
16
21
|
"power_target_help": "Datenpunkt der Server- oder Bildschirm-Steckdose zur Steuerung innerhalb des Autodarts-Adapters. Lasse das Feld leer, um die Leistungssteuerung zu deaktivieren.",
|
|
22
|
+
"power_txt": "Zuweisungen der Leistungssteuerung (optional)",
|
|
23
|
+
"power_txt_desc": "Verknüpfe deine Power-Datenpunkte in die Autodarts-Objekte.",
|
|
17
24
|
"reset": "Trigger-Reset (s)",
|
|
18
25
|
"reset_help": "Setzt den Triple-, Doppel-, Bullseye und Miss-Trigger nach x Sekunden zurück (0 = kein Reset).",
|
|
19
26
|
"triple_flag": "Minimales Feld für den Triple-Trigger",
|
|
20
27
|
"triple_flag2": "Maximales Feld für den Triple-Trigger",
|
|
21
28
|
"triple_flag2_help": "Feld „Maximale Punktzahl“ für den Triple-Trigger. Darts mit einer Punktzahl über diesem Wert lösen den Triple-Trigger-Datenpunkt nicht aus.",
|
|
22
|
-
"triple_flag_help": "Feld „Mindestpunktzahl“ für den Triple-Trigger. Darts mit einer Punktzahl unter diesem Wert lösen den Triple-Trigger-Datenpunkt nicht aus."
|
|
29
|
+
"triple_flag_help": "Feld „Mindestpunktzahl“ für den Triple-Trigger. Darts mit einer Punktzahl unter diesem Wert lösen den Triple-Trigger-Datenpunkt nicht aus.",
|
|
30
|
+
"txt_one": "<b>Dieser Adapter verbindet den lokalen Autodarts Board-Manager mit dem ioBroker.</b><br><br>1) Konfiguriere die Verbindung unter <b>OPTIONEN</b> (Host, Port, Intervall, Triple Range).<br>2) Ordne Licht- und Powerziele unter <b>ZUWEISUNGEN</b> zu.<br>3) Nutze die erstellten Zustände (Würfe, Ampel, Hardware) in der Visualisierungen, den Skripten und Szenen.",
|
|
31
|
+
"txt_two": "... weitere Informationen folgen in Kürze!"
|
|
23
32
|
}
|
package/admin/i18n/en.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"host_ip_help": "IP address of the local Autodarts Boardmanager.",
|
|
4
4
|
"host_port": "Autodarts (Boardmanager) Port",
|
|
5
5
|
"host_port_help": "Port number of the local Autodarts Boardmanager.",
|
|
6
|
-
"intro_txt": "
|
|
6
|
+
"intro_txt": "Help & FAQ.",
|
|
7
7
|
"polling": "Polling interval (s)",
|
|
8
8
|
"polling_help": "Polling interval in seconds to retrieve data from the Autodarts Boardmanager.",
|
|
9
9
|
"triple_flag": "Minimum field for the triple trigger",
|
|
@@ -13,11 +13,20 @@
|
|
|
13
13
|
"reset": "Trigger-Reset (s)",
|
|
14
14
|
"reset_help": "Reset the triple, double, bullseye and miss trigger after x seconds (0 = no reset).",
|
|
15
15
|
"light_target": "Light Target ID",
|
|
16
|
-
"light_target_help": "ID of the light target to control lights via Autodarts (e.g., 'light.
|
|
17
|
-
"power_target": "Power
|
|
16
|
+
"light_target_help": "ID of the light target to control lights via Autodarts (e.g., 'light.dartring'). Leave empty to disable light control.",
|
|
17
|
+
"power_target": "LED-Target Power ID",
|
|
18
18
|
"power_target_help": "ID of the power target to control power via Autodarts (e.g., 'switch.darts_socket'). Leave empty to disable power control.",
|
|
19
19
|
"options": "Options",
|
|
20
20
|
"mappings":"Mappings",
|
|
21
21
|
"options_connection": "Connection Options",
|
|
22
|
-
"options_logic": "Logic Options"
|
|
22
|
+
"options_logic": "Logic Options",
|
|
23
|
+
"txt_one": "This adapter connects your local Autodarts Board Manager to ioBroker.\n\n1) Configure the connection under OPTIONS (host, port, polling, triple range).\n2) Map light and power targets under MAPPINGS.\n3) Use the created states (throws, traffic light, hardware) in your visualizations, scripts and scenes.",
|
|
24
|
+
"light_txt": "Light Control Mapping (optional)",
|
|
25
|
+
"light_txt_desc": "Get your lighting data points into the adapter objects.",
|
|
26
|
+
"power_txt": "Power Control Mapping (optional)",
|
|
27
|
+
"power_txt_desc": "Get your power data points into the adapter objects.",
|
|
28
|
+
"helps": "Help & FAQ",
|
|
29
|
+
"txt_two": "... more information coming soon!",
|
|
30
|
+
"light_target_brightness": "LED-Target Brightness ID",
|
|
31
|
+
"light_target_color": "LED-Target Color ID"
|
|
23
32
|
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Ayuda y preguntas frecuentes",
|
|
2
3
|
"host_ip": "Host/IP de Autodarts (Boardmanager)",
|
|
3
4
|
"host_ip_help": "Dirección IP del administrador local de Autodarts Board.",
|
|
4
5
|
"host_port": "Puerto Autodarts (Boardmanager)",
|
|
5
6
|
"host_port_help": "Número de puerto del administrador local de Autodarts Boardmanager.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Ayuda y preguntas frecuentes.",
|
|
7
8
|
"light_target": "ID de objetivo ligero",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "ID de brillo del objetivo LED",
|
|
10
|
+
"light_target_color": "ID de color de objetivo LED",
|
|
11
|
+
"light_target_help": "ID del objetivo de luz para controlar las luces a través de Autodarts (por ejemplo, 'light.dartring'). Déjelo vacío para desactivar el control de luces.",
|
|
12
|
+
"light_txt": "Mapeo de control de iluminación (opcional)",
|
|
13
|
+
"light_txt_desc": "Introduzca sus puntos de datos de iluminación en los objetos del adaptador.",
|
|
9
14
|
"mappings": "Mapeos",
|
|
10
15
|
"options": "Opciones",
|
|
11
16
|
"options_connection": "Opciones de conexión",
|
|
12
17
|
"options_logic": "Opciones lógicas",
|
|
13
18
|
"polling": "Intervalo(s) de sondeo",
|
|
14
19
|
"polling_help": "Intervalo de sondeo en segundos para recuperar datos del Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "ID de objetivo
|
|
20
|
+
"power_target": "ID de alimentación del objetivo LED",
|
|
16
21
|
"power_target_help": "ID del objetivo de energía para controlar la energía a través de Autodarts (por ejemplo, 'switch.darts_socket'). Déjelo vacío para desactivar el control de energía.",
|
|
22
|
+
"power_txt": "Mapeo de control de energía (opcional)",
|
|
23
|
+
"power_txt_desc": "Introduzca sus puntos de datos de energía en los objetos del adaptador.",
|
|
17
24
|
"reset": "Restablecimiento de disparador (s)",
|
|
18
25
|
"reset_help": "Restablezca el disparador triple, doble, diana y fallido después de x segundos (0 = sin reinicio).",
|
|
19
26
|
"triple_flag": "Campo mínimo para el triple disparador",
|
|
20
27
|
"triple_flag2": "Campo máximo para el triple disparador",
|
|
21
28
|
"triple_flag2_help": "Campo de puntuación máxima para el triple disparador. Los dardos con una puntuación superior a este valor no activarán el punto de datos Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Campo de puntuación mínima para el triple disparador. Los dardos con una puntuación inferior a este valor no activarán el punto de datos Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Campo de puntuación mínima para el triple disparador. Los dardos con una puntuación inferior a este valor no activarán el punto de datos Triple-Trigger.",
|
|
30
|
+
"txt_one": "Este adaptador conecta su administrador de tablero Autodarts local a ioBroker.\n\n1) Configure la conexión en OPCIONES (host, puerto, sondeo, rango triple).\n2) Mapear objetivos de luz y energía en MAPAS.\n3) Utilice los estados creados (tiros, semáforo, hardware) en sus visualizaciones, guiones y escenas.",
|
|
31
|
+
"txt_two": "... ¡más información próximamente!"
|
|
23
32
|
}
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Aide et FAQ",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) Hôte/IP",
|
|
3
4
|
"host_ip_help": "Adresse IP du Boardmanager Autodarts local.",
|
|
4
5
|
"host_port": "Port Autodarts (Boardmanager)",
|
|
5
6
|
"host_port_help": "Numéro de port du Boardmanager Autodarts local.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Aide et FAQ.",
|
|
7
8
|
"light_target": "ID de cible lumineuse",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "ID de luminosité cible LED",
|
|
10
|
+
"light_target_color": "ID de couleur cible LED",
|
|
11
|
+
"light_target_help": "ID de la cible lumineuse pour contrôler les lumières via Autodarts (par exemple, « light.dartring »). Laissez vide pour désactiver le contrôle de la lumière.",
|
|
12
|
+
"light_txt": "Cartographie du contrôle de la lumière (facultatif)",
|
|
13
|
+
"light_txt_desc": "Obtenez vos points de données d'éclairage dans les objets adaptateur.",
|
|
9
14
|
"mappings": "Mappages",
|
|
10
15
|
"options": "Possibilités",
|
|
11
16
|
"options_connection": "Options de connexion",
|
|
12
17
|
"options_logic": "Options logiques",
|
|
13
18
|
"polling": "Intervalle(s) d'interrogation",
|
|
14
19
|
"polling_help": "Intervalle d'interrogation en secondes pour récupérer les données de l'Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "ID de cible
|
|
20
|
+
"power_target": "ID de puissance cible LED",
|
|
16
21
|
"power_target_help": "ID de la cible d'alimentation pour contrôler l'alimentation via Autodarts (par exemple, « switch.darts_socket »). Laissez vide pour désactiver le contrôle de l’alimentation.",
|
|
22
|
+
"power_txt": "Cartographie du contrôle de puissance (facultatif)",
|
|
23
|
+
"power_txt_desc": "Obtenez vos points de données d'alimentation dans les objets adaptateur.",
|
|
17
24
|
"reset": "Déclencheur-Réinitialisation(s)",
|
|
18
25
|
"reset_help": "Réinitialisez les déclencheurs triple, double, bullseye et miss après x secondes (0 = pas de réinitialisation).",
|
|
19
26
|
"triple_flag": "Champ minimum pour le triple déclencheur",
|
|
20
27
|
"triple_flag2": "Champ maximum pour le triple déclencheur",
|
|
21
28
|
"triple_flag2_help": "Champ de score maximum pour le triple déclencheur. Les fléchettes avec un score supérieur à cette valeur ne déclencheront pas le point de données Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Champ de score minimum pour le triple déclencheur. Les fléchettes avec un score inférieur à cette valeur ne déclencheront pas le point de données Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Champ de score minimum pour le triple déclencheur. Les fléchettes avec un score inférieur à cette valeur ne déclencheront pas le point de données Triple-Trigger.",
|
|
30
|
+
"txt_one": "Cet adaptateur connecte votre Autodarts Board Manager local à ioBroker.\n\n1) Configurez la connexion sous OPTIONS (hôte, port, polling, triple range).\n2) Cartographiez les cibles de lumière et de puissance sous CARTOGRAPHIES.\n3) Utilisez les états créés (lancements, feux de signalisation, matériel) dans vos visualisations, scripts et scènes.",
|
|
31
|
+
"txt_two": "... plus d'informations à venir !"
|
|
23
32
|
}
|
package/admin/i18n/it.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Aiuto e domande frequenti",
|
|
2
3
|
"host_ip": "Host/IP Autodarts (Boardmanager).",
|
|
3
4
|
"host_ip_help": "Indirizzo IP del Boardmanager Autodarts locale.",
|
|
4
5
|
"host_port": "Porta Autodarts (Boardmanager).",
|
|
5
6
|
"host_port_help": "Numero di porta del Boardmanager Autodarts locale.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Aiuto e domande frequenti.",
|
|
7
8
|
"light_target": "ID del bersaglio luminoso",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "ID luminosità target LED",
|
|
10
|
+
"light_target_color": "ID colore target LED",
|
|
11
|
+
"light_target_help": "ID del bersaglio luminoso per controllare le luci tramite Autodarts (ad esempio, \"light.dartring\"). Lasciare vuoto per disabilitare il controllo della luce.",
|
|
12
|
+
"light_txt": "Mappatura del controllo della luce (opzionale)",
|
|
13
|
+
"light_txt_desc": "Inserisci i tuoi punti dati di illuminazione negli oggetti adattatore.",
|
|
9
14
|
"mappings": "Mappature",
|
|
10
15
|
"options": "Opzioni",
|
|
11
16
|
"options_connection": "Opzioni di connessione",
|
|
12
17
|
"options_logic": "Opzioni logiche",
|
|
13
18
|
"polling": "Intervallo di polling (s)",
|
|
14
19
|
"polling_help": "Intervallo di polling in secondi per recuperare i dati da Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "ID
|
|
20
|
+
"power_target": "ID alimentazione target LED",
|
|
16
21
|
"power_target_help": "ID del target di potenza per controllare l'energia tramite Autodarts (ad esempio, \"switch.darts_socket\"). Lasciare vuoto per disabilitare il controllo dell'alimentazione.",
|
|
22
|
+
"power_txt": "Mappatura del controllo della potenza (opzionale)",
|
|
23
|
+
"power_txt_desc": "Inserisci i tuoi punti dati di alimentazione negli oggetti adattatore.",
|
|
17
24
|
"reset": "Trigger-Reset(s)",
|
|
18
25
|
"reset_help": "Resetta il trigger triplo, doppio, bullseye e mancato dopo x secondi (0 = nessun reset).",
|
|
19
26
|
"triple_flag": "Campo minimo per il triplo trigger",
|
|
20
27
|
"triple_flag2": "Campo massimo per il triplo trigger",
|
|
21
28
|
"triple_flag2_help": "Campo del punteggio massimo per il triplo trigger. Le freccette con un punteggio superiore a questo valore non attiveranno il punto dati Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Campo del punteggio minimo per il triplo trigger. Le freccette con un punteggio inferiore a questo valore non attiveranno il punto dati Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Campo del punteggio minimo per il triplo trigger. Le freccette con un punteggio inferiore a questo valore non attiveranno il punto dati Triple-Trigger.",
|
|
30
|
+
"txt_one": "Questo adattatore collega il tuo Autodarts Board Manager locale a ioBroker.\n\n1) Configurare la connessione in OPZIONI (host, porta, polling, tripla portata).\n2) Mappare gli obiettivi di luce e potenza in MAPPINGS.\n3) Utilizza gli stati creati (lanci, semaforo, hardware) nelle tue visualizzazioni, script e scene.",
|
|
31
|
+
"txt_two": "...maggiori informazioni in arrivo!"
|
|
23
32
|
}
|
package/admin/i18n/nl.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Hulp en veelgestelde vragen",
|
|
2
3
|
"host_ip": "Autodarts (Bestuursmanager) Host/IP",
|
|
3
4
|
"host_ip_help": "IP-adres van de lokale Autodarts Boardmanager.",
|
|
4
5
|
"host_port": "Autodarts (Bestuursmanager) Port",
|
|
5
6
|
"host_port_help": "Poortnummer van de lokale Autodarts Boardmanager.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Hulp en veelgestelde vragen.",
|
|
7
8
|
"light_target": "Lichtdoel-ID",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "LED-doelhelderheid ID",
|
|
10
|
+
"light_target_color": "LED-doelkleur-ID",
|
|
11
|
+
"light_target_help": "ID van het lichtdoel om lichten via Autodarts te besturen (bijvoorbeeld 'light.dartring'). Laat dit leeg om de lichtregeling uit te schakelen.",
|
|
12
|
+
"light_txt": "Lichtregelingtoewijzing (optioneel)",
|
|
13
|
+
"light_txt_desc": "Haal uw verlichtingsgegevenspunten op in de adapterobjecten.",
|
|
9
14
|
"mappings": "Toewijzingen",
|
|
10
15
|
"options": "Opties",
|
|
11
16
|
"options_connection": "Verbindingsopties",
|
|
12
17
|
"options_logic": "Logische opties",
|
|
13
18
|
"polling": "Polling-interval (s)",
|
|
14
19
|
"polling_help": "Polling-interval in seconden om gegevens uit de Autodarts Boardmanager op te halen.",
|
|
15
|
-
"power_target": "
|
|
20
|
+
"power_target": "LED-doelvoedings-ID",
|
|
16
21
|
"power_target_help": "ID van het powertarget om de power te regelen via Autodarts (bijvoorbeeld 'switch.darts_socket'). Laat dit leeg om de stroomregeling uit te schakelen.",
|
|
22
|
+
"power_txt": "Power Control Mapping (optioneel)",
|
|
23
|
+
"power_txt_desc": "Haal uw stroomgegevenspunten op in de adapterobjecten.",
|
|
17
24
|
"reset": "Trigger-reset (s)",
|
|
18
25
|
"reset_help": "Reset de drievoudige, dubbele, bullseye- en miss-trigger na x seconden (0 = geen reset).",
|
|
19
26
|
"triple_flag": "Minimumveld voor de drievoudige trigger",
|
|
20
27
|
"triple_flag2": "Maximaal veld voor de drievoudige trigger",
|
|
21
28
|
"triple_flag2_help": "Maximaal scoreveld voor de drievoudige trigger. Darten met een score boven deze waarde activeren het Triple-Trigger-datapunt niet.",
|
|
22
|
-
"triple_flag_help": "Minimumscoreveld voor de drievoudige trigger. Darten met een score onder deze waarde activeren het Triple-Trigger-datapunt niet."
|
|
29
|
+
"triple_flag_help": "Minimumscoreveld voor de drievoudige trigger. Darten met een score onder deze waarde activeren het Triple-Trigger-datapunt niet.",
|
|
30
|
+
"txt_one": "Deze adapter verbindt uw lokale Autodarts Board Manager met ioBroker.\n\n1) Configureer de verbinding onder OPTIES (host, poort, polling, drievoudig bereik).\n2) Breng licht- en krachtdoelen in kaart onder KAARTEN.\n3) Gebruik de gecreëerde toestanden (worpen, stoplicht, hardware) in uw visualisaties, scripts en scènes.",
|
|
31
|
+
"txt_two": "... binnenkort meer informatie!"
|
|
23
32
|
}
|
package/admin/i18n/pl.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Pomoc i często zadawane pytania",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) Host/IP",
|
|
3
4
|
"host_ip_help": "Adres IP lokalnego zarządcy Autodarts.",
|
|
4
5
|
"host_port": "Port Autodarts (Boardmanager).",
|
|
5
6
|
"host_port_help": "Numer portu lokalnego zarządcy Autodarts.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Pomoc i często zadawane pytania.",
|
|
7
8
|
"light_target": "Identyfikator lekkiego celu",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "Identyfikator docelowej jasności LED",
|
|
10
|
+
"light_target_color": "Identyfikator koloru docelowego LED",
|
|
11
|
+
"light_target_help": "Identyfikator celu świetlnego do sterowania światłami za pomocą Autodarts (np. „light.dartring”). Pozostaw puste, aby wyłączyć kontrolę oświetlenia.",
|
|
12
|
+
"light_txt": "Mapowanie kontroli oświetlenia (opcjonalnie)",
|
|
13
|
+
"light_txt_desc": "Umieść punkty danych oświetlenia w obiektach adaptera.",
|
|
9
14
|
"mappings": "Mapowania",
|
|
10
15
|
"options": "Opcje",
|
|
11
16
|
"options_connection": "Opcje połączenia",
|
|
12
17
|
"options_logic": "Opcje logiczne",
|
|
13
18
|
"polling": "Interwał odpytywania (s)",
|
|
14
19
|
"polling_help": "Interwał odpytywania w sekundach w celu pobrania danych z menedżera Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "Identyfikator
|
|
20
|
+
"power_target": "Identyfikator mocy docelowej LED",
|
|
16
21
|
"power_target_help": "Identyfikator celu mocy do kontrolowania mocy za pomocą Autodarts (np. „switch.darts_socket”). Pozostaw puste, aby wyłączyć kontrolę mocy.",
|
|
22
|
+
"power_txt": "Mapowanie sterowania mocą (opcjonalnie)",
|
|
23
|
+
"power_txt_desc": "Umieść punkty danych mocy w obiektach adaptera.",
|
|
17
24
|
"reset": "Reset wyzwalacza (s)",
|
|
18
25
|
"reset_help": "Zresetuj wyzwalacz potrójny, podwójny, strzał w dziesiątkę i spudłowanie po x sekundach (0 = brak resetu).",
|
|
19
26
|
"triple_flag": "Minimalne pole dla potrójnego wyzwalacza",
|
|
20
27
|
"triple_flag2": "Maksymalne pole dla potrójnego wyzwalacza",
|
|
21
28
|
"triple_flag2_help": "Pole maksymalnego wyniku dla potrójnego wyzwalacza. Rzutki z wynikiem powyżej tej wartości nie uruchomią punktu danych Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Pole minimalnego wyniku dla potrójnego wyzwalacza. Rzutki z wynikiem poniżej tej wartości nie uruchomią punktu danych Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Pole minimalnego wyniku dla potrójnego wyzwalacza. Rzutki z wynikiem poniżej tej wartości nie uruchomią punktu danych Triple-Trigger.",
|
|
30
|
+
"txt_one": "Ten adapter łączy lokalnego menedżera tablicy Autodarts z ioBrokerem.\n\n1) Skonfiguruj połączenie w OPCJACH (host, port, odpytywanie, potrójny zasięg).\n2) Mapuj cele świetlne i energetyczne w sekcji MAPOWANIA.\n3) Wykorzystaj utworzone stany (rzuty, sygnalizacja świetlna, sprzęt) w swoich wizualizacjach, skryptach i scenach.",
|
|
31
|
+
"txt_two": "...więcej informacji już wkrótce!"
|
|
23
32
|
}
|
package/admin/i18n/pt.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Ajuda e perguntas frequentes",
|
|
2
3
|
"host_ip": "Host/IP do Autodarts (Boardmanager)",
|
|
3
4
|
"host_ip_help": "Endereço IP do Autodarts Boardmanager local.",
|
|
4
5
|
"host_port": "Porto Autodarts (Boardmanager)",
|
|
5
6
|
"host_port_help": "Número da porta do Autodarts Boardmanager local.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Ajuda e perguntas frequentes.",
|
|
7
8
|
"light_target": "ID do alvo claro",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "ID de brilho do alvo do LED",
|
|
10
|
+
"light_target_color": "ID da cor do alvo do LED",
|
|
11
|
+
"light_target_help": "ID do alvo de luz para controlar luzes via Autodarts (por exemplo, 'light.dartring'). Deixe em branco para desativar o controle de luz.",
|
|
12
|
+
"light_txt": "Mapeamento de controle de luz (opcional)",
|
|
13
|
+
"light_txt_desc": "Coloque seus pontos de dados de iluminação nos objetos do adaptador.",
|
|
9
14
|
"mappings": "Mapeamentos",
|
|
10
15
|
"options": "Opções",
|
|
11
16
|
"options_connection": "Opções de conexão",
|
|
12
17
|
"options_logic": "Opções lógicas",
|
|
13
18
|
"polling": "Intervalo(s) de pesquisa",
|
|
14
19
|
"polling_help": "Intervalo de pesquisa em segundos para recuperar dados do Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "ID do alvo
|
|
20
|
+
"power_target": "ID de energia do alvo LED",
|
|
16
21
|
"power_target_help": "ID do alvo de potência para controlar a potência por meio de Autodarts (por exemplo, 'switch.darts_socket'). Deixe em branco para desativar o controle de energia.",
|
|
22
|
+
"power_txt": "Mapeamento de controle de energia (opcional)",
|
|
23
|
+
"power_txt_desc": "Coloque seus pontos de dados de energia nos objetos do adaptador.",
|
|
17
24
|
"reset": "Redefinição(ões) de gatilho",
|
|
18
25
|
"reset_help": "Redefina o disparo triplo, duplo, alvo e erro após x segundos (0 = sem reinicialização).",
|
|
19
26
|
"triple_flag": "Campo mínimo para o disparo triplo",
|
|
20
27
|
"triple_flag2": "Campo máximo para o disparo triplo",
|
|
21
28
|
"triple_flag2_help": "Campo de pontuação máxima para o disparo triplo. Dardos com pontuação acima deste valor não acionarão o ponto de dados Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Campo de pontuação mínima para o disparo triplo. Dardos com pontuação abaixo deste valor não acionarão o ponto de dados Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Campo de pontuação mínima para o disparo triplo. Dardos com pontuação abaixo deste valor não acionarão o ponto de dados Triple-Trigger.",
|
|
30
|
+
"txt_one": "Este adaptador conecta seu Autodarts Board Manager local ao ioBroker.\n\n1) Configure a conexão em OPÇÕES (host, porta, polling, intervalo triplo).\n2) Mapeie alvos de luz e energia em MAPEAMENTOS.\n3) Utilize os estados criados (throws, semáforos, hardware) em suas visualizações, scripts e cenas.",
|
|
31
|
+
"txt_two": "... mais informações em breve!"
|
|
23
32
|
}
|
package/admin/i18n/ru.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Помощь и часто задаваемые вопросы",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) Хост/IP",
|
|
3
4
|
"host_ip_help": "IP-адрес местного Autodarts Boardmanager.",
|
|
4
5
|
"host_port": "Порт Autodarts (Boardmanager)",
|
|
5
6
|
"host_port_help": "Номер порта местного Autodarts Boardmanager.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Помощь и часто задаваемые вопросы.",
|
|
7
8
|
"light_target": "Идентификатор легкой цели",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "Идентификатор яркости светодиодной цели",
|
|
10
|
+
"light_target_color": "Идентификатор цвета светодиодной мишени",
|
|
11
|
+
"light_target_help": "Идентификатор световой цели для управления огнями через Autodarts (например, «light.dartring»). Оставьте пустым, чтобы отключить управление освещением.",
|
|
12
|
+
"light_txt": "Отображение управления освещением (опционально)",
|
|
13
|
+
"light_txt_desc": "Перенесите точки данных освещения в объекты адаптера.",
|
|
9
14
|
"mappings": "Сопоставления",
|
|
10
15
|
"options": "Параметры",
|
|
11
16
|
"options_connection": "Варианты подключения",
|
|
12
17
|
"options_logic": "Логические параметры",
|
|
13
18
|
"polling": "Интервал опроса (с)",
|
|
14
19
|
"polling_help": "Интервал опроса в секундах для получения данных из Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "Идентификатор
|
|
20
|
+
"power_target": "Идентификатор мощности светодиодной мишени",
|
|
16
21
|
"power_target_help": "Идентификатор цели мощности для управления мощностью через Autodarts (например, «switch.darts_socket»). Оставьте пустым, чтобы отключить управление питанием.",
|
|
22
|
+
"power_txt": "Сопоставление управления питанием (дополнительно)",
|
|
23
|
+
"power_txt_desc": "Перенесите точки данных о мощности в объекты адаптера.",
|
|
17
24
|
"reset": "Триггер-Сброс (ы)",
|
|
18
25
|
"reset_help": "Сбросьте триггер тройного, двойного, яблочко и промаха через x секунд (0 = сброса нет).",
|
|
19
26
|
"triple_flag": "Минимальное поле для тройного триггера",
|
|
20
27
|
"triple_flag2": "Максимальное поле для тройного триггера",
|
|
21
28
|
"triple_flag2_help": "Поле максимального результата для тройного триггера. Дартс с результатом выше этого значения не будет активировать точку данных тройного триггера.",
|
|
22
|
-
"triple_flag_help": "Поле минимального балла для тройного триггера. Дартс со счетом ниже этого значения не будет активировать точку данных тройного триггера."
|
|
29
|
+
"triple_flag_help": "Поле минимального балла для тройного триггера. Дартс со счетом ниже этого значения не будет активировать точку данных тройного триггера.",
|
|
30
|
+
"txt_one": "Этот адаптер подключает вашего местного менеджера Autodarts Board к ioBroker.\n\n1) Настройте соединение в разделе ОПЦИИ (хост, порт, опрос, тройной диапазон).\n2) Нанесите на карту световые и энергетические цели в разделе КАРТИРОВАНИЕ.\n3) Используйте созданные состояния (броски, светофор, оборудование) в своих визуализациях, скриптах и сценах.",
|
|
31
|
+
"txt_two": "... дополнительная информация скоро появится!"
|
|
23
32
|
}
|
package/admin/i18n/uk.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "Довідка та поширені запитання",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) Host/IP",
|
|
3
4
|
"host_ip_help": "IP-адреса місцевого менеджера Autodarts Board.",
|
|
4
5
|
"host_port": "Autodarts (Boardmanager) Порт",
|
|
5
6
|
"host_port_help": "Номер порту місцевого менеджера Autodarts Board.",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "Довідка та поширені запитання.",
|
|
7
8
|
"light_target": "Ідентифікатор легкої цілі",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "LED-Target Brightness ID",
|
|
10
|
+
"light_target_color": "LED-Target Color ID",
|
|
11
|
+
"light_target_help": "Ідентифікатор світлової цілі для керування вогнями через Autodarts (наприклад, \"light.dartring\"). Залиште пустим, щоб вимкнути керування світлом.",
|
|
12
|
+
"light_txt": "Відображення керування світлом (опціонально)",
|
|
13
|
+
"light_txt_desc": "Перемістіть свої точки даних освітлення в об’єкти адаптера.",
|
|
9
14
|
"mappings": "Відображення",
|
|
10
15
|
"options": "Опції",
|
|
11
16
|
"options_connection": "Параметри підключення",
|
|
12
17
|
"options_logic": "Параметри логіки",
|
|
13
18
|
"polling": "Інтервал опитування (с)",
|
|
14
19
|
"polling_help": "Інтервал опитування в секундах для отримання даних із Autodarts Boardmanager.",
|
|
15
|
-
"power_target": "Power
|
|
20
|
+
"power_target": "LED-Target Power ID",
|
|
16
21
|
"power_target_help": "Ідентифікатор цільової потужності для керування живленням через Autodarts (наприклад, 'switch.darts_socket'). Залиште пустим, щоб вимкнути керування живленням.",
|
|
22
|
+
"power_txt": "Відображення керування живленням (опціонально)",
|
|
23
|
+
"power_txt_desc": "Перемістіть свої точки даних про потужність в об’єкти адаптера.",
|
|
17
24
|
"reset": "Тригер-Скидання (s)",
|
|
18
25
|
"reset_help": "Скинути потрійний, подвійний, яблучний і промах через x секунд (0 = без скидання).",
|
|
19
26
|
"triple_flag": "Мінімальне поле для потрійного тригера",
|
|
20
27
|
"triple_flag2": "Максимальне поле для потрійного тригера",
|
|
21
28
|
"triple_flag2_help": "Поле максимального балу для потрійного тригера. Дартс із результатом вище цього значення не активує точку даних Triple-Trigger.",
|
|
22
|
-
"triple_flag_help": "Мінімальне поле для потрійного тригера. Дартс із результатом, нижчим за це значення, не активує точку даних Triple-Trigger."
|
|
29
|
+
"triple_flag_help": "Мінімальне поле для потрійного тригера. Дартс із результатом, нижчим за це значення, не активує точку даних Triple-Trigger.",
|
|
30
|
+
"txt_one": "Цей адаптер підключає ваш локальний менеджер дошки Autodarts до ioBroker.\n\n1) Налаштуйте підключення в ОПЦІЯХ (хост, порт, опитування, потрійний діапазон).\n2) Нанесіть на карту світлові та потужні цілі в розділі КАРТИ.\n3) Використовуйте створені стани (кидки, світлофор, обладнання) у своїх візуалізаціях, сценаріях і сценах.",
|
|
31
|
+
"txt_two": "... більше інформації буде незабаром!"
|
|
23
32
|
}
|
package/admin/i18n/zh-cn.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
|
+
"helps": "帮助和常见问题解答",
|
|
2
3
|
"host_ip": "Autodarts (Boardmanager) 主机/IP",
|
|
3
4
|
"host_ip_help": "本地 Autodarts Boardmanager 的 IP 地址。",
|
|
4
5
|
"host_port": "Autodarts(Boardmanager)端口",
|
|
5
6
|
"host_port_help": "本地 Autodarts Boardmanager 的端口号。",
|
|
6
|
-
"intro_txt": "
|
|
7
|
+
"intro_txt": "帮助和常见问题解答。",
|
|
7
8
|
"light_target": "光目标ID",
|
|
8
|
-
"
|
|
9
|
+
"light_target_brightness": "LED-目标亮度 ID",
|
|
10
|
+
"light_target_color": "LED 目标颜色 ID",
|
|
11
|
+
"light_target_help": "通过 Autodarts 控制灯光的灯光目标的 ID(例如“light.dartring”)。留空以禁用灯光控制。",
|
|
12
|
+
"light_txt": "灯光控制映射(可选)",
|
|
13
|
+
"light_txt_desc": "将照明数据点放入适配器对象中。",
|
|
9
14
|
"mappings": "映射",
|
|
10
15
|
"options": "选项",
|
|
11
16
|
"options_connection": "连接选项",
|
|
12
17
|
"options_logic": "逻辑选项",
|
|
13
18
|
"polling": "轮询间隔(秒)",
|
|
14
19
|
"polling_help": "从 Autodarts Boardmanager 检索数据的轮询间隔(以秒为单位)。",
|
|
15
|
-
"power_target": "
|
|
20
|
+
"power_target": "LED-目标功率 ID",
|
|
16
21
|
"power_target_help": "通过 Autodarts 控制电源的电源目标的 ID(例如“switch.darts_socket”)。留空以禁用电源控制。",
|
|
22
|
+
"power_txt": "功率控制映射(可选)",
|
|
23
|
+
"power_txt_desc": "将电源数据点放入适配器对象中。",
|
|
17
24
|
"reset": "触发-复位",
|
|
18
25
|
"reset_help": "x 秒后重置三重、双重、靶心和错过触发(0 = 不重置)。",
|
|
19
26
|
"triple_flag": "三重触发器的最小字段",
|
|
20
27
|
"triple_flag2": "三重触发器的最大字段",
|
|
21
28
|
"triple_flag2_help": "三重触发器的最大分数字段。分数高于此值的飞镖将不会触发三重触发数据点。",
|
|
22
|
-
"triple_flag_help": "三重触发器的最低分数字段。分数低于此值的飞镖将不会触发三重触发数据点。"
|
|
29
|
+
"triple_flag_help": "三重触发器的最低分数字段。分数低于此值的飞镖将不会触发三重触发数据点。",
|
|
30
|
+
"txt_one": "该适配器将您本地的 Autodarts Board Manager 连接到 ioBroker。\n\n1) 在选项(主机、端口、轮询、三重范围)下配置连接。\n2) 在 MAPPINGS 下绘制灯光和功率目标。\n3) 在可视化、脚本和场景中使用创建的状态(投掷、交通灯、硬件)。",
|
|
31
|
+
"txt_two": "...更多信息即将推出!"
|
|
23
32
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg version="1.1" width="26.458332mm" height="26.458334mm" viewBox="0 0 75.000144 75.000093" id="svg165" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs165" /><g id="layer1" style="opacity:1" transform="translate(-78.750127,-393.75065)"><g id="g85"><path d="m 78.750127,393.75065 v 75.00012 h 75.000113 v -75.00012 z" style="display:inline;opacity:1;fill:#80000000;fill-opacity:0.225;stroke:none;stroke-width:0.753376;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" id="path154-5-7-8-14-1" /><g id="layer2-0" style="display:inline;opacity:1;fill:#80000000;fill-opacity:0.225" transform="matrix(0.8645493,0,0,0.8645493,-16.29802,241.24759)"><path style="display:inline;fill:#999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.151347" d="m 156.90563,239.27644 c 0,1.07617 -0.36595,2.05502 -1.24651,2.71331 -0.69186,0.52091 -1.50381,0.8014 -2.37293,0.8014 -0.89199,0 -1.70965,-0.26332 -2.41295,-0.81284 -0.86341,-0.6583 -1.20648,-1.64287 -1.20648,-2.70187 v -27.52236 c 0,-1.04755 0.36023,-1.99778 1.20648,-2.64462 0.7033,-0.54381 1.52096,-0.80713 2.41295,-0.80713 0.86912,0 1.68107,0.27477 2.37293,0.79568 0.86341,0.64684 1.24651,1.59135 1.24651,2.65607 z m 0.0572,-38.00926 c 0,1.08189 -0.36595,2.06647 -1.23507,2.70187 -0.69187,0.53236 -1.50381,0.81285 -2.38437,0.81285 -0.89199,0 -1.72681,-0.26905 -2.41296,-0.81285 -0.85768,-0.6583 -1.20076,-1.63715 -1.20076,-2.70187 v -0.84147 c 0,-1.04754 0.36023,-1.99777 1.18361,-2.62744 0.7033,-0.56098 1.53812,-0.83002 2.43011,-0.83002 0.88056,0 1.6925,0.28049 2.36722,0.8014 0.87483,0.64112 1.25222,1.59135 1.25222,2.65606 z" id="path2-5-5-2-7" /><path style="display:inline;fill:#9fdb58;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.151347" d="m 158.58028,180.3077 14.36337,14.37941 -4.36276,4.36763 -11.02984,-11.0536 c -2.3329,-2.33551 -6.14103,-2.33551 -8.46821,0 l -27.46881,27.52809 c -2.3272,2.33551 -2.3272,6.15361 0,8.48912 l 11.00696,11.03069 -4.36848,4.37336 -14.35765,-14.3794 c -2.89898,-2.89649 -2.89898,-7.64193 0,-10.54414 l 34.15303,-34.19116 c 2.89898,-2.90221 7.63912,-2.90221 10.53239,0 z m 19.79538,19.81748 14.36337,14.37368 c 2.89326,2.90221 2.89326,7.64765 0,10.54414 L 158.586,259.23415 c -2.89899,2.90221 -7.63913,2.90221 -10.53811,0.006 l -14.35765,-14.37941 4.36276,-4.36763 11.02984,11.05359 c 2.32718,2.32979 6.13531,2.33551 8.46821,0 l 27.4631,-27.52808 c 2.3329,-2.3355 2.3329,-6.15361 0,-8.48911 l -11.00697,-11.03098 z" id="path1-4-0-1" /></g></g></g><style type="text/css" id="style1">.st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}.st3{fill:none;stroke:#000000;stroke-linecap:round;stroke-miterlimit:10;}.st4{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-miterlimit:10;}.st5{fill:#FFFFFF;}.st6{stroke:#000000;stroke-width:2;stroke-miterlimit:10;}.st7{fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}.st8{fill:none;}.st9{fill:none;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;}</style><style type="text/css" id="style1-5">.st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}.st3{fill:none;stroke:#000000;stroke-linecap:round;stroke-miterlimit:10;}.st4{fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-miterlimit:10;}.st5{fill:#FFFFFF;}.st6{stroke:#000000;stroke-width:2;stroke-miterlimit:10;}.st7{fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}.st8{fill:none;}.st9{fill:none;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;}</style></svg>
|
package/admin/jsonConfig.json
CHANGED
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
"_options": {
|
|
6
6
|
"type": "panel",
|
|
7
7
|
"label": "options",
|
|
8
|
-
"icon": "data:image/svg+xml;base64,
|
|
8
|
+
"icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIsMTUuNUEzLjUsMy41IDAgMCwxIDguNSwxMkEzLjUsMy41IDAgMCwxIDEyLDguNUEzLjUsMy41IDAgMCwxIDE1LjUsMTJBMy41LDMuNSAwIDAsMSAxMiwxNS41TTE5LjQzLDEyLjk3QzE5LjQ3LDEyLjY1IDE5LjUsMTIuMzMgMTkuNSwxMkMxOS41LDExLjY3IDE5LjQ3LDExLjM0IDE5LjQzLDExTDIxLjU0LDkuMzdDMjEuNzMsOS4yMiAyMS43OCw4Ljk1IDIxLjY2LDguNzNMMTkuNjYsNS4yN0MxOS41NCw1LjA1IDE5LjI3LDQuOTYgMTkuMDUsNS4wNUwxNi41Niw2LjA1QzE2LjA0LDUuNjYgMTUuNSw1LjMyIDE0Ljg3LDUuMDdMMTQuNSwyLjQyQzE0LjQ2LDIuMTggMTQuMjUsMiAxNCwySDEwQzkuNzUsMiA5LjU0LDIuMTggOS41LDIuNDJMOS4xMyw1LjA3QzguNSw1LjMyIDcuOTYsNS42NiA3LjQ0LDYuMDVMNC45NSw1LjA1QzQuNzMsNC45NiA0LjQ2LDUuMDUgNC4zNCw1LjI3TDIuMzQsOC43M0MyLjIxLDguOTUgMi4yNyw5LjIyIDIuNDYsOS4zN0w0LjU3LDExQzQuNTMsMTEuMzQgNC41LDExLjY3IDQuNSwxMkM0LjUsMTIuMzMgNC41MywxMi42NSA0LjU3LDEyLjk3TDIuNDYsMTQuNjNDMi4yNywxNC43OCAyLjIxLDE1LjA1IDIuMzQsMTUuMjdMNC4zNCwxOC43M0M0LjQ2LDE4Ljk1IDQuNzMsMTkuMDMgNC45NSwxOC45NUw3LjQ0LDE3Ljk0QzcuOTYsMTguMzQgOC41LDE4LjY4IDkuMTMsMTguOTNMOS41LDIxLjU4QzkuNTQsMjEuODIgOS43NSwyMiAxMCwyMkgxNEMxNC4yNSwyMiAxNC40NiwyMS44MiAxNC41LDIxLjU4TDE0Ljg3LDE4LjkzQzE1LjUsMTguNjcgMTYuMDQsMTguMzQgMTYuNTYsMTcuOTRMMTkuMDUsMTguOTVDMTkuMjcsMTkuMDMgMTkuNTQsMTguOTUgMTkuNjYsMTguNzNMMjEuNjYsMTUuMjdDMjEuNzgsMTUuMDUgMjEuNzMsMTQuNzggMjEuNTQsMTQuNjNMMTkuNDMsMTIuOTdaIiAvPjwvc3ZnPg==",
|
|
9
9
|
"items": {
|
|
10
10
|
"_connection": {
|
|
11
11
|
"type": "panel",
|
|
12
12
|
"label": "options_connection",
|
|
13
13
|
"xs": 12,
|
|
14
14
|
"sm": 12,
|
|
15
|
-
"md":
|
|
16
|
-
"lg":
|
|
17
|
-
"xl":
|
|
15
|
+
"md": 12,
|
|
16
|
+
"lg": 12,
|
|
17
|
+
"xl": 12,
|
|
18
18
|
"items": {
|
|
19
19
|
"host": {
|
|
20
20
|
"type": "text",
|
|
@@ -316,32 +316,42 @@
|
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
|
-
},
|
|
320
|
-
"outro": {
|
|
321
|
-
"type": "staticText",
|
|
322
|
-
"text": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> • by skvarel",
|
|
323
|
-
"newLine": true,
|
|
324
|
-
"xs": 12,
|
|
325
|
-
"sm": 12,
|
|
326
|
-
"md": 12,
|
|
327
|
-
"lg": 12,
|
|
328
|
-
"xl": 12,
|
|
329
|
-
"style": {
|
|
330
|
-
"borderTop": "1px solid",
|
|
331
|
-
"borderRadius": "0px",
|
|
332
|
-
"padding": "8px",
|
|
333
|
-
"marginTop": "10px",
|
|
334
|
-
"textAlign": "center",
|
|
335
|
-
"fontSize": "larger"
|
|
336
|
-
}
|
|
337
319
|
}
|
|
338
320
|
}
|
|
339
321
|
},
|
|
340
322
|
"_datapoints": {
|
|
341
323
|
"type": "panel",
|
|
342
324
|
"label": "mappings",
|
|
343
|
-
"icon": "data:image/svg+xml;base64,
|
|
325
|
+
"icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi40NSwxNy40NUwxLDEyTDYuNDUsNi41NUw3Ljg2LDcuOTZMNC44MywxMUgxOS4xN0wxNi4xNCw3Ljk2TDE3LjU1LDYuNTVMMjMsMTJMMTcuNTUsMTcuNDVMMTYuMTQsMTYuMDRMMTkuMTcsMTNINC44M0w3Ljg2LDE2LjA0TDYuNDUsMTcuNDVaIiAvPjwvc3ZnPg==",
|
|
344
326
|
"items": {
|
|
327
|
+
"lightTxt": {
|
|
328
|
+
"type": "staticText",
|
|
329
|
+
"text": "light_txt",
|
|
330
|
+
"newLine": true,
|
|
331
|
+
"xs": 12,
|
|
332
|
+
"sm": 12,
|
|
333
|
+
"md": 6,
|
|
334
|
+
"lg": 6,
|
|
335
|
+
"xl": 6,
|
|
336
|
+
"style": {
|
|
337
|
+
"fontSize": "18px",
|
|
338
|
+
"marginTop": "30px"
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"lightTxtDesc": {
|
|
342
|
+
"type": "staticText",
|
|
343
|
+
"text": "light_txt_desc",
|
|
344
|
+
"newLine": true,
|
|
345
|
+
"xs": 12,
|
|
346
|
+
"sm": 12,
|
|
347
|
+
"md": 6,
|
|
348
|
+
"lg": 6,
|
|
349
|
+
"xl": 6,
|
|
350
|
+
"style": {
|
|
351
|
+
"fontSize": "14px",
|
|
352
|
+
"marginBottom": "20px"
|
|
353
|
+
}
|
|
354
|
+
},
|
|
345
355
|
"lightTargetId": {
|
|
346
356
|
"type": "objectId",
|
|
347
357
|
"label": "light_target",
|
|
@@ -353,11 +363,39 @@
|
|
|
353
363
|
"lg": 6,
|
|
354
364
|
"xl": 6
|
|
355
365
|
},
|
|
366
|
+
"powerTxt": {
|
|
367
|
+
"type": "staticText",
|
|
368
|
+
"text": "power_txt",
|
|
369
|
+
"newLine": true,
|
|
370
|
+
"xs": 12,
|
|
371
|
+
"sm": 12,
|
|
372
|
+
"md": 6,
|
|
373
|
+
"lg": 6,
|
|
374
|
+
"xl": 6,
|
|
375
|
+
"style": {
|
|
376
|
+
"fontSize": "18px",
|
|
377
|
+
"marginTop": "30px"
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"powerTxtDesc": {
|
|
381
|
+
"type": "staticText",
|
|
382
|
+
"text": "power_txt_desc",
|
|
383
|
+
"newLine": true,
|
|
384
|
+
"xs": 12,
|
|
385
|
+
"sm": 12,
|
|
386
|
+
"md": 6,
|
|
387
|
+
"lg": 6,
|
|
388
|
+
"xl": 6,
|
|
389
|
+
"style": {
|
|
390
|
+
"fontSize": "14px",
|
|
391
|
+
"marginBottom": "20px"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
356
394
|
"powerTargetId": {
|
|
357
395
|
"type": "objectId",
|
|
358
396
|
"label": "power_target",
|
|
359
397
|
"help": "power_target_help",
|
|
360
|
-
"newLine":
|
|
398
|
+
"newLine": true,
|
|
361
399
|
"xs": 12,
|
|
362
400
|
"sm": 12,
|
|
363
401
|
"md": 6,
|
|
@@ -365,6 +403,85 @@
|
|
|
365
403
|
"xl": 6
|
|
366
404
|
}
|
|
367
405
|
}
|
|
406
|
+
},
|
|
407
|
+
"_help": {
|
|
408
|
+
"type": "panel",
|
|
409
|
+
"label": "helps",
|
|
410
|
+
"icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUuMDcsMTEuMjVMMTQuMTcsMTIuMTdDMTMuNDUsMTIuODkgMTMsMTMuNSAxMywxNUgxMVYxNC41QzExLDEzLjM5IDExLjQ1LDEyLjM5IDEyLjE3LDExLjY3TDEzLjQxLDEwLjQxQzEzLjc4LDEwLjA1IDE0LDkuNTUgMTQsOUMxNCw3Ljg5IDEzLjEsNyAxMiw3QTIsMiAwIDAsMCAxMCw5SDhBNCw0IDAgMCwxIDEyLDVBNCw0IDAgMCwxIDE2LDlDMTYsOS44OCAxNS42NCwxMC42NyAxNS4wNywxMS4yNU0xMywxOUgxMVYxN0gxM00xMiwyQTEwLDEwIDAgMCwwIDIsMTJBMTAsMTAgMCAwLDAgMTIsMjJBMTAsMTAgMCAwLDAgMjIsMTJDMjIsNi40NyAxNy41LDIgMTIsMloiIC8+PC9zdmc+",
|
|
411
|
+
"items": {
|
|
412
|
+
"intro": {
|
|
413
|
+
"type": "staticText",
|
|
414
|
+
"text": "intro_txt",
|
|
415
|
+
"newLine": true,
|
|
416
|
+
"sm": 10,
|
|
417
|
+
"xs": 10,
|
|
418
|
+
"md": 10,
|
|
419
|
+
"lg": 10,
|
|
420
|
+
"xl": 10,
|
|
421
|
+
"style": {
|
|
422
|
+
"marginBottom": "10px",
|
|
423
|
+
"fontSize": "24px"
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
"txtOne": {
|
|
427
|
+
"type": "staticText",
|
|
428
|
+
"text": "txt_one",
|
|
429
|
+
"newLine": true,
|
|
430
|
+
"xs": 12,
|
|
431
|
+
"sm": 12,
|
|
432
|
+
"md": 6,
|
|
433
|
+
"lg": 6,
|
|
434
|
+
"xl": 6,
|
|
435
|
+
"style": {
|
|
436
|
+
"marginTop": "50px",
|
|
437
|
+
"fontSize": "14px"
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
"txtTwo": {
|
|
441
|
+
"type": "staticText",
|
|
442
|
+
"text": "txt_two",
|
|
443
|
+
"newLine": true,
|
|
444
|
+
"xs": 12,
|
|
445
|
+
"sm": 12,
|
|
446
|
+
"md": 6,
|
|
447
|
+
"lg": 6,
|
|
448
|
+
"xl": 6,
|
|
449
|
+
"style": {
|
|
450
|
+
"marginTop": "50px",
|
|
451
|
+
"fontSize": "12px"
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
"outro": {
|
|
455
|
+
"type": "staticText",
|
|
456
|
+
"text": "<br>Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> • by skvarel",
|
|
457
|
+
"newLine": true,
|
|
458
|
+
"sm": 12,
|
|
459
|
+
"xs": 12,
|
|
460
|
+
"md": 12,
|
|
461
|
+
"lg": 12,
|
|
462
|
+
"xl": 12,
|
|
463
|
+
"style": {
|
|
464
|
+
"borderTop": "1px solid",
|
|
465
|
+
"borderRadius": "0px",
|
|
466
|
+
"marginTop": "50px",
|
|
467
|
+
"fontSize": "14px"
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"logo": {
|
|
471
|
+
"type": "staticImage",
|
|
472
|
+
"src": "inventwo.svg",
|
|
473
|
+
"newLine": true,
|
|
474
|
+
"sm": 1,
|
|
475
|
+
"xs": 1,
|
|
476
|
+
"md": 1,
|
|
477
|
+
"lg": 1,
|
|
478
|
+
"xl": 1,
|
|
479
|
+
"style": {
|
|
480
|
+
"marginTop": "5px",
|
|
481
|
+
"textAlign": "center"
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
368
485
|
}
|
|
369
486
|
}
|
|
370
487
|
}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "autodarts",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.3",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.6.3": {
|
|
7
|
+
"en": "Improved: Connection handling now uses `info.connection` and clearly marks the adapter as offline when the Autodarts Board Manager is not reachable (including better timeout/ECONNRESET handling).\nChanged: Reduced log noise when the board is offline – only one warning is logged when the connection is lost, subsequent timeouts are written as debug messages.\nImproved: Minor tweaks to the HELP & FAQ tab texts and configuration descriptions.",
|
|
8
|
+
"de": "Verbessert: Die Verbindungshandhabung nutzt jetzt `info.connection` und markiert den Adapter als offline, wenn der Autodarts Board Manager nicht erreichbar ist (einschließlich besserer Timeout/ECONNRESET Handling).\nGeändert: Reduziertes Log-Rausch, wenn das Board offline ist – nur eine Warnung wird eingeloggt, wenn die Verbindung verloren ist, werden nachfolgende Timeouts als Debug-Nachrichten geschrieben.\nVerbessert: Minor tweaks auf die Registerkarte HELP & FAQ Texte und Konfigurationsbeschreibungen.",
|
|
9
|
+
"ru": "Улучшенная: обработка соединения теперь использует «info.connection» и четко обозначает адаптер как автономный, когда до менеджера совета директоров Autodarts не достижимо (включая лучшую обработку тайм-аута / ECONNRESET).\nИзменилось: Сниженный лог-шум при отключении платы — регистрируется только одно предупреждение при потере соединения, последующие тайм-ауты записываются как сообщения отладки.\nУлучшение: Незначительные изменения в текстах вкладок HELP & FAQ и описаниях конфигурации.",
|
|
10
|
+
"pt": "Melhorado: O manuseio da conexão agora usa `info.connection` e marca claramente o adaptador como offline quando o Autodarts Board Manager não é acessível (incluindo melhor timeout/ECONNRESET).\nAlterado: Ruído de log reduzido quando o tabuleiro está offline – apenas um aviso é registrado quando a conexão é perdida, os prazos subsequentes são escritos como mensagens de depuração.\nMelhorado: Pequenos ajustes nos textos da aba Ajuda & FAQ e descrições de configuração.",
|
|
11
|
+
"nl": "Verbeterd: Verbindingsafhandeling maakt nu gebruik van .\nGewijzigd: Minder logruis wanneer het bord offline is .\nBeter: Kleine aanpassingen aan het HELP & FAQ-tabblad teksten en configuratiebeschrijvingen.",
|
|
12
|
+
"fr": "Amélioration : La gestion de la connexion utilise désormais `info.connection` et marque clairement l'adaptateur comme hors ligne lorsque le gestionnaire de conseil d'administration Autodarts n'est pas accessible (y compris une meilleure gestion timeout/ECONNESET).\nChangement : Diminution du bruit de log lorsque la carte est hors ligne – un seul avertissement est enregistré lorsque la connexion est perdue, les timeouts ultérieurs sont écrits comme des messages de débogage.\nAmélioration : Modifications mineures aux textes de l'onglet HELP & FAQ et aux descriptions de configuration.",
|
|
13
|
+
"it": "Migliorata: la gestione della connessione utilizza ora `info.connection` e contrassegna chiaramente l'adattatore come offline quando il Manager di bordo di Autodarts non è raggiungibile (compreso il timeout migliore / ECONNRESET di gestione).\nCambiato: Riduzione del rumore di registro quando la scheda è offline – solo un avviso viene registrato quando la connessione viene persa, i timeout successivi vengono scritti come messaggi di debug.\nMigliorato: Tagli minori ai testi della scheda HELP & FAQ e descrizioni delle configurazioni.",
|
|
14
|
+
"es": "Mejorado: el manejo de conexión ahora utiliza 'info.connection' y claramente marca el adaptador como offline cuando el Administrador de la Junta de Autodarts no es accesible (incluyendo un mejor tiempo / manejo de ECNNRESET).\nCambio: El ruido de registro reducido cuando el tablero está fuera de línea – sólo una advertencia se registra cuando la conexión se pierde, los plazos posteriores se escriben como mensajes de depuración.\nMejorado: Ajustes menores a los textos de pestañas HELP & FAQ y descripciones de configuración.",
|
|
15
|
+
"pl": "Ulepszone: Obsługa połączeń używa teraz 'info.connection' i wyraźnie oznacza, że adapter jest offline, gdy menedżer Zarządu Autodarts nie jest osiągalny (w tym lepszy czas / obsługa ECONNRESET).\nZmieniono: Zmniejszony hałas logowania, gdy deska jest offline - tylko jedno ostrzeżenie jest logowane, gdy połączenie jest utracone, kolejne timeout są zapisywane jako wiadomości debugowania.\nPoprawa: Drobne poprawki do tekstów zakładek HELP & FAQ i opisów konfiguracji.",
|
|
16
|
+
"uk": "Удосконалено: З'єднання, що працює зараз, використовує `info.connection` і чітко позначається перехідник в автономному режимі, коли Менеджер по роботі з клієнтами Autodarts не досягається (включаючи кращий час / ECONNRESET).\nЗмінено: Зменшення шуму логіну, коли плата відсутня – тільки одна попередження ввійде, коли з'єднання втрачено, подальші часові маршрути письмові як дебвугові повідомлення.\nПокращений: Ми можемо самі зателефонувати одержувачу і узгодити зручний час.",
|
|
17
|
+
"zh-cn": "改进:连接处理现在使用“info.connection”,并在自动调试板管理员无法到达时(包括更好的超时/ECONRESET处理)将适配器明确标记为离线.\n已更改 : 当棋盘下线时减少日志噪声——当连接丢失时只记录一个警告,随后的超时被写成调试消息.\n改进: 微调到 Help & FAQ 标签文本和配置描述 ."
|
|
18
|
+
},
|
|
19
|
+
"0.6.2": {
|
|
20
|
+
"en": "Improved: Settings page reworked to use three tabs (`OPTIONS`, `MAPPINGS` and `HELP & FAQ`) for better clarity.",
|
|
21
|
+
"de": "Verbessert: Einstellungen Seite neu bearbeitet, um drei Registerkarten (`OPTIONS`, `MAPPINGS` und `HELP & FAQ`) für bessere Klarheit zu verwenden.",
|
|
22
|
+
"ru": "Улучшенная: страница настроек, переработанная для использования трех вкладок («ВЫБОРЫ», «МАППИНГЫ» и «HELP & FAQ») для большей ясности.",
|
|
23
|
+
"pt": "Melhorado: Página de configurações retrabalhada para usar três abas (`OPTIONS', `APPPINGS' e `HELP & FAQ`) para melhor clareza.",
|
|
24
|
+
"nl": "Verbeterd: De pagina Instellingen herwerkt om drie tabbladen te gebruiken voor een betere helderheid.",
|
|
25
|
+
"fr": "Amélioration : La page Paramètres a été retravaillée pour utiliser trois onglets (`OPTIONS`, `MAPPINGS` et `HELP & FAQ`) pour une meilleure clarté.",
|
|
26
|
+
"it": "Migliorato: Impostazioni pagina rielaborata per utilizzare tre schede (`OPTIONS`, `MAPPINGS` e `HELP & FAQ`) per una migliore chiarezza.",
|
|
27
|
+
"es": "Mejorado: la página Ajustes se reelaboró para utilizar tres pestañas ( \" OPCIONES \" , \" MAPPINGS \" y \" HELP \" FAQ \" ) para mayor claridad.",
|
|
28
|
+
"pl": "Ulepszone: Strona ustawień przepracowała użycie trzech kart (\"OPTIONS\", \"MAPPINGS\" i \"HELP & FAQ\") dla większej jasności.",
|
|
29
|
+
"uk": "Удосконалено: Настроювання сторінки, що перетворюються на використання трьох вкладок (`OPTIONS`, `MAPPINGS` та `HELP & FAQ`) для кращої чіткості.",
|
|
30
|
+
"zh-cn": "改进:重新编译了设置页,以使用三个标签(`OPTIONS ' 、`MAPPINGS ' 和`HELP & FAQ` ' ),以便更加清晰."
|
|
31
|
+
},
|
|
6
32
|
"0.6.1": {
|
|
7
33
|
"en": "New: Settings page reworked to use two tabs (`OPTIONS` and `MAPPINGS`) for better clarity.\nNew: Mapping of ioBroker objects for board light and board power in the **MAPPINGS** tab.\nImproved: Layout of the configuration page (field widths, spacing, texts) for a more symmetric and clean UI.\nImproved: Updated option descriptions in the admin UI.",
|
|
8
34
|
"de": "Neu: Einstellungen Seite neu bearbeitet, um zwei Registerkarten (`OPTIONS` und `MAPPINGS`) für bessere Klarheit zu verwenden.\nNeu: Mapping von ioBroker Objekten für Board-Licht und Board-Power im **MAPPINGS** Tab.\nVerbessert: Layout der Konfigurationsseite (Feldbreiten, Abstand, Texte) für eine symmetrischere und sauberere UI.\nVerbessert: Aktualisierte Optionsbeschreibungen im Admin UI.",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Zmienione: Przekształcone informacje systemowe na dedykowane kanały \"system.hardware\", \"system.software\" i \"system.cams\".\nDodano: nowe stany informatyczne oprogramowania ('desktopVersion', 'boardVersion', 'platform', 'os') oraz stany informacyjne sprzętu ('kernelArch', 'cpuModel', 'hostname').\nDodano: Konfiguracja kamery stanowi system.cams.cam0 / 1 / 2 'zawierający JSON o szerokości, wysokości i fps.\nZmieniona: Konfiguracja adaptera dla interwałów wyborczych i potrójnych progów wyzwalających jest teraz w pełni napędzana przez jsonConfig (zrzuty i pola liczbowe).\nUsunięty: Experimental light / power alias mapowanie z wewnętrznej logiki (nie została wydana żadna widoczna funkcja użytkownika).",
|
|
68
94
|
"uk": "Змінено: Реструктуризація інформації про систему у виділених `system.hardware`, `system.software` та `system.cams`.\nДодано: Нові інформаційні стани програмного забезпечення (`desktopVersion`, `boardVersion`, `platform`, `os`) та апаратні засоби (`kernelArch`, `cpuModel`, `hostname`).\nДодано: Налаштування камери стани `system.cams.cam0/1/2`, що містять JSON з шириною, висотою і fps.\nЗмінено: Налаштування адаптера для інтервалу опитування та потрійних порогів тригера тепер повністю керована за допомогою jsonConfig (розгортання та кількість полів).\nВидалено: Експериментальні джерела світла/power alias з внутрішньої логіки (без функції користувача).",
|
|
69
95
|
"zh-cn": "更改:将系统信息结构改为专用的`系统.硬件'、`系统.软件'和`系统.摄像头'频道.\n添加:新的软件信息状态(`台式计算机Version'、`boardVersion'、`平台'、`os')和硬件信息状态(`内核Arch'、`cpuModel'、`hostname').\n添加:相机配置为`system.cams.cam0/1/2',内含JSON,宽度,高度和fps.\n更改:用于投票间隔和三重触发阈值的适配器配置现在通过jsonConfig(滴落和数字字段)完全驱动.\n删除:实验光/功率别名从内部逻辑映射(没有发布用户可见特性)."
|
|
70
|
-
},
|
|
71
|
-
"0.3.3": {
|
|
72
|
-
"en": "Changed: Configuration fields interval and triggerReset now use seconds instead of milliseconds in the admin UI.",
|
|
73
|
-
"de": "Geändert: Konfiguration Felder Intervall und TriggerReset verwenden jetzt Sekunden statt Millisekunden im Admin UI.",
|
|
74
|
-
"ru": "Изменение: интервалы полей конфигурации и триггер сброс теперь используют секунды вместо миллисекунд в пользовательском интерфейсе администратора.",
|
|
75
|
-
"pt": "Modificado: Intervalo de campos de configuração e gatilhoReset agora use segundos em vez de milissegundos na interface de administração.",
|
|
76
|
-
"nl": "Gewijzigd: Configuratievelden interval en triggerReset gebruikt nu seconden in plaats van milliseconden in de admin UI.",
|
|
77
|
-
"fr": "Changed: Champs de configuration intervalle et triggerReset maintenant utiliser secondes au lieu de millisecondes dans l'interface utilisateur admin.",
|
|
78
|
-
"it": "Modificato: intervallo di campi di configurazione e triggerReset ora utilizzare secondi invece di millisecondi nell'interfaccia utente di amministrazione.",
|
|
79
|
-
"es": "Cambio: intervalo de campos de configuración y gatilloReset ahora use segundos en lugar de milisegundos en la interfaz de administración.",
|
|
80
|
-
"pl": "Zmieniony: Przedział pól konfiguracyjnych i tryggerReset używają teraz sekund zamiast milisekund w interfejsu administratora.",
|
|
81
|
-
"uk": "Змінено: інтервал конфігураційних полів і тригерЗмінити зараз за допомогою секунд замість мілісекундів в адмін UI.",
|
|
82
|
-
"zh-cn": "已更改: 配置字段间隔和触发 Reset 现在在管理员UI中使用秒而不是毫秒 ."
|
|
83
|
-
},
|
|
84
|
-
"0.3.2": {
|
|
85
|
-
"en": "**ENHANCED**: Fixed all TypeScript type errors by adding proper type definitions for config properties\n**ENHANCED**: Refactored HTTP request handling - created reusable httpHelper module to eliminate code duplication\n**ENHANCED**: Converted HTTP callback-based requests to async/await pattern for better error handling\n**ENHANCED**: Improved connection state logging - now logs when connection is restored after being offline\n**ENHANCED**: Standardized async/await usage across all state change handlers for consistency\n**FIXED**: Removed unused error variable in fetchVersion method\n**FIXED**: Added proper error type checking in fetchConfig to prevent runtime errors\n**TESTING**: Added comprehensive unit tests for httpHelper module covering success, timeout, and error scenarios",
|
|
86
|
-
"de": "**ENHANCED**: Alle TypeScript-Typfehler behoben, indem richtige Typendefinitionen für config-Eigenschaften hinzugefügt wurden\n**ENHANCED**: Refactored HTTP Request Handling - erstelltes wiederverwendbares httpHelper Modul zur Beseitigung der Codevervielfachung\n**ENHANCED**: Konvertierte HTTP-Requests auf async/await-Muster für eine bessere Fehlerbehandlung\n**ENHANCED**: Verbesserte Verbindungszustandsprotokollierung - protokolliert nun, wenn die Verbindung nach Offline wiederhergestellt wird\n**ENHANCED**: Standardisierte async/await Nutzung über alle State Change-Handler für Konsistenz\n**FIXED**: Ungenutzte Fehlervariable in fetchVersion Methode entfernt\n**FIXED**: Es wurde eine ordnungsgemäße Fehlersuche im fetchConfig hinzugefügt, um Laufzeitfehler zu verhindern\n**TESTING**: Ergänzende Unit-Tests für das httpHelper-Modul für Erfolgs-, Timeout- und Fehlerszenarien",
|
|
87
|
-
"ru": "** УСТАНОВЛЕНО**: исправлены все ошибки типа TypeScript путем добавления правильных определений типа для свойств конфигурации\n**УДАЛЕН**: Рефакторированная обработка HTTP-запросов - создан многоразовый модуль httpHelper для устранения дублирования кода\n** УВЕДОМЛЕН**: преобразованные HTTP-запросы на основе обратного вызова для улучшения обработки ошибок\n** ВОССТАНОВЛЕНИЕ**: Улучшенная регистрация состояния соединения - теперь журналы, когда соединение восстанавливается после автономного подключения\n** УСТАНОВЛЕНО**: Стандартизированное использование асинхронизации/ожиданий для всех обработчиков изменений состояния\n**FIXED**: Удаление неиспользуемой переменной ошибки в методе fetchVersion\n**FIXED**: добавлена правильная проверка типа ошибки в fetchConfig для предотвращения ошибок во время выполнения\n** Тестирование**: добавлены комплексные единичные тесты для модуля httpHelper, охватывающие сценарии успеха, тайм-аута и ошибок",
|
|
88
|
-
"pt": "**Enhanced**: Corrigido todos os erros de tipo TypeScript adicionando definições de tipo adequadas para as propriedades de configuração\n**ENHANCED**: Refactored HTTP request handling - created reutilizable httpHelper module to elimine code duplication\n**ENHANCED**: Requisições baseadas em callback HTTP convertidas para o padrão assync/await para melhor manipulação de erros\n**Enhanced**: Registro melhorado do estado da conexão - agora registra quando a conexão é restaurada após estar offline\n**ENHANCED**: Uso padrão de assync/await em todos os manipuladores de mudança de estado para consistência\n**FIXED**: Variável de erro não utilizada removida no método fetchVersion\n**FIXED**: Adicionado o tipo de erro correto verificando no fetchConfig para evitar erros de execução\n**TESTING**: Adicionados testes unitários abrangentes para o módulo httpHelper cobrindo cenários de sucesso, tempo e erro",
|
|
89
|
-
"nl": "**ENHANCED**: Fixed all TypeScript type fouten door het toevoegen van juiste type definities voor config eigenschappen\n**ENHANKELIJK**: Refactored HTTP request handling - herbruikbare httpHelper module gemaakt om code duplicatie te elimineren\n**ENHANCED**: Converted HTTP callback-gebaseerde verzoeken om async/wacht patroon voor betere foutafhandeling\n**ENHANCED**: Verbeterde verbindingstoestand logging - nu logt wanneer de verbinding wordt hersteld na offline zijn\n** ANTWOORD**: Gestandaardiseerd async/wacht gebruik in alle state change handlers voor consistentie\n** VAST**: Verwijderde ongebruikte fout variabele in fetchVersie methode\n** VAST**: Toegevoegd juiste fout type controleren in fetchConfig om runtime fouten te voorkomen\n**TESTING**: Toegevoegd uitgebreide unit testen voor httpHelper module over succes, timeout, en fout scenario's",
|
|
90
|
-
"fr": "**ENHANCED**: Correction de toutes les erreurs de type TypeScript en ajoutant des définitions de type appropriées pour les propriétés de configuration\n**ENHANDED**: Refactored HTTP request handling - créé module httpHelper réutilisable pour éliminer la duplication de code\n**ENHANCED**: Converti les requêtes basées sur le callback HTTP en modèle async/attendit pour une meilleure gestion des erreurs\n**ENHANCED**: Amélioration de l'enregistrement d'état de connexion - logs maintenant lorsque la connexion est restaurée après être hors ligne\n**CHANGE**: utilisation normalisée async/attendue dans tous les gestionnaires de changement d'état pour une cohérence\n**FIXED**: Supprimé la variable d'erreur inutilisée dans la méthode fetchVersion\n**FIXED**: Ajout d'une vérification de type d'erreur dans fetchConfig pour prévenir les erreurs d'exécution\n**TESTING**: Ajout de tests unitaires complets pour le module httpHelper couvrant les scénarios de succès, de délai et d'erreur",
|
|
91
|
-
"it": "**ENHANCED**: Risolto tutti gli errori di tipo TypeScript aggiungendo definizioni di tipo corrette per proprietà di configurazione\n**ENHANCED**: Refactored HTTP request handling - creato modulo httpHelper riutilizzabile per eliminare la duplicazione di codice\n**ENHANCED**: Le richieste basate su callback HTTP convertite in un modello asinc/aspettato per una migliore gestione degli errori\n**ENHANCED**: Registrazione dello stato di connessione migliorata - ora i log quando la connessione viene ripristinata dopo essere offline\n**ENHANCED**: Uso standardizzato asinc/aspettato in tutti i maneggiatori di cambio di stato per consistenza\n**FIXED**: Rimossa variabile di errore non utilizzata nel metodo fetchVersion\n**FIXED**: Aggiunta il corretto tipo di errore di controllo in fetchConfig per evitare errori runtime\n**TESTING**: Aggiunti test unitari completi per il modulo httpHelper che copre il successo, il timeout e gli scenari di errore",
|
|
92
|
-
"es": "**ENHANCED**: Arregla todos los errores tipo TipoScript añadiendo definiciones adecuadas para propiedades de configuración\n**ENHANCED**: Refactored HTTP request handling - creó el módulo httpHelper reutilizable para eliminar la duplicación de códigos\n**ENHANCED**: Solicitudes convertidas basadas en llamadas HTTP a async/await patrón para un mejor manejo de errores\n**ENHANCED**: Mejora de la conexión de registro de estado - ahora registros cuando la conexión se restaura después de estar fuera de línea\n**ENHANCED**: El uso estandarizado async/await en todos los manejadores del cambio estatal para la consistencia\n**FIXED**: Retire la variable de error no utilizado en el método fetchVersion\n**FIXED**: Añadido el tipo de error correcto en fetchConfig para evitar errores de tiempo de ejecución\n** Notas**: Se agregaron pruebas de unidad completas para el módulo httpHelper que abarcan el éxito, el tiempo y los escenarios de error",
|
|
93
|
-
"pl": "* *ENHANCED* *: Naprawiono wszystkie błędy typu TypeScript poprzez dodanie właściwych definicji typów dla właściwości konfiguracyjnych \n* *ENHANCED* *: Refactored HTTP request handling - created realisable httpHelper module to elimination code duplication \n* *ENHANCED* *: Konwertowany HTTP połączeń backback prośby async / czekać wzór dla lepszej obsługi błędów \n* *ENHANCED* *: Ulepszone logowanie stanu połączenia - teraz loguje się, gdy połączenie jest przywrócone po offline \n* *ENHANCED* *: Standaryzowane async / czekać na wykorzystanie we wszystkich stanowych opiekunów zmian dla spójności \n* *FIXED* *: Usunięto nieużywaną zmienną błędu w metodzie fetchVersion \n* *FIXED* *: Dodano poprawny typ błędu sprawdzający w fetchConfig, aby zapobiec błędom w runtime \n* *TESTING* *: Dodano kompleksowe testy jednostkowe dla modułu httpHelper obejmujące sukcesy, timeout i scenariusze błędów ",
|
|
94
|
-
"uk": "**ENHANCED**: Виправлено всі помилки типу TypeScript, додаючи правильні визначення типу для властивостей конфігурації\n**ENHANCED**: Перефакторований HTTP-запитування - створений багаторазовий модуль HTTPHelper для усунення дублікатів коду\n**ENHANCED**: Конвертовані запити на основі HTTP-повідомлень на основі async/await для кращої обробки помилок\n**ENHANCED***: Покращується з'єднання держреєстрації - тепер журнали, коли з'єднання відновлюється після офлайн\n**ENHANCED***: стандартизоване використання async/await у всіх ручках зі змінами стану для консистенції\n**FIXED**: Видалено невикористану змінну помилку в методі fetchVersion\n**FIXED***: Додано належну перевірку типу помилки в fetchConfig, щоб запобігти помилки часу\n**TESTING***: Додано комплексні тести для модуля httpHelper, що охоплює успіхи, часовий час та сценарії помилок",
|
|
95
|
-
"zh-cn": "** ENHANCED**:通过添加适当的配置属性类型定义来固定所有类型脚本类型错误\n** ENHANCED **: 重置了 HTTP 请求处理 - 创建了可重复使用的 httpHelper 模块,以消除代码重复\n** ENHANCED**: 将基于 HTTP 回调请求转换为同步/等待模式,以更好地处理错误\n** ENHANCED **: 连接状态记录的改进 -- -- 下线后恢复连接时的日志\n** ENHANCED**:所有州变化处理器的标准化合成/等待使用,以保持一致\n** FIXED**:删除了拾取Version 方法中的未使用错误变量\n** FIXED**:在获取中添加适当的错误类型检查Config以防止运行时间错误\n** TESTING**:为httpHelper模块添加了涵盖成功、超时和错误情景的综合单元测试"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -14,11 +14,15 @@ class Autodarts extends utils.Adapter {
|
|
|
14
14
|
name: "autodarts",
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
+
this.isConnected = false;
|
|
18
|
+
this.pollTimer = null;
|
|
19
|
+
this.onlineIntervalMs = 1000; // Platzhalter, wird in onReady gesetzt
|
|
20
|
+
this.offlineIntervalMs = 60000; // z.B. 60 s
|
|
21
|
+
|
|
17
22
|
this.on("ready", this.onReady.bind(this));
|
|
18
23
|
this.on("stateChange", this.onStateChange.bind(this));
|
|
19
24
|
this.on("unload", this.onUnload.bind(this));
|
|
20
25
|
|
|
21
|
-
this.pollTimer = null;
|
|
22
26
|
this.lastThrowsCount = 0; // Anzahl Darts im aktuellen Visit
|
|
23
27
|
this.lastSignature = ""; // Verhindert doppelte Verarbeitung gleicher Würfe
|
|
24
28
|
this.offline = false;
|
|
@@ -35,6 +39,20 @@ class Autodarts extends utils.Adapter {
|
|
|
35
39
|
async onReady() {
|
|
36
40
|
this.log.info("Autodarts adapter started");
|
|
37
41
|
|
|
42
|
+
// Initial connection state
|
|
43
|
+
await this.extendObjectAsync("info.connection", {
|
|
44
|
+
type: "state",
|
|
45
|
+
common: {
|
|
46
|
+
name: "Connected to Autodarts Board Manager",
|
|
47
|
+
type: "boolean",
|
|
48
|
+
role: "indicator.connected",
|
|
49
|
+
read: true,
|
|
50
|
+
write: false,
|
|
51
|
+
},
|
|
52
|
+
native: {},
|
|
53
|
+
});
|
|
54
|
+
await this.setStateAsync("info.connection", false, true);
|
|
55
|
+
|
|
38
56
|
// Defaults aus io-package.json absichern
|
|
39
57
|
this.config.host ??= "127.0.0.1";
|
|
40
58
|
this.config.port ??= 3180;
|
|
@@ -42,6 +60,8 @@ class Autodarts extends utils.Adapter {
|
|
|
42
60
|
this.config.tripleMinScore ??= 1;
|
|
43
61
|
this.config.tripleMaxScore ??= 20;
|
|
44
62
|
this.config.triggerResetSec ??= 0; // 0 = kein Auto-Reset
|
|
63
|
+
// Polling-Intervall aus Sekunden in Millisekunden berechnen
|
|
64
|
+
this.onlineIntervalMs = (Number(this.config.intervalSec) || 1) * 1000;
|
|
45
65
|
|
|
46
66
|
// Visit-Struktur anlegen (ausgelagert)
|
|
47
67
|
await visit.init(this);
|
|
@@ -440,12 +460,8 @@ class Autodarts extends utils.Adapter {
|
|
|
440
460
|
this.lastThrowsCount = 0;
|
|
441
461
|
this.lastSignature = "";
|
|
442
462
|
|
|
443
|
-
// Polling-Intervall aus Sekunden in Millisekunden umrechnen
|
|
444
|
-
const pollIntervalMs = (Number(this.config.intervalSec) || 1) * 1000;
|
|
445
|
-
|
|
446
463
|
// Polling starten
|
|
447
|
-
this.
|
|
448
|
-
this.fetchState();
|
|
464
|
+
this.pollLoop();
|
|
449
465
|
|
|
450
466
|
// Host-Informationen und Kameras abfragen und alle 5 Minuten aktualisieren
|
|
451
467
|
this.fetchHost();
|
|
@@ -553,11 +569,14 @@ class Autodarts extends utils.Adapter {
|
|
|
553
569
|
const data = await httpHelper.makeRequest(this, "/api/state");
|
|
554
570
|
|
|
555
571
|
// Log wenn Verbindung wiederhergestellt wurde
|
|
556
|
-
if (this.offline) {
|
|
572
|
+
if (this.offline || !this.isConnected) {
|
|
557
573
|
this.log.info("Autodarts connection restored");
|
|
558
574
|
}
|
|
559
575
|
this.offline = false;
|
|
560
|
-
|
|
576
|
+
this.isConnected = true;
|
|
577
|
+
|
|
578
|
+
await this.setStateAsync("online", true, true); // eigener Online-State
|
|
579
|
+
await this.setStateAsync("info.connection", true, true); // Admin-Status
|
|
561
580
|
|
|
562
581
|
try {
|
|
563
582
|
const state = JSON.parse(data);
|
|
@@ -601,15 +620,46 @@ class Autodarts extends utils.Adapter {
|
|
|
601
620
|
await this.setStateAsync("online", true, true);
|
|
602
621
|
}
|
|
603
622
|
} catch (error) {
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
623
|
+
const msg = error?.message || String(error);
|
|
624
|
+
const code = error?.code;
|
|
625
|
+
|
|
626
|
+
const isNetErr =
|
|
627
|
+
code === "ECONNREFUSED" ||
|
|
628
|
+
code === "ETIMEDOUT" ||
|
|
629
|
+
code === "EHOSTUNREACH" ||
|
|
630
|
+
msg.includes("timeout") ||
|
|
631
|
+
msg.includes("ECONNRESET");
|
|
632
|
+
|
|
633
|
+
if (isNetErr) {
|
|
634
|
+
if (!this.offline) {
|
|
635
|
+
this.log.warn(`Autodarts not reachable (Board Manager offline or wrong IP): ${msg}`);
|
|
636
|
+
this.offline = true;
|
|
637
|
+
} else {
|
|
638
|
+
this.log.debug(`Autodarts still offline: ${msg}`);
|
|
639
|
+
}
|
|
640
|
+
} else {
|
|
641
|
+
this.log.error(`Autodarts request failed: ${msg}`);
|
|
607
642
|
}
|
|
608
|
-
|
|
609
|
-
|
|
643
|
+
|
|
644
|
+
this.isConnected = false;
|
|
645
|
+
await trafficLight.setStatus(this, "red");
|
|
646
|
+
await this.setStateAsync("online", false, true);
|
|
647
|
+
await this.setStateAsync("info.connection", false, true);
|
|
610
648
|
}
|
|
611
649
|
}
|
|
612
650
|
|
|
651
|
+
scheduleNextPoll() {
|
|
652
|
+
const delay = this.isConnected ? this.onlineIntervalMs : this.offlineIntervalMs;
|
|
653
|
+
this.pollTimer = this.setTimeout(() => this.pollLoop(), delay);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
async pollLoop() {
|
|
657
|
+
await this.fetchState().catch(() => {
|
|
658
|
+
// Fehler werden in fetchState geloggt
|
|
659
|
+
});
|
|
660
|
+
this.scheduleNextPoll();
|
|
661
|
+
}
|
|
662
|
+
|
|
613
663
|
/**
|
|
614
664
|
* Board-Konfiguration abfragen (Kameras)
|
|
615
665
|
*/
|
|
@@ -701,7 +751,7 @@ class Autodarts extends utils.Adapter {
|
|
|
701
751
|
onUnload(callback) {
|
|
702
752
|
try {
|
|
703
753
|
if (this.pollTimer) {
|
|
704
|
-
|
|
754
|
+
clearTimeout(this.pollTimer);
|
|
705
755
|
}
|
|
706
756
|
if (this.versionTimer) {
|
|
707
757
|
clearInterval(this.versionTimer);
|