iobroker.autodarts 0.6.3 → 0.7.0
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 +4 -0
- package/admin/i18n/de.json +1 -0
- package/admin/i18n/en.json +2 -1
- package/admin/i18n/es.json +1 -0
- package/admin/i18n/fr.json +1 -0
- package/admin/i18n/it.json +1 -0
- package/admin/i18n/nl.json +1 -0
- package/admin/i18n/pl.json +1 -0
- package/admin/i18n/pt.json +1 -0
- package/admin/i18n/ru.json +1 -0
- package/admin/i18n/uk.json +1 -0
- package/admin/i18n/zh-cn.json +1 -0
- package/admin/jsonConfig.json +42 -19
- package/io-package.json +14 -14
- package/main.js +39 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,6 +31,7 @@ Connects to your local Autodarts Board Manager (via IP and port, e.g. `192.168.x
|
|
|
31
31
|
- **`throw.isMiss`**: Boolean flag that is true when the dart does not hit any valid scoring segment (pure miss, no score)
|
|
32
32
|
|
|
33
33
|
### Board Status
|
|
34
|
+
- **`status.boardStatus`**: Status indicator of board event (e.g. `"Stopped"`, `"Calibration finished"`, `"Started"`).
|
|
34
35
|
- **`status.trafficLightColor`**: HEX color of current board status
|
|
35
36
|
- **`status.trafficLightState`**: Status indicator
|
|
36
37
|
- `green` = Player may throw
|
|
@@ -116,6 +117,9 @@ In **HELP & FAQ** you will find general information and help about the adapter a
|
|
|
116
117
|
<!--
|
|
117
118
|
### **WORK IN PROGRESS**
|
|
118
119
|
-->
|
|
120
|
+
### 0.7.0 (2025-12-31)
|
|
121
|
+
- Added: New `status.boardStatus` state. Status indicator of board event (e.g. `"Stopped"`, `"Calibration finished"`, `"Started"`).
|
|
122
|
+
|
|
119
123
|
### 0.6.3 (2025-12-30)
|
|
120
124
|
- (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
125
|
- (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.
|
package/admin/i18n/de.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Optionen",
|
|
16
16
|
"options_connection": "Verbindungsoptionen",
|
|
17
17
|
"options_logic": "Logikoptionen",
|
|
18
|
+
"paypal_donate": "Falls du uns unterstützen möchtest.",
|
|
18
19
|
"polling": "Abfrageintervall (s)",
|
|
19
20
|
"polling_help": "Abfrageintervall in Sekunden zum Abrufen von Daten vom Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "Power-Datenpunkt",
|
package/admin/i18n/en.json
CHANGED
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"helps": "Help & FAQ",
|
|
29
29
|
"txt_two": "... more information coming soon!",
|
|
30
30
|
"light_target_brightness": "LED-Target Brightness ID",
|
|
31
|
-
"light_target_color": "LED-Target Color ID"
|
|
31
|
+
"light_target_color": "LED-Target Color ID",
|
|
32
|
+
"paypal_donate": "Donate with PayPal"
|
|
32
33
|
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Opciones",
|
|
16
16
|
"options_connection": "Opciones de conexión",
|
|
17
17
|
"options_logic": "Opciones lógicas",
|
|
18
|
+
"paypal_donate": "Donar con PayPal",
|
|
18
19
|
"polling": "Intervalo(s) de sondeo",
|
|
19
20
|
"polling_help": "Intervalo de sondeo en segundos para recuperar datos del Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "ID de alimentación del objetivo LED",
|
package/admin/i18n/fr.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Possibilités",
|
|
16
16
|
"options_connection": "Options de connexion",
|
|
17
17
|
"options_logic": "Options logiques",
|
|
18
|
+
"paypal_donate": "Faites un don avec PayPal",
|
|
18
19
|
"polling": "Intervalle(s) d'interrogation",
|
|
19
20
|
"polling_help": "Intervalle d'interrogation en secondes pour récupérer les données de l'Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "ID de puissance cible LED",
|
package/admin/i18n/it.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Opzioni",
|
|
16
16
|
"options_connection": "Opzioni di connessione",
|
|
17
17
|
"options_logic": "Opzioni logiche",
|
|
18
|
+
"paypal_donate": "Dona con PayPal",
|
|
18
19
|
"polling": "Intervallo di polling (s)",
|
|
19
20
|
"polling_help": "Intervallo di polling in secondi per recuperare i dati da Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "ID alimentazione target LED",
|
package/admin/i18n/nl.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Opties",
|
|
16
16
|
"options_connection": "Verbindingsopties",
|
|
17
17
|
"options_logic": "Logische opties",
|
|
18
|
+
"paypal_donate": "Doneer met PayPal",
|
|
18
19
|
"polling": "Polling-interval (s)",
|
|
19
20
|
"polling_help": "Polling-interval in seconden om gegevens uit de Autodarts Boardmanager op te halen.",
|
|
20
21
|
"power_target": "LED-doelvoedings-ID",
|
package/admin/i18n/pl.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Opcje",
|
|
16
16
|
"options_connection": "Opcje połączenia",
|
|
17
17
|
"options_logic": "Opcje logiczne",
|
|
18
|
+
"paypal_donate": "Przekaż darowiznę za pomocą PayPal",
|
|
18
19
|
"polling": "Interwał odpytywania (s)",
|
|
19
20
|
"polling_help": "Interwał odpytywania w sekundach w celu pobrania danych z menedżera Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "Identyfikator mocy docelowej LED",
|
package/admin/i18n/pt.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Opções",
|
|
16
16
|
"options_connection": "Opções de conexão",
|
|
17
17
|
"options_logic": "Opções lógicas",
|
|
18
|
+
"paypal_donate": "Doe com PayPal",
|
|
18
19
|
"polling": "Intervalo(s) de pesquisa",
|
|
19
20
|
"polling_help": "Intervalo de pesquisa em segundos para recuperar dados do Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "ID de energia do alvo LED",
|
package/admin/i18n/ru.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Параметры",
|
|
16
16
|
"options_connection": "Варианты подключения",
|
|
17
17
|
"options_logic": "Логические параметры",
|
|
18
|
+
"paypal_donate": "Пожертвовать через PayPal",
|
|
18
19
|
"polling": "Интервал опроса (с)",
|
|
19
20
|
"polling_help": "Интервал опроса в секундах для получения данных из Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "Идентификатор мощности светодиодной мишени",
|
package/admin/i18n/uk.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"options": "Опції",
|
|
16
16
|
"options_connection": "Параметри підключення",
|
|
17
17
|
"options_logic": "Параметри логіки",
|
|
18
|
+
"paypal_donate": "Пожертвуйте за допомогою PayPal",
|
|
18
19
|
"polling": "Інтервал опитування (с)",
|
|
19
20
|
"polling_help": "Інтервал опитування в секундах для отримання даних із Autodarts Boardmanager.",
|
|
20
21
|
"power_target": "LED-Target Power ID",
|
package/admin/i18n/zh-cn.json
CHANGED
package/admin/jsonConfig.json
CHANGED
|
@@ -275,6 +275,10 @@
|
|
|
275
275
|
"help": "polling_help",
|
|
276
276
|
"default": 1,
|
|
277
277
|
"options": [
|
|
278
|
+
{
|
|
279
|
+
"label": "0.25 s",
|
|
280
|
+
"value": 0.25
|
|
281
|
+
},
|
|
278
282
|
{
|
|
279
283
|
"label": "0.5 s",
|
|
280
284
|
"value": 0.5
|
|
@@ -451,34 +455,53 @@
|
|
|
451
455
|
"fontSize": "12px"
|
|
452
456
|
}
|
|
453
457
|
},
|
|
458
|
+
"logo": {
|
|
459
|
+
"type": "staticImage",
|
|
460
|
+
"src": "inventwo.svg",
|
|
461
|
+
"newLine": true,
|
|
462
|
+
"sm": 0.5,
|
|
463
|
+
"xs": 0.5,
|
|
464
|
+
"md": 0.5,
|
|
465
|
+
"lg": 0.5,
|
|
466
|
+
"xl": 0.5,
|
|
467
|
+
"style": {
|
|
468
|
+
"marginTop": "50px"
|
|
469
|
+
}
|
|
470
|
+
},
|
|
454
471
|
"outro": {
|
|
455
472
|
"type": "staticText",
|
|
456
|
-
"text": "
|
|
473
|
+
"text": "Team inventwo • <a href=\"https://github.com/inventwo\">https://github.com/inventwo</a> • by skvarel",
|
|
457
474
|
"newLine": true,
|
|
458
|
-
"sm":
|
|
459
|
-
"xs":
|
|
460
|
-
"md":
|
|
461
|
-
"lg":
|
|
462
|
-
"xl":
|
|
475
|
+
"sm": 3,
|
|
476
|
+
"xs": 3,
|
|
477
|
+
"md": 3,
|
|
478
|
+
"lg": 3,
|
|
479
|
+
"xl": 3,
|
|
463
480
|
"style": {
|
|
464
481
|
"borderTop": "1px solid",
|
|
465
|
-
"
|
|
466
|
-
"marginTop": "
|
|
467
|
-
"
|
|
482
|
+
"borderColor": "",
|
|
483
|
+
"marginTop": "0px",
|
|
484
|
+
"paddingTop": "5px",
|
|
485
|
+
"fontSize": "14px",
|
|
486
|
+
"textAlign": "left"
|
|
468
487
|
}
|
|
469
488
|
},
|
|
470
|
-
"
|
|
471
|
-
"type": "
|
|
472
|
-
"
|
|
489
|
+
"payPal": {
|
|
490
|
+
"type": "staticLink",
|
|
491
|
+
"href": "https://www.paypal.com/donate/?hosted_button_id=7W6M3TFZ4W9LW",
|
|
492
|
+
"target": "_blank",
|
|
493
|
+
"label": "paypal_donate",
|
|
494
|
+
"variant": "outlined",
|
|
495
|
+
"button": true,
|
|
496
|
+
"icon": "https://www.paypalobjects.com/marketing/web/logos/paypal-mark-color_new.svg",
|
|
473
497
|
"newLine": true,
|
|
474
|
-
"sm":
|
|
475
|
-
"xs":
|
|
476
|
-
"md":
|
|
477
|
-
"lg":
|
|
478
|
-
"xl":
|
|
498
|
+
"sm": 3,
|
|
499
|
+
"xs": 3,
|
|
500
|
+
"md": 3,
|
|
501
|
+
"lg": 3,
|
|
502
|
+
"xl": 3,
|
|
479
503
|
"style": {
|
|
480
|
-
"marginTop": "
|
|
481
|
-
"textAlign": "center"
|
|
504
|
+
"marginTop": "0px"
|
|
482
505
|
}
|
|
483
506
|
}
|
|
484
507
|
}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "autodarts",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.0",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.7.0": {
|
|
7
|
+
"en": "Added: New `status.boardStatus` state. Status indicator of board event (e.g. `\"Stopped\"`, `\"Calibration finished\"`, `\"Started\"`).",
|
|
8
|
+
"de": "Hinzugefügt: Neu `status.boardStatus` Zustand. Statusanzeige des Board-Events (z.B. \"Stopped\", \"Calibration fertig\", \"Started\"\").",
|
|
9
|
+
"ru": "Добавлено: Новое состояние \"status.boardStatus\". Индикатор состояния события на борту (например, \"Остановилось\", \"Калибровка завершена\", \"Начало\").",
|
|
10
|
+
"pt": "Adicionado: Novo estado `status.boardStatus`. Indicador de estado do evento de tabuleiro (por exemplo, `\"Parado\"`, `\"A calibração terminou\"`, `\"Iniciado\"`).",
|
|
11
|
+
"nl": "Toegevoegd: Nieuwe status.boardStatus Status-indicator van de gebeurtenis van het bord (bv. \"Stopped,\" \"Calibration finished\" en \"Started\").",
|
|
12
|
+
"fr": "Ajouté : Nouveau état `status.boardStatus`. Indicateur de l'état de l'événement du conseil d'administration (par exemple, ``Stopupped'``, `'Calibration terminée'`, `'Started'`).",
|
|
13
|
+
"it": "Aggiunto: New `status.boardStatus` state. Indicatore di stato dell'evento di bordo (ad esempio `\"Stopped\"`, `\"Calibrazione finita\"`, `\"Started\"`).",
|
|
14
|
+
"es": "Añadido: Nuevo estado de `status.boardStatus`. Indicador de estado del evento de la junta (por ejemplo, `\"Stopped\"`, `\"Calibration completed\" `, `\"Started').",
|
|
15
|
+
"pl": "Dodano: Nowy stan 'status.boardStatus'. Wskaźnik stanu zdarzenia planszowego (np. \"Zatrzymał\", \"Kalibracja zakończona\", \"Rozpoczęty\").",
|
|
16
|
+
"uk": "Додано: Новий стан `status.boardStatus`. Індикатор стану походу дошки (наприклад, ```'', ''''''', '''''''.",
|
|
17
|
+
"zh-cn": "添加:新的`状态.boardstatus'状态。 板块事件的状况指标(例如`停止'、`完成的校准'、`开始')."
|
|
18
|
+
},
|
|
6
19
|
"0.6.3": {
|
|
7
20
|
"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
21
|
"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.",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "Dodano: dwukierunkowa kontrola sprzętowa stanów 'system.hardware.light' i 'system.hardware.power'\nDodano: Opcje konfiguracji do mapowania stanów światła / mocy do zewnętrznych stanów jOBroker (np. 0 _ userdata)\nZmiana: Stan sprzętu obsługuje teraz operacje odczytu / zapisu dla pełnej automatyzacji integracji",
|
|
81
94
|
"uk": "Додано: Двосторонні стани керування обладнанням `system.hardware.light` і `system.hardware.power й\nДодано: Параметри конфігурації для мапи світло/потужних станів на зовнішні стани ioBroker (наприклад, 0_userdata)\nЗмінено: Апаратні стани, які зараз підтримують операції читання/запису для повної інтеграції автоматизації",
|
|
82
95
|
"zh-cn": "添加:双向硬件控制状态为‘system.hardware.light'和‘system.hardware.power. `\n添加: 将光/ 电状态映射到外部 ioBroker 状态的配置选项( 如 0_ userdata)\n更改: 硬件状态现在支持读/写操作,以便完全自动化集成"
|
|
83
|
-
},
|
|
84
|
-
"0.4.0": {
|
|
85
|
-
"en": "Changed: Restructured system information into dedicated `system.hardware`, `system.software` and `system.cams` channels.\nAdded: New software info states (`desktopVersion`, `boardVersion`, `platform`, `os`) and hardware info states (`kernelArch`, `cpuModel`, `hostname`).\nAdded: Camera configuration states `system.cams.cam0/1/2` containing JSON with width, height and fps.\nChanged: Adapter configuration for polling interval and triple trigger thresholds is now fully driven via jsonConfig (dropdowns and number fields).\nRemoved: Experimental light/power alias mapping from internal logic (no user-visible feature was released).",
|
|
86
|
-
"de": "Geändert: Restrukturierte Systeminformationen in dedizierte `system.hardware`, `system.software` und `system.cams` Kanäle.\nHinzugefügt: Neue Software-Info-Zustände (`desktopVersion`, `boardVersion`, `platform`, `os`) und Hardware-Info-Zustände (`kernelArch`, `cpuModel`, `hostname`).\nHinzugefügt: Kamera-Konfigurationszustände `system.cams.cam0/1/2` mit JSON mit Breite, Höhe und fps.\nGeändert: Adapterkonfiguration für das Abfrageintervall und die dreifachen Triggerschwellen werden nun über jsonConfig (Dropdowns und Nummernfelder) voll angesteuert.\nEntfernt: Experimentelles Licht/Power Alias Mapping aus interner Logik (keine Benutzersichtbarkeit wurde freigegeben).",
|
|
87
|
-
"ru": "Изменение: реструктурированная системная информация в выделенные каналы «system.hardware», «system.software» и «system.cams».\nДобавлено: Новые состояния информации о программном обеспечении («desktopVersion», «boardVersion», «платформа», «os») и состояния информации о аппаратном обеспечении («kernelArch», «cpuModel», «hostname»).\nДобавлено: В конфигурации камеры указано \"system.cams.cam0/1/2\", содержащее JSON с шириной, высотой и fps.\nИзмененная конфигурация адаптера для интервала опроса и тройных триггерных порогов теперь полностью приводится в действие через jsonConfig (выпадения и числовые поля).\nУдалено: Экспериментальное отображение света/мощности по внутренней логике (не было выпущено никаких видимых пользователем функций).",
|
|
88
|
-
"pt": "Modificado: Informações do sistema reestruturadas em `system.hardware` dedicado, `system.software' e `system.cams' canais.\nAdicionado: Novos estados de informação de software (`desktopVersion`, `boardVersion`, `platform`, `os`) e estados de informação de hardware (`kernelArch`, `cpuModel`, `hostname`).\nAdicionado: Os estados de configuração da câmera `system.cams.cam0/1/2` contendo JSON com largura, altura e fps.\nModificado: A configuração do adaptador para o intervalo de votação e limiares triplos de gatilho é agora totalmente conduzida através do jsonConfig (dropdowns e campos numéricos).\nRemovido: Mapeamento de alias de luz/potência experimental da lógica interna (nenhum recurso visível pelo usuário foi lançado).",
|
|
89
|
-
"nl": "Veranderd: Gestructureerde systeeminformatie in dedicated .\nToegevoegd: Nieuwe software info states (.\nToegevoegd: Camera-configuratie staat voor \"system.cams.cam0/1/2.\nGewijzigd: Adapterconfiguratie voor polling interval en triple trigger drempels is nu volledig gedreven via jsonConfig (dropdowns en nummervelden).\nVerwijderd: Experimenteel licht/kracht alias mapping van interne logica (er werd geen gebruikerszichtbare functie vrijgegeven).",
|
|
90
|
-
"fr": "Changed: Restructuration des informations système en canaux dédiés `system.hardware`, `system.software` et `system.cams`.\nAjouté : Nouveaux états d'information logicielle (`desktopVersion`, `boardVersion`, `platform`, `os`) et états d'information matérielle (`kernelArch`, `cpuModel`, `hostname`).\nAjouté: La configuration de la caméra indique `system.cams.cam0/1/2` contenant JSON avec largeur, hauteur et fps.\nChanged: La configuration de l'adaptateur pour l'intervalle de vote et les seuils de triple déclenchement est maintenant entièrement pilotée via jsonConfig (champs déroulants et nombres).\nSupprimé: Carte expérimentale alias lumière/puissance à partir de la logique interne (aucune fonctionnalité visible par l'utilisateur n'a été publiée).",
|
|
91
|
-
"it": "Modificato: informazioni di sistema ristrutturate nei canali `system.hardware` dedicati, `system.software` e `system.cams`.\nAggiunto: Nuovo software info stati (`desktopVersion`, `boardVersion`, `platform`, `os`) e dati hardware stati (`kernelArch`, `cpuModel`, `hostname`).\nAggiunto: Configurazione della fotocamera stati `system.cams.cams.cam0/1/2` contenente JSON con larghezza, altezza e fps.\nModificato: la configurazione dell'adattatore per l'intervallo di polling e le soglie di trigger triple è ora completamente guidata tramite jsonConfig (dropdown e campi numerici).\nRimuoveto: Sperimentale mappatura alias della luce dalla logica interna (non è stata rilasciata alcuna funzione visibile dall'utente).",
|
|
92
|
-
"es": "Cambio: información reestructurada del sistema en canales dedicados `system.hardware`, `system.software` y `system.cams`.\nAñadido: New software info states (`desktopVersion`, `boardVersion`, `platform`, `os`) and hardware info states (`kernelArch`, `cpuModel`, `hostname`).\nAñadido: configuración de la cámara estados `system.cams.cam0/1/2` que contienen JSON con ancho, altura y fps.\nCambio: la configuración del adaptador para intervalos de votación y los umbrales de triple disparador ahora se conduzcan completamente a través de jsonConfig (dropdowns y campos de números).\nEliminado: Experimental light/power alias mapping from internal logic (no user-visible feature was released).",
|
|
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).",
|
|
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 з внутрішньої логіки (без функції користувача).",
|
|
95
|
-
"zh-cn": "更改:将系统信息结构改为专用的`系统.硬件'、`系统.软件'和`系统.摄像头'频道.\n添加:新的软件信息状态(`台式计算机Version'、`boardVersion'、`平台'、`os')和硬件信息状态(`内核Arch'、`cpuModel'、`hostname').\n添加:相机配置为`system.cams.cam0/1/2',内含JSON,宽度,高度和fps.\n更改:用于投票间隔和三重触发阈值的适配器配置现在通过jsonConfig(滴落和数字字段)完全驱动.\n删除:实验光/功率别名从内部逻辑映射(没有发布用户可见特性)."
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -88,6 +88,25 @@ class Autodarts extends utils.Adapter {
|
|
|
88
88
|
},
|
|
89
89
|
native: {},
|
|
90
90
|
});
|
|
91
|
+
// status.board als String-Datenpunkt im bestehenden status-Channel anlegen
|
|
92
|
+
await this.extendObjectAsync("status.boardStatus", {
|
|
93
|
+
type: "state",
|
|
94
|
+
common: {
|
|
95
|
+
name: {
|
|
96
|
+
en: "Board event status",
|
|
97
|
+
de: "Board-Ereignis-Status",
|
|
98
|
+
},
|
|
99
|
+
type: "string",
|
|
100
|
+
role: "info",
|
|
101
|
+
read: true,
|
|
102
|
+
write: false,
|
|
103
|
+
desc: {
|
|
104
|
+
en: "Current event value from /api/state",
|
|
105
|
+
de: "Aktueller event-Wert aus /api/state",
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
native: {},
|
|
109
|
+
});
|
|
91
110
|
// System-Channel und BoardVersion-Datenpunkt anlegen
|
|
92
111
|
await this.extendObjectAsync("system", {
|
|
93
112
|
type: "channel",
|
|
@@ -588,6 +607,14 @@ class Autodarts extends utils.Adapter {
|
|
|
588
607
|
await trafficLight.setStatus(this, "yellow");
|
|
589
608
|
}
|
|
590
609
|
|
|
610
|
+
// Nur event-Wert in status.boardStatus schreiben
|
|
611
|
+
if (state.event !== undefined) {
|
|
612
|
+
await this.setStateAsync("status.boardStatus", {
|
|
613
|
+
val: state.event,
|
|
614
|
+
ack: true,
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
|
|
591
618
|
// Nur weiter, wenn throws existieren, Array ist und nicht leer
|
|
592
619
|
if (!state.throws || !Array.isArray(state.throws) || state.throws.length === 0) {
|
|
593
620
|
return;
|
|
@@ -632,19 +659,25 @@ class Autodarts extends utils.Adapter {
|
|
|
632
659
|
|
|
633
660
|
if (isNetErr) {
|
|
634
661
|
if (!this.offline) {
|
|
635
|
-
this.log.warn(`Autodarts not reachable
|
|
662
|
+
this.log.warn(`Autodarts not reachable: ${msg}`);
|
|
636
663
|
this.offline = true;
|
|
637
664
|
} else {
|
|
638
665
|
this.log.debug(`Autodarts still offline: ${msg}`);
|
|
639
666
|
}
|
|
667
|
+
|
|
668
|
+
this.isConnected = false;
|
|
669
|
+
await trafficLight.setStatus(this, "red");
|
|
670
|
+
await this.setStateAsync("online", false, true);
|
|
671
|
+
await this.setStateAsync("info.connection", false, true);
|
|
672
|
+
await this.setStateAsync("status.boardStatus", {
|
|
673
|
+
val: "offline",
|
|
674
|
+
ack: true,
|
|
675
|
+
});
|
|
640
676
|
} else {
|
|
641
677
|
this.log.error(`Autodarts request failed: ${msg}`);
|
|
678
|
+
// Bei anderen Fehlern (z.B. Syntax) nicht auf "offline" setzen
|
|
679
|
+
// Optional: hier trotzdem online = false setzen, wenn gewünscht
|
|
642
680
|
}
|
|
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);
|
|
648
681
|
}
|
|
649
682
|
}
|
|
650
683
|
|