iobroker.device-watcher 2.9.4 → 2.9.6

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/admin/words.js CHANGED
@@ -172,5 +172,5 @@ systemDictionary = {
172
172
  "Attention!": { "en": "Attention!", "de": "Achtung!", "ru": "Внимание!", "pt": "Atenção!", "nl": "Aandacht!", "fr": "Attention!", "it": "Attenzione!", "es": "¡Atención!", "pl": "Uwaga!", "uk": "Увага!", "zh-cn": "注意力!"},
173
173
  "This selection is only possible with a running instance!": {"en": "This selection is only possible with a running instance!", "de": "Diese Auswahl ist nur bei laufender Instanz möglich!", "ru": "Этот выбор возможен только при работающем экземпляре!", "pt": "Esta seleção só é possível com uma instância em execução!", "nl": "Deze selectie is alleen mogelijk met een lopende instantie!", "fr": "Cette sélection n'est possible qu'avec une instance en cours d'exécution !", "it": "Questa selezione è possibile solo con un'istanza in esecuzione!", "es": "¡Esta selección solo es posible con una instancia en ejecución!", "pl": "Ten wybór jest możliwy tylko z działającą instancją!", "uk": "Цей вибір можливий лише з запущеним екземпляром!", "zh-cn": "此选择仅适用于正在运行的实例!"},
174
174
  "Got it!": { "en": "Got it!", "de": "Verstanden!", "ru": "Понятно!", "pt": "Entendi!", "nl": "Begrepen!", "fr": "J'ai compris!", "it": "Fatto!", "es": "¡Entiendo!", "pl": "Rozumiem!", "uk": "Зрозумів!", "zh-cn": "知道了!"},
175
- "cancel": { "en": "cancel", "de": "", "ru": "отмена", "pt": "cancelar", "nl": "annuleren", "fr": "Annuler", "it": "Annulla", "es": "Cancelar", "pl": "anulować", "uk": "скасувати", "zh-cn": "取消"},
175
+ "cancel": { "en": "cancel", "de": "Abbrechen", "ru": "отмена", "pt": "cancelar", "nl": "annuleren", "fr": "Annuler", "it": "Annulla", "es": "Cancelar", "pl": "anulować", "uk": "скасувати", "zh-cn": "取消"},
176
176
  };
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "device-watcher",
4
- "version": "2.9.4",
4
+ "version": "2.9.6",
5
5
  "news": {
6
+ "2.9.6": {
7
+ "en": "Fixed: Admin jsonConfig schema\nChanged: Admin jsonConfig to json5\nAdded: Support for Tuya devices with online state\nOthers: cleaned up files",
8
+ "de": "Behoben: Admin jsonConfig Schema\nGeändert: Admin jsonConfig zu json5\nHinzugefügt: Unterstützung für Tuya-Geräte mit Online-Zustand\nAnderes: Dateien aufgeräumt",
9
+ "ru": "Исправлено: Admin jsonConfig schema\nИзменено: Admin jsonConfig в json5\nДобавлена: Поддержка устройств Tuya с онлайн состоянием\nДругое: очищенные файлы",
10
+ "pt": "Corrigido: Admin jsonConfig schema\nAlterado: Admin jsonConfig to json5\nAdicionado: Suporte para dispositivos Tuya com estado on-line\nOutros: limpe arquivos",
11
+ "nl": "Admin jsonConfig schema\nAdministratie JsonConfig aan Json5\nVersterking voor Tuya apparaten met online staat\nVertaling:",
12
+ "fr": "Correction : Admin jsonConfig schema\nChanged: Admin jsonConfig to json5\nAjouté: Support pour les appareils Tuya avec l'état en ligne\nAutre: nettoyer les fichiers",
13
+ "it": "Fisso: Schema Admin jsonConfig\nModificato: Admin jsonConfig a json5\nAggiunto: Supporto per dispositivi Tuya con stato online\nAltro: file ripuliti",
14
+ "es": "Arreglado: Amin jsonConfig schema\nCambios: Admin jsonConfig a json5\nAñadido: Soporte para dispositivos Tuya con estado en línea\nOtros: limpiar archivos",
15
+ "pl": "Admin jsonConfig schema\nZmiana: Admin jsonConfig to json5\nWstęp: Wsparcie dla urządzeń Tuya z internetowym państwem\nInne: czyste pliki plikowe",
16
+ "uk": "Виправлено: Admin jsonConfig schema\nЗмінено: Admin jsonConfig to json5\nДодано: Підтримка пристроїв Туя з онлайн-державою\nІнше: очищення файлів",
17
+ "zh-cn": "Fix: Admin json Config schema\n修改: Admin json Configg to json5\n增 编:在网上国家支持图亚装置\n其他:清洁档案"
18
+ },
19
+ "2.9.5": {
20
+ "en": "Added: if available use deviceName datapoint for sonoff devices\nFixed: Changed zwave to zwave2\nFixed: minor bugfixes\nAdded: FullyBrowser > v3",
21
+ "de": "Hinzugefügt: Wenn verfügbar benutze deviceName Datenpunkt für Sonoff Geräte\nBehoben: Zwave zu zwave2 geändert\nBehoben: kleinere Bugfixes\nHinzugefügt: FullyBrowser > V3",
22
+ "ru": "Добавлена: если доступно использование устройстваName datapoint для устройств sonoff\nИсправлено: Изменено zwave в zwave2\nИсправлено: незначительные багфиксы\nДобавлено: FullyBrowser > В3",
23
+ "pt": "Adicionado: se disponível use deviceName datapoint for sonoff devices\nCorrigido: Alterado zwave para zwave2\nCorrigido: pequenos bugfixes\nAdicionado: FullyBrowser > v3",
24
+ "nl": "Toegegeven:\nQuality over Quantity (QoQ) Releases Vertaling:\nQuality over Quantity (QoQ) Releases Vertaling:\nVertaling: Vertaling:",
25
+ "fr": "Ajouté: si le dispositif d'utilisation disponibleNom datapoint pour les appareils à sonoff\nFixé: Zwave changée en zwave2\nCorrection : corrections mineures\nAjouté: FullyBrowser phy v3",
26
+ "it": "Aggiunto: if available use deviceName datapoint for sonoff devices\nFisso: Cambiato zwave a zwave2\nRisolto: bugfix minori\nAggiunto: FullyBrowser > V",
27
+ "es": "Añadido: si está disponible el punto de datos del dispositivoName para dispositivos sonoff\nFijo: Cambio de onda de zwave2\nFijación: bugfixes menores\nAñadido: FullyBrowser v3",
28
+ "pl": "Addd: jeśli urządzenie użyte do transmisji danych\nFixed: Changed zwave to zwave2 (ang.)\nFixed: minor bugfixes\nAdded: FullyBrowser> (ang.). v3",
29
+ "uk": "Додано: якщо доступний пристрій useName для пристроїв sonoff\nВиправлено: Змінено zwave to zwave2\nВиправлено: незначні виправлення\nДоданий: FullyBrowser > в3",
30
+ "zh-cn": "增删:如果能用装置Name数据点用于子壳装置\n九. 固定:对兹瓦韦的改变\n固定:小额配件\n增 编:全页 评 注"
31
+ },
6
32
  "2.9.4": {
7
33
  "en": "Added: Fallback for HmIp-eTRV-2 batterie devices [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Fixed: Proxmox VM/CT online status [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nUpdated: Dependencies",
8
34
  "de": "Hinzugefügt: Fallback für HmIp-eTRV-2 Batterie-Geräte [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Behoben: Proxmox VM/CT Online-Status [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nAktualisiert: Abhängigkeiten",
@@ -67,32 +93,6 @@
67
93
  "pl": "Na przykładzie uaktywniono: Zdeaktywowane instancje nie były wyświetlane w codziennym wiadomości o deaktywowanych instancjach\nAdded: urządzenia Viessmanna\nPoprawa: Tekst overview",
68
94
  "uk": "Виправлено: Деактивовані екземпляри не відображалися в щоденному повідомленні про деактивовані екземпляри\nДодано: пристрої Viessmann, пристрої Homekit-Controller\nУдосконалення: Текст повідомлення",
69
95
  "zh-cn": "Fixed:Deactiving cases的每日信息未显示有关违犯事件的报道。\n增 编:维斯曼装置、家里克特-Controller装置\n改进: 总讯案文"
70
- },
71
- "2.8.5": {
72
- "en": "Fixed: Error that instances can not be added to the blacklist because of the popup message [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nFixed: That messages have been sent when the instance has briefly jumped from Enabled to Disabled and back to Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
73
- "de": "Behoben: Fehler, dass Instanzen aufgrund der Popup-Nachricht nicht zur Blacklist hinzugefügt werden können [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nBehoben: Das Meldungen gesendet wurden, wenn die Instanz kurz von Aktiviert auf Deaktiviert und zurück zu Aktiviert gesprungen ist [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
74
- "ru": "Исправлено: Ошибка, которую нельзя добавить в черный список из-за всплывающего сообщения [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nИсправлено: Эти сообщения были отправлены, когда экземпляр кратко перепрыгнул из Enabled в Disabled и обратно в Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
75
- "pt": "Corrigido: Erro que as instâncias não podem ser adicionadas à lista negra por causa da mensagem pop-up [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nCorrigido: Essas mensagens foram enviadas quando a instância saltou brevemente de Enabled para Disabled e de volta para Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
76
- "nl": "Dat kan niet worden toegevoegd aan de blacklist vanwege de popup-bericht\nVertaling: Die berichten zijn verstuurd toen het instituut kort van Enabled naar Disabled en terug naar Enabled 173: jittps, /ciddi89-Brokerdewadet-17",
77
- "fr": "Correction : Erreur que les instances ne peuvent pas être ajoutées à la liste noire en raison du message popup [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nCorrection : Ces messages ont été envoyés lorsque l ' instance a brièvement sauté de Enabled à Disabled et de retour à Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
78
- "it": "Risolto: Errore che le istanze non possono essere aggiunte alla lista nera a causa del messaggio popup [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nRisolto: Tali messaggi sono stati inviati quando l'istanza è saltata brevemente da Enabled a disabilitare e di nuovo a Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
79
- "es": "Corregido: Error de que los casos no se pueden agregar a la lista negra debido al mensaje popup [#172](https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nArreglado: Esos mensajes se han enviado cuando el caso ha saltado brevemente de Enabled a Disabled y de regreso a Enabled [#173](https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
80
- "pl": "Error, że instancje nie mogą być dodane do czarnej listy z powodu popupu #172(https:/github.com/ciddi89/ioBroker.device-watcher/issues/172)\nFixed: Wiadomości te zostały wysłane, gdy instancja przeskakuje z Enabled do Disabled #173 (https:/github.com/ciddi89/ioBroker.device-watcher/issues/173)",
81
- "uk": "Виправлено: помилка, що екземпляри не можуть бути додані в чорний список через повідомлення електронної пошти [#172] (https://github.com/ciddi89/ioBroker.device-watcher/issues/172)\nВиправлено: Що повідомлення було відправлено, коли екземпляр коротко стрибнув з Увімкненого і назад до Увімкненого [#173] (https://github.com/ciddi89/ioBroker.device-watcher/issues/173)",
82
- "zh-cn": "固定:由于人口信息[第172号](http://github.com/ciddi89/ioBroker.device-watcher/issues/172)而无法增加黑名单。\n固定: 这一信息是在以下情况下发出的:从便携起降到残疾人,回到了可居住的[第173号](http://github.com/ciddi89/ioBroker.device-watcher/issues/173)。"
83
- },
84
- "2.8.4": {
85
- "en": "Fixed: Functions for instance status completely renewed ([#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170))\nAdded: Popup message when the instance is not running and the user tries to select a device/instance in the settings tables ([#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170))",
86
- "de": "Behoben: Funktionen für Instanzen Status vollständig erneuert [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nHinzugefügt: Popup-Nachricht, wenn die Instanz nicht läuft und der Benutzer versucht ein Gerät/Instance in den Einstellungstabellen auszuwählen [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
87
- "ru": "Исправлено: Функции для статуса экземпляра полностью обновлены [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nДобавлена: Всплывающее сообщение, когда экземпляр не работает, и пользователь пытается выбрать устройство/инстанция в таблицах настроек [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
88
- "pt": "Corrigido: Funções por exemplo, estado completamente renovado [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nAdicionado: Popup message when the instance is not running and the user try to select a device/instance in the settings table [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
89
- "nl": "Functies voor instance-status volledig hernieuwd 70) (htub,com/ciddi89/ioBroker\nVertaling:",
90
- "fr": "Fixed: Functions for instance status completely renewed [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nAjouté : Message popup lorsque l ' instance ne fonctionne pas et que l ' utilisateur essaie de sélectionner un dispositif/instance dans les tableaux de configuration [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
91
- "it": "Fisso: Funzioni per esempio stato completamente rinnovato [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nAggiunto: messaggio popup quando l'istanza non è in esecuzione e l'utente cerca di selezionare un dispositivo/instanza nelle tabelle delle impostazioni [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
92
- "es": "Fijo: Funciones para el estado de la instancia completamente renovadas [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nAñadido: Mensaje de Popup cuando la instancia no se ejecuta y el usuario intenta seleccionar un dispositivo/instancia en los cuadros de configuración [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
93
- "pl": "Fixed: Functions for example full new #170(https:/github.com/ciddi89/ioBroker,device-watcher/issues/170) (ang.)\nAdded: wiadomość Popup, gdy instancja nie jest uruchomiona, a użytkownik próbuje wybrać urządzenie/instance in the settings table #170(https:/github.com/ciddi89/ioBrokerdevice-watcher/issues/170)",
94
- "uk": "Виправлено: Функції статусу екземпляра повністю оновлено [#170] (https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nДодано: Поповнення повідомлення, коли екземпляр не працює, і користувач намагається вибрати пристрій/інстанцію в таблицях налаштувань [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
95
- "zh-cn": "固定:举例身份功能完全延长[第170](http://github.com/ciddi89/ioBroker.device-watcher/issues/170)\n添加:当事没有运行时,Popup讯息和用户在表格[第170](http://github.com/ciddi89/ioBroker.device-watcher/issues/170)中选择一种装置/装置。"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -222,6 +222,8 @@
222
222
  "fritzdectMaxMinutes": 0,
223
223
  "fullybrowserDevices": false,
224
224
  "fullybrowserMaxMinutes": 0,
225
+ "fullybrowserV3Devices": false,
226
+ "fullybrowserV3MaxMinutes": 0,
225
227
  "fullyMQTTDevices": false,
226
228
  "fullyMQTTMaxMinutes": 0,
227
229
  "hamDevices": false,
@@ -295,6 +297,8 @@
295
297
  "tapoMaxMinutes": 300,
296
298
  "tradfriDevices": false,
297
299
  "tradfriMaxMinutes": 0,
300
+ "tuyaDevices": false,
301
+ "tuyaMaxMinutes": 0,
298
302
  "unifiDevices": false,
299
303
  "unifiMaxMinutes": 0,
300
304
  "viessmannDevices": false,
package/lib/arrApart.js CHANGED
@@ -143,6 +143,18 @@ const arrApart = {
143
143
  id: '.Info.hostname4',
144
144
  id2: '.Info.deviceModel',
145
145
  },
146
+ fullybrowserV3: {
147
+ Selektor: 'fullybrowser.*.alive',
148
+ timeSelector: '.alive',
149
+ adapterID: 'fullybrowserV3',
150
+ adapter: 'fullyBrowser',
151
+ rssiState: '.Info.wifiSignalLevel',
152
+ battery: '.Info.batteryLevel',
153
+ reach: '.alive',
154
+ isLowBat: 'none',
155
+ id: '.Info.hostname4',
156
+ id2: '.Info.deviceModel',
157
+ },
146
158
  fullyMQTT: {
147
159
  Selektor: 'fully-mqtt.*.alive',
148
160
  timeSelector: '.alive',
@@ -465,6 +477,7 @@ const arrApart = {
465
477
  reach: '.alive',
466
478
  uptime: '.Uptime',
467
479
  isLowBat: 'none',
480
+ id: '.DeviceName',
468
481
  },
469
482
  sonos: {
470
483
  Selektor: 'sonos.*.alive',
@@ -528,6 +541,18 @@ const arrApart = {
528
541
  isLowBat: 'none',
529
542
  id: 'none',
530
543
  },
544
+ tuya: {
545
+ Selektor: 'tuya.*.online',
546
+ timeSelector: '.online',
547
+ adapterID: 'tuya',
548
+ adapter: 'Tuya',
549
+ rssiState: 'none',
550
+ battery: 'none',
551
+ reach: '.online',
552
+ isLowBat: 'none',
553
+ id: 'none',
554
+ upgrade: 'none',
555
+ },
531
556
  unifi: {
532
557
  Selektor: 'unifi.*.state',
533
558
  timeSelector: '.uptime',
@@ -591,10 +616,10 @@ const arrApart = {
591
616
  reach: '.available',
592
617
  isLowBat: '.battery_low',
593
618
  },
594
- zwave: {
619
+ zwave2: {
595
620
  Selektor: 'zwave2.*.ready',
596
- timeSelector: '.ready',
597
- adapterID: 'zwave',
621
+ timeSelector: '.status',
622
+ adapterID: 'zwave2',
598
623
  adapter: 'Z-wave 2',
599
624
  battery: '.Battery.level',
600
625
  reach: '.ready',
package/main.js CHANGED
@@ -109,6 +109,7 @@ class DeviceWatcher extends utils.Adapter {
109
109
  fhemTFAsensors: this.config.fhemTFAsensorsDevices,
110
110
  fritzdect: this.config.fritzdectDevices,
111
111
  fullybrowser: this.config.fullybrowserDevices,
112
+ fullybrowserV3: this.config.fullybrowserV3Devices,
112
113
  fullyMQTT: this.config.fullyMQTTDevices,
113
114
  ham: this.config.hamDevices,
114
115
  harmony: this.config.harmonyDevices,
@@ -146,13 +147,14 @@ class DeviceWatcher extends utils.Adapter {
146
147
  tado: this.config.tadoDevices,
147
148
  tapo: this.config.tapoDevices,
148
149
  tradfri: this.config.tradfriDevices,
150
+ tuya: this.config.tuyaDevices,
149
151
  unifi: this.config.unifiDevices,
150
152
  viessmann: this.config.viessmannDevices,
151
153
  wled: this.config.wledDevices,
152
154
  yeelight: this.config.yeelightDevices,
153
155
  zigbee: this.config.zigbeeDevices,
154
156
  zigbee2MQTT: this.config.zigbee2mqttDevices,
155
- zwave: this.config.zwaveDevices,
157
+ zwave2: this.config.zwaveDevices,
156
158
  };
157
159
 
158
160
  this.configMaxMinutes = {
@@ -167,6 +169,7 @@ class DeviceWatcher extends utils.Adapter {
167
169
  fhemTFAsensors: this.config.fhemTFAsensorsMaxMinutes,
168
170
  fritzdect: this.config.fritzdectMaxMinutes,
169
171
  fullybrowser: this.config.fullybrowserMaxMinutes,
172
+ fullybrowserV3: this.config.fullybrowserV3MaxMinutes,
170
173
  fullyMQTT: this.config.fullyMQTTMaxMinutes,
171
174
  ham: this.config.hamMaxMinutes,
172
175
  harmony: this.config.harmonyMaxMinutes,
@@ -204,13 +207,14 @@ class DeviceWatcher extends utils.Adapter {
204
207
  tado: this.config.tadoMaxMinutes,
205
208
  tapo: this.config.tapoMaxMinutes,
206
209
  tradfri: this.config.tradfriMaxMinutes,
210
+ tuya: this.config.tuyaMaxMinutes,
207
211
  unifi: this.config.unifiMaxMinutes,
208
212
  viessmann: this.config.viessmannMaxMinutes,
209
213
  wled: this.config.wledMaxMinutes,
210
214
  yeelight: this.config.yeelightMaxMinutes,
211
215
  zigbee: this.config.zigbeeMaxMinutes,
212
216
  zigbee2MQTT: this.config.zigbee2mqttMaxMinutes,
213
- zwave: this.config.zwaveMaxMinutes,
217
+ zwave2: this.config.zwaveMaxMinutes,
214
218
  };
215
219
 
216
220
  try {
@@ -1102,6 +1106,7 @@ class DeviceWatcher extends utils.Adapter {
1102
1106
 
1103
1107
  switch (this.selAdapter[i].adapterID) {
1104
1108
  case 'fullybrowser':
1109
+ case 'fullybrowserV3':
1105
1110
  deviceName = (await this.getInitValue(currDeviceString + this.selAdapter[i].id)) + ' ' + (await this.getInitValue(currDeviceString + this.selAdapter[i].id2));
1106
1111
  break;
1107
1112
 
@@ -1114,14 +1119,14 @@ class DeviceWatcher extends utils.Adapter {
1114
1119
  case 'loqedSmartLock':
1115
1120
  case 'viessmann':
1116
1121
  case 'homekitController':
1117
- if (shortDeviceObject && typeof shortDeviceObject === 'object') {
1122
+ if (shortDeviceObject && typeof shortDeviceObject === 'object' && shortDeviceObject.common) {
1118
1123
  deviceName = shortDeviceObject.common.name;
1119
1124
  }
1120
1125
  break;
1121
1126
 
1122
1127
  // Get ID with short short currDeviceString from objectjson (HMiP Devices)
1123
1128
  case 'hmiP':
1124
- if (shortshortDeviceObject && typeof shortshortDeviceObject === 'object') {
1129
+ if (shortshortDeviceObject && typeof shortshortDeviceObject === 'object' && shortshortDeviceObject.common) {
1125
1130
  deviceName = shortshortDeviceObject.common.name;
1126
1131
  }
1127
1132
  break;
@@ -1141,7 +1146,7 @@ class DeviceWatcher extends utils.Adapter {
1141
1146
 
1142
1147
  // Format Device name
1143
1148
  case 'sureflap':
1144
- if (deviceObject && typeof deviceObject === 'object') {
1149
+ if (deviceObject && typeof deviceObject === 'object' && deviceObject.common) {
1145
1150
  deviceName = deviceObject.common.name
1146
1151
  // @ts-ignore FIXME: fix syntax error
1147
1152
  .replace(/'/g, '')
@@ -1161,7 +1166,7 @@ class DeviceWatcher extends utils.Adapter {
1161
1166
  default:
1162
1167
  if (this.selAdapter[i].id !== 'none' || this.selAdapter[i].id !== undefined) deviceName = await this.getInitValue(currDeviceString + this.selAdapter[i].id);
1163
1168
  if (deviceName === null || deviceName === undefined) {
1164
- if (deviceObject && typeof deviceObject === 'object') {
1169
+ if (deviceObject && typeof deviceObject === 'object' && deviceObject.common) {
1165
1170
  deviceName = deviceObject.common.name;
1166
1171
  }
1167
1172
  }
@@ -2513,6 +2518,7 @@ class DeviceWatcher extends utils.Adapter {
2513
2518
  it: 'Adattatore e istanze',
2514
2519
  es: 'Adaptador e instalaciones',
2515
2520
  pl: 'Adapter and Instances',
2521
+ // @ts-ignore
2516
2522
  uk: 'Адаптер та інстанції',
2517
2523
  'zh-cn': '道歉和案',
2518
2524
  },
@@ -2534,6 +2540,7 @@ class DeviceWatcher extends utils.Adapter {
2534
2540
  it: 'JSON Elenco di tutte le istanze',
2535
2541
  es: 'JSON Lista de todos los casos',
2536
2542
  pl: 'JSON Lista wszystkich instancji',
2543
+ // @ts-ignore
2537
2544
  uk: 'Сонце Список всіх екземплярів',
2538
2545
  'zh-cn': '附 件 所有事例一览表',
2539
2546
  },
@@ -2557,6 +2564,7 @@ class DeviceWatcher extends utils.Adapter {
2557
2564
  it: 'Numero di tutte le istanze',
2558
2565
  es: 'Número de casos',
2559
2566
  pl: 'Liczba wszystkich instancji',
2567
+ // @ts-ignore
2560
2568
  uk: 'Кількість всіх екземплярів',
2561
2569
  'zh-cn': '各类案件数目',
2562
2570
  },
@@ -2581,6 +2589,7 @@ class DeviceWatcher extends utils.Adapter {
2581
2589
  it: 'JSON Elenco di tutte le istanze attive',
2582
2590
  es: 'JSON Lista de todos los casos activos',
2583
2591
  pl: 'JSON Lista wszystkich aktywnych instancji',
2592
+ // @ts-ignore
2584
2593
  uk: 'Сонце Список всіх активних екземплярів',
2585
2594
  'zh-cn': '附 件 所有积极事件清单',
2586
2595
  },
@@ -2604,6 +2613,7 @@ class DeviceWatcher extends utils.Adapter {
2604
2613
  it: 'Numero di tutte le istanze attive',
2605
2614
  es: 'Número de casos activos',
2606
2615
  pl: 'Liczba wszystkich czynnych przypadków',
2616
+ // @ts-ignore
2607
2617
  uk: 'Кількість всіх активних екземплярів',
2608
2618
  'zh-cn': '所有积极事件的数目',
2609
2619
  },
@@ -2627,6 +2637,7 @@ class DeviceWatcher extends utils.Adapter {
2627
2637
  it: 'JSON Elenco delle istanze disattivate',
2628
2638
  es: 'JSON Lista de casos desactivados',
2629
2639
  pl: 'JSON Lista przypadków deaktywowanych',
2640
+ // @ts-ignore
2630
2641
  uk: 'Сонце Перелік деактивованих екземплярів',
2631
2642
  'zh-cn': '附 件 被动事例清单',
2632
2643
  },
@@ -2650,6 +2661,7 @@ class DeviceWatcher extends utils.Adapter {
2650
2661
  it: 'Numero di istanze disattivate',
2651
2662
  es: 'Número de casos desactivados',
2652
2663
  pl: 'Liczba deaktywowanych instancji',
2664
+ // @ts-ignore
2653
2665
  uk: 'Кількість деактивованих екземплярів',
2654
2666
  'zh-cn': 'A. 递解事件的数目',
2655
2667
  },
@@ -2673,6 +2685,7 @@ class DeviceWatcher extends utils.Adapter {
2673
2685
  it: 'Elenco JSON delle istanze con errore',
2674
2686
  es: 'JSON lista de casos con error',
2675
2687
  pl: 'Lista błędów JSON',
2688
+ // @ts-ignore
2676
2689
  uk: 'JSON список екземплярів з помилкою',
2677
2690
  'zh-cn': '联合工作组办公室错误事件清单',
2678
2691
  },
@@ -2696,6 +2709,7 @@ class DeviceWatcher extends utils.Adapter {
2696
2709
  it: 'Conteggio di istanze con errore',
2697
2710
  es: 'Cuenta de casos con error',
2698
2711
  pl: 'Liczba przykładów w przypadku błędów',
2712
+ // @ts-ignore
2699
2713
  uk: 'Кількість екземплярів з помилкою',
2700
2714
  'zh-cn': '发生错误的情况',
2701
2715
  },
@@ -2721,6 +2735,7 @@ class DeviceWatcher extends utils.Adapter {
2721
2735
  it: 'Elenco di adattatori JSON con aggiornamenti disponibili',
2722
2736
  es: 'JSON lista de adaptadores con actualizaciones disponibles',
2723
2737
  pl: 'JSON lista adapterów z dostępnymi aktualizacjami',
2738
+ // @ts-ignore
2724
2739
  uk: 'JSON список адаптерів з доступними оновленнями',
2725
2740
  'zh-cn': '附录A',
2726
2741
  },
@@ -2744,6 +2759,7 @@ class DeviceWatcher extends utils.Adapter {
2744
2759
  it: 'Numero di adattatori con aggiornamenti disponibili',
2745
2760
  es: 'Número de adaptadores con actualizaciones disponibles',
2746
2761
  pl: 'Liczba adapterów z dostępną aktualizacją',
2762
+ // @ts-ignore
2747
2763
  uk: 'Кількість адаптерів з доступними оновленнями',
2748
2764
  'zh-cn': '更新的适应者人数',
2749
2765
  },
@@ -2973,7 +2989,7 @@ class DeviceWatcher extends utils.Adapter {
2973
2989
  let objectData;
2974
2990
  let list = '';
2975
2991
  let message = '';
2976
- const setMessage = async (message) => {
2992
+ const setMessage = async (/** @type {string} */ message) => {
2977
2993
  this.log.info(`${message}`);
2978
2994
  await this.setStateAsync('lastNotification', `${message}`, true);
2979
2995
  await this.sendNotification(`${message}`);
@@ -3672,6 +3688,7 @@ class DeviceWatcher extends utils.Adapter {
3672
3688
  it: 'È un dispositivo con offline',
3673
3689
  es: 'Es un dispositivo sin conexión',
3674
3690
  pl: 'Jest to jeden urządzenie z offlinem',
3691
+ // @ts-ignore
3675
3692
  uk: 'Є один пристрій з автономним',
3676
3693
  'zh-cn': '一处有线装置',
3677
3694
  },
@@ -3697,6 +3714,7 @@ class DeviceWatcher extends utils.Adapter {
3697
3714
  it: 'JSON RAW Elenco di tutti i dispositivi',
3698
3715
  es: 'JSON RAW Lista de todos los dispositivos',
3699
3716
  pl: 'JSON RAW Lista wszystkich urządzeń',
3717
+ // @ts-ignore
3700
3718
  uk: 'ДЖСОН РАВ Список всіх пристроїв',
3701
3719
  'zh-cn': 'JSONRAW 所有装置清单',
3702
3720
  },
@@ -3859,6 +3877,7 @@ class DeviceWatcher extends utils.Adapter {
3859
3877
  it: 'È un dispositivo con batteria bassa',
3860
3878
  es: 'Es un dispositivo con batería baja',
3861
3879
  pl: 'Jest to jeden urządzenie z niską baterią',
3880
+ // @ts-ignore
3862
3881
  uk: 'Є одним пристроєм з низьких акумуляторів',
3863
3882
  'zh-cn': '低电池的装置',
3864
3883
  },
@@ -3907,6 +3926,7 @@ class DeviceWatcher extends utils.Adapter {
3907
3926
  it: 'Numero di dispositivi con aggiornamenti disponibili',
3908
3927
  es: 'Número de dispositivos con actualizaciones disponibles',
3909
3928
  pl: 'Liczba urządzeń z dostępną aktualizacją',
3929
+ // @ts-ignore
3910
3930
  uk: 'Кількість пристроїв з доступними оновленнями',
3911
3931
  'zh-cn': '现有更新的装置数目',
3912
3932
  },
@@ -3931,6 +3951,7 @@ class DeviceWatcher extends utils.Adapter {
3931
3951
  it: 'JSON Elenco dei dispositivi con aggiornamenti disponibili',
3932
3952
  es: 'JSON Lista de dispositivos con actualizaciones disponibles',
3933
3953
  pl: 'JSON Lista urządzeń korzystających z aktualizacji',
3954
+ // @ts-ignore
3934
3955
  uk: 'Сонце Перелік пристроїв з доступними оновленнями',
3935
3956
  'zh-cn': '附 件 现有最新设备清单',
3936
3957
  },
@@ -3955,6 +3976,7 @@ class DeviceWatcher extends utils.Adapter {
3955
3976
  it: 'È un dispositivo updatable',
3956
3977
  es: 'Es un dispositivo actualizado',
3957
3978
  pl: 'Jest to jedno urządzenie updatable',
3979
+ // @ts-ignore
3958
3980
  uk: 'Є одним пристроєм',
3959
3981
  'zh-cn': '一台装置',
3960
3982
  },
@@ -4133,6 +4155,7 @@ class DeviceWatcher extends utils.Adapter {
4133
4155
  it: 'Elenchi HTML per adattatore e istanze',
4134
4156
  es: 'Listas HTML para adaptador y casos',
4135
4157
  pl: 'Listy HTML dla adaptera i instancji',
4158
+ // @ts-ignore
4136
4159
  uk: 'Списки HTML для адаптерів та екземплярів',
4137
4160
  'zh-cn': 'HTML名单',
4138
4161
  },
@@ -4152,6 +4175,7 @@ class DeviceWatcher extends utils.Adapter {
4152
4175
  it: 'HTML Elenco di tutte le istanze',
4153
4176
  es: 'HTML Lista de todos los casos',
4154
4177
  pl: 'HTML Lista wszystkich instancji',
4178
+ // @ts-ignore
4155
4179
  uk: 'Українська Список всіх екземплярів',
4156
4180
  'zh-cn': 'HTML 所有事例一览表',
4157
4181
  },
@@ -4176,6 +4200,7 @@ class DeviceWatcher extends utils.Adapter {
4176
4200
  it: 'HTML Elenco di tutte le istanze attive',
4177
4201
  es: 'HTML Lista de todos los casos activos',
4178
4202
  pl: 'HTML Lista wszystkich aktywnych instancji',
4203
+ // @ts-ignore
4179
4204
  uk: 'Українська Список всіх активних екземплярів',
4180
4205
  'zh-cn': 'HTML 所有积极事件清单',
4181
4206
  },
@@ -4200,6 +4225,7 @@ class DeviceWatcher extends utils.Adapter {
4200
4225
  it: 'HTML Elenco di tutte le istanze disattivate',
4201
4226
  es: 'HTML Lista de todos los casos desactivados',
4202
4227
  pl: 'HTML Lista wszystkich przypadków deaktywowanych',
4228
+ // @ts-ignore
4203
4229
  uk: 'Українська Список всіх деактивованих екземплярів',
4204
4230
  'zh-cn': 'HTML 所有违犯事件清单',
4205
4231
  },
@@ -4224,6 +4250,7 @@ class DeviceWatcher extends utils.Adapter {
4224
4250
  it: 'HTML Elenco delle istanze con errore',
4225
4251
  es: 'HTML Lista de casos con error',
4226
4252
  pl: 'HTML Lista przykładów z błądem',
4253
+ // @ts-ignore
4227
4254
  uk: 'Українська Список екземплярів з помилкою',
4228
4255
  'zh-cn': 'HTML 出现错误的情况清单',
4229
4256
  },
@@ -4247,6 +4274,7 @@ class DeviceWatcher extends utils.Adapter {
4247
4274
  it: 'Elenco HTML degli adattatori con aggiornamenti disponibili',
4248
4275
  es: 'Lista HTML de adaptadores con actualizaciones disponibles',
4249
4276
  pl: 'Lista adapterów HTML z dostępnymi aktualizacjami',
4277
+ // @ts-ignore
4250
4278
  uk: 'HTML список адаптерів з доступними оновленнями',
4251
4279
  'zh-cn': 'HTML 可供更新的适应者名单',
4252
4280
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.device-watcher",
3
- "version": "2.9.4",
3
+ "version": "2.9.6",
4
4
  "description": "Watchdog for devices",
5
5
  "author": {
6
6
  "name": "Christian Behrends",
@@ -21,8 +21,11 @@
21
21
  "type": "git",
22
22
  "url": "https://github.com/ciddi89/ioBroker.device-watcher"
23
23
  },
24
+ "engines": {
25
+ "node": ">= 16"
26
+ },
24
27
  "dependencies": {
25
- "@iobroker/adapter-core": "^3.0.3"
28
+ "@iobroker/adapter-core": "^3.0.4"
26
29
  },
27
30
  "devDependencies": {
28
31
  "@alcalzone/release-script": "^3.6.0",
@@ -31,34 +34,32 @@
31
34
  "@alcalzone/release-script-plugin-manual-review": "^3.5.9",
32
35
  "@iobroker/adapter-dev": "^1.2.0",
33
36
  "@iobroker/testing": "^4.1.0",
34
- "@types/chai": "^4.3.6",
35
- "@types/chai-as-promised": "^7.1.6",
36
- "@types/mocha": "^10.0.2",
37
- "@types/node": "^20.8.0",
38
- "@types/node-schedule": "^2.1.1",
39
- "@types/proxyquire": "^1.3.29",
37
+ "@types/chai": "^4.3.9",
38
+ "@types/chai-as-promised": "^7.1.7",
39
+ "@types/mocha": "^10.0.3",
40
+ "@types/node": "^20.8.10",
41
+ "@types/node-schedule": "^2.1.2",
42
+ "@types/proxyquire": "^1.3.30",
40
43
  "@types/sinon": "^10.0.16",
41
- "@types/sinon-chai": "^3.2.10",
44
+ "@types/sinon-chai": "^3.2.11",
42
45
  "chai": "^4.3.10",
43
46
  "chai-as-promised": "^7.1.1",
44
47
  "cron-parser": "^4.9.0",
45
- "eslint": "^8.50.0",
48
+ "eslint": "^8.52.0",
46
49
  "eslint-config-prettier": "^9.0.0",
47
- "eslint-plugin-prettier": "^5.0.0",
50
+ "eslint-plugin-prettier": "^5.0.1",
48
51
  "mocha": "^10.2.0",
49
52
  "node-schedule": "^2.1.1",
50
53
  "prettier": "^3.0.3",
51
54
  "proxyquire": "^2.1.3",
52
- "sinon": "^16.0.0",
55
+ "sinon": "^17.0.0",
53
56
  "sinon-chai": "^3.7.0",
54
57
  "typescript": "~5.2.2"
55
58
  },
56
59
  "main": "main.js",
57
60
  "files": [
58
- "admin{,/!(src)/**}/!(tsconfig|tsconfig.*).json",
59
- "admin{,/!(src)/**}/*.{html,css,png,svg,jpg,js}",
61
+ "admin/",
60
62
  "lib/",
61
- "www/",
62
63
  "io-package.json",
63
64
  "LICENSE",
64
65
  "main.js"