iobroker.device-watcher 2.9.2 → 2.9.4

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/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "device-watcher",
4
- "version": "2.9.2",
4
+ "version": "2.9.4",
5
5
  "news": {
6
+ "2.9.4": {
7
+ "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
+ "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",
9
+ "ru": "Добавлено: Падение для батареек HmIp-eTRV-2 [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Исправлено: Proxmox VM/CT онлайн статус [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nОбновлено: зависимости",
10
+ "pt": "Adicionado: Fallback for HmIp-eTRV-2 batterie devices [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Corrigido: status online Proxmox VM/CT [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nAtualizado: Dependências",
11
+ "nl": "Vertaling:\n (@mango1402) Quality over Quantity Releases Vertaling:\nOpgepast",
12
+ "fr": "Ajouté: Fallback for HmIp-eTRV-2 batterie devices [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Correction : Proxmox VM/CT statut en ligne [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nActualisé : dépenses",
13
+ "it": "Aggiunto: Fallback for HmIp-eTRV-2 batterie [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Fisso: Proxmox VM/CT stato online [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nAggiornato: Dipendenze",
14
+ "es": "Añadido: Fallback for HmIp-eTRV-2 batterie devices [#218](https://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) Arreglado: Proxmox VM/CT online status [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nActualizado: Dependencias",
15
+ "pl": "Added: Fallback for HmIp-eTRV-2 batterie devices #218(https:/github.com/ciddi89/ioBroker.device-watcher/issues/218 (ang.)\n(@mango1402) Proxmox VM/CT online status #241(https:/github.com/ciddi89/ioBroker.device-watcher/issues/241) (ang.)\nZastrzeżenie: Zależność",
16
+ "uk": "Додано: Fallback для пристроїв HmIp-eTRV-2 [#218](https://github.com/ciddi89/ioBroker.device-watcher/products/218)\n(@mango1402) Виправлено: Proxmox VM/CT онлайн статус [#241](https://github.com/ciddi89/ioBroker.device-watcher/issues/241)\nОновлено: Залежності",
17
+ "zh-cn": "增 编:HmIp-eTRV-2电池装置的Faback[#218](http://github.com/ciddi89/ioBroker.device-watcher/issues/218)\n(@mango1402) 固定:Proxmox VM/CT在线地位[第241号](http://github.com/ciddi89/ioBroker.device-watcher/issues/241)\n更新:属地"
18
+ },
19
+ "2.9.3": {
20
+ "en": "Dropped: Node v14.x support and added: Node v20.x support\nFixed: last seen of Ping devices\nFixed: Connection messages of devices without instance connection datapoint\nFixed: Data & Lists of instances wasn't refreshed correctly\nFixed: Tradfri state alive must be false for device offline state",
21
+ "de": "Dropped: Node v14.x Unterstützung und hinzugefügt: Node v20.x Unterstützung\nFix: zuletzt gesehen von Ping-Geräten\nFix: Verbindungsnachrichten von Geräten ohne Instanz-Verbindungsdatenpunkt\nFix: Daten & Instanzlisten wurden nicht korrekt aktualisiert\nFix: Tradfri der Datenpunkt alive muss für den Offlinezustand eines Gerätes false sein",
22
+ "ru": "Dropped: Поддержка Node v14.x и добавил: Поддержка Node v20.x\nИсправлено: последний раз видели Ping устройств\nИсправлено: Соединение сообщений устройств без контактной точки\nИсправлено: Данные и списки инстанций не были обновлены правильно\nИсправлено: состояние Tradfri живое должно быть ложным для состояния устройства offline",
23
+ "pt": "Dropped: Node v14.x suporte e adicionado: Suporte de Node v20.x\nFixo: visto pela última vez de dispositivos Ping\nCorrigido: Mensagens de conexão de dispositivos sem datapoint de conexão de instância\nCorrigido: Dados e listas de instâncias não foram atualizados corretamente\nCorrigido: Estado Tradfri vivo deve ser falso para o estado off-line do dispositivo",
24
+ "nl": "Node v14.x steun en toegevoegd: Node v20\n_\nVerbindingsberichten van apparatuur zonder instantie datapoint\nVertaling:\nVertaling:",
25
+ "fr": "Dropped: Node v14.x support et ajouté: Node v20.x support\nCorrection : dernière vue des appareils Ping\nCorrection : Messages de connexion des périphériques sans point de données de connexion par instance\nCorrection : Les listes des cas n'ont pas été rafraîchies correctement\nCorrection : l'état de Tradfri vivant doit être faux pour l'état hors ligne",
26
+ "it": "Dropped: Node v14.x supporto e aggiunto: Supporto Node v20.x\nFisso: ultimo visto di dispositivi Ping\nRisolto: Messaggi di connessione di dispositivi senza datapoint di connessione di istanza\nRisolto: i dati e le liste delle istanze non sono stati aggiornati correttamente\nFisso: Tradfri stato vivo deve essere falso per lo stato offline del dispositivo",
27
+ "es": "Suprimido: soporte Nodo v14.x y añadido: Soporte Node v20.x\nFijación: última vista de dispositivos Ping\nFijo: mensajes de conexión de dispositivos sin punto de datos de conexión de instancia\nFijo: Datos \" Listas de casos no se refrescó correctamente\nFijo: El estado de Tradfri vivo debe ser falso para el estado fuera de línea del dispositivo",
28
+ "pl": "Przewodnik: wsparcie i dodanie. Node v20x (ang.)\nFixed: ostatni raz widziany z urządzenia Ping\nFixe: Powiązane wiadomości urządzeń bez użycia danych\nFixed: Data & Lists nie został odświeżony\nFixed: żywy stan Tradfri jest fałszywy dla ubezpieczenia",
29
+ "uk": "Dropped: Node v14.x підтримка і додано: Підтримка Node v20.x\nВиправлено: Останній бачив Ping пристроїв\nВиправлено: З'єднання повідомлень пристроїв без точки з'єднання\nВиправлено: Дані та списки екземплярів не освіжали правильно\nВиправлено: Tradfri держава живий повинен бути помилковим для пристрою автономний стан",
30
+ "zh-cn": "增 编: 无de v20.x 支持\nFixed:最后可见的装置\n固定:无线数据识别装置的识别信息\n固定:案例的数据和清单正确地予以驳斥。\n固定:Tdfri State的活活性必须为线性州的装置作假"
31
+ },
6
32
  "2.9.2": {
7
33
  "en": "Fixed: Instance name in schedule notifications for faulty instances\nFixed: Ignore null values in update datapoints of devices\nUpdated: Dependencies",
8
34
  "de": "Behoben: Instancenamen in Schedule Benachrichtigungen für Fehlerhafte Instanzen\nBehoben: Nullwerte in Update-Datenpunkten von Geräten ignorieren\nAktualisiert: Abhängigkeiten",
@@ -67,32 +93,6 @@
67
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)",
68
94
  "uk": "Виправлено: Функції статусу екземпляра повністю оновлено [#170] (https://github.com/ciddi89/ioBroker.device-watcher/issues/170)\nДодано: Поповнення повідомлення, коли екземпляр не працює, і користувач намагається вибрати пристрій/інстанцію в таблицях налаштувань [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
69
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)中选择一种装置/装置。"
70
- },
71
- "2.8.3": {
72
- "en": "Fixed: Multiple push messages when restarting an instance ([#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170))",
73
- "de": "Behoben: Mehrere Push-Nachrichten beim Neustart einer Instanz [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
74
- "ru": "Исправлено: Несколько push-сообщений при перезагрузке экземпляра [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
75
- "pt": "Corrigido: Múltiplas mensagens de push ao reiniciar uma instância [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
76
- "nl": "Meerdere persberichten als het herstarten van een instance 70170:",
77
- "fr": "Correction : Messages multiples pour le redémarrage d ' une instance [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
78
- "it": "Risolto: Messaggi push multipli al riavvio di un'istanza [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
79
- "es": "Corregido: Múltiples mensajes de empuje al reiniciar una instancia [#170](https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
80
- "pl": "Fixed: Multiple push messages when restarting a program #170(https:/github.com/ciddi89/ioBroker.device-watcher/issues/170) (ang.)",
81
- "uk": "Виправлено: Кілька поштових повідомлень при перезапускі екземпляра [#170] (https://github.com/ciddi89/ioBroker.device-watcher/issues/170)",
82
- "zh-cn": "九. 固定:在重新树立一个例子(http://github.com/ciddi89/ioBroker.device-watcher/issues/170)时,多人传信息。"
83
- },
84
- "2.8.2": {
85
- "en": "Fixed: Don't handle id's which ends with fullstop\nAdded: Possibility for the user to select the global deactivation time for instances",
86
- "de": "Behoben: Behandle nicht id's, die mit einem Punkt enden\nHinzugefügt: Möglichkeit für den Benutzer, die globale Deaktivierungszeit für Instanzen selbst zu wählen",
87
- "ru": "Исправлено: Не обрабатывайте id's который заканчивается с fullstop\nДобавлена: Возможность для пользователя выбрать глобальное время деактивации для инстанций",
88
- "pt": "Corrigido: Não manuseie id's que termina com fullstop\nAdicionado: Possibilidade para o usuário selecionar o tempo de desativação global para instâncias",
89
- "nl": "Niet omgaan met ID's die eindigen met volledige stop\nToegevoegd, mogelijk voor de gebruiker om de wereldwijde deactiveringstijd te selecteren voor bijvoorbeeld",
90
- "fr": "Fixé: Ne manipule pas l'id qui se termine avec le haut\nAjouté: Possibilité pour l'utilisateur de sélectionner le temps de désactivation global pour les instances",
91
- "it": "Fisso: Non maneggiare id che termina con fullstop\nAggiunto: Possibilità per l'utente di selezionare il tempo di disattivazione globale per le istanze",
92
- "es": "Arreglado: No maneje id's que termina con fullstop\nAñadido: Posibilidad para que el usuario seleccione el tiempo de desactivación global para los casos",
93
- "pl": "Fixed: Don't handle id's (ang.)\nAdded: Possibility for the user to select the global deactivation time",
94
- "uk": "Виправлено: Не робіть id's, які закінчуються повною поверхнею\nДодано: Можливість вибору глобального часу деактивації екземплярів",
95
- "zh-cn": "九. 固定:捐税处理停止完全停战的叛国行为\n增 编:用户可以选择全球启动时间,以选择发生的情况"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/lib/arrApart.js CHANGED
@@ -196,6 +196,7 @@ const arrApart = {
196
196
  reach: '.UNREACH_ALARM',
197
197
  isLowBat: '.LOW_BAT_ALARM',
198
198
  isLowBat2: '.LOWBAT_ALARM',
199
+ isLowBat3: '.LOW_BAT',
199
200
  stateValue: '.1.STATE',
200
201
  faultReporting: '.4.FAULT_REPORTING',
201
202
  hmDNBattery: '.4.BATTERY_STATE',
package/main.js CHANGED
@@ -412,7 +412,7 @@ class DeviceWatcher extends utils.Adapter {
412
412
  instanceData.isAlive = instanceStatusRaw[0];
413
413
  instanceData.isHealthy = instanceStatusRaw[1];
414
414
  instanceData.status = instanceStatusRaw[2];
415
-
415
+ instanceData.checkIsRunning = false;
416
416
  if (oldIsHealthyValue === instanceData.isHealthy) continue;
417
417
  // send message when instance was deactivated
418
418
  if (this.config.checkSendInstanceDeactivatedMsg && !instanceData.isAlive) {
@@ -424,8 +424,6 @@ class DeviceWatcher extends utils.Adapter {
424
424
  if (this.blacklistInstancesNotify.includes(instanceID)) continue;
425
425
  await this.sendStateNotifications('errorInstance', instanceID);
426
426
  }
427
-
428
- instanceData.checkIsRunning = false;
429
427
  }
430
428
  break;
431
429
  }
@@ -541,7 +539,7 @@ class DeviceWatcher extends utils.Adapter {
541
539
  deviceData.SignalStrength = contactData[2];
542
540
  }
543
541
  if (this.config.checkSendOfflineMsg && oldStatus !== deviceData.Status && !this.blacklistNotify.includes(deviceData.Path)) {
544
- if (deviceData.instanceDeviceConnectionDP !== undefined) {
542
+ if (deviceData.instanceDeviceConnectionDP.val !== undefined) {
545
543
  // check if the generally deviceData connected state is for a while true
546
544
  if (await this.getTimestampConnectionDP(deviceData.instanceDeviceConnectionDP, 20000)) {
547
545
  await this.sendStateNotifications('onlineStateDevice', device);
@@ -938,6 +936,10 @@ class DeviceWatcher extends utils.Adapter {
938
936
  if (deviceLowBatState === undefined) {
939
937
  isLowBatDP = currDeviceString + this.selAdapter[i].isLowBat2;
940
938
  deviceLowBatState = await this.getInitValue(isLowBatDP);
939
+ if (deviceLowBatState === undefined) {
940
+ isLowBatDP = currDeviceString + this.selAdapter[i].isLowBat3;
941
+ deviceLowBatState = await this.getInitValue(isLowBatDP);
942
+ }
941
943
  }
942
944
  if (deviceLowBatState === undefined) isLowBatDP = 'none';
943
945
 
@@ -1327,7 +1329,7 @@ class DeviceWatcher extends utils.Adapter {
1327
1329
  if (deviceLowBatState !== undefined || faultReportState !== undefined) {
1328
1330
  switch (adapterID) {
1329
1331
  case 'hmrpc':
1330
- if (deviceLowBatState === 1 || faultReportState === 6) {
1332
+ if (deviceLowBatState === 1 || deviceLowBatState === true || faultReportState === 6) {
1331
1333
  lowBatIndicator = true;
1332
1334
  }
1333
1335
  break;
@@ -1425,7 +1427,7 @@ class DeviceWatcher extends utils.Adapter {
1425
1427
  }
1426
1428
  }
1427
1429
  } else {
1428
- if (deviceUnreachState === 0 && deviceTimeSelector) {
1430
+ if ((!deviceUnreachState || deviceUnreachState === 0) && deviceTimeSelector) {
1429
1431
  lastContactString = await this.getLastContact(deviceTimeSelector.lc);
1430
1432
  } else {
1431
1433
  if (deviceTimeSelector) lastContactString = await this.getLastContact(deviceTimeSelector.ts);
@@ -1456,7 +1458,8 @@ class DeviceWatcher extends utils.Adapter {
1456
1458
  case 'proxmox':
1457
1459
  if (this.configMaxMinutes[adapterID] <= 0) {
1458
1460
  if (deviceUnreachState !== 'running' && deviceUnreachState !== 'online') {
1459
- if (linkQuality !== ' - ') deviceState = 'Offline'; //set online state to offline
1461
+ deviceState = 'Offline'; //set online state to offline
1462
+ if (linkQuality !== ' - ') linkQuality = '0%'; // set linkQuality to nothing
1460
1463
  }
1461
1464
  } else if (lastDeviceUnreachStateChange > this.configMaxMinutes[adapterID] && deviceUnreachState !== 'running' && deviceUnreachState !== 'online') {
1462
1465
  deviceState = 'Offline'; //set online state to offline
@@ -1482,6 +1485,7 @@ class DeviceWatcher extends utils.Adapter {
1482
1485
  case 'deconz':
1483
1486
  case 'shelly':
1484
1487
  case 'sonoff':
1488
+ case 'tradfri':
1485
1489
  case 'unifi':
1486
1490
  case 'zigbee':
1487
1491
  case 'zigbee2MQTT':
@@ -2247,7 +2251,6 @@ class DeviceWatcher extends utils.Adapter {
2247
2251
  let daemonIsNotAlive;
2248
2252
  let instanceDeactivationTime = (this.config.offlineTimeInstances * 1000) / 2;
2249
2253
  let instanceErrorTime = (this.config.errorTimeInstances * 1000) / 2;
2250
-
2251
2254
  switch (instanceMode) {
2252
2255
  case 'schedule':
2253
2256
  scheduleIsAlive = await this.checkScheduleisHealty(instanceID, scheduleTime);
@@ -2266,9 +2269,7 @@ class DeviceWatcher extends utils.Adapter {
2266
2269
  instanceErrorTime = this.userTimeInstancesList.get(instanceID).errorTime;
2267
2270
  instanceErrorTime = (instanceErrorTime * 1000) / 2; // calculate sec to ms and divide into two
2268
2271
  }
2269
-
2270
2272
  daemonIsAlive = await this.checkDaemonIsHealthy(instanceID);
2271
-
2272
2273
  if (daemonIsAlive[0]) {
2273
2274
  if (daemonIsAlive[1]) {
2274
2275
  isAlive = Boolean(daemonIsAlive[0]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.device-watcher",
3
- "version": "2.9.2",
3
+ "version": "2.9.4",
4
4
  "description": "Watchdog for devices",
5
5
  "author": {
6
6
  "name": "Christian Behrends",
@@ -22,36 +22,36 @@
22
22
  "url": "https://github.com/ciddi89/ioBroker.device-watcher"
23
23
  },
24
24
  "dependencies": {
25
- "@iobroker/adapter-core": "^2.6.8"
25
+ "@iobroker/adapter-core": "^3.0.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@alcalzone/release-script": "^3.5.9",
29
- "@alcalzone/release-script-plugin-iobroker": "^3.5.9",
28
+ "@alcalzone/release-script": "^3.6.0",
29
+ "@alcalzone/release-script-plugin-iobroker": "^3.6.0",
30
30
  "@alcalzone/release-script-plugin-license": "^3.5.9",
31
31
  "@alcalzone/release-script-plugin-manual-review": "^3.5.9",
32
32
  "@iobroker/adapter-dev": "^1.2.0",
33
33
  "@iobroker/testing": "^4.1.0",
34
- "@types/chai": "^4.3.5",
35
- "@types/chai-as-promised": "^7.1.5",
36
- "@types/mocha": "^10.0.1",
37
- "@types/node": "^18.16.3",
38
- "@types/node-schedule": "^2.1.0",
39
- "@types/proxyquire": "^1.3.28",
40
- "@types/sinon": "^10.0.13",
41
- "@types/sinon-chai": "^3.2.9",
42
- "chai": "^4.3.7",
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",
40
+ "@types/sinon": "^10.0.16",
41
+ "@types/sinon-chai": "^3.2.10",
42
+ "chai": "^4.3.10",
43
43
  "chai-as-promised": "^7.1.1",
44
- "cron-parser": "^4.8.1",
45
- "eslint": "^8.39.0",
46
- "eslint-config-prettier": "^8.8.0",
47
- "eslint-plugin-prettier": "^4.2.1",
44
+ "cron-parser": "^4.9.0",
45
+ "eslint": "^8.50.0",
46
+ "eslint-config-prettier": "^9.0.0",
47
+ "eslint-plugin-prettier": "^5.0.0",
48
48
  "mocha": "^10.2.0",
49
49
  "node-schedule": "^2.1.1",
50
- "prettier": "^2.8.8",
50
+ "prettier": "^3.0.3",
51
51
  "proxyquire": "^2.1.3",
52
- "sinon": "^15.0.4",
52
+ "sinon": "^16.0.0",
53
53
  "sinon-chai": "^3.7.0",
54
- "typescript": "~5.0.4"
54
+ "typescript": "~5.2.2"
55
55
  },
56
56
  "main": "main.js",
57
57
  "files": [